HN user

zb

1,803 karma
Posts26
Comments439
View on HN
www.theatlantic.com 1mo ago

How to Think About AI Before It's Too Late

zb
2pts1
www.si.com 6y ago

The Flip that led to a Flap (1974)

zb
1pts0
www.rnz.co.nz 7y ago

Open banking aims to create competition in New Zealand payments space

zb
2pts0
medium.com 8y ago

The Origins of Opera and the Future of Programming

zb
2pts0
www.radionz.co.nz 8y ago

Outdated tech trove keeps digital archives alive

zb
2pts0
dark-mountain.net 10y ago

Dark Thoughts on Ecomodernism

zb
2pts0
www.theguardian.com 10y ago

Meet the ecomodernists: ignorant of history and paradoxically old-fashioned

zb
2pts0
www.sciencedaily.com 11y ago

Strategic or random? How the brain chooses

zb
1pts0
kiwiandpeach.com 12y ago

What is Trans Fat?

zb
1pts0
thesprouts.org 12y ago

How Children What?

zb
1pts0
betabeat.com 13y ago

Kickstarter Thinks Creepy Dating Book Is ‘Abhorrent,’ But Declines to Remove It

zb
7pts2
www.edwardtufte.com 13y ago

Association or Causation?

zb
1pts0
www.nytimes.com 14y ago

Measurement and Its Discontents

zb
1pts0
www.edwardtufte.com 14y ago

Tufte: USPTO dashboard "one of the worst interfaces ever designed"

zb
25pts11
www.nytimes.com 14y ago

Sept. 11 Revealed Psychology’s Limits

zb
2pts0
www.zerobanana.com 15y ago

The Politics of Reason

zb
1pts0
www.zerobanana.com 15y ago

Is it Safe?

zb
1pts0
www.ft.com 15y ago

The art of good writing

zb
1pts0
www.roughtype.com 15y ago

The quality of allusion is not Google

zb
2pts0
www.roughtype.com 15y ago

Interactive storytelling: an oxymoron

zb
1pts0
johnnyholland.org 15y ago

Beyond Staggered Sprints: How TheLadders.com Integrated UX into Agile

zb
3pts0
www.uctc.net 15y ago

Dilemmas in a General Theory of Planning

zb
1pts0
www.alistapart.com 16y ago

Habit Fields

zb
9pts1
www.roughtype.com 16y ago

Not addiction; dependency

zb
2pts0
www.baselinemag.com 16y ago

The Ugly History of Tool Development at the FAA (2002)

zb
1pts0
www.nytimes.com 16y ago

Google Translate vs. the Humans

zb
1pts1

Commit messages are immutable. Linking them to a bug ticket gives you a mutable place to record any new information about the bug that you discover in the future. (For example, that it affected more cases than you originally thought, or that the fix caused another bug.) This new information will be discoverable when starting from the original commit (found e.g. by doing a blame on a particular line of source).

To fail to do so is a gigantic missed opportunity in my opinion. You never know when you will need it.

Another way to look at it is that you’re getting to do all of the fulfilling parts of management roles (helping your team(s) to grow and develop) without the less fulfilling parts (endless meetings, budget spreadsheets, unpleasant conversations, having to give up writing code).

These are not rookies if they reached Principal IC, but the most experienced team members ever, yet the author still feels the need to say this.

At this level the job is qualitatively different from what went before - you do start as a rookie in this role, and if you only try to keep doing what you’ve done before only better then you’re not setting yourself up for success.

Do we need to move up or out?

Not to this extent, no. If you are still a Junior after 15 years, that’s a problem and questions will be asked. But if you want to stay in a role where you keep doing what you’ve done before only better, then that’s generally completely fine and the right choice for many people.

The ink ribbon contains a record of every word you type, and I believe hoovering them up was a common espionage tactic back in the day.

Debuggers allow you inspect stuff forward in time, while print statements allow you to debug backwards. (There was a lot of academic work on reversible debuggers at one point; to be honest I haven’t kept up on how that turned out.)

If you can detect a problematic condition and you want to know what will happen next, a debugger is a great tool.

If you can detect a problematic condition and you need to find out what caused it, it’s printf all the way.

My theory is that different types of programming encounter these two types of problems at different relative rates, and that this explains why many people strongly prefer one over the other but don’t agree on which.

The one that sprang to mind for me was The Name of the Rose. Oddly it doesn’t show up as a title drop in the data.

This in turn is why air traffic still use AM where you can hear both overlapping transmissions at once (possibly garbled if carrier wave was off), and react accordingly rather than being unaware that it happened.

I’m not convinced this is the reason. The carrier wave is always off by a little. While you’re transmitting you hear nothing anyway. And when two parties are transmitting simultaneously, any third parties just hear very loud screeching. A 0.001% difference in carrier frequency would be more than enough to cause this effect in a VHF radio. Notably, this exact problem was a major contributing cause to the worst accident in aviation history. Using FM would have prevented it.

https://archive.ph/2013.02.01-162840/http://www.salon.com/20...

You must be American.

In Australia there are exactly zero heat pumps on the market that you can use an ecobee with. It just isn’t an option. There are no off-the-shelf options.

You don’t have to pay $1700 for this garbage $50 tablet, but it is the default that every installer will offer you without mentioning any other options (and the only options are the manufacturer’s proprietary controllers). In this case his builder procured it for him without even telling him the price. He may not even have been given a choice. You have to be extremely motivated to stay on top of every decision like this along with the thousands of other decisions involved in building.

It’s a quote from Newton, so that’s obviously why we say it.

The reason he said ‘giants’ is supposedly that it was a dig at Robert Hooke, who was famously short. Impressively, if true then he both managed to get this dig in and to be remembered for his humility as a result of it.

I’m currently reading The Staff Engineer's Path by Tanya Reilly and it’s really good (so far). It’s a great thing to read at the point it sounds like you have reached, where programming a little better is no longer going to move the needle, even if you aren’t in a position to apply everything in it yet.

GPS 5 years ago

Cloud infrastructure - so basically I have gone right from one end of the scale spectrum (tiny GPS receivers) to the very opposite extreme :D

GPS 5 years ago

Yes, I was working for a company making standalone car navigation devices (remember those?), amongst other GPS-related things - I also worked on a lot of OEM GPS receivers. There was even a guy (not me!) who had written the firmware for a GPS receiver basically from scratch, so I got a look at everything from the very low level up to the navigation UI.

At this point the iPhone hadn’t come out yet, but building data was just starting to show up the maps we used for navigation.

GPS 5 years ago

Fun fact: when I was looking into patenting this concept in c. 2007, the prior art search revealed that it had already been patented by someone in Japan in c. 1997.

Amazing to think that ideas people had back when Selective Availability was on for the foreseeable future are just now becoming available to consumers. Congrats on getting it done!

I'm sorry 5 years ago

I don't know anything about the .NET Foundation or much about this particular situation, but I know a little about open source governance.

It appears that Novotny believed she was acting in her capacity as a (long-dormant) maintainer of the project when she merged the PR in question. It was clearly wrong to do so without following the process set down by the other maintainers, and she was right to apologise.

However, as the Executive Director of the Foundation, she also had the power (perhaps indirectly) to force a merge of a patch in any project controlled by the Foundation. All Foundations must reserve this power to themselves (you can't take on legal liability for something you have no control over), but they also must never use it. To do so is the nuclear option, to be invoked only after all trust and goodwill has been irretrievably lost anyway, because it certainly will be once you use it.

When you wear multiple hats and one of those hats is very powerful, it is critically important to make clear when you are doing stuff but not wearing that hat. Sometimes even that doesn't help, and it's better to just refrain from doing that stuff until you have handed the hat on to someone else.

In this case she failed to make it clear that she was wearing her maintainer hat and not her ED hat. In fact, she accidentally invited speculation that she was wearing the ED hat by referring to the change as a requirement of the Foundation. I'd imagine this is why things blew up.

Note that this probably indicates a problem with the structure of the Foundation. It's more or less inevitable that at the board level these things are pay-for-play, and that the ED's continued employment is at the discretion of the board. But technical decisions should be delegated to a neutral body, preferably elected by the project maintainers. It doesn't sound like that exists, but had it done this situation might have been avoided.

The other issue seems to be a fundamental disconnect between the Foundation and the maintainers of various projects in it about the purpose of the Foundation. For example, I saw one where a maintainer politely declined to give the Foundation access privileges required to enforce the Code of Conduct, instead saying that the maintainers would enforce it themselves. Sorry, but I don't think any foundation could accept that. One of many reasons for joining a foundation is that it gives contributors confidence that there is a CoC backed up by an independent organisation, and that can be enforced even (especially) against powerful members of the community such as project maintainers - potentially even all of a project's maintainers. This is one of many ways that Foundations help build contributor confidence, which is one of the major benefits for a project of joining a foundation, and all of them rest on the credibility of the foundation to act as a circuit breaker and assert some kind of control should dire circumstances crop up. To allow individual projects - even historically well-behaved ones - to opt out of that control would be to effectively render those guarantees meaningless, and in fact reduce the foundation to what would be effectively just a giant fraud against contributors.

It appears that many projects signed up without being made aware of this, and that is an absolute disaster for which only the Foundation can be responsible, and again they are right to apologise for failing to communicate it. However, what many people wanted was an apology for having technical measures in place that would allow them to exert control over projects, which the Foundation cannot really apologise for because it would effectively be an apology for existing. Inevitably people who wanted that will see this response as a non-apology apology.

It looks like a long, hard road back from here to rebuild trust. I'd suggest that the board needs to work collaboratively with the community to clearly document the rights and responsibilities of both the Foundation and the individual projects, that they consider establishing an independent governance body for technical oversight, and that any project that feels this isn't what they signed up for be given the opportunity to leave on good terms.

The film “Challenger: The Final Flight” on Netflix includes interviews with the most important participants in the launch decision, including McDonald. (It also has interviews with many of the astronauts’ families and does a great job at putting their experience front and centre.)

The guy whose job it was to send the fax because he happened to be the one who knew how to operate the fax machine is to this day utterly devastated; weeping.

The MTI VP who signed off (although the decision was made above his head) admits that he agreed with it at the time, but acknowledges it was a mistake. He’s being interviewed in a large room full of very expensive furniture.

The NASA manager who bullied them into agreeing to launch because they couldn’t prove that it was unsafe basically says that if he had his time over he would kill all of the astronauts again. Truly terrifying.

Python's "threads" are actually fibers.

They’re actually not. They are native threads with high lock contention.

Async is arguably fibers, as are greenthreads in libraries like gevent or eventlet.

But if you want to use real threads, multiprocessing's "processes" are actually system threads.

They’re system threads running in separate memory spaces. Also known as… processes.

I recall encountering compilers that required this - there was no linker essentially. Sometimes that was all you had available.

Most of the manufacturers eventually just wrote gcc backends for their architectures, but the era of crappy proprietary compilers went on far too long in many cases.