The whole field has been dominated by research, i.e. the wish to make simple things complicated (in order to publish papers) as opposed to engineering, i.e. making complicated things simple (in order to produce usable software efficiently). As a result the standards are horrendously - and needlessly - complicated. The few major practical outcomes like the schema.org, json-ld and the google annotation system, are results of engineering, not research. Alas, json-ld has also taken a turn towards hypercomplexities.
HN user
tammet
A simple demo of the algorithm described in the article: http://dijkstra.cs.ttu.ee/~tammet/oligarch.html
Similar to https://guardtime.com/technology
A similar Scheme-to-C project I wrote last century for the SCM scheme, should be still usable: http://people.csail.mit.edu/jaffer/hobbit.pdf
One goal of the project was to produce human-readable C.
Fixed it: a classic js error of writing != instead of !== . Thx for noticing! Shift-reload to empty cache of the old js file :)
Yep, a bug has creeped into a preprocessor. Debugging right now :) thx!
Eiffel tower photo locations are spread over a fairly wide area, while Moulin Rouge photos are taken in a relatively small spot, hence more intense.
The marked locations in high-res areas like cities are based on both most popular wikipedia articles and most popular foursquare locations in the intense area. Quite likely Alex's place is one of these highly popular foursquare locations.
The "all sizes" selection has a similar effect: take "small", "tiny" or "remote" to put markers on sparsely populated locations only.
Conditional compilation can be quite certainly used. The best way to find out the space requirements is to try out some of the examples provided. I cannot give the overhead exactly, but it can be read from the source with not too much effort. Send an email to tanel.tammet at gmail.com if you need help with that. In broad terms, we have been very careful with using memory, both for the reasons you state and the reason of getting more bang from the cache.
I'd just make a remark that even in the GPL world everything is not as simple as it looks. There are GPL versions with _exceptions_ endorsed by RMS, for example. A long time ago I used to work on a Hobbit scheme compiler for the scm interpreter, which was promoted by RMS and became Guile later. scm had such a GPL-with-exceptions clause by RMS, which was stated clearly incorrectly. I take every chance to boast that I convinced RMS to fix the error in his own GPL version for scm :)
The default GPL is free-as-in-speech. You do not have to email for GPL. You have to email for free-as-in-beer. I assume that in case free-as-in-speech is not OK, it is also not a major hurdle to email for the free-as-in-beer version. In case emailing is a major hurdle, maybe you do not really need the free beer part.
Should we stop maintaining the code or get bored mailing free beer licences, we'll very likely change the licence to LGPL or MIT. Until then beer comes via email.
Making a clean cut between free-as-in-speech on one hand and free-as-in-beer on the other.
One of the authors here. A few answers quickly. It does write to disk: you can either dump memory or write all changes to log (turn it on/off yourself). Sure it has a global read/write lock, with several locking strategies to select from (task-fair atomic spinlock queue or a reader-preference or a writer-preference spinlock). It is definitely meant to be a simple library. We strived to document it carefully to make usage as easy as possible. Yes, you can very easily form lists, trees or any other pointer structures. Happy to see it on the Hacker News, we never really expected that :)
check http://www.sightsmap.com : this shows the wikipedia locations and more, geared to finding places of interest