HNHacker News
TopNewBestAskShowJobs

inklesspen

1,476 karma · joined March 30, 2007

http://www.inklesspen.com/

my public key: https://keybase.io/inklesspen; my proof: https://keybase.io/inklesspen/sigs/2c2qJegXY1ShQoGtmBOkBKFB4fkCAXJlyMX3N8U8X1Y

submissionscomments
inklesspen··on Ignore the code: More on Software Patents
My apologies. I considered doing so, but I thought "More on Software Patents" might not be a sufficiently informative title.
inklesspen··on Why we are unlikely to ever leave the solar system.
Galaxies are not spaceships. Just because the natural expansion of the universe affects galaxies (and everything else) doesn't mean it's possible to artificially expand and contract the universe.
inklesspen··on Why we are unlikely to ever leave the solar system.
Galaxies are not actually moving faster than light. The distance between them is growing at a rate that would suggest FTL speeds because the universe is expanding.
inklesspen··on Insecurity in the Jungle (disk)
http://xkcd.com/538/
inklesspen··on You're Using JSON, Why not MessagePack?
It's actually an extension of DJB's netstrings. Hence the name.
inklesspen··on The Programmer Salary Taboo
"The job is a contract job". That's why; you'll be an employee of TekSystems, not Apple. You won't be getting Apple benefits or compensation.

On the other hand, you can still put Apple on your resume, so it's not all bad.

inklesspen··on Hotz fires a powerful blast back at Sony's California jurisdictional claims
Lying to a judge is not typically a good strategy. SCEA likely has more details about who blickmaniac is; they just haven't disclosed them yet.
inklesspen··on Dress.me: Because Guys Hate to Shop
Looks like two seasons a year, spring and fall.
inklesspen··on Steve Jobs' reality distortion takes its toll on truth
Yeah, the important part is in the header just before that response. "Puffing."

This refers to "puffery", a common advertising/marketing term. For example, the owner of a hamburger restaurant is permitted to claim he serves "the best hamburgers in the world" without actually producing an empirical study backing it up, because that claim is puffery, and nobody would reasonably take it literally.

I don't know which claim of Apple they are saying is puffery, but they do produce a lot of it ("magical" iPad, anyone?)

inklesspen··on Facebook is what happens to the Web when you hit it with the stupid stick
There's a maximum limit.
inklesspen··on Tarsnap critical security bug
That's the case for every hash function. If it's a good hash function, the outputs will be evenly distributed across the entire 256 bit space, which comes out to 2^256 possible outputs. I don't think this is a problem; bcrypt has a much smaller output space.
inklesspen··on Tarsnap critical security bug
1. I worry I might have a bug that returns the proper output for some inputs, but improper output for other inputs.

2. Cryptographically strong random numbers isn't strictly required for a bcrypt salt, I guess. But if I'm building something which I plan to share with other people, I'd rather err on the side of too strong.

inklesspen··on Tarsnap critical security bug
Okay, but in the more general case, where something literally does not exist for a particular platform/language and my choices are "write it myself" or "don't use that platform/language", is there any way to feel confident that a choice to write it myself will not be a hideously wrong decision?
inklesspen··on Tarsnap critical security bug
What should you do if you can't avoid writing crypto code?

I found myself in this situation when I tried to find a bcrypt implementation for Common Lisp. There wasn't one. Folks in #lisp suggested I adapt the blowfish implementation in Ironclad, since 'bcrypt is just blowfish anyway'.

I ended up writing a Lisp wrapper around one of the C implementations, a process documented at my blog (http://www.letsyouandhimfight.com/2010/07/14/cl-bcrypt-a-fir...), but it's unsatisfactory for a couple of reasons:

1) Both the current C implementations are designed to be integrated into libc. The Openwall implementation does have the code factored out into its own file, but there is no support structure for building a shared library. (Python's bcrypt bundles a modified version of the Openwall C source directly with it, for example.) Common Lisp's FFI is intended for working with installed shared libraries

2) There appears to be a bias in the Lisp community towards pure-Lisp implementations, for (hopefully obvious) reasons, so an implementation as hacky as what I came up with is unlikely to see much use.

If I do go back to trying to write a webapp in Common Lisp, I think I will find myself having to reimplement bcrypt in Common Lisp. First, I'll have to find a sufficiently portable method of getting cryptographically secure random numbers; as of the writing of that blog post, there wasn't one that I could find anyone recommending. The more difficult part will be to convert the C code into Lisp code without missing any places where operations on the C types don't precisely correspond to the same operations on the Lisp types (due to, say, overflow).

I'm worried I might get something wrong, but I can't just use the crypto code written by wiser folks than I, because, at least in the Common Lisp community, that code doesn't seem to exist.

inklesspen··on Airlines using reverse auctions to determine true seat pricing
There is a large chance B offers to sell the ticket for less than $100 -- that is, he decides not to fly, and either forfeits his ticket or accepts a voucher for less than what he paid. That's the whole reason they overbook in the first place.
inklesspen··on Google announces eBooks
iTunes sells AAC music files: music that you can listen to on any device that supports AAC, which is a part of the MPEG-4 standard (just like MP3 is a part of the MPEG-1 and MPEG-2 standards). This AAC music used to be sold with Apple DRM on it, but no longer does. And of course there is a technical advantage; AAC sounds better at low bit rates than MP3 does.
inklesspen··on Google announces eBooks
The Kindle can already read DRM-free Mobipocket and PDF ebooks.
inklesspen··on Ask HN: Mini hack help needed
You'll find all that data in JSON format at http://jtools.smartmoney.com/middleware/datamap?src=marketda... (which is the url that this page hits). Go ahead and explore that; I think you'll have fun there.
inklesspen··on Harry Potter and the Methods of Rationality, by Eliezer Yudkowsky
I actually built a feed-builder: http://ffnetupdates.inklesspen.com/

Sign up (no email or password, just a UUID), track as many authors or stories as you like in one Atom feed. It will let you know when wordcount changes even if there's no new chapter, or when your favorite author has a new story.

inklesspen··on Creating a Quadrotor autopilot with Clojure & Flight Simulator
Short, but potentially interesting. I hope he follows up.
inklesspen··on The .ly domain space to be considered unsafe
The UAE has massive human rights issues regarding non-citizen employees. In particular, female domestic servants of foreign origin are likely to be abused. Kuwait bans women from working after 8 pm.

True, France has had some steps backwards lately, such as the expulsion of Roma. However, I think it's still reasonable to hold the middle eastern countries to a higher standard than they currently maintain. So I'm not sure what you mean by "it also helps that Western countries are eroding freedoms"; it helps who? what?

inklesspen··on You Can't Sacrifice Partition Tolerance
"If there are too much nodes down from the point of view of a single node it will reply to the client with a cluster error."

This sacrifices availability. Remember, the cluster doesn't include only the servers; it also includes the clients, since ultimately the point of a database server is to provide the data to the clients upon request.

inklesspen··on You Can't Sacrifice Partition Tolerance
In your first paragraph's example ("Simply when the network will be broken the cluster will not work at all.") you are sacrificing availability.

In the rest of your post, you seem to be sacrificing consistency; one server is down, and thus not receiving any updates from the other servers when data gets updated.

I'm not sure you understood the point of the article, so I'll try to restate it: When part of your system goes down (and it will), you can choose between refusing requests, in which case you sacrifice availability, or serving requests, in which case you sacrifice consistency, since the part of the system which is down cannot be updated when you update data, or cannot be queried in the case of data which is insufficiently replicated. You _cannot_ choose both, since that would require communicating with the downed server.

inklesspen··on The .ly domain space to be considered unsafe
Which would those be? Even the most moderate islamic countries are still way behind modern countries on the status of women, freedom of speech, freedom of religion, freedom of association, and other such democratic values.

Granted, many of them limit shariah law, such as in the case of Jordan, which limits it to "matters involving personal law such as marriage, divorce, inheritance and child custody." But they still have it.

inklesspen··on Google responds aggressively to Oracle Java suit
Actually, that does carry legal weight. It's called the doctrine of unclean hands; those who wish equitable relief must themselves act equitably. Acting hypocritically in this case may fall under that doctrine.
inklesspen··on The .ly domain space to be considered unsafe
Sure, if one specific church is being heterodox, you can blame that on the church. And if it were one specific nation implementing shariah law as being all these nasty things, you could say it's just that nation. But what happens when _every_ nation that implements shariah law oppresses women, prohibits freedom of religion, and in general is a repressive society? 'Shariah' is a label. If all the nations that apply that label to their system have more or less the same repressive policies, it is not very helpful to say that none of them are correctly applying the label; the point is it's a label adopted by repressive societies.
inklesspen··on Poll: Why don't you have your email in your HN profile?
I don't have my email listed, but I have my website listed: http://inklesspen.com/

It's a simple "personal portal", I guess you'd call it. My email address is the first thing listed, followed by my erratically updated programming blog, github, twitter, flickr, linkedin, and resume.

I'd rather keep all those links in one place and just hand out my domain link, rather than have to update things everywhere when I add a new link.

inklesspen··on How to get a job at Google, interview questions & process
Someone might work at Google for a while to get both experience in working at scale as well as some nice bootstrap funding (basically, save your bonus each year).
inklesspen··on Google Public Policy Blog: A joint policy proposal for an open Internet
It can create chilling effects that work to inhibit free speech and put the Internet under the control of ESPN, YouTube, and the other people who subsidize your service.
inklesspen··on H.R. 5741 - Bill to Instate Mandatory National Service (Draft?)
"For context, Congressman Rangel has introduced this bill many times in the past. Each time, it has received very little support, and Rangel knows it has no chance of being passed."
← PreviousPage 2 of 18Next →