HNHacker News
TopNewBestAskShowJobs

LaffertyDev

235 karma · joined February 19, 2021

submissionscomments
LaffertyDev··on You can't just assume UTF-8
> As I mentioned in another reply, "remind me every day at 7PM" isn't a timestamp. It's a formula for how to determine when the next timestamp is going to occur. Even those examples are too narrow, because it's really closer to "remind me the next time you notice that it's after 7PM wherever I happen to be, including if that's when I cross a time zone and jump instantly from 6:30PM to 7:30PM".

That's certainly fair in the context of a recurring event with some formula. I caution that a lot of people will still immediately reach for timestamps to calculate that formula, particularly for a next occurrence, and in the context if this conversation they would be given as an ISO8601 datetime based on Local Time. I would also caution that calendar events that have a distinct moment in time that they start are also prime for Local Time where a UTC-default mentality will cause errors.

> Consider my statement more in the context of logs of past events

From the stance of computer generated historical log data, I definitely agree that UTC everywhere is a sane default and safe to assume :)

(And, in your defense, I would definitely argue UTC-everywhere gets you 95% of the way there for 5% of the effort... I get why people make the tradeoff)

> (I know they're not the same, but they're similar in the sense that they can let you convert timestamps from one TZ to another).

More nitpicking on my part, again, I'm sorry, it lets you convert from one _offset_ to another or from an offset to UTC. Think Arizona being a special snowflake who (mostly!) doesn't observe DST. You can't assume all UTC-7 offsets are all Mountain Time.

LaffertyDev··on You can't just assume UTF-8
I can't help myself. The grandest of nitpicks is coming your way. I'm sorry.

> If you give me a computer timestamp without a timezone, I can and will assume it's in UTC.

Do you mean, give you an _offset_? `2024-04-29T14:03:06.0000-8:00` the `-8:00` is an offset. It only tells you what time this stamp occurred relative to standard time. It does not tell you anything about the region or zone itself. While I have consumed APIs that give me the timezone context as part of the response, none of them are part of the timestamp itself.

The only time you should assume a timestamp is UTC is if it has the `z` at the end (assuming 8601) or is otherwise marked as UTC. Without that, you have absolutely no information about where or when the time has occurred -- it is local time. And if your software assumes a local timestamp is UTC, then I argue it is not the sender of that timestamp's problem that your software is broken.

My desire to meet you at 4pm has no bearing on if the DST switchover has happened, or my government decides to change the timezone rules, or if {any other way the offset for a zone can change for future or past times}. My reminder to take my medicine at 7pm is not centered on UTC or my physical location on the planet. Its just at 7pm. Every day. If I go from New York to Paris then no, I do not want your software to tell me my medicine is actually supposed to be at Midnight. Its 7pm.

But, assuming you aren't doing any future scheduling, calendar appointments, bookings, ticket sales, transportation departure, human-centric logs, or any of the other ways Local Time is incredibly useful -- ignore away.

LaffertyDev··on Joel Spolsky on Stack Overflow, Inclusion, and How He Broke IT Recruiting (2018)
For what its worth, modern recruiting pipelines should be able to automate a good chunk of resume filtering for you if that's what your org values. Being able to only grab applicants that have `Go` listed in their resume, for example, or those who claim to have a degree. That should make a dent in the manual effort. Nevermind that you would still need to review whatever output the "test" is giving you.

I agree with part of what the OP said:

> My take on interviews is that the company must eventually spend as much time as the hired developer in the process

In my opinion, making applicants take a test is creating asymmetrical busy work just so the job-poster can feel that they've selected the "best" candidates (whatever that means). If you legitimately have enough great applicants that you cannot possibly hope to interview them all, then just roll a dice!

LaffertyDev··on Joel Spolsky on Stack Overflow, Inclusion, and How He Broke IT Recruiting (2018)
Respectfully disagree, especially in a world where simple tests will be solvable by LLMs/code-assist tools remotely.

* How would you proctor the test to know the candidates aren't cheating?

* How would your test actually test capability to program? (Assuming a legitimate test and not just a blind take-home proving you can code a todo-app...)

* What do you do when your test is leaked online?

* How is your test better than requiring an accredited degree from some institution? (which, for the record, I think is also not a great filter.)

The test is switching the filter from you filtering candidates to the candidates filtering you. Why apply to you when I can apply somewhere else? Interestingly, Canonical keeps coming up as a place to _not_ apply for because their entire process is bonkers: https://news.ycombinator.com/item?id=39750181

I think asking candidates to fill out 18 pages of prose before talking to someone is inhumane.

LaffertyDev··on Joel Spolsky on Stack Overflow, Inclusion, and How He Broke IT Recruiting (2018)
Its both. I chose some particularly ostentatious examples to drive home you can select for whatever it is you may or may not want without subjecting your applicants to _tests_. I figured the dual-objectives would make that clear.

> * Filter candidates who put objective statements in their resume".

> What in the world is that?

Some people, as well as my early education, recommended to put "objective" statements on your resume stating your literal objective in applying for the role. I'm surprised you haven't heard about them! edit: Personally I dislike them as archaic wastes of space.

LaffertyDev··on Joel Spolsky on Stack Overflow, Inclusion, and How He Broke IT Recruiting (2018)
Well gosh, what a good problem to have. So many good options that still respect people's times. You get to write a process that selects for the things you want to select for!

Let's assume these are 700 _qualified_ applicants and its for a programming role. I.e. their resumes and applications have passed the most basic of filters of "claims they can do a similar job" and "is probably a real person".

How about... * Filter candidates if they have typos in their resumes

* Filter candidates who don't explicitly state that they leverage your tech stack

* Filter candidates who excessively job hop

* Filter candidates who have below some minimum of professional experience

* Filter candidates who live far from the workplace

* Filter candidates, for a remote role, who live in HCOL area

* Filter candidates who put objective statements in their resume

* Filter candidates who don't put objective statements in their resume

* Filter candidates who don't have a link to some online portfolio (Github, personal blog, etc.)

* Filter candidates who don't contribute to open source

* Roll a dice

The imagination is the limit!

LaffertyDev··on Pilot of Boeing flight says he lost control after instrument failure
Nitpicking. I agree with your broader point.

> No, but modern jets need computer-aided control of flight control surfaces to keep the aircraft stable.

Most aircraft outside of fighter jets are aerodynamically stable. Loss of powered flight would mean the airplane will glide (in nominal operation). Even the 737MAX7/9 aircraft are still stable (although that brings up defining exactly what we mean by aerodynamically stable... )

LaffertyDev··on Bruno: Fast and Git-friendly open-source API client (Postman alternative)
Personally, it was Insomnia shifting to requiring an account and promoting "enterprise" features that clutter the experience and get in the way of me doing my job.

From there, I did research and found `insomnium` and a coworker found `bruno`. Bruno aligned closer to what I value, so now I use that.

LaffertyDev··on Most states start school too early in the morning
I am opting to interpret your response in the best way possible and am responding in kind spirit.

> your viewpoint really feels like, to phrase it as a software engineering analogy, a new developer that comes into a 20 year old project, looks at what currently exists, calls it all trash, says the people that came before you were dumb and didn't know what they were doing, and you just start rewriting all the code.

Do you think society has peaked and our understanding of civics hasn't evolved? That nothing can ever be better? To continue your analogy, your (unstated) viewpoint is like the stodgy programmer stubbornly sticking to PHP "because it works" and refusing to accept that webtech has evolved and there are better tools. Or a more contemporary way, an old C programmer stubbornly refusing to learn Rust because "C just works". Does it make sense to put Rust into the project? Possibly not, there are many excellent reasons not to. But its a discussion worth having.

> Do you really think all the states and people that decided these things in the past were all stupid, or not following "the science" back then, or just picked start times at random?

If I were to hazard a guess, I imagine most school systems are still bound by the legacy of farmwork and the start/end times are holdovers from that. I doubt the timing has significantly changed since schooling became a primary factor of our lives. But that's just a guess. I would certainly hope that the people who start a new school district are taking into account many factors before dictating a start time.

> Do you really think you know better than all those states and people?

I do not feel the need to be beholden to history for history's sake. My own post acknowledged (one) challenge with changing the start time. But...

> Did the science change since then? Did the reasons to start school early/late change since then?

This is exactly what I and others have posited, yes.

> Maybe they did. But if they did, you could maybe elaborate on that rather than just saying "the science is so clear" and dictating the way things should be.

Others in this thread have posted extensive good research on this very subject for your consumption. I myself have posted a reference to a book I found useful and entertaining. Not every single comment needs to be a doctoral thesis containing every possible scrap of information or interpretation on a subject. This, and other subjects of the like, are artifacts _with context_. Within context of this post, it is in direct response to an article that explains the reason with even more links and a friendly bulleted list.

A mildly provocative analogy is demanding a link to every peer-reviewed journal when discussing climate change. I don't feel the need to point out every scrap of research to state a claim that "Climate change is real". I will merely state, especially in a comment to an article discussing legacy policy around climate change, that climate change is real.

LaffertyDev··on Most states start school too early in the morning
You sent me down a rabbit hole on this person's blog. I found their 2022 reflections very interesting and tangentially relevant (does not dismiss the point made about Why We Sleep, I just found it interesting.)

https://guzey.com/2022-lessons/

LaffertyDev··on Most states start school too early in the morning
Thanks for the link. I read the book with the popular-science-ness of it in mind and was glad to have done so. It was produced right in the middle of the replication crisis... which isn't a particularly good look. I agree there are _a lot_ of ridiculous claims that are tenuous at best in the book. He also repeats himself a lot in a quite annoying way.

I still think the book has merit as an accessible way for people to learn more about sleep.

LaffertyDev··on Most states start school too early in the morning
I agree with you about having annoyance with the phrase especially in the use of divisive topics.

I disagree in that, I don't think this is a divisive topic. I have not heard of a valid critique for school start times should be later aside from schools being a daycare supplement for working parents. But that's not science, its politics/economics. "The science" is, in my experience, very clear that young people should be allowed to wake-up later in the day to better conform with their natural sleep cycles.

LaffertyDev··on Most states start school too early in the morning
Sleep Science is ongoing and very much an active area of research. Sleep can be informed by biology, diet, lighting, comfort, heat... among a vast host of other factors. Ask yourself this -- why do you get tired? ("Because I'm sleepy" -- why?)

The answer is (surprisingly to most) complicated and illusive.

LaffertyDev··on Most states start school too early in the morning
If you genuinely want to learn, I think the popular book "Why We Sleep" covers this (and various other topics) very well.

Short version: Young people sleep schedules naturally deviate and it is legitimately difficult for a large segment to "Just go to bed earlier".

LaffertyDev··on Is C# Underhyped?
I much prefer languages without Null (Rust being a personal favorite). I'll speak to that because I have a bit of experience with both C# w/ Nullable and Rust.

In Rust, you express types using the Option syntax. Its basically saying "This value could be None". It behaves similarly to nulls, but instead of Option being implicit (like C# nulls) its explicit. You can't do `let foo: String = None` because its an invalid type assertion. Whereas you can do `let foo: Option<String> = None`. In C#, you can't express "This is a string that cannot be null" (even with nullables if I recall correctly).

LaffertyDev··on Wealth Systems in RPGs
Yup! RAW.

https://bladesinthedark.com/downtime-activities

> A PC can make time for more than two activities, at a cost. Each additional activity from the list costs 1 coin or 1 rep. This reflects the time and resulting resource drain while you’re “off the clock” and not earning from a score. When you complete a new score, you reset and get two “free” activities again.

Spending coin on stress reduction certainly helps. If a player gets a 2-coin reward for a score, I'd hope they stashed one and burned one on something.

LaffertyDev··on Wealth Systems in RPGs
For the games I've DM'd there's almost always been too much Stress and not enough Downtime Actions. The players would spend a good chunk of their Payout on downtime actions for stress reduction/healing. I don't know if I ever saw a player actually put a coin into their retirement stash.

A game centered around moving money, but not acquiring it, could be very interesting. You could tease out a few interesting scenarios and have meta-progression where helping others can create a network of skills. (i.e. you helped the baker pay her debts, now she will bake bread for you at cost.)

LaffertyDev··on Wealth Systems in RPGs
Check out Blades in the Dark -- it has _exactly_ this mechanic! (And is also my favorite RPG system)
LaffertyDev··on Skunk Works is all about getting to the prototype stage (2018)
> The U-2, being subsonic, was not expected to last long according to one of the books I read, don't ask me which

Probably either Skunkworks or Kelly: More than my share of it all. I recall that very soon after shipping the U2, they saw the writing on the wall for its operational limits and started working on the SR71 very soon after. Looking at the timelines, U2 first flight was 1955 and the first discussions for the SR71 were done in 1957 with work beginning in 1958. Powers was shot down in 1960 in his U2.

LaffertyDev··on Skunk Works is all about getting to the prototype stage (2018)
Likewise, `Kelly: More than my share of it all` is written by Kelly Johnson & Maggie Smith. Between the two, Skunk Works is better written but I thoroughly enjoyed both.
LaffertyDev··on I use cheap notebooks
Can confirm, they are not tear-friendly.
LaffertyDev··on I use cheap notebooks
Exactly the same here! My MBP in college had a safety case and everything... and in hindsight its awful and bulky and hides the fancy finish.

One important thing to remember, at least for me, is I just had significantly less disposable income back then. Replacing the MBP would have been financially impossible for me, so I took more care of it. I'm in a much more privileged place now... so replacing something like this would only be a significant inconvenience.

LaffertyDev··on I use cheap notebooks
Yea, the site design isn't the best with the transparent-ish nav and low contrast. Certainly room for improvement there :)
LaffertyDev··on I use cheap notebooks
For me personally, I like having the caps on pens. Clicky ones tend to stay clicked and dry out the point. I really like the 0.38 uni-ball signo dx :)

I never thought I was the type of person to have strong feelings on a pen... then I decided to see what I was missing out on and there's just so much out there!

LaffertyDev··on I use cheap notebooks
It took me a while to get over the fear of destroying/using up nice things. Like enjoying a nice bottle of liquor, or using up a very nice notebook. Eventually I came across the idea that things are meant to be used, and now I'm much more relaxed about damaging/using up the things I own.

I read once a stellar idea to help get over the fear of starting to draw in a notebook (or an art project, or a new software project) is to just start scribbling and drawing. Intentionally starting with a mess makes it much easier to break the cycle of "This thing I'm doing isn't good enough yet for this".

One notebook brand my wife found, that I love very much, is minimalism art. I like the small, softcovers. They aren't too soft, and hold their shape really well. The paper quality is high.

I also just tried out the new "sidekick notepad" from Cortex. Very expensive (overpriced), but I was happy to support their work.

https://www.minimalismart.com/cn-soft-cover

LaffertyDev··on How to succeed at Meta
Total Compensation. It lets people compare compensation across companies and normally includes Salary + Options + Bonuses. Different companies offer different mixes, so just relying on salary alone is not a good metric for comparison.
LaffertyDev··on Ask HN: Has any Rust developer moved to embedded device programming?
I'm a rough beginner in the embedded space. Would love to use Rust, but in my experience it becomes more hassle than its worth for some of the more off-the-shelf controllers. Would love to find more knowledge / tutorials to help guide me in the right direction, though.
LaffertyDev··on Ask HN: What game do you wish existed?
For your city builder, I suggest checking out "timberborn" on Steam. Its a colony sim where you are a cohort of beavers. After you get the hang of the core mechanics, the emphasis is on larger-scale constructions. I certainly feel that in certain maps, I need to introduce temporary workarounds to scale up my bigger works.

It lacks some of your "buildings decay" ideas, though. So not quite 1-1 with what you're suggesting.

LaffertyDev··on Revolutionaries at the Workplace
If you're interested in more discussions along this road, then Bahcall's `Loonshots` is a good read. Lots of anecdotes, little science, great stories. Overall I found it fascinating. I found myself nodding along to most of the goodread's reviews, if you find yourself on the fence.

On-topic, I think its a natural evolution for organizations to stagnate and calcify unless there is a fundamental recreation. Lots of things could be cherry-picked here for anecdata (Roman Republic, Roman Empire, General Electric, <insert fortune 100 company here>)

I don't think that's bad. You wouldn't want an innovative person being your line cook at a restaurant -- you want the innovative person to be the chef. We also don't want the laws governing the countries we live in to violently change. Systemic, evolutionary, progress is good.

The challenge is figuring out a balance and what to do to prevent the organization from calcifying (becoming product lines on life support), prevent it from throwing away what makes the organization good (chasing the next big thing), and continue to let the organization innovate and thrive (stay relevant) without being eaten.

LaffertyDev··on Revolutionaries at the Workplace
Agreed. I don't think switching the framework from Artist/Soldier to Revolutionary/Evolutionary detracts from the malleability.
← PreviousPage 2 of 3Next →