HNHacker News
TopNewBestAskShowJobs

jbn

97 karma · joined June 3, 2010

submissionscomments
jbn··on Recovering files from beyond the grave using PhotoRec
same here wrt recovering files from dying disks, it's a lifesaver.
jbn··on The West forgot how to make things, now it’s forgetting how to code
Tom DeMarco wrote a book "Slack" about precisely this.
jbn··on Code Freezes can have the opposite effect
after the freeze lifts, you also have multiple contributors dumping large PRs at the same time, missing out on the progressive integration that happens otherwise. This makes it difficult to figure out the cause of regression (think bisect but with large commits).

Code freezes like this are worst when there is no individual branching capability or local revision control, because that guarantees large commits.

jbn··on Common misunderstandings about large software companies
my anecdata is that I have always filed manually by myself, but every time had a small adjustment made by the IRS... indeed filing a correct return the 1st time seems close to impossible.
jbn··on Boeing knew of flaw in part linked to UPS plane crash, NTSB report says
is there a reference for the USSR shooting an SR-71 down?
jbn··on The chess bot on Delta Air Lines will destroy you (2024) [video]
this is a beautiful zeugma you have here.
jbn··on The power of proximity to coworkers [pdf]
This is a re-discovery of https://en.wikipedia.org/wiki/Thomas_J._Allen 's work, everything old is new again!
jbn··on Proximity to coworkers increases long-run development, lowers short-term output (2023)
This topic definately resonates with Thomas Allen's Managing the flow of technology (he was a great prof and all-around nice human being).
jbn··on Java Decompiler
which new feature are not supported?
jbn··on Several core problems with Rust
it's funny because I have seen the opposite. Engineer: "it crashed because it dereferenced a null pointer" boss: "add null pointer checks everywhere!"

... and because it used "if" instead of "assert", it made the null pointer arg a valid argument, making it a tolerable state of the running software, which displaced the locus of crashes far from the source of the issue. Moral of the story, use "assert" to make it crash as early as possible and debug THAT. You want to restrict the representable states in the software, not expand them by adding null checks everywhere.

jbn··on The English language doesn't exist – it's just French that's badly pronounced
This is right on point. I read this book recently, by coincidence, and it's funny and fascinating at the same time (at least for someone who speaks both English and French).
jbn··on Backpressure in Distributed Systems
This whole topic seems to be a re-discovery of https://en.wikipedia.org/wiki/Control_theory and https://en.wikipedia.org/wiki/System_dynamics with non-linearities and saturation.

In the same vein, on the consumer side we talk of admission control (which is just another name for "drop incoming messages") and throttling...

jbn··on Matrices can be your friends (2002)
Funny you mention shearing in the last paragraph. Transvection were such a revelation to me in undergrad math.
jbn··on IBM Intellistation 185 AIX workstation (2016)
My daily driver in 1998-1999 was a 43P (see http://www.ibmfiles.com/pages/rs6000type7043150.htm ), an earlier model of this. With AIX, it was slowish, swapping to disk very easily (i.e. not enough RAM). I don't miss AIX much, though.
jbn··on IBM Intellistation 185 AIX workstation (2016)
CATIA is what's showing (supposedly) on the screen in the picture of such a system..
jbn··on Pointer Tagging in C++: The Art of Packing Bits into a Pointer
This uses the Most Significant Bits to pack some bits into pointers..

Another technique is to use the Least Significant Bits: indeed since pointers are 64 bit aligned, the lowest 3 bits are always zero, therefore it is possible to pack 3 bits of information there.

And there's a third technique in C++, which is to use placement new to morph an object in-place. This can be use to toggle between 2 classes with a boolean method, where one has this method return true and the other class has this method return false. This creates per-object state that really uses bits in the vptr to store this boolean state. Obviously this can be used with a whole set of classes to stores more bits. I have used this successfully to store values of refcount (each AddRef/Release using placement new to morph from RefCounted1/RefCounted2/../RefCountedN classes) to implement reference counting without a counter.

jbn··on The Size of Adobe Reader Installers Through the Years
my go-to tool for this is pdftk.

See https://www.pdflabs.com/docs/pdftk-cli-examples/

jbn··on Cmapv2: A high performance, concurrent map
or a port of the lock-free hash map from https://preshing.com/20130605/the-worlds-simplest-lock-free-...

But really, the premise of using a shared map with concurrent readers and writers seems like a good generator of hard-to-reproduce bugs. IMHO shared-nothing (when feasible) is much easier to reason about, and possibly do periodic merging of thread-local updates, but I would avoid concurrent updates entirely (in particular if 2 threads race to update the same key... that goes to deeper design issues in the application).

jbn··on SQL queries don't start with SELECT (2019)
indeed https://en.wikipedia.org/wiki/Language_Integrated_Query got this right, as in fact you do need to see the from clause first for the IDE to be able to suggest what to put in the from clause...
jbn··on Apple's Software Quality Crisis
Same here. I have never unlocked the macbook successfully the 1st time around (for a good 10 years), I always get a "wrong password" and have to re-enter.

My initial guess is that the text edit control has "select all content" set initially, so when you enter the 1st character, it's selected, and when you enter the following characters they overwrite that, essentially chopping off the 1st letter of the password (which is then incorrect, obviously). Unbelievable that this was never fixed (especially with IT-managed laptops that lock themselves very quickly).

jbn··on Trump wins presidency for second time
see https://www.pewresearch.org/short-reads/2023/04/18/who-pays-...

income tax is progressive but tends to become regressive at the very top when individuals have control over what counts as "realized income". The ultra wealthy in fact don't pay so much tax (and certainly not their "fair" share).

What you say is true absent any tax optimization, alas there is such a thing, especially at the top. Also, see works of Zucman and Saez.

jbn··on Elsevier embeds a hash in the PDF metadata that is unique for each download (2022)
thanks for the correction! TIL
jbn··on Elsevier embeds a hash in the PDF metadata that is unique for each download (2022)
Leaving these here:

https://github.com/kanzure/pdfparanoia

and

https://github.com/firstlookmedia/pdf-redact-tools

as they are relevant to this topic.

jbn··on My computer has an underscore in its name, and I have trouble with the network
how about a first name with a dash in it (compound first names are very very common in France... Jean-Pierre, Jean-Bernard, Pierre-Alexandre, etc...) ?
jbn··on I'm Peter Roberts, immigration attorney who does work for YC and startups. AMA
US citizen here. I have a special situation which I think will be only of interest to me...

My wife (a green card holder) and I have moved abroad and her travel document is expiring soon (in July). We have no returned to the US in the past 3 years, and were not planning to visit only for the purpose of resetting the counter..

We are planning to actually fly into the US for a vacation right after the expiry date... what if anything can be done to renew or extend the travel document (a.k.a re-entry permit)? Of course we are in good standing with respect to US taxation.

Else, can she apply for an ESTA (country of citizenship is part of the visa waiver program for tourists), which I believe be done up to 3 days before travel (is it ok to apply right at the deadline when the permit is about to expire but just so we travel 1 or 2 days immediately after expiry) ?

jbn··on The Mystery of 'Jia Tan,' the XZ Backdoor Mastermind
tar is just an archive format, you can have any type of file in a tar file.
jbn··on Location history data in Google Maps will soon be stored on user devices
this makes me thing of the "baby shoes, never worn" short story by Hemingway.
jbn··on Let's Write a Malloc (2014)
Here's another one such assignment https://ocw.mit.edu/courses/6-172-performance-engineering-of...

(I didn't take that class, but have reviewed students' code for this assignment several times)

jbn··on French taxi drivers sue Uber over unfair competition
and that's only one issue. Paris is the only place where the taxi driver picks the passenger (and not the other way around)... if he doesn't want to go to your destination, he will refuse to pick you up :)

Agreed, this market is ripe for disruption, or at least de-regulation (like giving out more (free) taxi licenses in Paris).

jbn··on Reviving an IBM RS/6000 Workstation
heh, memories of debugging CATIA running on a 43p!
Page 1 of 8Next →