HNHacker News
TopNewBestAskShowJobs

smarks

731 karma · joined March 16, 2015

submissionscomments
smarks··on Student hacks high school software and finds “SQL injections galore”
I don't think this case follows the usual story of "person reports vulnerability and is punished for it". See my other comment for details and a link:

https://news.ycombinator.com/item?id=20709592

smarks··on Student hacks high school software and finds “SQL injections galore”
An article with more details is here:

https://www.vice.com/en_us/article/59nzjz/teen-security-rese...

This article has more details about the reasons Demirkapi was suspended. Apparently he first tried to contact Follett (the software maker) directly, but they ignored him. He then tried to use the software itself to send a message Follett, but the message was instead broadcast to a large number of parents, teachers, and administrators across the district. This does seem pretty irresponsible, and Demirkapi said he understood the reason for his suspension.

Thus, this doesn't seem like the usual "person reports vulnerability and is punished for it" story.

Of course the ultimate responsibility lies with the software makers who have these vulnerabilities in their software and who don't respond when someone reports them.

smarks··on Mystery meat OpenJDK builds strike again
Note that Oracle has nothing to do with these releases or builds. Red Hat is now the maintainer of OpenJDK 8u and 11u release families. But this isn’t Red Hat’s fault either.

By default, the OpenJDK builds put something obvious like “-internal” into the version string, and you have to override it explicitly if you are intending to produce an official build. Whoever made these builds overrode the version string to make them look like official releases, when in fact they don’t correspond to official release tags in the source.

In other cases there may have been a delay between the appearance of an official binary and the appearance of the release tag in the source tree, but that’s not the issue here.

smarks··on Don’t Use ISO/IEC 14977 Extended Backus-Naur Form
Agree. The article has several criticisms of ISO/IEC 14977 specifically, which seem quite reasonable to me. The article isn't a criticism of EBNF in general.
smarks··on How to Find Hidden Cameras and Spy Gear
One quick and cost-effective way to detect IR light is by using the front-facing camera on your phone.

Unlike the rear-facing camera, the front-facing camera does not have an IR filter and can easily pick up IR lights in the dark.

To try this at home, grab your TV remote, which uses IR light to send information to your TV and open the front-facing camera on your phone. Next, point the front end of the remote at the camera and press any of the remote buttons. The IR light that is normally not visible will be completely visible on your camera screen.

Well I’ll be darned. This works! (iPhone 7)

smarks··on The game-day caffeine routine that powers the NBA's most frequent flyers
How’d they get the water temperature to 220°F? Doubtful the kettle was pressurized. Were they below sea level?
smarks··on Algorithms, by Jeff Erickson
Thanks for this explanation. This is one of the things that popped out at me when I looked at the book page. The statement about not providing answers seemed quite dogmatic, and my initial reaction was, why? Turns out it's not so dogmatic, and there's a thoughtful and nuanced explanation. Perhaps you could include some of this on the book page, or provide a link to the explanation elsewhere.
smarks··on Why did Apple's Copland fail when so many 90s OS succeed, dominate world today
Yes. To paraphrase Ray Noorda, it'd still be dead, but it would have been a much more interesting death.
smarks··on SCCS: The Posix Standard Source Code Control System (2017)
From my point of view this is primarily a historic artifact, with limited practical use. As I mentioned in another comment, my projects (at Sun in the 1980s and 1990s) used SCCS on shared filesystems. For day to day work everything has long since moved to other VCSes such as Git and Mercurial.

The JDK sources were maintained in SCCS (which was wrapped within CodeManager/Teamware) prior to being open sourced in 2007. The history in the OpenJDK repositories goes only back to that time. The (Oracle internal) archives of previous versions of the JDK, which date to before JDK 1.0, are still in SCCS format. I'll occasionally browse through the ancient history of these sources using Schily's SCCS implementation. What's cool is that all my old shell aliases and functions still work. Of course this is browsing/viewing only. I haven't checked in an edit using SCCS in decades.

smarks··on SCCS: The Posix Standard Source Code Control System (2017)
In the "old days" people were used to the locked checkout scheme, and we were afraid of merges. In a large code base most people were working on different files, so lock conflicts ("I want to edit a file but somebody else has it checked out") were fairly rare.

We used SCCS on a shared filesystem. If you really needed to edit a file somebody else had locked, you simply removed the lock file. Of course, social convention was that you better have a really good reason for doing that. If you went on vacation with files locked, it was pretty much expected that your locks would be removed, and that you'd have to merge or otherwise deal with your stranded edits.

smarks··on Gerald M. Weinberg has died
Sad news indeed. One of my favorite Weinberg quotes (phrased as a law):

> Weinberg's Second Law: If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.

Weinberg’s books are filled with named “laws”, so many that some of his books have an appendix that lists them all. Here’s one of my favorites:

> Boulding’s Backward Basis: Things are the way they are because they got that way.

[Quality Software Management, Vol. 1: Systems Thinking]

smarks··on Java’s Mysterious Interrupt
I’m not sure what you mean by “reversed on appeal” as the stop() methods did make it into the platform. But there’s also Thread.destroy() whose API was defined but which I think was never actually implemented. (Fortunately.)

Edit: FWIW, I looked through the history, and it looks like Thread.destroy() was added by Bill Joy in Aug 1995. The initial implementation was "throw new NoSuchMethodError();".

smarks··on Java’s Mysterious Interrupt
There are narrow and unsafe uses of the no-arg Thread.stop() overload so it remains in the platform, although deprecated. There is an overload Thread.stop(Throwable) that is deprecated “for removal”. It’s been a no-op for several releases and the API will eventually be removed entirely.
smarks··on Yale physicists find signs of a time crystal
If a time crystal could somehow be manipulated to change the moment of inertia, that might be called an oscillation overthruster.
smarks··on Where I started might not be useful to you
Sure, I don't disagree. Personally, after moving away from BASIC to other languages, I felt freed from a bunch of problems I had had with BASIC. For example, scope eliminated problems with reuse of variable names. Perhaps lots of other people who started with BASIC felt the same way.

On the other hand, sometimes other people never transcended those bad habits from BASIC. Sometimes you run across programs that are one big function, with variables reused, etc. I don't know what the thought processes are of programmers who write such code. There's an old saw, "You can write FORTRAN in any language." Maybe this should be applied to BASIC as well. That's probably what Dijkstra was driving at. I don't know about "mental mutilation" (certainly hyperbole, in my book) but only Dijkstra knows what he really meant.

smarks··on Where I started might not be useful to you
That sounds like Dijkstra, from EWD498 (1975):

http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EW...

At least, the "mentally mutilated" phrase is about BASIC. The "criminal offence" phrase was actually about COBOL. You'll note that Dijkstra also had choice words about FORTRAN, APL, and PL/I, which were popular programming languages of the day.

It's tempting to say that Dijkstra was being tongue-in-cheek when he wrote this. I never met him, but based the attitude I picked up from his other writings, I'd guess that if you had asked him he'd have said he was completely serious.

And he has a point. I first learned programming in BASIC, and look how I turned out. (Well maybe I confirm Dijkstra's point. Others will have to judge.) But I do recall a bunch of characteristics of early BASIC systems that potentially led to terrible programming habits: GOTO and line numbers leading to spaghetti code; all global variables; no scope; no functions; self-modifying code (overlays); etc. All of these had to be unlearned at some point.

smarks··on Non-uniform memory access meets the OOM killer
Time to re-up this classic from Andries Brouwer:

https://lwn.net/Articles/104185/

smarks··on 23 Things Only 90s Sysadmins Will Remember
PCMCIA = "People Can't Memorize Computer Industry Acronyms"

Oddly, that's one I had memorized. It actually stands for PC Memory Card International Association. (That one I didn't memorize; I had to look it up.)

smarks··on A Message to Our Customers about iPhone Batteries and Performance
Rule 34 cannot be stopped.
smarks··on How I learned to program
Thanks for mentioning this. I don't know whether or not this is related to intelligence, but it does seem to be a fairly common pattern where someone will underestimate the value of writing something down. I did notice this a couple times in danluu's article. A couple comments:

1) There's a lot of value in writing down something about one's experiences, even if the result is "obvious" to anyone else who has gone through the experience. There are likely a lot of people who HAVEN'T gone through that experience who would benefit from reading about it.

2) I worked on a project, mostly independently, for a year or so and produced something useful. To me, it seemed fairly pedestrian: some basic data structures, some ordinary algorithms, nothing particularly novel. A mentor suggested I write a conference proposal about it. I resisted, using the "it's obvious" argument. He came back and said "You've worked on this for a year, and no one else in the industry has worked on it. By definition you're the expert. It's worth a conference talk." Indeed it was, and it launched a significant portion of my career as a conference presenter.

I think this is largely about the difficulty of thinking about what others think when one is too close to a topic. After working on something intensively for a time, one develops a familiarity and intuition of the knowledge about that area. When working with that understanding, things may seem "obvious" but that are totally non-obvious to someone who hasn't worked in the area. This is less about absolute intelligence per se than it is about expertise, and so it's a variation of Kay's aphorism "A change in perspective is worth 80 IQ points."

smarks··on Vanguard Founder Jack Bogle Says ‘Avoid Bitcoin Like the Plague’
Note that the Vanguard Precious Metals and Mining Fund (VGPMX) invests in companies that pursue "mining of or exploration for precious and rare metals and minerals" and that it's not a fund that invests in gold itself. Some investors say you should invest in gold because ... reasons ... but that's not what VGPMX does.
smarks··on Stop pretending to like IPAs
Thank goodness, the IPA backlash has started.
smarks··on Equifax Faces Multibillion-Dollar Lawsuit Over Hack
Even if an attacker doesn't benefit, it's still possible for them to mount a denial-of-service attack. That could be very damaging. Or, they could use the threat of a DoS attack for extortion purposes.
smarks··on The sudden death and eternal life of Solaris
I thought so too, but eclipses in real life are always transient phenomena.
smarks··on “Oracle laid off all Solaris tech staff in a classic silent EOL of the product”
Ha, that's funny. I had almost forgotten about the SunOS-vs-Solaris wars. Everybody wanted to hang onto SunOS as long as possible. Seems ironic that (many) people feel this way about Solaris now.
smarks··on Robocalls Flooding Your Cellphone? Here’s How to Stop Them
Here's another article (really, radio transcript) on this phenomenon:

http://www.npr.org/2017/07/31/540515367/familiar-looking-num...

One thing that this doesn't mention, but which I heard somewhere, is don't call that number back and ask "Why did you call me?" In case it isn't obvious, the caller IDs are spoofed using random numbers, and the person who has the number listed doesn't know their number is being used this way.

One amusing anecdote from the NPR piece is the person who received a call with a caller ID of ... their own phone number!

smarks··on X: The First Fully Modular Software Disaster
> Will somebody please explain how XRotateBuffers is "mechanism, not policy"?

XRotateBuffers is implemented using the RotateProperties protocol request, which given a list of property names, will rotate their contents by a given number of places as if the list were circular. This same operation could be done using a sequence of other protocol requests like GetProperty and ChangeProperty. The problem with doing that, though, is that another client attempting to perform the same operation at the same time could have its requests interleaved arbitrarily, leading to corruption or other errors. Each request is performed atomically, so a single request RotateProperties needed to be added to the protocol in order for the rotation operation to be performed safely.

[1] https://www.x.org/releases/X11R7.6/doc/xproto/x11protocol.tx... ; search for "RotateProperties"

smarks··on Robocalls Flooding Your Cellphone? Here’s How to Stop Them
TL;DR Don't pick up calls from unfamiliar numbers.

It did help confirm a sneaking suspicion I've had, which is that robocalls spoof a caller ID number with your area code and prefix, to make it seem more familiar.

Stories about people who manipulate telemarketers are amusing, and mobile minutes are mostly no longer scarce, but who has the time? Time and attention are the scarcest resources.

smarks··on Jean Sammet, co-creator of COBOL, has died
Coincidentally I had bought this book from abebooks.com just a couple weeks before Ms. Sammet's passing. I looked again just now, and there are a few copies available for less than $100. However, the prices seem rather higher than they were when I bought my copy.
smarks··on Jean Sammet, co-creator of COBOL, has died
Although Ms. Sammet's passing has been previously discussed here on HN, this new NYT article provides a different and somewhat more colorful perspective on the life of this remarkable woman. Worth a read.
← PreviousPage 5 of 7Next →