HNHacker News
TopNewBestAskShowJobs

SpikeGronim

776 karma · joined July 25, 2010

I'm a programmer living in Michigan.
submissionscomments
SpikeGronim··on [dead]
My wife is an operating room nurse. She sometimes participates in organ transplants. She tells me that there is an anesthesiologist present and giving anesthesia drugs, contradicting the article. The way she describes it they open you up and cut your abdominal aorta, at which point the anesthesiologist leaves the room because you are fully dead. Then they harvest organs and tissues as fast as they can. The people being harvested are clearly, permanently beyond help. The harvests are scheduled to coincide with major surgeries for the recipients. They usually take place in the very early morning as preparation for the transplant later that day.

If I am on a respirator, and will be for the rest of my life, go ahead and harvest me.

I disagree with the conclusion and implications of this article. I also dislike how it implies that organ harvesting doctors have evil motives without coming out and saying it. The factual error that I saw, just as a husband of a transplant worker, also detract from the validity of the article.

SpikeGronim··on What are the most intellectually stimulating websites you know of?
Thank you for the thoughtful reply marcamillion. The Iraq War subject definitely riles people and I try to stick to the facts.

First, with regards to The Economist's position on markets, they are humanists and they care about social welfare. I approve. Yet they still call for further deregulation and resist "populist" regulation to address very serious systemic faults exposed by the financial crisis. If you are going to be a capitalist you need fair market rules, and I see them as wavering in their commitment to that in practice by relying too much on economic theory that does not correspond to the facts on the ground. In particular the "rational markets" hypothesis and the idea that bankers' self interest is sufficient to prevent crisis in the markets.

With regards to the Iraq War, I do not and did not see it as ambiguous. Look at the number of false statements made by the Bush administration[1], the way that intelligence was reported to senior decision makers[2], and the flagrant propaganda regarding links between Al Qaeda and Saddam Hussein. Look at the inflated "45 minute" claim[3] and the use of intelligence from "Curveball"[4], a known fabricator. This is not an administration building a case for a necessary war. It's an administration that decided to go to war scraping together a justification. I definitely don't think it as simple as "we want oil". I do believe (but obviously cannot prove) that Dick Cheney cynically manipulated the intelligence to make a case for a war that he personally profited from through his business holdings in contractors such as Haliburton.

Finally, the Iraq War was very clearly a disaster as early as 2004. The Economist continued publishing leaders that said, essentially, "X and Y are horrible outcomes from the war, but if we just pursue strategy Z we can turn this around." They kept saying that for years and they were very much in the wrong. They have never come out and published a leader saying "we were wrong" or "we should have stopped supporting the war in 200X". Yet they published numerous leaders in the run up to the war. This asymmetry and inability to admit a mistake in hindsight is what I can't forgive.

1. http://articles.cnn.com/2008-01-23/politics/bush.iraq_1_inte...

2. http://www.newyorker.com/archive/2003/10/27/031027fa_fact

3. http://news.bbc.co.uk/2/hi/uk_news/politics/3466005.stm

4. http://en.wikipedia.org/wiki/Curveball_(informant)

SpikeGronim··on What are the most intellectually stimulating websites you know of?
I've been reading The Economist for 10 years and I haven't noticed any shift. I read it because they bring me facts that no other news organization that I am aware of can bring me. They are certainly very smart and have a good network of sources. They're also biased towards unregulated markets. I'm a capitalist for sure but unregulated markets are a big problem. I will say I've never forgiven them for cheerleading the Iraq War and then publishing an oblique and weasel-worded come-down in about 2008.
SpikeGronim··on Apple’s fix for corrupt binaries
Totally happens, even though it is not supposed to. If a dev didn't outright break the rules then they shouldn't be blamed. The rules in this case would be something like "a peer must review before deploy" - if you bring down the site after breaking that rule, you're going to get fired most likely.

I've never had COEs come up in my or others' performance reviews.

If the boss who owns the COE "gets it" and has internalized the old-school Amazon culture then there won't be blame. The bosses really take the hits here, they do get personally blamed for these things. If they can't stand between the team and the more senior management then they are not doing it right.

If you and your boss mutually hate each other (which unfortunately I have seen) then it won't go well.

SpikeGronim··on Apple’s fix for corrupt binaries
"that at Amazon there is a process of blame-finding"

Ex-Amazonian here. It's important to note that Amazon's Cause of Error (COE) process is not about blame. It is about determining what happened, why it happened, and what concrete steps are being taken so that it does not happen again. Individuals are not blamed as part of this process and that's in the official rules. The goal is to iterate and avoid making the same mistakes again.

SpikeGronim··on Google launches Compute Engine
I'm curious what you would replace local disk with. EBS? Now all the root devices in your system are dependent on a functioning network, greatly magnifying the impact of network failures. I am all for I/O optimized instances with relatively little CPU or RAM. I like having my disks local to my instances though.
SpikeGronim··on Google launches Compute Engine
I have met Jeff Barr and can vouch for him. He is in fact a flesh and blood person. He's just really dedicated to making you love AWS.
SpikeGronim··on PyPy Status Blog: STM with threads
Oh dear, much slower than I thought. I misinterpreted that, thanks.
SpikeGronim··on PyPy Status Blog: STM with threads
This particular STM is promising because it is only about 5x slower than a well-optimized JIT, and yet it has no JIT yet. Once they do some low risk work it should be very close to vanilla pypi and faster than CPython. I'd love to be able to use the programming semantics you get as an app developer from an STM language.

The usual problem with STM is that generates many writes to memory. You ruin your cache locality and your program bottlenecks on the bus to RAM. Clojure solves this by using custom data structures that use "structural sharing". Pypy could solve this by using their JIT to elide writes.

SpikeGronim··on Why are Oracle and DB2 still on top of TPC-C? A roadmap to end their dominance.
Vendors rig these benchmarks to death. An ex-coworker of mine worked on a major proprietary SQL db. He told me that they spent 6 months with both software and hardware vendor engineers optimizing for the benchmark. They put TPC specific code in the query planner!
SpikeGronim··on A simple experiment suggests a way to encourage truthfulness
This is a cool concept that is formalized in the "Dining Cryptographers" paper: http://en.wikipedia.org/wiki/Dining_cryptographers_problem . You can use this basic idea to create a completely anonymous broadcast channel.
SpikeGronim··on Don’t Be Evil: How Google Screwed a Startup
Proxies ruin this idea. There are entire ISPs whose web traffic originates from a handful of IPs.
SpikeGronim··on Graphene: A D3.js, Backbone.js based Graphite Dashboard Toolkit
We are using Graphite at Wavii. That Etsy trick is great. They just issued a new release so it's definitely not abandoned. It is cleanly coded python, we have had no trouble patching small bugs and figuring things out by reading the code.
SpikeGronim··on Redis 2.6 is near
Wavii is using LUA in Redis to implement extremely simple single object atomic consistency. Some but not all of the Redis data structure types support "do XYZ only if the key exists". For example lists support LPUSHX but there is no "X" equivalent for sorted sets. With LUA I can add the ZADDX command in about 4 lines of LUA and 4 lines of Ruby in my Redis driver. We have lots of sorted sets backed by the database. Suppose we add an item to the set. If the set is in Redis we want to do the O(logN) ZADD, if it is not in Redis we need to do an O(N) reload from the DB. The use of ZADDX + transactions in our DB lets multiple writers contend on adding an item to a sorted set and guarantee that at the end all the items are in the sorted set while doing O(logN) operations almost all the time.
SpikeGronim··on Tribler Makes BitTorrent Impossible to Shut Down
That's the typical approach. Either the client ships with a list of IPs / hostnames for seed servers, or you update a single well known DNS name with a bunch of A records. For maximum resilience you can put a whole series of DNS names in the client under different national registrars. This is often how botnets receive command and control messages - lookup RANDOM_HEX.ch and download a signed script to run.
SpikeGronim··on Disqus Research: Pseudonyms Drive Communities
The data presented in this post doesn't support the conclusion. The data do not show that pseudonyms are the cause of more quantity and higher quality, they just show a correlation. I hope that the full blog post that's been promised addresses this.
SpikeGronim··on Show HN: During the last week, I built a SPDY server.
Yes, SPDY is a cross-platform protocol. This submission is a Ruby implementation of a SPDY server for Rack applications like Ruby on Rails. The news.ycombinator.com server is written in the arc language. SPDY is awesome.
SpikeGronim··on PayPal forces buyer to destroy $2500 pre-WWII antique violin in dispute
Here it is: http://www.regretsy.com/2011/12/07/paypal-update/
SpikeGronim··on ISO C is increasingly moronic
"stack size is an implementation detail"

Thread stack size is an important performance tuning knob. If your app has 100,000 threads you really do care about running out of memory. If you have 10 threads you don't care. You should of course separate the choice of stack size from your application code. Your library still needs to support this.

"providing absolute timestamps rather than intervals is important because it prevents drift"

I don't know what you mean by "drift". When I put a timeout on a threaded operation (joining, acquiring a mutex, etc.) I am guarding against blocking forever 99% of the time. It is much cleaner to say "this should take no more than 5s" vs. "this should end at XYZ time UTC". Forcing the application to track elapsed time in the face of NTP etc. sucks. Letting the library handle those edge cases is good. It can use a CPU tick counter or similar.

"Fears regarding ntpd causing sudden jumps aren't well-founded (ntpd adjusts time very slowly, in sub-second intervals)"

What if I am sleeping in sub-second intervals? This goes to the general thrust of PHK's article. He is endorsing K&R C and pthreads because they give you minimal tools that can express a very wide range of programs. Building assumptions about how long people want to sleep for into an extremely widely deployed standard is a mistake.

SpikeGronim··on Snake game in a data: URI
I'm surprised that the first nine comments didn't mention the easter egg in the lower right hand corner.
SpikeGronim··on Pushing the Limits of Amazon S3 Upload Performance
What do you set the limit to? What do you do when a router fails and your available bandwidth suddenly drops? All of the TCP end hosts will backoff properly and avoid melting the network with endless re-transmits. All of the TCP flows will converge towards sharing the available bandwidth, even if that is a moving target. Applying a congestion control algorithm on top of UDP like the other response says is fine. Perhaps TCP's specific congestion control scheme isn't what you need (it sucks at live video for example). But you really do need a congestion control algorithm.
SpikeGronim··on Pushing the Limits of Amazon S3 Upload Performance
TCP backs off aggressively to avoid congestive collapse of the network. It is backing off in order to preserve shared infrastructure. If everybody used your UDP trick then the Internet would literally collapse. This is detailed at http://en.wikipedia.org/wiki/Network_congestion#Congestive_c... . You should respect the rules of the road.
SpikeGronim··on NaCL: Slides on DJB, Lange, Schwabe's High-Level Crypto Library
How is it possible to authenticate a message of n bytes in O(1)? Or are you talking about fixed size blocks and the time to authenticate is O(block_size)?
SpikeGronim··on A few adjustments to App Engine’s upcoming pricing changes
Fair point. I sometimes ship bugs too.
SpikeGronim··on A few adjustments to App Engine’s upcoming pricing changes
"""Always-On reflected in bills: Currently the side-by-side bills still include the cost of always-on even though it will be retired when the new pricing launches (to be replaced by min idle instances). We’re working on a fix for this. Until then you can comfortably subtract 48 instance hours per day from the estimate. """

Please don't provide a calculator for a new billing system and then ask your customers to manually adjust the output of the calculator. Terrible user experience and in this case it inflates the apparent bill.

SpikeGronim··on Fallen out of love with LinkedIn?
The key phrase that makes this T&C fine is "... [that] you submit to public areas of the Website". This is a standard clause that means "don't sue us for copyright infringement when we publish the content you asked us to publish." IANAL.
SpikeGronim··on Rbenv, an unobtrusive rvm replacement
I have to use rvm in production because debian/ubuntu install ruby 1.8 and I need 1.9.2 for rails 3. Ruby isn't in the alternatives system (yet - coming soon) so I don't see a better way.
SpikeGronim··on Destructuring with Ruby
What really hooked me on destructuring and argument pattern matching was a sophomore year lecture on red black trees in ML. The rotation function was implemented multiple times with different patterns matching the different local tree structures that needed rotating. Much much more elegant than any other implementation of that they I've ever seen.
SpikeGronim··on Netflix Instant is coming to the entire Linux Community
But the content producers are worried, and they are the ones setting the bar for DRM. So if they nix the DRM on Linux, that's it.
SpikeGronim··on Apple MacBooks Can Be Hacked Through The Battery
You don't need a government's resources. You need a programmable firewire device, like an embedded Linux device. You also need ten seconds of physical access to their FireWire port. That's a lot easier than hacking a battery and convincing the target to use the battery.
← PreviousPage 2 of 6Next →