• 0 Posts
  • 61 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle
  • Totally agree on the sensitive or decisive topics point, but I include a caveat that what some people call “sharing decisive viewpoints in public”, others call “not hiding their gender/sexual orientation”, and similar things, so it’s not always perfectly clear cut.

    I try to avoid being inflammatory in general, anonymous or not, and I’m not perturbed if people know my city, industry, trade, and vague interests. Basically what you could figure out from a polite conversation while waiting in line.

    I’ve got a lot of code up on GitHub, and some of it is absolute garbage. If an employer judges me poorly for sharing my pile of one-off scripts, or “basic human decency and lack of respect for neo Nazis in a casual setting”, then I frankly probably don’t care to work for them.
    Admittedly, other than a script that automates figuring out which web hosts are hosting hate groups, there’s not much political content in my software.

    I do alright, so my system seems to work.




  • So, there is an actual utility for it, it’s just not people centric.
    Having a framework for how you convert the clock measurements from the lunar reference frame to terrestrial reference frame is helpful for orbital maneuvering and navigation, as well as communication coordination.

    They’re not building a "UTC+5” style timezone, but a “given the moons mass and orbit, here’s how we define the time ratio between the earth and moon so we can consistently calibrate our clocks”.




  • It’s also important for things like GPS, as related to other planets, as well as orbital maneuvering.

    What they’re actually being told to build is “write down the rules for moon time”, which is basically what you said but defined in terms of “this much faster than earth time”, and a system doing the same thing on other planets or places in the solar system.

    So it’s less a timezone and more a time system, and instructions for how you calibrate your atomic clock on the moon and reconcile the difference with terrestrial clocks.


  • It’s well understood math, but it’s “only” relativistic orbital mechanics.

    It boils down to a pretty consistent number, but how you get there is related to the weight of the moon, how far it is from earth, and how fast it’s going.
    Since the moon is going different speeds at different places in it’s orbit, the number actually changes slightly over the month.

    They’re just using the average though, since it makes life far easier. We use the average for earth too, since clocks move differently at different altitudes or distances from the equator.







  • Oh sweet summer child.

    First, injection attacks are third on the owasp list, although they do roll xss into it too, which changed the name, since “shit sanitization on input” and “shit escaping before use” are the cause of both.
    https://owasp.org/Top10/A03_2021-Injection/

    Secondly, SQL injection is freakishly common and easy. I don’t know of any database libraries that prevent you from directly executing an SQL literal, they just encourage parameterized statements.

    I have personally run into plenty of systems where people build SQL via string concatenation because for whatever reason they can’t use an orm or “proper” SQL generator.

    You can find them in the wild fairly often by just tossing ' or 1=1;-- into fields in forms. If it gets mad in a way that doesn’t make sense or suddenly takes forever, you win!

    Don’t do that though, because it’s illegal.


  • Time is an air bubble trapped under a screen protector. It’s annoying, and you can push it around to try to keep it out of the way, but you can never really fix it.
    There’s just too many inherently contradictory requirements for us to end up with a “good” system, and we just need to settle for good enough.

    My dream is that we stop changing things. Whatever we have in time zone database today is what we stick with going forwards. No more dst shifts, no more tweaks to the zones, no more weird offsets and shifts, because we don’t get to stop dealing with the old layout when we change, we just add a new one that we think is better.

    For the most part, dealing with this stuff is a solved, shitty problem. It’s when we change the rules that problems come up. Worse when we change them retroactively. (Territory disputes between nations have been resolved with the conclusion that land was actually in a different time zone in the past because it was actually in another country. Not a problem usually, unless there’s a major stock exchange in an island that was transferred between nations and retroactively changing what time it was affects what laws were valid at the time certain transactions took place.


  • Problem you run into is the areas where we need to tie things to solar days across an area.
    You end up with places having to regulate that school starts at 22:00, and gets out 05:00 the next day.
    Businesses close for the night at 06:00 and open bright and early later that day at 22:00.
    You have places where one calendar day has two different business days in it, so the annoyances faced by people who work overnight shifts spreads to everyone, and worse gets spread to financial calendars, billing systems and the works.

    It’s not better.


  • My point is we have that unambiguous system you want. People don’t use it except in specific circumstances. Instead of saying those people are wrong, you can look at why they don’t use UTC for everything.

    People don’t use UTC because people aren’t usually interested in universal time, they’re interested in time of day, which is fundamentally tied to the position of the sun and people’s day night cycles.
    The people in China who made their own bootleg timezone illustrate that perfectly.

    We don’t currently have to reason about where someone is physically located to know if they’re likely asleep. I’m in UTC-4. It’s 15:30. It’s 19:30 in London. I know the evening is advanced enough that I shouldn’t call my coworker there, but early enough that I can if it’s an emergency. I forgot California’s timezone, so I googled it, and it’s UTC-7, so it’s 12:30 there. I should probably wait half an hour to call to avoid the typical lunch hour.
    Otherwise I use a tool to look up and see that solar noon in California is around 20:00, so people are probably doing their midday routines then. Except that California shifted business hours so that they’re offset an hour from solar noon to reduce energy consumption, which I didn’t know.
    And what do we do about places like Texas where solar noon varies by more than an hour on different ends of the state? For simplicity, most regions like to synchronize working hours inside their contiguous economic sphere. So I can assume that the state would pass a law relating to what time was considered “convention”, since we need schools, businesses, banks and government services to be consistent inside a jurisdiction.
    It’s important we have stuff like that be uniform, because jurisdictions have laws about stuff like preventing teens from working during school hours, or preventing schools from starting class so early it interferes with children’s sleep or staying in session so long it interferes with their evenings.
    Texas can just mandate that standard business hours are 14:00 to 22:00.
    Thank God they didn’t end up having to mandate that the standard business day is split across two different calendar days like California. Imagine the hell of child labor laws when you have to stipulate that teens can’t work between the hours of 15:00 and 1:00 the next day unless said scheduled interval begins on a weekend.
    Business hours being posted as 00:00 - 03:00, 17:00-00:00 for things like Sandwich shops is my favorite though. “I closed for the night today at 3, but I’ll be open again later today in the morning at 17” just has a delightfully complicated inhuman ring to it.

    There’s a reason people like their days to line up with their days, and we like to base our clocks around how we live our lives where we are, not where the sun in in Greenwich.

    I fundamentally disagree that a system that’s identical to how we work with timezones but non-standard, like a UTC offset system you describe, is simpler than timezones, which are standardized UTC offsets. At best it’s timezones with a different name and more of them.

    Latin1 is far simpler than Unicode, and doesn’t have conversion issues. It’s static and very difficult to get wrong. It’s clearly a better match for comparison to UTC-only. It’s only downside is that it leaves everyone outside of a small segment of the worlds population to build their own janky system for dealing with their silly human need to reason about time in an intuitive sense/write their names.


  • They just gave an example though of people who made up their own timezone because the official one was bad.

    These systems exist for people and if no one other than programmers wants to do the internal calculus of “The sun is setting and they’re a quarter of the earths rotation Eastward, so that means they’re probably in bed” every time you want to call someone, then we shouldn’t make the standard that way.

    You also get some things that become way more complicated, like “send the user a notification at the start of the normal working day”.
    Right now you just look up the timezone in their profile and send it at 9:00, but without timezones, you need a “database of regional conventions for coordinating business hours”, which is just a worse way of having timezones.

    Timezones exist because they have a purpose. UTC exists because having some sort of coordinated universal time is helpful and people (outside of Greenwich) don’t use it because it isn’t helpful to them, except in specific circumstances.

    It’s like abolishing everything except latin1 because Unicode is a pain. Wanting to write your name in your traditional alphabet is just a habit that people can break.


  • I’ve been a developer for about 15 years.

    Nothing you’ve said makes me feel like you should quit.
    Wanting more money is a perfectly respectable reason to want to quit, and if you think it would make you happier, go for it. Get paid.

    It’s not better to be an engineer or anything. No one will mind or hold it against you if you come back and say that you were a jr dev, took a position as otherntech job, but it wasn’t for you so now your back with a new perspective and set of experiences.

    Programming was once my passion. I got a lot of joy from it. I still do, and I would say that it still is a passion. But I’ve stopped really doing side projects unless it’s particularly interesting. There’s more to life than career development, and that’s okay.

    Without seeing your code, I can’t know how good you actually are. Like most people, you’re probably average. Don’t beat yourself up over not knowing algorithms. No one knows those, they know the keywords and how to describe a problem and then how to pick the right one or tweak something to make it right.

    The road from jr to senior is also less about technical proficiency than you would expect.
    Technical competency is a must, but you’ll go further as a competent technical leader who can breakdown work, describe it, and help their teammates than as a lone high performer.