HNHacker News
TopNewBestAskShowJobs

jdpage

473 karma · joined July 23, 2011

email: jonathan@sleepingcyb.org
submissionscomments
jdpage··on Some Problems Shouldn't Be Solved
Slightly tangent to the random aside, but actively preventing the user from entering a bad password is very often bad because 99% of people implementing such a check have no idea what constitutes a good password, and the check actually enforces a bad one.

(Relevant xkcd: https://xkcd.com/936/)

I especially get mad at absurdly small (<200 chars) maximum lengths; a response of "but we require special characters" is bull. Increasing the size of the character space increases entropy by O(n^k) (polynomial); increasing the length increases entropy by O(k^n) (exponential). Anyone who's taken an undergrad algorithms course or even AP Comp Sci should understand this.

jdpage··on Python to Scheme to Assembly (2014)
Tcl added this relatively recently. They use the "tailcall" command, which immediately replaces the stack frame of the current function with one for the new function. If I recall correctly, it doesn't do any checks for whether or not the call is actually a tail-call, so if you do something like

    return [expr [tailcall foo] + 1]
the return and expr simply never get executed, producing incorrect results (which I guess is slightly better than a potential stack overflow, since even the most basic of tests will pick up on the missing +1).
jdpage··on Python to Scheme to Assembly (2014)
The C#/LINQ syntax for this is nice for this reason. It's S.Where(P), which makes it clear that the thing on the left is the thing being filtered, and that it's taking values x where P(x) is true.

One could also make the argument that it also suggests that it's a non-destructive operation, but that might just be years of familiarity with SQL semantics talking.

jdpage··on If programming languages were Harry Potter characters
I mean, you gotta do Python == Harry Potter for the Parselmouth joke.

Ruby is a language which eschews strict rules in order to be more chummy and get more done, but has a dark side (with monkey-patching and less discipline than Python). Ruby is clearly Sirius Black.

jdpage··on SpaceX Profitable as Musk Pulls in NASA Contracts, Google Cash
The business model for the self-driving car is a computer-scheduled, dynamically-provisioned taxi service cheap enough that nobody needs to own a car in the city. Because self-driving cars don't need to park (they can just move on to the next assignment or deprovision), if they catch on then in-city parking decks can be redeveloped into business space or park space.
jdpage··on Is your programming language unreasonable?
So does Rust, I think. 2014 was a good year for programming languages.
jdpage··on Maxwell's equations predict that the speed of light is constant
Last sentence of the proof-- that's part of what Lorentz invariance is.
jdpage··on An Efficiency Comparison of Document Preparation Systems in Academic Research
It's because LyX is a structured document editor, and its format is strictly simpler than the full power of TeX. (La)TeX isn't actually that structured, and with the ability to do weird stuff with macros, it becomes impossible to convert losslessly from TeX to any more structured format (e.g. docx; something like ps or pdf is less structured).

In other words, it can't operate on plain LaTeX files because someone not using LyX might edit the files in such a way that LyX can no longer handle them. By using their own format, while they don't prevent someone from editing the file without LyX, they can at least guarantee that a valid LyX file will always be loadable by LyX.

jdpage··on The two cultures of mathematics and biology
The sum of all positive integers can actually be considered to be -1/12 in a self-consistent fashion. It isn't equal in the same sense that 2+2=4, and it's still true that the limit at infinity of the partial sum of the positive integers doesn't exist.

On the other hand, it really is a useful result. The negative part is, for example, why the Casimir force is attractive.

Here's an article about the whole thing, with links to the various Numberphile videos and Phil Plait articles that have been done about it: http://physicsbuzz.physicscentral.com/2014/01/does-1234-112....

jdpage··on In Defense of Inclusionism (2011)
Parent meant 'portage', which is the Gentoo Linux package manager.
jdpage··on Keurig 2.0 DRM Bypass
It has the Imperial March from Star Wars as the background music, which was definitely a bad idea.
jdpage··on Show HN: MagicEye.js – Generate Magic Eye in Your Browser
This is how I do it. The problem is that this inverts the depth map, because your right eye sees the left eye image and vice-versa.

To properly view them, you need to go wall-eyed, by focusing on something behind the screen. This is something that I have not been able to do yet.

jdpage··on Purging proc from Rust
Rust has closures, and they are just a specific implementation of a trait.

Many fundamental concepts in Rust, including arithmetic, comparisons, sendability, and smart pointers are formally traits (though the compiler may treat some of them specially, particularly arithmetic and comparisons).

jdpage··on The quest for a reactionless space drive
"such as the fact that their paper is published in a philosophy journal, and the guy having a history degree instead of a physics degree."

"-- argument from authority, very unscientific. If an unemployed poodle shaver publishes a replicable experiment, it is science."

Not only is it an unscientific argument, it's just wrong. The guy did his undergraduate and masters in physics, then switched to history of science for his doctorate because he realized that nobody was going to fund what he wanted to work on and he needed a job. He also works with other physicists who do have doctorates in physics.

jdpage··on The quest for a reactionless space drive
To be totally fair to the dude, he's not claiming anything yet, because he maintains that the experiments he's done are inconclusive, and he still needs to control for additional effects. As far as I can tell, he's basically doing a series of experiments where he's trying to disprove his own project because he doesn't want another Dean drive.

The data can't 'go against' general relativity because it's agreed by everyone--the researcher included--that he hasn't got all the variables controlled, and so the data doesn't 'go' at all.

It'd be pseudoscience if he was cherry-picking data that shows his theory to be correct, or ignoring existing data that conclusively shows that his theory is incorrect. He doesn't seem to be doing the former; I don't really have a way of telling if he's doing the latter.

jdpage··on My boys love 1986 computing
Straight-up banning them probably isn't productive, because yeah, it's nice to sit back and watch some TV sometimes. It might be a better policy to just limit the amount of consuming time.

My parents had limits on consumer computer/TV time when I was growing up (interestingly, both drew from the same pool of time even before internet TV was A Thing). If I wanted to hop on the computer, I'd always get asked what I was planning on doing with it (and then they'd drop by the computer station later to check in on whether I was actually doing that). If I was doing something educational, like reading up on a hobby, doing schoolwork, or programming, then I wouldn't be subject to any screen-time restrictions (other than those that came with it being a shared computer).

Though to a certain extent, kids just get stroppy if they don't get their way, and sometimes they just need to learn to deal. Which sucks for everyone involved in the short-term, but oh well. :/

jdpage··on Rides of Glory – Uber Blog (2012)
...which Uber will, potentially, drive out of business because their service is cheaper, due to lack of regulation. :(
jdpage··on Patch to Log SSH Passwords – One Year Results
When I was first introduced to SSH, the administrator had me transmit my public key to them and they added it to my account themselves, and that's how I've done it on all the servers I administrate since. This way, you can disable password authentication entirely.
jdpage··on Microsoft takes .NET open source and cross-platform
This is big news; it probably warrants two or three front-page posts. :)
jdpage··on Visual Studio 2013 Community Edition now available
Honestly, Mercurial is just better than Git -- the only reason I switched away from it is because Github. Constantly contemplating switching back.
jdpage··on Towards a Vim-like Emacs
If you're on OS X, and you want to force yourself to learn to do this, there's a program called Karabiner[1] which lets you remap keys in advanced ways using an XML config. I have a config snippet[2] that I got from somewhere (sadly, I don't remember where) that remaps incorrect combinations of Shift and letters to be dead.

You can do something similar with AutoHotKey on Windows, though I don't have a config for it.

[1] https://pqrs.org/osx/karabiner/

[2] http://pastie.org/9708667

jdpage··on Urbit: a personal cloud computer
Aside from the zero/one thing, if I'm understanding this right, Nock is based on the SKI combinator calculus, where the combinators are

S: λxyz.xz(yz)

K: λxy.x

I: λx.x

From there, you can express anything from the lambda calculus, and vice-versa. So I think it's reasonable to say that Nock is just a machine-friendly way of expressing the lambda calculus.

jdpage··on Cryptic genetic variation in software: hunting a buffered 41-year-old bug
The simplest example I can think of is the interval (0, 1].

Proof that it's not closed: the sequence (1, 1/2, 1/4, 1/8, ...) is entirely inside the interval, but converges on 0, which is outside the interval, therefore etc.

Proof that it's not open: the sequence (2, 3/2, 5/4, 9/8, ...) is entirely outside the interval (i.e. inside the complement), but it converges on 1, which is inside the interval (i.e. outside the complement). Thus the complement of the interval is not closed, therefore etc.

jdpage··on Cryptic genetic variation in software: hunting a buffered 41-year-old bug
From a real analysis standpoint... the definition of a 'closed set' in an N-dimensional metric space (of which Euclidean space, i.e. normal space, is an example) is as follows: a set C is 'closed' if and only if, given any sequence of elements (x_n) converging on x, such that (x_n) is a subset of C, it follows that x is also in C.

Under this definition, 'closed' makes sense in the larger context, since in mathematics, if an operation is 'closed' on a set, that means that applying the operation to elements of the set always yields another element of the same set.

Open is a bit more awkward. A set O is 'open' if and only if the complement of O (i.e. the set of all points not in O) is closed. So open is kind of the opposite of closed, hence the convention. Of course, it isn't really the opposite of closed, since there are sets which are neither closed nor open.

tt;dr (too technical; didn't read) in maths, 'closed' usually means 'I can do stuff inside this set without falling out of it'. In the case of intervals, the 'stuff' in question is taking a limit of a convergent sequence.

jdpage··on Why a Dead Alkaline Battery Bounces [video]
"Bad" is what I used growing up. I think it's by analogy to food--you would say that food has "gone bad" after a while. Similarly with batteries. You might also ask "are these batteries (still) any good?" to question not their quality in general, but their state.

It's almost certainly a regional thing.

jdpage··on The unstoppable TI-84 Plus: An outdated calculator still holds a monopoly
I have the HP-50g. Love that thing, though I don't get to use it much these days. I bought it for taking the tests in my intro physics course at uni, after my TI-89 got stolen by some doucherocket. My physics professor was a huge fan of the HP RPN calculators, and recommended them highly.

I was also notorious for bringing a slide rule into tests in case the batteries ran out on the calculator.

jdpage··on Atreus: My Custom Keyboard
I have a Kinesis Freestyle (another split keyboard), and I absolutely agree: being able to keep my hands further apart is wonderful.

There wasn't anything like the ErgoDox available when I purchased my Kinesis, but if I were in the market now, I would definitely consider it--the thumb-area modifiers are something that I would have liked to have had.

jdpage··on Unknown orange-red glow over Pacific Ocean
Turns out that stars are really friggin' far away, so with a nice steady plane and some stabilization equipment, you're not going to get enough parallax for streaking to occur.
jdpage··on Choose Firefox Now, Or Later You Won't Get A Choice
What's wrong with the AwesomeBar? Every time the Firefox team has come out with a new feature, I've been excited about it, and it's improved my workflow.
jdpage··on Choose Firefox Now, Or Later You Won't Get A Choice
Yeah, the tab thing is in progress. The problem is that Chrome was designed from the ground up to be process-per-tab, while Firefox is having to adapt extensive existing code.

Thankfully, plugins made it into their own processes a while ago, which has greatly reduced the number of crashes.

← PreviousPage 3 of 6Next →