HNHacker News
TopNewBestAskShowJobs

teh

737 karma · joined July 5, 2010

submissionscomments
teh··on Docker and the PID 1 zombie reaping problem
A hypervisor has a ~150-250MB memory overhead over linux containers + namespaces because it boots a full kernel.

There are other differences but if all you want from your system is reproducibility then VM images work fine of course.

teh··on “Nothing you can do impresses me”
I'm a bit confused how the interview came in at the end? Did the author use their project in a job application?
teh··on HTTP/2.0 — Bad protocol, bad politics
Most people I know pronounce it dub-dub-dub so I started doing that as well. Maybe a London thing?
teh··on Google is shutting down OpenID 2.0
OpenID has been on its way out for a while. It's being replaced by OpenID Connect [1] so this is not bad news, but a good reminder in any case!

[1] http://openid.net/connect/

teh··on How to build a simple image and primary-colour similarity database
That's a good suggestion! Especially having a "sanity check" against a popular colour which should increase robustness when new images arrive. Robustness is such a tricky subject, especially when the loss, i.e. the cost of returning a wrong image is fairly high. For fashion items the occasional odd colour is OK but accidentally returning naked people can be devastating for a product.

I want to stress that this code is massively simplified to avoid obscuring the main plot. There's so much we skipped: the code in the blog post actually computes pretty terrible results compared to an even moderately tuned pipeline :)

teh··on Why Sweden Has So Few Road Deaths
The article mentions safety for other road participants.

One issue is that going fast often doesn't kill the driver due to modern car safety, but some unsuspecting other road user.

In other words the drivers aren't carrying the risk so they are not the right people to ask whether this is a good trade-off.

teh··on “Committed on 22 May 1981”
It's a homage to b, one of go's ancestors.
teh··on “Committed on 22 May 1981”
go has a commit from 1972: http://bit.ly/1sYa7qR

We recently had a look at first commits [1]. Most large projects start out as a code dump, so are less interesting.

[1] https://blog.wearewizards.io/first-commits

teh··on Marking HTTP as Non-Secure
Reading certain articles reveals sensitive information about you, the reader, too.

Do you really want every node in the network to know that you like NSFW content or are heavily into my little pony?

teh··on List of Open Source Licences in Mercedes Cars [pdf]
I would be interested to see how many contracts and licences they have for their other technology. OS Software licences are just particularly visible.
teh··on Google is Exploring an Alternative to Cookies for Ad Tracking
Does anyone know how the IDs can be anonymous? What's stopping anyone from associating the ID (presumably sent as a header?) with an account on my site?

Is it maybe like an OTP based where google and chrome generate a new ID for every request, opaque to the intermediary but google can correlate them later?

teh··on What should we be worried about?
That was my first thought. But why ask people from different fields if you want a generic answer? I believe the implied question is "tell us something worrisome you know that the average person doesn't know".
teh··on Behind closed doors at the ITU's attempted “takeover of the Internet”
Interesting! Do you have ideas on how one could be constructive even if other parties are acting in bad faith?
teh··on Half of all app store revenue goes to just 25 developers
How I feel has little to do with how markets work.

Putting a lot of effort into something means nothing. I can spend days digging a hole with a lot of effort and then someone with a digger does it in one hour. The only metric that matters is what buyers are willing to pay.

I'm curious what you have in mind when saying "more intelligently regarding business matter"?

As an aside: I always find it slightly offensive when someone speaks for me by using "we", "us" or "our". I may or may not share your opinions but I'd rather speak for myself.

teh··on Half of all app store revenue goes to just 25 developers
Developers are a commodity (700k+ apps) so the prices go down. Unsurprising and good for the consumer.

Are you proposing devs stop competing and fix prices in order to keep our jobs? (I am a developer)

teh··on Amazon search results in the Dash
Trust is certainly a large component. But it's also control: In lazy moments I sometimes wireshark my traffic to see who's phoning out and what kind of data they send. I'm sure other people are doing this, are checking the code going into daemons, etc.

Applied to this situation I could see my queries going to canonical's servers but I have no idea what happens then. That's only trust and no control.

teh··on Xip.io - a magic domain name that provides wildcard DNS for any IP address
I use the following script which I found somewhere (can't remember where) and modified: https://gist.github.com/2894514

You can run it:

    avahi_publish.py service1 service2
Then

    curl http://service1.local:8000/bla
It's linux only of course :)
teh··on Gabe Newell: Game "Piracy Isn't About Price"
Why pirate though instead of simply not buying?
teh··on 1,000,000 daily users with no cache
> Of course that's going to be faster than a system which flushes all changes to disk individually.

Even that is tunable these days. You can have unlogged tables, turn off fsync or have a high commit delay etc.

teh··on Cringely predicts the second coming of Java
Yes to this and the other comment mentioning joins being slow. If your $DYNAMIC-LANGUAGE is too slow - something that is kind of hard to achieve on today's servers - you just add another one (your frontend is running something like nginx anyway, right?).

Development speed is much more important. Some people are fast in Java, I am not.

teh··on MySQL vs. Neo4j on a Large-Scale Graph Traversal
I checked all the links but didn't find any source?

I suspect a lot of slowness is round-trips to mysql. In postgresql you can e.g. do "with recursive" queries to query simple graphs like your example, avoiding the round trips.

Their cypher [1] query language may be a much better selling point.

[1] http://docs.neo4j.org/chunked/milestone/cypher-query-lang.ht...

teh··on Iran forged the wrong SSL certificate
Most social plugins already have an iframe option.

E.g. search for iframe in http://developers.facebook.com/docs/opengraph/

Edit: I think I may have misunderstood you. Did you mean embed an iframe and using postMessage to control it?

teh··on Demo for cheap board with ethernet, HDMI out and 256 M RAM
OK, missed that. Will do, thanks!
teh··on Space Shuttle Flight Deck
At my institute we had two electron microscopes. One was 20 years old and every setting had it's own button or knob. It looked like a space ship. The other one was very new and only had a joystick plus some terrible software.

People _loved_ the old one because having lots of buttons you can tune almost in parallel was much more efficient than the modal click-here, use-joystick workflow.

The newer EM generated much better images though, so the choice wasn't just between UIs.

teh··on Dealing with Timezones in Python
> * never use time.time() to get a timestamp back because it will munge the value and re-add tz info

Not sure I understand this one. I though time.time() returned the seconds since Epoch?

teh··on 500 Startups Adds 21 New Companies
Roughly 1/3 of them are a front page with an email box. Nice way to check for interest.
teh··on Wield Python's super() like a Jedi
The issue with your second version is

  In [1]: def init(shapename=None, **kwargs):
     ...:     pass
     ...: 

  In [2]: init(shapename='circle', **{'shapename': 'circle'})
  ---------------------------------------------------------------------------
  TypeError                                 Traceback (most recent call last)
  
  /home/teh/Desktop/<ipython console> in <module>()

  TypeError: init() got multiple values for keyword argument 'shapename'
teh··on Practical NoSQL - Solving a Real Problem with MongoDB and Redis
I am intrigued. I've been thinking about this problem today, but I can't think of an efficient relational implementation in current DBs. How would you do this? I came up with the following:

1) On get_rank() do a count(*) where score < users_score;

2) Store row_number() over() [...] order by score in a lookup table and refresh every so often. Use this for get_rank() lookups.

The problem I have is that you either have to calculate the rank on read using a linear-time count() or on write which means updating n/2 rows on average with their new position.

edited formatting

teh··on Practical NoSQL - Solving a Real Problem with MongoDB and Redis
The critical functionality in this application seems to be online calculation, i.e. he wants to know a player's exact rank immediately after insert. A sorted set is good for that.

In general I agree though. If you relax the consistency requirement slightly you can get away with regenerating the rank table every minute or so. It takes ~500ms on my machine to generate the ranked table for 500k rows on PG9. Unlogged tables in 9.1 would probably make it faster.

teh··on Fossil Versus Git
Does anyone know whether fossil has a staging area? I tried but could not find it. Google didn't really help either.
← PreviousPage 4 of 5Next →