HNHacker News
TopNewBestAskShowJobs

zb

1,803 karma · joined August 27, 2007

submissionscomments
zb··on Pythran: Crossing the Python Frontier [pdf]
NumPy is designed to work with SciPy, which is a wrapper for literally the same 4 decade old Fortran libraries (LAPACK &c.) that you're referring to here.
zb··on Reduce GPS data error on Android with Kalman filter and accelerometer
Calculating a position (and time) from the GPS data is basically a case of throwing it in a matrix and calculating the fix with the least squared error, and many receivers do just just. However, many (most?) actually use a Kalman filter, which takes into account the estimated error from the previous fix (and calculates a new estimated error to be taken into account for the next fix). So what you're suggesting is already done inside the receiver.

This is also the ideal place to add in additional data such as from an accelerometer. If you only have the calculated position (and speeds, which are useful for figuring out how far you're actually likely to have moved since the last fix) but not the error estimates to work on then you've thrown away much of the useful data.

zb··on Diabetes is actually five separate diseases, research suggests
Or we could just stop massively subsidising sugar (in the form of HFCS). Crazy, I know.

Why does everyone think that politicians are clueless numpties when they're deciding what to tax, but omniscient geniuses whenever they're deciding what to subsidise?

zb··on The Design of Software is a Thing Apart
You must be one of those people who writes stuff like #define TWO 2
zb··on How do Ruby and Python profilers work?
That is a genuine issue with fork(), but if you do fork() followed immediately by exec() then you won't ever encounter it. (The new process's memory space completely replaces the copied pages of the child.) So it's a real problem for e.g. spinning off worker processes, but not at all for e.g. calling out to a shell.
zb··on Maloney Introduces Legislation to Block FCC Rollback of Net Neutrality
Apart from being doomed to failure, this seems like a stupid thing to legislate for. The one thing everybody in this debate should be able to agree upon is that Title II is not an especially good regulatory mechanism for enforcing net neutrality, just the only one that the FCC is legally entitled to use. If Congress wanted to do something useful they could legislate to allow (or require) the FCC to enforce net neutrality under a lighter-touch regulatory system like the pre-2015 Open Internet regime that failed to stand up in court.

Of course if Congress does pass anything it all it's most likely to be a law to shield ISP from liability for not delivering the services their customers have paid for when they don't receive the kickbacks they want...

zb··on Learn to use Awk with hundreds of examples
I used to regularly do ad-hoc text processing, typically on a 24 hour log of GPS data (on an early-2000s-era computer). Surprisingly enough, awk is many times faster than cut for any data set big enough for you to notice time passing.
zb··on Apple Scales Back Its Ambitions for a Self-Driving Car
As of last year, Waymo were saying it will take up to 30 years, and they're widely considered to be in the lead:

http://spectrum.ieee.org/cars-that-think/transportation/self...

zb··on The First Complete Map of the Ocean Floor Is Stirring Controversial Waters
The part they share is literally called "Coarse/Acquisition" and the part they don't share is called "Precise". (This has nothing to do with Selective Availability; they're broadcast in two completely different bands.) The GP's characterisation is broadly accurate.
zb··on The far-reaching effects of air conditioning
Yep, in the southeastern US it's routinely so cold inside that were it to get that cold in the winter, they would turn up the heat. Except that instead of wearing three layers of clothing you're in shorts and a T-shirt because it's 95F/35C+ and 100% humidity outside.

I don't think I'll ever get used to this. I don't see how it's possible even in principle to acclimate to such large swings in temperature over such a short time frame.

zb··on “Eeny, meeny, miny, mo” and the ambiguous history of counting-out rhymes (2015)
In New Zealand we used 'piggie'. None of us were aware that this was not the original. Mercifully.
zb··on An empirical study on the correctness of formally verified distributed systems
"One can't proceed from the informal to the formal by formal means." — Alan Perlis
zb··on Little Things I Like to Do with Git
Using the name 'blame' for that subcommand is at least as old as CVS, and probably older.
zb··on Ford Was Unprepared for Investor Revolt and C.E.O. Change
Electric motors, unlike internal combustion engines, produce very high torque at low/zero RPMs, and therefore can accelerate very quickly. Electrical engineers have known this literally since the 19th Century. Electric motors in industrial applications routinely do things many times more demanding than anything that will ever be required in a car, and have been doing so since the time of Nikola Tesla.
zb··on A faster BBC News front page
This does feel a lot faster, but hasn't fixed my pet peeve (on bbc.com): clicking on a link to a news article and getting taken to the wrong one because the ads loaded and everything moved just as I clicked. This often happens to me 3 or 4 times in a row. Space needs to be blocked out for ads as soon as the page renders.
zb··on How SSH got port number 22
The process hasn't really changed much (I applied for a port allocation 5 years or so ago). There's a little questionnaire you fill out, and there might be some back-and-forth over email to clarify the answers but basically it's no more complicated than you email someone and if you fit the criteria they reply with your port allocation.

What has changed is that there is essentially no chance of getting a privileged port allocated now.

zb··on Princeton’s Ad-Blocker May Put an End to the Ad-Blocking Arms Race
The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel is issued by the Nobel Foundation and chosen by the Swedish Academy of Sciences, just like the Physics and Chemistry prizes. The difference is that it was not endowed by Alfred Nobel in his will, but later by the Sveriges Riksbank.

https://en.m.wikipedia.org/wiki/Nobel_Memorial_Prize_in_Econ...

zb··on Programmers should not call themselves engineers (2015)
There's actually a potentially good article in here, about how the software development community is failing to uphold its obligations to the public interest.

Unfortunately it's struggling to escape from yet another entry in the tedious genre of "software engineer (sorry, programmer) who has never worked in, or even read a book about, any other engineering discipline assuming that he knows everything about how they work".

It's ironic that he cites the failure of the NATO "Software Engineering" conferences as evidence that software development is not engineering, when the idea of those conferences was that "programmers" would be the assembly-line workers in a software manufacturing process.

Software development is a design process, not a manufacturing process. That's why we call its practitioners software engineers:

http://www.zerobanana.com/essays/reclaiming-software-enginee...

zb··on Who Needs GPS? The Story of Etak's 1985 Car Navigation System
The other really remarkable thing about that time for me (I was working for a TomTom competitor) was that Nokia also paid a whopping US$8.1 billion (€5.7 billion) for NavTeq. This was right before Google ate both companies' lunch by switching to doing their own mapping for Google Maps using the Street View cars. The iPhone was announced about 6 months later.
zb··on They Write the Right Stuff (1996)
As far as I can tell this group was essentially the world's last human-powered compiler. Their job was to translate what was effectively high-level code[1] into assembly language.

That's cool and all, but your compiler probably has far lower error rates, definitely has much higher repeatability, runs in seconds instead of... years, and doesn't cost tens of millions of dollars per year.

The idea that we should be imitating them is laughable. Automated compilers were light years ahead even at the time.

Maybe one day we'll see an article about the high-level code was designed. Probably not though.

[1] '"Our requirements are almost pseudo-code," says William R. Pruett, who manages the software project for NASA. "They say, you must do exactly this, do it exactly this way, given this condition and this circumstance."' - they may use words like 'specification' and 'requirements', but generally those terms are indicate documents that tell you what to do, not what to do and how to do it.

zb··on RethinkDB Relicensed under Apache 2.0
Yes, this is a giant issue for MongoDB. For example here's Yahoo explaining (in 2014) why they will never use it:

http://lists.openstack.org/pipermail/openstack-dev/2014-Marc...

For the record, I personally think that this is 100% pure FUD (the thinking behind it is described as "preposterous" later in the thread). Nevertheless, if someone with the title of "Sr. Director Of Open Source, Open Standards" at a company the size of Yahoo can buy in to this FUD, then most smaller companies have no chance of distinguishing between fact and fantasy, and many will steer clear as a precaution.

zb··on Things Every Hacker Once Knew
The thing to remember is that the CRs are never really gone, they're just silently inserted for you by the tty.

Dealing with raw vs cooked (where LF is automatically translated to CRLF) ttys in UNIX is also a giant pain when you have to do it, so in a way it's not surprising that they decided to leave that out. The original DOS kernel was very minimal compared to UNIX even of the same era. Of course, it turns out that having to write CRLF into files is also a pain - Windows has binary and text mode files instead of raw and cooked mode ttys - and one that you encounter much more often.

zb··on Customers are getting caught up as banks de-risk due to money laundering laws
Note that, unlike anything the guy in the article did, what you're suggesting actually is illegal. He at least got his money back eventually because he was demonstrably 100% above-board. If you get caught structuring transactions to avoid scrutiny - and your strategy is probably not nearly as sophisticated as you think - then you will not be so lucky. Do not try this.
zb··on Reclaiming Software Engineering (2010)
> There are kinds of making other than engineering.

True enough. But the piece argues (I am the author) that software engineering is not making, it's designing.

> Carpentry is not engineering. Cooking is not engineering.

Carpentry is a craft, but furniture design can be engineering. Cooking dinner is a craft, but designing the menu and production process for a chain restaurant is definitely engineering.

> Before you can declare that making software is (or can be) engineering, you have to be able to explain why those things aren't.

My position is that they are (or can be), when analysed in an analogous way. You've asserted that they self-evidently are not, even in the absence of a rationale for why. I simply don't agree.

> My tentative theory is that engineering has rigorous ways to check whether a design will work before it is manufactured

I appreciate you sharing your theory! However, I believe you'll find the history of engineering has largely been one of people doing stuff first and then later finding ways to reduce the cost by doing analysis. I highly recommend watching one of Glenn Vanderburg's "Real Software Engineering" talks for a more in-depth treatment of that subject: http://vanderburg.org/speaking/

> A mechanical engineer might need to draw a detailed design, but can then check it rigorously with finite element methods.

That's great, but finite element analysis won't tell you e.g. where water might pool causing a structure to deteriorate, or that a machine can't be properly maintained because a part is too difficult to access. If you worked in any of these fields I think you'd quite quickly be disabused of the notion that they consist of just plugging designs into known formulae until the computer accepts one. Similarly, we have plenty of similar tools in software (e.g. Big-O analysis), but we don't kid ourselves that using them is the be all and end all of developing software.

> When we make software, in practice, we have to construct the software and test the artefact, hoping that our tests are adequate.

We do that in practice because it's more efficient. I can't accept a definition of engineering that holds that we could claim to be doing engineering only if we did things inefficiently, because it's self-contradictory. That's the opposite of engineering.

zb··on Reclaiming Software Engineering (2010)
(Author here)

> Do you really get mechanical or civil engineers saying "yeah, we expect there are a few fatal flaws in the design, that's just how it goes, we'll build it anyway and ship a fix if customers complain"?

Heck yes! (Well, not fatal flaws.) Any product you can think of that has been popular enough to get a second production run probably has had some design flaws corrected. Some of which were probably already known by the time that the first version shipped, and some of which were probably only discovered after real users had it in their hands for a while.

> it's part of the engineer's job to trade off reliability and cost.

Correct. But the cost includes not only the cost of the artefact but also the cost of the design. The difference with software is that design costs dominate in a way that isn't often the case with physical artefacts.

zb··on The Space Shuttle Challenger Explosion and the O-ring
A similar situation existed prior to the Apollo 1 accident. After that they renewed the focus on safety, which lasted a while until they started to lose it again, culminating in the Challenger accident 18 years later. Then exactly the same thing happened culminating in the Columbia accident 18 years after that.

However, the shuttle design (which placed the crew compartment right next to the giant explodey bit, to use the technical term) was also inherently much less safe than the rockets that preceded it. (That it was chosen anyway was due in part to the degradation of the safety culture in favour of other goals.)

It's really, really hard to keep an entire organisation laser-focused on safety when they haven't seen an accident in nearly a generation.

zb··on YC's Winter Reading List
Obama himself wanted single-payer healthcare, but was unable to get the support of conservative Democrats for that. What actually passed was based on the Republican proposals made in the 1990s in response to Hillarycare, and almost identical to the plan that Mitt Romney helped develop and pass in Massachusetts and which he (Romney) said should be the model for the nation. The individual mandate was originally suggested by the Heritage Foundation in the 1980s.

https://en.m.wikipedia.org/wiki/Patient_Protection_and_Affor...

Every Republican voted against it. At no point did Republicans in Congress try to improve any of its manifest flaws, but instead they held hundreds of symbolic votes to repeal it and return to the status quo ante (which, prior to that, everyone had agreed was unacceptable - no presidential candidate of either party in living memory had failed to include healthcare reform in their platform). Republicans who had never objected to the individual mandate when they proposed it now claimed it was unconstitutional (Obama didn't help, by claiming for political reasons that it is not a tax). Romney ran for president on a platform that his healthcare plan was a good idea when he did it but a bad idea when Obama did it.

To liberal ears, it's really hard to explain how this was a principled stand against wacky liberal ideas run amok, and not simply an attempt to regain power by obstructing even previously-bipartisan ideas, even at the cost of damaging the country, to ensure that the other side couldn't take credit.

zb··on Say No to Paxos Overhead: Replacing Consensus with Network Ordering
Probably not. It depends on guaranteed in-order packet arrival. In general the Internet very much does not guarantee that, so you would need control over all of the networks involved.

Of course you can always tunnel over TCP (you need to tunnel over something, because you can't route multicast over the Internet either), but that would almost certainly eliminate the performance benefits.

zb··on New Zealand earthquake: Tsunami follows powerful tremor
According to their profile, the author of the post is a native German speaker. In German, the same word ("schwer") means both "heavy" and "difficult" or "serious" (in the sense that somebody in such a situation is carrying a heavy burden). The literal translation would be "heavy".

English is a Germanic language, so perhaps in a sense this meaning has always been part of it. As you point out, even if it's not considered completely idiomatic most people would have no trouble interpreting the meaning.

zb··on The Ethernet PAUSE frame
> What is likely happening is that your switch is configured by default to implement both rx and tx pause.

Yep, this is much more likely than that it's accidentally forwarding the pause frames. The magic phrase to google here is "head of line blocking": https://en.wikipedia.org/wiki/Ethernet_flow_control#Issues

For that reason you should basically never enable ethernet flow control except for on a Fibre Channel over Ethernet SAN, and even then they had to invent Priority-based Flow Control to make it sane. If this is a managed switch then you should be able to disable it.

(I used to also work at an ethernet switch vendor.)

← PreviousPage 3 of 15Next →