Elementary Applied Topology (2014) - <AUTHOR> https://www.math.upenn.edu/~ghrist/notes.html <comment><USER2> I've also been reading about persistence more in the Edelsbrunner and Harer Computational Toplogy text, but glancing at this book on page 104 I see good examples and intuitive build up.

I found this overview I liked for persistence in ML

[https://arxiv.org/pdf/1811.00252.pdf](https://arxiv.org/pdf/1811.00252.pdf)

</comment><comment><USER3> I was skeptical about the "applied" part, but glancing through it, the examples are really interesting! Discussing magnetic fields in the same chapter as lambda calculus, very cool! Seems a bit light on details though...

<comment><USER4> why skeptical when he is a top applied mathematician?

and he explains in the preface why it is seemingly light on details. it's because the details (the math) are elsewhere. the applications (as isolated entities) are also out there to a degree. what isn't out there is the bridge connecting the math to the applications, and so that is what his book sets out to do.

> Discussing magnetic fields in the same chapter as lambda calculus

where did you see this? i don't remember seeing it and couln't find it.

<comment><USER5> > why skeptical when he is a top applied mathematician?

I see a lot of mathematics in the book, but from skimming it, I can't see a 'killer application' as such. I'd like to see an example of a practical problem that can be solved using reasonably deep topolgical methods (beyond, say the Euler characteristic) that can't be solved in any other way.

Ghrist was championing persistent homology for network analysis as such an application a few years ago, but I'm not sure if it ever progressed beyond 'toy' problems to give state-of-the-art results.

<comment><USER6> Here is a paper for you: "Topology based data analysis identifies a subgroup of breast cancers with a unique mutational profile and excellent survival" [https://www.pnas.org/content/108/17/7265](https://www.pnas.org/content/108/17/7265)

<comment><USER7> Thanks. I skimmed the linked "Mapper" article they cite as their method, and it looks about as topological as t-SNE, i.e. in the sense of caring about local nearness but not global distance.

But did I miss any heavier stuff? Is this all people mean when they talk about topological data analysis?

<comment><USER6> The other famous TDA technique is persistent homology, this paper is a good intro [https://www.math.upenn.edu/~ghrist/preprints/barcodes.pdf](https://www.math.upenn.edu/~ghrist/preprints/barcodes.pdf)

<comment><USER5> But now: persistent homology. Same question as above.

<comment><USER8> Progress has been slower than expected, in some ways. But I think that persistent homology and topological methods like Mapper are slowly allowing interesting research.

My favorite recent application: two-parameter persistent homology for drug discovery (link to pdf of talk: [https://www.ima.umn.edu/materials/2017-2018/SW8.13-15.18/274...](https://www.ima.umn.edu/materials/2017-2018/SW8.13-15.18/27458/Bryn- Keller_Two-Parameter-Persistence-for-Virtual-Ligand-Screening.pdf)). Frankly I find two-parameter persistence very hard to interpret, though I hope to spend some time on it this summer. But it's undeniable that the work described in the link is an application that can't be reduced to clustering.

I also feel that describing Mapper as 'just a clustering tool' is not really accurate; I'm getting good results from using Mapper for feature discovery in some specific domains where clustering has truly failed because traits lie on continua in a way that renders usual clustering muddy and useless.

Edited to add: here's another interesting paper, about subgroups of type 2 diabetes patients: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4780757/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4780757/) They use Mapper to find 'clusters' and then go back to more traditional statistics to test significance. I don't have the data so I don't know if clustering alone would have worked.

<comment><USER9> I'm currently doing a thesis using TDA. Excuse my shameless opportunism, but the topic I've come up with is using figure h [1] as a channel selection mechanism to select EEG channels [2]. I plan to then use a Gaussian process (similar to an SVM) to detect the time when a seizure occurs.

From your position of expertise, can you see any major problems off the top of your head?

[1] [https://media.springernature.com/lw785/springer- static/image...](https://media.springernature.com/lw785/springer- static/image/art%3A10.1186%2Fs13104-018-3482-7/MediaObjects/13104_2018_3482_Fig3_HTML.png) \- from the open-access paper [https://link.springer.com/article/10.1186/s13104-018-3482-7](https://link.springer.com/article/10.1186/s13104-018-3482-7)

[2] quote: "Step III... we applied the Vietoris–Rips filtration to determine which particular sensors (thus, which areas of the brain) are more "involved"∖"significant" concerning the spreading of epileptic seizures"

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I wished I could read / remember the math notations to understand it... anyone else in my case?

<comment><USER11> Ghrist's youtube channel might be a good place to start: [https://www.youtube.com/channel/UC5N5pRddyicAX1QJyJjIIdg](https://www.youtube.com/channel/UC5N5pRddyicAX1QJyJjIIdg)

<comment><USER2> Clicking this video I am fairly certain I've read a handwritten book by Ghrist on Applied Algebraic Topology and Sensor Networks. It's short and fun

<comment><USER12> [https://www.math.upenn.edu/~ghrist/preprints/ATSN.pdf](https://www.math.upenn.edu/~ghrist/preprints/ATSN.pdf)

At the bottom of the original link.

</comment></comment></comment></comment><comment><USER13> Note: all chapters available as free PDF. The book is not expensive either (it'll probably cost you more to print it yourself).

Great text, great author. It's also a pleasure to see Ghrist give a talk.

</comment><comment><USER14> Topology seems like a really cool field. Can I jump into this book without any topology knowledge?

I have not taken differential equations yet and wonder is that is a prerequisite.

<comment><USER4> you will understand very little of the math in this book without a substantial background in mathematics. however, and i think the author would agree, you should jump in anyway. you'll pick up pictures, applications, vocabulary, and some ideas, all of which could help pave the way as you learn the material more traditionally. the book sets goalposts so to speak, especially since it is written in a more expository manner with lots of example applications. i don't understand anywhere near everything in the book (much less than that probably), and i still get something from it.

in terms of learning some topology and geometry, i recommend _topology_ by james munkres and _an introduction to manifolds_ by loring tu. both are accessible to junior and senior undergraduates and beginning graduate students.

<comment><USER15> I strongly second the recommendation of Munkres' _Topology._ It's basically the gold standard. However, I think don't think it's accessible to junior/senior undergraduates unless they've taken a prior course in analysis. Technically Munkres' _Topology_ has no formal prerequisites, but it's a rough go of it if you haven't had a rigorous exposure to continuity and metric spaces already. The second part of the book also assumes knowledge of elementary abstract algebra.

If the person you're replying to is a junior or senior undergrad in a _math_ major they might be alright (presumably they'll have taken analysis by then). If not, _Topology_ is not what I'd recommend as the first place to learn about metrics and continuous functions (Calculus doesn't cut it for that).

<comment><USER14> Thank you. I am actually a self- learner and have only take calculus, linear algebra, probability, statistics. Currently learning bayesian statistics and reading "first course in abstract algebra" by John B Fraleigh.

I am guessing I should do Real Analysis and then the Munkres book to get an idea of topology ?

<comment><USER16> Right now, I'm self-studying analysis with Stephen Abbott's "Understanding Analysis". I strongly recommend it. It has clear explanations that help to develop the intuition about each concept and what I think are well chosen exercises.

<comment><USER4> there is a book by jay cummings called _real analysis: a long-form mathematics textbook_ that i highly recommend checking out. used with a more "advanced" book, it could be a nice complement.

Real Analysis: A Long-Form Mathematics Textbook [https://www.amazon.com/dp/1724510126/](https://www.amazon.com/dp/1724510126/)

</comment></comment></comment></comment></comment></comment><comment><USER17> I'd take the 'Elementary' qualifier with a grain of salt here :) - there are more elementary notions of topology (such as point-set topology, continuity, connectedness, compactness etc.) that can already get you pretty far in many practical situations.

Thanks for posting this, added to my reading list!

<comment><USER18> Do you have any pointers to good books / lecture videos / introductions to start with for these?

</comment></comment><comment><USER19> Generalizing the topic, does anyone know if there is a map of subjects/branches in mathematics and books/blogs/etc giving examples of real- world applications?

Personally, I know the (existence of the) maths behind some applications (e.g. JPEG -> DCT) because I have learned it while at uni, but in general, if I encounter a mathematical subject I struggle to find examples of its application.

</comment><comment><USER20> This typesetting is fantastic. Love the style.

<comment><USER21> > This typesetting is fantastic. Love the style.

I dislike this kind of typesetting, the sans-serif font is nearly unreadable, and the math displays are just slightly smaller than the regular text, with the same font. WHY? I would love to have access to the .tex source to compile it in a saner style.

The drawings are excellent, though. I'm enjoying the ones on Morse theory.

<comment><USER22> Not a fan either. It commits the same sin as the typical Computer Modern typically used in TeX but to a worse degree: far too light for easy reading. IIRC it's name is either Iwona or Kurier. For free fonts for typesetting in TeX, I would recommend one of the Times-based fonts.

I personally typesetting typically in EB Garamond with a very new free Unicode math font called Garamond Math, but the setup is quite elaborate.

</comment></comment></comment><comment><USER23> This sounds like the title to a Community episode.</comment>


Comprehensive List of the PHP Object Relational Mapping Tools and Frameworks. - <AUTHOR> http://www.libhound.com/databases/php-object-relational-mapping-frameworks Object Relational Mapping (ORM), is a database design approach that makes entities stored in the database behave like objects (classes) from a programming perspective. ORM is a level above actual database operations – writing actual SQL queries is excluded from development and taken care of by ORM framework. By abstracting actual database access with ORM, development process can be more productive and result in more reliable applications. Here you will find a quick intro to ORM in PHP. <comment><USER2> I'd also like to know if any projects are making use of these ORM tools. Do these projects have any users?

</comment><comment><USER3> A comparison of features & code sample as well as some basic benchmarks would have been more helpful.

</comment><comment><USER4> They missed our favorite: the ORM in the Kohana framework.

<comment><USER5> Curious: Can the ORM inside Kohana be used independently of Kohana itself (i.e. without using the MVC framework)?</comment></comment>


Belgian programmer solves MIT's 20-year-old time capsule cryptographic puzzle - <AUTHOR> https://www.csail.mit.edu/news/belgian-programmer-solves-mits-20-year-old-cryptographic-puzzle <comment><USER2> That'd be me (fellow HNer and belgian programmer)... Very happy to see this upvoted up to HN's frontpage! Any question welcome but I cannot post the solution until the time-capsule opening ceremony on the 15th of May : )

EDIT: WIRED article just in. Haven't read it yet. Link if anyone is interested: [https://www.wired.com/story/a-programmer-solved-a-20-year- ol...](https://www.wired.com/story/a-programmer-solved-a-20-year-old- forgotten-crypto-puzzle/)

EDIT2: forgot to tell but the mining pool Antpool posted a message in the block header / coinbase data of Bitcoin's block 573138 saying "Congrats Bernard Fabrot for solving LCS35!". My brother tried to time this with the press release which was supposed to come out on friday but then the press release got pushed back to today/monday. So yeah, coinbase data of block 573 138 is kinda very cool (it requires cooperation of a mining pool because it's not just in a transaction but in a block). TYVM to the everybody at Antpool! Big thanks for that : )

<comment><USER3> > Bernard Fabrot spent the last three and a half years computing the solution > to a puzzle

TacticalCoder last HN comment is from Dec 5, 2015. Checks out.

Kudos to you, well done!

<comment><USER2> I actually thought this might get posted to HN, so I went through a lot of pain to find back a way to get my HN login back (basically had no access to the email with which I opened an account here: I had to dive deep down in some Google Suite tied to a domain name to find a way into the user account and eventually reset my HN password). I'm glad I did in time and didn't miss this thread!

<comment><USER3> Well, you sure seems like the kind of guy who will go through a lot of pain to get quick results.

Was this a side project? did it require much attention after the initial setup?

<comment><USER2> > Was this a side project? did it require much attention after the initial > setup?

Totally a side project.

It hardly required any attention: just making sure the computation was running and making sure to backup the intermediate results once in a while (I had backups everywhere of the intermediate results: remote servers, USB keys, DVD, other computers at home, email, etc.).

I only needed to do a few tiny steps once I found the secret message (which contains a number which allows to compute one of the two prime numbers).

<comment><USER3> Did you knew for certain that your program will solve the puzzle at some time? Did you have an estimation of the date?

<comment><USER2> > Did you knew for certain that your program will solve the puzzle at some > time?

The description of the problem itself explains a way to verify that intermediate results are correct.

> Did you have an estimation of the date?

Yes and that one is easy: I wrote a little piece of code (in Clojure, whatever, it's unrelated to finding the solution) which would check at which intermediate result the computation was and then compute an "ETA".

Fun story: I'd regularly send my brother something like this...

{ :time-left-in-years 1.239341704718417 :eta "1 year 2 month(s) 26 day(s)" :percentage-done 0.6284244211583109 }

(that's an actual estimate I found in my old emails)

: )

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> I just tried to dig into the background of this, the original description is here:

[https://people.csail.mit.edu/rivest/lcs35-puzzle- description...](https://people.csail.mit.edu/rivest/lcs35-puzzle- description.txt)

I have a question and maybe someone can answer it: This indicates that knowledge of the factorization of the modulus n allows to do this calculation faster, which is likely how the designers of this puzzle calculated the result.

However it's not explained how that happens and how the factors of n help. I assume this may be someone related to RSA, as there you also are able to do something much faster if you know the factors of a combined modulus. However in RSA you're able to invert a modular exponentiation. Here you seem to be able to speedup many successive exponentiations.

Is there some clever way to translate these two problems into each other and thus use an RSA-like method?

(Update: I found this paper [https://people.csail.mit.edu/rivest/pubs/RSW96.pdf](https://people.csail.mit.edu/rivest/pubs/RSW96.pdf) which explains how to do the calculation on page 4, but is still lacking an explanation why. But I guess for people fluent in number theory it's probably somehow obvious.)

<comment><USER5> > I guess for people fluent in number theory it's probably somehow obvious

It's "obvious" to the people who are aware of how RSA works, and know that Rivest based his derivation of the puzzle on the properties on which RSA encryption also depends.

Note, Rivest is one of Rivest–Shamir–Adleman: "The acronym RSA is made of the initial letters of the surnames of Ron Rivest, Adi Shamir, and Leonard Adleman, who first publicly described the algorithm in 1978."

See also:

[https://en.wikipedia.org/wiki/RSA_problem](https://en.wikipedia.org/wiki/RSA_problem)

In shortest and simplest, the "hardest" part is just that the numbers which have to be processed are _huge_ and that nobody knows an algorithm which would avoid doing a lot of the calculations to factor such huge numbers. Then for Rivest as he created the "puzzle" the goal was just how to construct one special huge number which encrypts the message. Constructing all that is then by a clever design faster than solving. Those who try to solve the puzzle don't have the exact construction numbers Rives used, just the result which has to be attacked by "brute force" calculations. The intermediate results during that process aren't predictable faster than simply calculating them, but every next depends on the previous one.

But not _everything_ related to RSA is mathematically rigorously proved, as you can see in the Wikipedia article.

</comment></comment><comment><USER6> Wow, congrats! My computer has for the last 16 YEARS been trying to break RC5-72: [http://stats.distributed.net/participant/phistory.php?projec...](http://stats.distributed.net/participant/phistory.php?project_id=8&id=422584)

<comment><USER2> Ah "Ron's Code 5". It's Ron Rivest too ofc!

Good you post this because I had no idea what I could keep my computer busy with now that LCS35 is solved ; )

</comment></comment><comment><USER7> Wait a minute, did the solution method amount to "do the straightforward thing using libgmp and then run it for 3 years straight?"

<comment><USER2> Precisely. And I did this on my everyday workstation, which I also used simultaneously for coding, browsing, emailing, etc.

Is that not epic? : )

Now I think it's fair to say that part of the solution also consisted in realizing that using a fast big integer library it was doable in three years something.

<comment> pure-awesome Since you were backing up the partial results, I assume this means you could load such a backup and continue from it if something happened to the running machine.

Does that mean that you could, if you wished, have switched to a different machine and just continued where you left off? E.g., could the Peffers team, if they knew about it, theoretically have taken your partial results and run them on their FPGA to obtain the final result a little bit faster than if would have been otherwise?

(Not suggesting this is in any way what you should have done. Just curious)

<comment><USER2> > Does that mean that you could, if you wished, have switched to a different > machine and just continued where you left off?

Totally. It's even explained in the original problem description: the idea was that every year you'd switch to more efficient hardware, picking up the computation where you let it off, until Moore's law stopped applying.

I considered upgrading from my i7 6700 to a 8700-K overclocked for slightly faster clock speed (and maybe some instructions taking fewer cycles). It'd have saved some time.

</comment></comment></comment></comment><comment><USER8> I was going to ask how they would check if the answer is correct, because they too would need "35 years" to find it...

... but then I realized that N is a product of two primes, which Rivest knows, so _he_ can take a shortcut and compute the answer faster. That is, the answer _is_ known.

But this makes you wonder if factoring that N would've been a faster route to solving this puzzle. What do you guys think?

[1] [https://people.csail.mit.edu/rivest/lcs35-puzzle- description...](https://people.csail.mit.edu/rivest/lcs35-puzzle- description.txt)

</comment><comment><USER9> That's why I love HackerNews, you can meet those type of interesting personalities and ask them questions right here!

Can you tell us a bit more about your self-taught background? What do you do for a living? How did you hear about the challenge?

<comment><USER2> I found the challenge by chance. It was so long ago I don't exactly remember when. Thought it was 2015 but an old comment of mine on HN seems to indicate I may have started looking into this back in 2014, when I was still using a core-i5 CPU : )

> Can you tell us a bit more about your self-taught background?

Sure... I started programming in BASIC at 11 years old on the most inconceivable setup ever: an Atari 2600, which was a gaming console (the infamous one which lead to the video industry crash of 1983 with a landfill filled with E.T. cartdridges). So how do you write BASIC on that at 11 years old? Well your mom offers you a "BASIC cartridge" which comes with a keyboard in two parts you plug in the joystick ports! (horrible experience but I do remember writing tiny programs drawing colored lines using that).

Then the Commodore C-64: more BASIC, some assembly using a "power cartrigde", mainly to modify (hack?) games. Then the Commodore Amiga: learning to write intros and demos. Then the PC (386, 486, and so on): writing a video game (finished but never published but it landed me my first job: long way too long story), writing more intros and demos (won a PC demo compo in Sweden). I'll blog one day (when I'll have a blog) about that PC / DOS video game which was running at 60 Hz on a 386 because it used a cool collision detection method I came up with (which as far as I know is unique and was pixel perfect even back then and was and still is particularly efficient). I still do have both the source and the binary for that game.

For the languages I mainly did BASIC then assembly (680x0 and 80x86), C with inline assembly, C++, Java... Then I stuck with Java for a very long time. Got a Sun Certified Java Programmer certification around 2000 (which makes me an oldtimer): only cert I ever got.

I cannot say I didn't do boring Java consultancy for even more boring companies/organizations. And thankfully once in a while a fun professional project ; )

Nowadays I'm still programming in Java as for my own projects I like to write proof of concepts using Clojure (and ClojureScript). And as I'm an Emacs (IntelliJ for Java though) user if of course waste a lot of time with elisp, hacking my Emacs config!

I hope you still love HN ; )

</comment></comment><comment><USER10> Given that processor technology has underperformed Moore's law since 1999, I'm surprised that Rivest underestimated the time needed to complete the challenge. I wonder how that happened.

<comment><USER11> From my completely noob understanding, the implementation of this particular operation of squaring has managed to outrun the law.

</comment></comment><comment><USER12> Ballpark latency numbers per 2048-bit modular multiplication:

CPU—1100ns

FPGA—66ns

ASIC—1ns (expected)

If you're a hardware engineer (or mathematician) interested is building an ultra-low latency ASIC, please email email@example.com

Source: [https://twitter.com/drakefjustin/status/1123143447551053824](https://twitter.com/drakefjustin/status/1123143447551053824)

Context: [https://www.youtube.com/watch?v=zqL_cMlPjOI](https://www.youtube.com/watch?v=zqL_cMlPjOI)

</comment><comment><USER13> "Based on Moore's law and how long it took to run the squaring operation in 1999, Rivest estimated that computing the answer to the puzzle should take approximately 35 years."

So how did Rivest create the puzzle back then in the first place, without taking 35 years to generate it?

<comment><USER14> The asymmetry of three things is essentially what secures of a lot of cryptography:

      1. multiplying two large prime numbers together (easy)
      2. Factoring the result without knowledge of those primes (extremely difficult)
      3. Factoring the result with knowledge of one of the primes (easy)

Those properties are essentially what make up the foundation of a lot of public key crypto.

For this puzzle, knowing the factorisation of n allowed a shortcut to quickly generate the puzzle, but without that factorisation it required squaring numbers 79,685,186,856,218 times sequentially so parallelism isn't a help.

The actual code to generate the puzzle was in the original puzzle description at [https://people.csail.mit.edu/rivest/lcs35-puzzle- description...](https://people.csail.mit.edu/rivest/lcs35-puzzle- description.txt) .

</comment></comment><comment><USER15> From a fellow Belgian : congratulations!

It's very inspiring to see a self-taught programmer achieve such an impressive result.

Any chance of the capsule ceremony being live streamed? Would be cool to follow.

</comment><comment> unclesams-uncle Congrats! +32 represent! Which beer(s) did you drink to celebrate?

<comment><USER2> Wow quite a few belgian in here! Weirdly enough I'm not that big of a beer drinker but... Although I didn't celebrate finding the solution in any other way than doing a silly dance in front of my family I did celebrate the HN thread reaching 2nd place on the frontpage by drinking a Mort Subite / Lambic Kriek : )

</comment></comment><comment><USER16> OT: Can anyone be kind enough to link to the specific model of TacticalCoder's monitor setup as captured in this Wired photo [0]?

Thanks

0: [https://www.wired.com/story/a-programmer-solved-a-20-year- ol...](https://www.wired.com/story/a-programmer-solved-a-20-year-old- forgotten-crypto-puzzle/)

</comment><comment><USER17> Looks like Massdrop addicted (keyb, mat, sad, maybe the whatch and monitor too?)

<comment><USER2> Ah no, I don't use Massdrop.

Keyboard is a Happy Hacking Keyboard Pro JP. Mat was a gift from my brother and I have no idea where it comes from. Monitor is a LG. Watch is a slightly fancy swiss mechanical diver's watch ; )

<comment><USER18> Aaah, living the Topre Life I see? Great to see these babies outside of the mech keyboard subreddit.

</comment></comment></comment><comment><USER19> What would be the off the self hardware (CPU) to use for this problem today? Still Intel, or AMD, or does ARM architecture do squaring fast? Or something else entirely, like GPU?

</comment><comment><USER20> Can someone ELI5?

</comment><comment><USER21> Congrats!

</comment><comment><USER22> Hey All! Cryptophage team here ([https://www.cryptophage.com](https://www.cryptophage.com)). Feel free to ask any questions about our alternative approach to solving the puzzle that Bernard just cracked!

<comment><AUTHOR> Congratulations!

One questions: Solving this puzzle has any impact on Verifiable Delay Functions security (specially Chia's VDF[1])?

[1] [https://github.com/Chia-Network/vdf-competition](https://github.com/Chia- Network/vdf-competition)

Thanks

<comment><USER22> Hey MrXOR! First off, thanks for posting this link to HN! Second, the VDF used here leverages RSA groups, while the Chia implementation uses Class groups. These two VDFs are compared here: [https://crypto.stanford.edu/~dabo/pubs/papers/VDFsurvey.pdf](https://crypto.stanford.edu/~dabo/pubs/papers/VDFsurvey.pdf). Both the VDFs are subject to hardware and algorithmic speedups which will not impact the security of their use as long as these are taken into account. If you are interested in learning more about VDFs I would recommend looking at this collaborative project by Ethereum and Filecoin: [https://vdfresearch.org/](https://vdfresearch.org/).

<comment><AUTHOR> Excuse me, Another question:

From [1]:

>> Cryptophage project solved it in 2 months.

What about ASICs (NSA's power and love!)? How long would it take? any estimation? 2 days? :-)

[1] [https://www.cryptophage.com](https://www.cryptophage.com)

<comment><USER22> We are currently investigating ASICs, but a rough estimation would be that they could be at least 10x faster, if not more (e.g. 6 days or less)</comment></comment></comment></comment></comment>


Rands: The Book Stalker - <AUTHOR> http://www.randsinrepose.com/archives/2009/08/08/the_book_stalker.html <comment><USER2> I don't get it. Buying digital and real books is not exclusive. Personally, I like explicitly deciding which books deserve the honor of "gathers dust and taking up space" status. Just as I keep printed-out copies of interesting online essays or blog posts in a bunch of binders, I keep tangible copies of interesting books around as well.

</comment><comment><USER3> I'd like to zoom in on that bookshelf. I wonder what books are on it. All I can make out easily is Watchmen.

With examination I see "Infected," left self third from the top. I notice IT and The Stand on the left shelf second from the bottom. Must be the Stephen King shelf. Lots of sci-fi on the shelf above that. Textbooks in the shelf on the right...

<http://www.randsinrepose.com/assets/randsshelf.jpg>

Do you recognize any other books?

<comment><USER4> Top right shelf contains "Jonathan Strange & Mr Norrell" (in black) and the Harry Potter series. Below that "The Rise of The Creative Class" (green). Middle left contains "America (The Book)" (red).

Fun exercise.

</comment></comment><comment><USER5> Growing up, my parents' apartment (which contained their startup's office) had about 300 feet of shelves, all completely full. On top of that my dad had about 2000 vintage trade paperback scifi novels in grapefruit juice boxes, and at any one time there were ~3000 computer magazines in banker's boxes. Every few years we would fill the building's dumpster with magazines, but the piles would grow again. It's much harder psychologically to get rid of books.

Books are a burden.

When I was in college I would go through periods of using the regional interlibrary loan to its limits -- having 30+ books at a time, going through 10 a week.

Now that I've graduated, I read almost solely from the screen. I already spend almost all my time reading, and there's a massive surplus of material. Why would I want to spend my time and anxiety on acquiring physical books, _and paying for the privilege_ , when I already have too much to read?

<comment><USER6> Of course they are a burden; things are only burdensome to the extent that they are valued. If they were worthless, who'd care. Besides, if nothing else, you can always donate them to a library; I've ended up doing that with boxes of the books that were less valuable to me every time I have moved.

</comment></comment><comment><USER7> I think people like books because bookshelves hold them so well. They are decorative. You need something on your wall, but posters are for college kids, so why not some books?

I have a shelfful of books. I maybe read one of them every few months or so. But mostly, it is a list of books that I've read that takes up a significant part of my flat. They take up valuable space and collect dust, and are a pain to move, all so I can flip through a book instead of do a Google search. Not very convenient. You could go so far as to say, "pointless".

e-books are much better -- when you are done reading them, they become a line on a display that you don't have to dust, find storage for, or pack when you move. And of course, just like real books, you can refer to them years after you've read them. (I guess you can't loan them to people, but for $5, who cares?)

And oh yeah, trees. When you buy a book, you kill them.

<comment><USER8> With an internet connection, you can loan books to everyone at once!

</comment></comment><comment><USER9> I can see the perspective that physical books as an inefficient alternative to digital books, and I grew up with books and books will always be a part of my life.

I believe books can be totems of our life and interests. Even if they don't get read and/or don't reflect your current life, books on a shelf are still telling a story _about_ _you_ in a way that DVDs you own can't. I feel that a single book by itself that someone owns is not particularly interesting but the larger hodge podge or holistic collection of books that it belongs to is _interesting_. For example, my friend Simon and his wife have a collection of travel books in a high-traffic/prominent location (right next to the garage access/front door) (to places they've been and hope to go) - and I feel this is interesting because they have two very young kids and are in no position to travel off.. But perhaps a daily reminder..

Books can be good conversation starters/icebreakers. Seriously, if you want to meet someone with a certain type of interest, try starting conversations with people who are hanging out in that area of the bookstore. You can start to learn more about a person from the books they have on their bookshelf. If they have any biographies, I usually ask why they are interested in that person. Sometimes you can even infer what they are hiding from the books they show.

Before a party in my apartment, I deliberately randomized the books that were all neatly categorized and alpha by author (like in a bookstore! I own one of those UPC barcode scanners too) to make it appear that I wasn't that OCD. I don't think anyone noticed.

I believe physical books are more valuable than digital ones because they are a concrete representation of someone's passion and their investment of time in it. The sentimentality of books as being part of someone's life work is more noticeable if it is decades old and sizable (page-wise) - makes you wonder - who wrote this/why did they write it/who were they.

<comment><USER10> Um, reorganizing your shelf for a party? Hiding your OCD is OCD too :)

</comment></comment><comment><USER11> my bookshelf contains tons of books, hardcore zines and vinyl - I wouldn't have it any other way. The chance of me finishing reading a pdf/ebook of the smalltalk 80 manual from front to back including the appendix is slim to none - however order it for 3 bucks off ebay and keep it around and with in a month or so I've read the entire thing at my leisure. On top of that When people come over and I start ranting about programming I have physical implements to push my point - "look at this book!!" I almost scream as I reach for the sacred yellowed tome, "It's from the 80s and it's more relevant than 90% of everything that's come since!"

Also the chance of lending someone a book or record and having a meaningful discourse follow from that incident (during/post lending) is much greater than just saying "check out w3c" or "listen to minor threat on myspace".

</comment><comment><USER12> I am in the process of going digital on books- having just moved a couple of thousand books in and out of boxes a few times, it's just not worth it. It just doesn't work for everything. Some kinds of books- cookbooks, API reference guides, things with diagrams and pictures, large books, etc. just don't play well on the current set of devices. The key thing I am missing so far is the ability to lend/give books that I am done with- even though no one seems to want my out of date technical books. There is no resale value on digital goods.

Maybe the solution to Rands' problem is a projector that shines a picture of a bookshelf with simulated spines onto the wall where your real bookshelf used to be, or maybe he could read your Amazon reviews.

</comment><comment><USER13> My bookshelf has (apart from books) scale models of the Thunderbirds on it (<http://is.gd/29V4K>). I'm not sure what that says about me.

Rands is so right though. You can tell a lot about someone from their bookshelf (arrangement, order, placement, etc).

</comment><comment><USER14> People that think they can encapsulate you by looking at X-attribute usually lock in some (comfortable to them) simplification and reject further information that breaks their understanding if it's 'good' or can be much later disappointed if it's 'bad.'

Just look at the API the person offers you at your current user privileges. Digging into internals just results in leaky abstractions and buggy dependencies (e.g. Why are you looking for the books their hiding? Do you have trust issues?).

Keep it simple.</comment>


Ask HN: Which are the most damaging books you've read? - <AUTHOR> The books which taught you lots of bad things and damaged your life which took a while to reverse. <comment><USER2> Ayn Rand's The Fountainhead and Atlas Shrugged. The idea of objectivism and running the world on your own shoulders is idealistic at best, but for 14-year-old me, it was like a free pass to feel intellectually superior to others. It cost me 2-3 years of my social life to realize that I'm not an island.

<comment><USER3> Can't up vote this enough. I read it around 16 yrs age and strongly influenced me. "intellectually superior" accurately captures how I felt.

I continued on path of "self discovery" and am much mature now. Now, I strongly recommend NOT to read her books. She takes objectivism to extreme lengths, even in relationships and love. For brief time after reading, I started living like a robot with no room for emotions and treating people like they were machines too with no emotions.

</comment></comment><comment><USER4> Not personally damaging, but I had a non-trivial amount of friends ruin their lives over "The Secret." It made them believe that the path to success was simply positive visualization, instead of actually working hard to get where you want to go.

</comment><comment><USER5> I don't remember specific titles, but when I was a kid (probably between 9-12 years old) I had a period of fascination with a lot of pseudo-scientific crap - UFO's, paranormal phenomena, Erik von Daniken stuff, Bermuda Triangle, etc. As all of that stuff is bunk that promotes superstition, magical thinking and is counter to logic, reason and science, I look back at it as at least a waste of time if not exactly "damaging" per-se.

<comment><USER6> haha same here. And Uri Geller, Lyall Watson's _Supernature_ etc. Later, Findhorn stuff and the nuttier New Age stuff. Later, Adorno.

</comment></comment><comment><USER7> Reading Nietzsche's Antichrist as an unwise 14 year old hardened me and turned me towards an aggressive atheism which I now realize is naive and pointless.

</comment><comment><USER8> a kids version of the bible when I was 9

</comment><comment><USER9> Not me but a friend of mine read a lot of Kafka in his mid-teens, which seemed to strenghten his existential angst.

</comment><comment><USER10> Anything by Franz Kafka. Reading him when I was 12 years old was a bad, bad, bad, life-changing decision.

I find his short stories " Josephine the singer or the Mouse Folk", "Before the Law" and " The Hunger Artist" to be unbearably painful.

He is still one of my favorite authors.

<comment><USER11> In the penal colony.

I read all those you mention and more at university. They still stick with me as books I'm very happy to have read, but never want to read again.

</comment></comment><comment><USER12> "Build your first website," cca 2000. PHP v4 and CSS v1. Need I say more?

</comment><comment><USER13> 'Brave New World' \- while I enjoyed it very much, I viewed the world differently after completing it... still do to some degree. Alas, 'pay no attention to the man behind the curtain'

</comment><comment><USER14> Microeconomics: Theory and Applications

</comment><comment><USER15> Future Shock

</comment><comment><USER16> All man are mortal. Simone de Beaviour (Destroyed the illusion that anything we try to accomplish survives in the long run - and thus immortality is something worth striving towards.)

The Rise and Fall of Communism & The Dispossesed (Destroyed the illusion that any anarchic/utopic societys can work without a constant surplus with humans instincts - even just channeling human nature away from self destructive cyclic behavior is nearly utopic.)

Blindsight: Peter Watts. Destroyed the illusion that the me is anything more then some wonky software, which s parts can be flipped on and off. Also made me constantly look on gaps and seams in my experience and logic holes. On this book im conflicted- blissful unawareness felt better - but was not better.

</comment><comment><USER17> the social construction of reality. Read and watch your world unravel

<comment><USER18> Maybe I want my world to unravel. Added to wish list!

<comment><USER6> :P Ive recently been reading Ian Hacking's _The Social Construction of What?_ which is a serious yet very entertaining analysis of all those Social Construction of X books and ideas. And probably much more worth reading than any of them.</comment></comment></comment>


Berkeley DB Architecture - NoSQL Before NoSQL Was Cool - <AUTHOR> http://highscalability.com/blog/2012/2/20/berkeley-db-architecture-nosql-before-nosql-was-cool.html <comment><USER2> Berkley DB was not SQL, and accordingly to my own classification of NoSQL (that is, at least one of the two must be true: [1] A different data model compared to SQL, [2] A different tradeoff in CAP compared to traditional DBs) Berkley DB should be classified as a NoSQL database.

However I think it was not a NoSQL database for an important reason, it was _only_ embedded in other programs, and not in the form of a networked server. Not only this raised the barrier to entry, it never made Berkeley DB an "object" in your infrastructure that you could use in different ways, and in a competitive way with other databases.

So the Berkeley DB creators did not started the NoSQL era long time before because they missed the importance of what they were doing, thinking that their DB was limited to just something you could bind to programs not needing all the power of an SQL database. At least this is what emerges form their choices. And the implication is that they were also considering relational databases as the only "real DBs" in my opinion.

So there was no real competition with traditional DBs, and it was not a NoSQL DB.

EDIT: I understand this is a mostly personal point of view, and not an objective critique, but I wanted to share it with HN nevertheless.

<comment><USER3> And probably the reason is that is wasn't networked running as a server was to reduce network traffic, which was obviously a lot slower (and a bottleneck) back when it was created. Also, it would be trivial to expose its functionality as a networked server, if that's what you needed.

</comment></comment><comment><USER4> I'd like to hear comparisons between Leveldb and Berkeley DB.

I'm using LDB in my most-recent project. I wrote a trivial HTTP wrapper around it using Mongoose to make it a "server". :)

I like the snapshotting feature, the support for transactions, the built-in support for accessing the db from multiple threads, and that it maintains keys in sorted order (this great for timestamped keys like I have).

I looked at BDB a while back, and IIRC it doesn't have snapshotting and sorted keys. Unsure about threads.

I use the snapshotting feature dump a backup copy of the database.

The BDB API seemed significantly more complex than Leveldb's. IIRC, the native API is C.

I like C++ and like that Leveldb's native API is C++. It uses the standard library string (which allows embedding null characters).

<comment><USER5> Berkeley DB has many features and many modes. This, IMHO is part of the reason it has a steep learning curve (and why others have had a bad experience with it).

It is easy to programmatically configure it incorrectly. E.g. not use transactions when you should, fail to deal with deadlocks or not clean up locks of failed threads or processes.

Some of the mature features it has are:

Page-level locking for concurrency via threading and multi-process. Snapshot isolation for MVCC - you can get a high isolation level without read locks. Nested transactions. B-tree indexes. Two-phase commit. You can also throw all this out the window and use an in-memory database or non-durable

The newer versions even have replication.

BDB is a hard beast to tame properly, but is definitely fully featured, and mature.

The Oracle paper on the BDB backed SQLite makes an interesting read.

</comment></comment><comment><USER6> One simply has to mention Tokyo/Kyoto Cabinet/Tyrant.

<http://fallabs.com/>

With all the NoSQL Hype Redis and MongoDB get I think these are too often overseen. What's really nice is that you can use them in embedded (cabinet) or server (tyrant) "mode". What's also great about them is that they provide a lot of flexibility, since they are not just one database. Also great that they have official bindings that work. They have tons of features and sometimes an embedded database is really interesting when you don't want (need) to care about the protocol you send it over.

<comment><USER7> I just found these two little jewels and have been using them to provide fast access to a haystack of images (GB to TB size, each image about ~1KB). I am curious to hear what others think about moving from Tokyo to Kyoto--the website says Kyoto is recommended, but there is a real dearth of information about Kyoto (at least in English) out on the web, compared with the scattered breadcrumbs that you can sort of piece together for information on Tokyo. Most of those breadcrumbs are unfortunately silly benchmark articles instead of real experiences.

Also, I already did have one Tokyo Cabinet Hashtable go corrupt on me--which caused certain operations to lock up the CPU indefinitely. Hmm, that didn't ease my conscience. However, it was completely recoverable with "tchmgr optimize". It'd be nice to google for more war stories, but like I said... breadcrumbs so far.

</comment></comment><comment><USER8> I've used BDB a lot over the last 10 years, embedded inside a C++ server, and I have to say I've been disappointed in its multi-threaded scalability.

Running a single threaded access pattern can easily get you 20K plus reads/sec, but if you try to run more threads the throughput per thread just goes down, up to a point where more threads actually slow you down.

Make sure to run extensive benchmarks if you consider using it in a multi- threaded application.

I've never tried running BDB in a multi-process architecture, so I have no idea how it'd behave when used that way.

<comment><USER9> BDB isn't really designed for scalable performance. It's for good performance and support for concurrent, ACID transactions. Tens of thousands of reads per second is reasonable for the vast majority of embedded applications, which often live on the desktop or mobile devices.

</comment></comment><comment><USER10> Coincidently, Keith Bostic (co-creator of BDB) announced his new project in the last few weeks: <http://wiredtiger.com/>

I don't know all that much about it, but given the background of those involved, should be worth keeping an eye on.

</comment><comment><USER11> Direct links <http://www.aosabook.org/en/bdb.html> , <http://news.ycombinator.com/item?id=3607914>

</comment><comment><USER12> Then there's Gelernter's Linda [1] and it's tuple space model [2], the granddaddy of non-relational data stores:

[1] <http://en.wikipedia.org/wiki/Linda_(coordination_language)>

[2] <http://en.wikipedia.org/wiki/Tuple_space>

</comment><comment><USER13> Some sane design lessions in the original material: <http://www.aosabook.org/en/bdb.html>

</comment><comment><USER14> Is there an alternative to Berkeley DB which has a hash database file on disk? Rather than in RAM? The problem is I use BDB 1.86 on Windows, because it's free, but the DB size is limited to 2GB. I want to use an alternative which is just as fast and pretty much the same interface.

<comment><USER15> This is designed to be very compatible with BDB: <http://fallabs.com/tokyocabinet/> and is open source.

This builds on the ideas from BDB and Tokyo Cabinent with a newer codebase: <http://fallabs.com/kyotocabinet/>

Both have network server implementations available (see links from their pages).

</comment></comment><comment><USER16> Friends don't let friends use BerkeleyDB.

[http://www.google.com/search?hl=en&q=bdb+corruption](http://www.google.com/search?hl=en&q=bdb+corruption)

<comment><USER17> My first exposure to BerkeleyDB was when Subversion was brand new. There was a perl script which converted from CVS to SVN and used BerkeleyDB during the conversion. I had to manually replace BerkeleyDB with a hand-written key/value store in the filesystem to make the script work.

I used Subversion since pre-1.0. The only problems I've ever had with Subversion were caused by BerkeleyDB failing to be sufficiently robust. Since Subversion eliminated BDB use, I've never had a problem with it.

BerkeleyDB is dead to me.</comment></comment>


Hydrogen made with muons reveals proton size conundrum - <AUTHOR> http://arstechnica.com/science/2013/01/hydrogen-made-with-muons-reveals-proton-size-conundrum/ <comment><USER2> This is tremendously interesting. In particular their suggestion that one solution to the conundrum is the existence of additional very light force carriers.

Perhaps a more up to date particle physicist than I can chip in bu such particles must presumably be outside of the Standard Model (as iirc from my particle physics, which is admittedly getting on for 20 years ago, there ain't any more slots left). I know there are some interesting new theories which are very widely disputed and which have a lot of other problems, such as the Exceptionally Simple Theory, which predict a whole host of additional particles - but there are reasons such things are on the fringe right now.

With all the progress in the last couple of decades, and all these new results pointing to new Physics in all kinds of areas, it's a fascinating time for the field - and makes one wonder where we'd be if the entire faculty hadn't dedicated decades down the String theory rabbit hole.

<comment><USER3> >...decades down the String theory rabbit hole.

Where does string theory stand these days?

As a fascinated layman, strings always reminded me quite a bit of epicycles and I've had an impression that string theory had been falling out of favor for some time now.

<comment><USER4> The "popular fad" aspect of string theory has certainly lost much of its luster, no question, particularly as far as the general public is concerned. (The early excitement about the theory in the 1980's was apparently rather over the top.) The fact that folks like Peter Woit and Lee Smolin were able to publish popular books about their distaste for string theory reflects that (and those books in turn did a lot to establish the "string theory is overrated" counter-meme).

But within actual physics departments, as far as I've been able to tell string theory holds much the same position that is has for many years: it's the direction that most people interested in pursuing a "theory of everything" seem to find most promising. (Plenty of physicists have other interests, of course, even within particle physics: the phenomenology involved in interpreting LHC data and predicting new phenomena to look for at that scale is a big deal these days, and string theory really isn't relevant to those questions.) As far as I can tell from the inside, that's primarily a genuine process of ongoing scientific judgement rather than pure groupthink.

As a string theorist, I can see to some degree why you'd say it reminds you of epicycles: I think most of us would agree that there's got to be some deeper underlying truth that would make the structures of string theory seem more unified and elegant. The difference between that and epicycles, at least to a string theorist, is that we're optimistic that string theory as we know it is a valid, well-defined approximation to the underlying theory, whatever form that may take. Epicycles, on the other hand, were (as I understand it) sort of a hack, without any intrinsic connection to the true heliocentric model.

<comment><USER5> "The phenomenology involved in interpreting LHC data and predicting new phenomena to look for at that scale is a big deal these days, and string theory really isn't relevant to those questions."

I think "string theory is overrated" meme is mainly fueled by the fact that it "really isn't relevant to those questions". I got the impression that many string theorists claimed string theory to be relevant to those questions, and only changed position once it became clear that won't be the case.

</comment></comment></comment></comment><comment><USER6> This has been a pretty big deal for a while now -- its a huge, unexplained effect that ever theoretical physicist in a remotely related field will have poked at. (And the expected result is actually pretty easy to calculate, as far as anything in QED is.)

A lot of folk were betting on some sort of experimental error (just as ended up happening with the superluminal neutrinos), so if they've managed to replicate the result with more in depth experiments, that's kind of important.

</comment><comment><USER7> I find the physics fascinating, but that muonic hydrogen stuff, that has marketing gold all over it. SmartWater, now made with Muonic Hydrogen, get it before it decays!

I expect its going to take several days to digest the paper though, it is quite dense.

<comment><USER8> > get it before it decays

A muon has a mean lifetime of 2.2 microseconds (2.2 * 10^−6 seconds). Hurry, if you blink you'll miss it two hundred thousand times over.

<comment><USER9> You don't have to tell your customers that.

Or maybe you can combine it with homeopathy while you're at it. The regular water will _remember_ the properties of the muon water.

</comment></comment></comment><comment><USER10> Obligatory: <http://xkcd.com/955/>

Humour aside, I love these sorts of things. Even if there is no new physics involved, if it turns out to be some sort of error in the experiment, we are bound to learn something.

<comment><USER11> I read the preprint in the arxive, but I'm not an expert in this area.

This doesn't look like the usual mixture of crackpotology and misinterpretation. It's better skip this article and to keep your $200 for the next one.

</comment></comment><comment><USER12> I'm no physics expert but I did find the article very interesting. Can someone who knows more than I do possibly explain, simply, what may be going on here and what its implications would be?

<comment><USER13> In my PhD, I measured the proton form factor and, from that, calculated the radius. So let me explain my view :)

There are essentially three ways to measure the radius:

1) Electron-proton scattering. This gives you the form factors (related to the charge distribution by the Fourier transform), and from that you can calculate the proton radius. 2) Measurements of the electron energy levels of "normal" Hydrogen 3) Measurements of the muon-proton energy levels.

Re 1) The Mainz proton form factor experiment is to date the most precise proton radius determination from electron scattering and is compatible with the larger value. Our results are along the line of earlier measurements using similar techniques. The first measurements of this kind where done in the 50's and 60's (but produced quite a wrong radius).

Re 2) These measurements are very hard, the proton size effect is very small. Nevertheless, the results are of similar precision as those from 1) and give a compatible radius

Re 3) In muonic hydrogen, the muon is "much closer" to the proton and therefore the proton size has a much larger influence. Because of this, the method produces by far the best precision.

The 7 standard deviations are calculated with the precision of 1) and 2), the error of 3) is negligble!

So, what can go wrong?

In my opinion, the muon experiment is very clean, so I don't believe in an experimental error. The fact that 1) and 2) agree make it unlikely that they are wrong, as they are complete separate methods. However, it is possible.

It could be that we are missing an important part in our understanding of the radiative corrections, i.e. the theory needed to calculate the levels. This could mean a simple error in one of the calculations, but most if not all of them have been checked by different groups. It could also mean a flaw in one of the solving techniques. Or maybe something which was overlooked.

It is also possible that there is another particle at work here. A possible candidate is a dark photon. This solution has some benefits, especially since such a new particle might also solve the muon g-2 puzzle. But it is not easy to construct a theory of such a particle without violating other experiments. A lot of fine tuning.

It could also be that the muon just behaves differently from the electron. That would shatter a rather basic and widely accepted believe.

I attended a very interesting workshop recently which focused on this puzzle. Unfortunately, we didn't find a solution. However, there are a lot of experiments in the pipeline which might clarify the situation: \- There are several experiments to measure the proton radius using eletron scattering, with specialized instruments and new methods. -Muse is an experiment which will scatter a combined electron and muon beam from protons. This will test certain aspects of the radiative corrections and allow a direct comparison of the exctracted radii. -There will be measurements of other muonic atoms.

All in all, this is a very interesting topic right now, with the added benefit that it brings together the often separate communities of nuclear and atomic physics.

Nice tidbit: Our result and the first muonic result was presented at the same conference... and both speakers didn't know what the other would say.

Other nice tidbit: The first try at the muonic measurement didn't work out. When they got it working, they scanned the energy region around the suspected radius value. But they didn't find a resonance. After improving the experiment and double checking everything, they still didn't find anything, until they started looking further away, when suddenly, the resonance appeared. They just didn't scan wide enough the first time!

<comment><USER14> _Muse is an experiment which will scatter a combined electron and muon beam from protons._

I'm a bit surprised that muon-proton scattering experiments haven't already been done. It it just that there have been other priorities up to now, or is there something particularly difficult about doing such experiments, compared to doing them with electrons?

<comment><USER13> The main difference is that electrons are readily available while muons have to be created. I think there are some experiments with high energy muons, but for the proton radius, you want low energy. PSI creates them accelerating protons and smashing them into nuclei. This produces pions, which then decay into muons. These beams are then rather wider and harder to handle, as muons decay quite quickly. With higher energies, it is possible to store them long enough in rings, relativistic time dilation helps then.

</comment></comment></comment></comment><comment><USER15> The article makes this seem like a relatively straightfoward experiment concept and implementation plus high justification. Why have measurements of this sort not been made already?

Is it because of the difficulty of forming muonic hydrogen or making measurements before the decay?

<comment><USER16> None of it is easy. I haven't read this particular paper, but I have worked on similar experiments. First, you have to create muons and then isolate them in the particle beam and this costs quite some money (typically fire accelerated protons at a target and allow the pions and other decay products to be dumped in some dumb absorber that the muons pass through). Then you have to capture the muons into orbits around protons that come from hydrogen that needs to be disassociated and ionised. Then you have to pulse the hydrogen with a laser and excite the muon into a new energy state and accurately measure the energy of the photons that come off in the decay. You almost certainly need subnanosecond accuracy in your timing at this point. Of course, you can never be absolutely certain what you're measuring in any particular event so you sum over millions of events and average. And you have to simulate the whole thing (typically using a C++ framework called GEANT running on massive processor farms analysed with a horror-show of an analysis toolkit called ROOT) to see what could go wrong and determine the possible sources of error and uncertainty in your measurement.

To get the money to do this, you have to apply for government grants that may take up to a year to get approved. And no government wants to fund it so you need an 'in' with the lab, because they'll be the ones that sponsor your application for it to have a chance of success, and you'll need to know people from a whole load of other countries to collaborate with and prove your _bona fides_. And the people writing all these grant applications and doing most of the middle management are distracted by teaching literally hundreds of students every week during term time, so they can't even work full-time on it.

There are other experimental ways of doing this (e.g. measure correlated form factors and parton distribution functions from elastic scattering and extrapolate to zero momentum transfer), but they're all harder. They'll probably be done within the next 30 years. Probably. This particular effort is likely the work of 30-50 PhDs working for five or more years (at 50% of the salary they'd earn working for commercial companies), discounting any of the commercially available technology like electronics developed by CAEN or detector components developed by the likes of ElJen or Hamamatsu. And I would be surprised if they didn't mint another 10-15 PhDs during the effort. And I haven't covered the highly trained technicians and electronic engineers that are usually needed to build a lot of the custom experimental equipment.

<comment><USER17> What do you have against ROOT ?

<comment><USER16> I dislike the fact that the library is forever expanding its feature set while a lot of the core code is badly written or buggy (see the method for calculating the angle between two T3vectors, for example). This is crazy when development is not under commercial competitive pressure. I dislike the use of global pointers to control the behaviour of the library and I find the design decisions in particular regarding histograms and the lack of separation between data and presentation bewildering (e.g. a graph is a subtype of a histogram, which should contain it so that it can be plotted. A plot frame is a type of histogram object, which makes no sense that I can understand, etc.). The library makes no use of a lot of core C++ features; it really is C-with- classes, where the use of exceptions could really improve the code base and potential usage. I feel quite strongly that a numeric calculation should not return a number if something went wrong, for example.

I dislike that it has a strong feeling of not-invented-here syndrome where it could include dependencies on well tested code, e.g. the gnu scientific library, but instead rewrites everything. And up until about 6 months ago the default plot styles were damned ugly, although this has gotten a lot better. There seem to be three different math libraries that each implement some subset of mathematical functions independently and a lot of the graphics stuff makes little sense to me (take a look at how to ensure platform-independent type face size in a plot, for example). The CINT interface almost seemed designed to ensure that when students were learning, they learned ROOT and not C or C++, which is great for productivity in the short term, and incredibly sucky in the medium to long term.

I understand that a lot of this is legacy cruft (and even made sense at the time!) and that I could contribute patches for it, but I'm busy doing my actual job. I'm impressed that a lot of my objections are being worked on too - I was heavily dependent on the framework for my PhD about 5 years ago and a lot of my frustration stems from then. It often feels like the ROOT team learn-by-doing; they want to understand something, so they make it in ROOT. Which is a fine way to learn, but not the best way to develop stable code that should be used by thousands and thousands of people. In some senses ROOT is an amazing achievement and I still find myself using it on occasion. But I've now mostly replaced what I use it for with matplotlib and the GSL and my life is easier.

 _breathes_

I also dislike the way that it seems partially to have enabled physics to go in a direction where we pump out PhDs who don't understand code or physics, but act as worker-drones for the large collaborations. But that's not really ROOT's fault, and is a whole 'nother topic.

<comment><USER13> I second that. The aim of root is certainly good. But the implementation of that idea, especially the overall design, is absolutely awful. It's understandable, it has grown over a long time and was written by physics experts, not software design experts. People who where used to Fortran and paw. The actual code implementation is bad but not hopelessly so. The interface is broken and because so many people are used to it, it will be hard to replace with anything new.

For Mainz experiment, we have or own code base. Not pretty, but because it's a lot more specialist, less confusing. I am working now on OLYMPUS, and we are using ROOT for that. I created a Framework for the analysis based on ROOT, trying to hide the most problematic areas and making it easier for use by the other collaboration members. Also trying to make them write programs, not ROOT macros. Every time I look up a new feature, I'm surprised that they managed to find a non standard way of doing it. My pet peeve? TH1D is a 1-d historgram class. What does TH1D.Clear do?

Wrong! It clears the histogram title and name, not the histogram itself. For that, you need Reset. It makes kind of sense if you know the class hierarchy, TNamed and all. But who remembers that? I saw this mistake in the wild a lot.

Protip: Gnuplot. While also a little bit arcane in its command language, it's for me the best tool to produce paper-ready plots. With the tikz terminal you can include it in your Latex flow, and with some Makefile trickery you can have e.g. \cites resolve correctly in plot labels. With numbering correctly reflecting the position of the plot in the paper!

<comment><USER13> (Can't reply to the child post)

Lol! It's Jan. The world is small.

</comment></comment></comment></comment></comment></comment><comment><USER18> Annnnd.... once again when we want to read the actual paper (paid for with public funds) we hit a damned paywall.

<http://www.sciencemag.org/content/339/6118/417.full>

Can anyone suggest a free source?

<comment><USER11> Once again, every preprint (in some areas) is in the arxiv: <http://arxiv.org/pdf/1208.2637.pdf>

<comment><USER18> I wasn't sure that was the same paper, due to the different title and somewhat different list of authors. Even though the subject matter is the same.

<comment><USER11> My bad. Same team, different (recent) paper.

Edit: There is a discussion about this in reddit: [http://www.reddit.com/r/Physics/comments/177wfm/hydrogen_mad...](http://www.reddit.com/r/Physics/comments/177wfm/hydrogen_made_with_muons_reveals_proton_size/)

</comment></comment></comment></comment><comment><USER18> So how is the mystery of observed isotopic decay rate variations (with Earth/Moon/Sun spin/orbit period correlations) going these days? That's now two solid results that indicate things we thought were constants, are not. What's the bet they are related?</comment>


Is 17 the most "random" number? - <AUTHOR> http://scienceblogs.com/cognitivedaily/2007/02/is_17_the_most_random_number.php <comment><USER2> Although the computer-generated charts are statistically meaningless, the persistence of number '17' in humans likely has its reason.

The first thing that comes to my mind is that this happens because 17 the number from 1 to 20 that we come into most rarely. When we learn multiplication at school, it doesn't have any factors so we tend to skip it, and for the same reason it's rare to encounter it in various problems. This happens also to '7', but '7' is small enough to occur in many occasions such as counting a number of items etc. So, maybe we are more inclined to pick '17' as 'random' because we rarely meet it. Maybe.

<comment><USER3> The same could be said for other primes like 13 and 19, though.

<comment><USER4> 13 has pervasive cultural significance, but I agree that 19 seems as "rare" as 17. Perhaps at a glance 19 is less obviously prime than 17. Also note that 17 and 19 are both ages at which nothing really notable happens. 16 is driving age for lots of states and 18 is a big "legal" milestone.

<comment><USER5> 19 is drinking age in most of Canada.

19 feels too close to the nice, round, important 20 to count as properly random for me.

<comment><USER6> Agreed 17 really doesn't seem to have any significance anywhere in almost any society.

<comment><USER7> I learned the truth at seventeen (<http://en.wikipedia.org/wiki/At_Seventeen>)

</comment></comment></comment></comment></comment></comment><comment><USER8> My economics teacher once used the number 17 as a random number twice in one class, without noticing.

A note on the number 7: magicians actually use the frequency of that number being picked for their tricks. If an amateur card magician asks you to pick a number, for example, "between 5 and 10" or the more daring "between 1 and 10" they want you to say 7. Now that you know this, though, I'd rather you humor us if you're ever asked..

</comment><comment><USER9> This is a really bad analysis. I'd be willing to guess the author doesn't know much about statistics. (Or more charitably, he's just trying too hard to write for people who don't understand statistics.)

That said, it does look like the sample was large enough for the results to be valid, at least for "17".

<comment><USER10> What's so bad about it? I thought that generating 347 random numbers was a neat way to demonstrate the variation in a random distribution with the same sample size actually polled.

<comment><USER11> That doesn't really tell us anything about variance. After all, in that single trial of generating 347 numbers, his computer could just as easily have spat out a uniform distribution.*

To see variance, it would have been better to generate 347 numbers _many_ times over, then plot the standard deviation of the count of each number using error bars.

*You can't actually evenly distribute 347 trials over the range [1,20], but you see my point.

<comment><USER10> _his computer could just as easily have spat out a uniform distribution_

But that's the point, isn't it? An exactly even distribution is _unlikely_. So unlikely, that the first distribution he found was probably fine for use in the article.

I suppose my only real point here is that error bars are boring, and it's perfectly possible to understand what the variation in a typical random set is by looking at the set, without having to explicitly put error bars around a straight line.

</comment></comment></comment></comment><comment><USER12> int get_random() {

        return 17; // The most random number

    }

<comment><USER13> <http://www.random.org/analysis/dilbert.jpg>

</comment></comment><comment><USER14> That's what my old math professor always said: "Now let's pick a random number, say 17, and ..."

</comment><comment><USER15> How can that knowledge (that people like 17 as a random number) be turned into profit?

<comment><USER16> Easy. Make bets with strangers that you can guess the number they're thinking of.

<comment><USER17> You'll lose more than half the time. If you try a more complicated betting structure than "Bet you $5", you'll have to explain it to them, which will make them suspicious.

<comment><USER18> Let's assume the data in the article is perfectly representative, or that it is chosen "almost 18" percent of the time. I'll say an even 18 to make this easier:

"I'll bet that if you pick any random number from 1 to 20, I can guess it. If I miss, I give you a dollar. If I get it right, you give me ten."

Over 100 trials, you would lose $1 92 times, but gain $10 18 times: net gain of $88. It works almost all the way down to getting $5 per correct guess.

Intuition would tell the guesser that they've got a nineteen-to-one chance of gaining a dollar. You know (in theory) they've got only slightly better than a one-in-five chance of winning.

</comment></comment></comment></comment><comment><USER19> 23 is. Though I am pretty rational person, I can't seem to explain why I see 23 all around. (Guessing it is some sort of psychological bias -- but the evidence from my everyday experience just baffles me).

See this: 23 enigma <http://en.wikipedia.org/wiki/23_enigma>

<comment><USER20> I've been aware of the 23 enigma theory for ~5 years, but haven't noticed evidence supporting it.

</comment></comment><comment><USER21> I'm sure this has a lot more to do with "anchoring" than "random".

</comment><comment><USER22> There were 17 comments when I wrote this one. Pretty random!</comment>


Maintaining Permissive-Licensed Files in a GPL-Licensed Project - <AUTHOR> http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html

<comment><USER2> As a general rule, I prefer to keep BSD/MIT-licensed code I incorporate into my GPLed works in a separate include file, so it's clear what code is covered by what license. Any enhancements or changes I make to said BSD/MIT-licensed code, I release as BSD/MIT despite my preference for the GPL* for the overall work so the upstream developer as well as any other interested parties can make use of my work under their preferred license if they so choose.

* as a general rule, I prefer to release things like Windows apps as GPL to prevent a third party from just taking the work and commercializing it without giving back, similarly to how apps like GIMP, AbiWord, Pidgin, etc are licensed. I prefer to release things like libraries and components as BSD/MIT (and occasionally LGPL in very specific circumstances) to ensure they get broader use and broader contributions.</comment>


How we increased customer referrals by 175% in 1 week - <AUTHOR> http://picklive.com/blog/how-we-increased-customer-referrals-by-175-in-1-week

<comment><USER2> I think dropbox had a similar change and also found that it dramatically increased referrals once both the referrer and the new user both got extra space.</comment>


Show HN: JotForm Instant - Instantly Brewed Forms - <AUTHOR> http://instant.jotform.com

<comment><AUTHOR> Last week I read a comment on Hacker News and then decided to build this project. We had a lot of fun building it.

The comment I read was on the squaresend launch thread. Someone suggested that there is a need for a form building tool with less features.

We have this 2500 form templates created mostly by our users. JotForm Instant let's you pick any form template, add your email address to the URL and voila! You have a form that can send emails to you.

I'd love hear your comments and suggestions.

</comment><comment><USER2> Just tried it...awesome! You might consider hiding the email address appearing in the url.</comment>


Ask HN: Best way to negotiate more equity/grants when you are close to 4 years? - <AUTHOR> <comment><USER2> Interview and get another offer. This has been the best negotiating tactic I have been able to come up with. Would love to hear tips from others.</comment>


Tom Scott makes an honest VPN commercial [video] - <AUTHOR> https://www.youtube.com/watch?v=WVDQEoe6ZWY <comment><USER2> Considering about 1/2 the VPN companies are owned by the Chinese, they are fronts for the Chinese government.

<comment><USER3> Not that you're wrong, but I've never heard this before. Source?</comment></comment>


What do you do when a colleague dies? - <AUTHOR> https://www.bbc.com/news/business-49164926 <comment><USER2> Went through something like this myself. It's soul crushing. Especially when it's a young person that you'd classify as a "legit good guy".

Suddenly that random portrait he drew for me on a business card has larger than life meaning. And every time I think about him I'm reminded that life is short.</comment>


Kata Containers – The speed of containers, the security of VMs - <AUTHOR> https://katacontainers.io <comment><USER2> They don't seem to have written any code yet. [1] So what we have at this point is a marketing website about their ambition and goals?

[1][https://github.com/kata-containers/runtimes](https://github.com/kata- containers/runtimes)

<comment><USER3> The code comes from Intel's Clear Containers and hyper. The interesting bit is that the tech is now part of the openstack foundation, under the name Kata Containers. At Kubecon yesterday, they did a demo, showing a fork bomb taking out a container, but not the host. It actually seems nearly ready to use.

<comment><USER4> Can't you just combat fork bombs with e.g

      docker run --pids-limit=64

<comment><USER3> Yes, there are several ways to combat fork bombs (ulimits or pid namespaces). This was purely for the sake of the live demo that required a kernel crash example, there are certainly other ways to combat it.

</comment></comment></comment></comment><comment><USER5> Impressive backing by the big name companies.

The idea of treating containers as secure and isolated as VMs is enticing for non-ephemeral services. Are these strictly tuned to exploit intel Hardware features or would they consider supporting the equivalent features in say AMD?

On the other hand, isn't this the realm of mainline distributions like RHEL, Debian and the like? To support such isolation facilities. I always thought clear Linux was a Intel playground for proof-of-concept which will eventually be up streamed to major Linux distributions.Is it not true?

I guess my question is why a separate project like this, instead of RedHat Enterprise Containers or Debian containers?

<comment><USER6> Interesting that nearly half of the backers are Chinese companies.

<comment><USER7> Not when you consider that half of all companies are Chinese companies.

For comparison: USA: ~30m China: ~80m

</comment></comment></comment><comment><USER8> One thing that isn't mentioned on front page at least is the management aspect.

Docker became popular because it was pretty easy to use, and to publish and reuse existing containers. Whatever competes with it only stands a chance if it can either reuse the existing container ecosystem, or offer something roughly as good.

<comment><USER3> Sat through the talk at kubecon yesterday - an important goal of theirs is to not compete with the docker. They said it was compatible with docker, containerd, and cri-o. I believe with docker, it sits at the runc level, so to the end user, you're using docker in the standard fashion, but the underlying isolation mechanism is different. They also said it can be chosen per container so different containers on the same host can use different isolation mechanisms

<comment><USER8> That makes a lot of sense, and probably the road that makes adoption easiest. Thanks!

</comment></comment></comment><comment><USER9> The British Indian Ocean territory really is becoming a tech hub.

<comment><USER10> I'm not sure I get the connection. Also: [https://en.m.wikipedia.org/wiki/Depopulation_of_Chagossians_...](https://en.m.wikipedia.org/wiki/Depopulation_of_Chagossians_from_the_Chagos_Archipelago)

<comment><USER11> >I'm not sure I get the connection.

.io is the TLD for the British Indian Ocean Territory, technically speaking.

</comment></comment></comment><comment><USER12> How is this better than using rkt with an lkvm stage1[1], which also uses the work done by the Clear Containers team? It looks like Kata packages QEMU as well, which seems a bit overkill.

[1][https://coreos.com/rkt/docs/latest/running-kvm- stage1.html](https://coreos.com/rkt/docs/latest/running-kvm-stage1.html)

<comment><USER13> > a bit overkill

They also said the same about Xen, that a special purpose microkernel was a better choice than Linux as a hypervisor...

<comment><USER12> Right, in many cases, small is beautiful! I think that's what contributed so heavily to the massive success of the Xen platform. Is that what you mean?

<comment><USER13> Then why does Kata Containers use KVM?

Xen was successful because it was innovative, and because it worked around the fact that x86 was not virtualizable at the time. But after ten years of healthy competition, the only reason to prefer Xen to KVM would be things like QubesOS.

</comment></comment></comment></comment><comment><USER14> It's kind of interesting that it's only in the Linux world that containers cannot be thought of as isolated or secure. Seeing it from a jails and zones perspective, rather sad, actually :)

<comment><USER15> FreeBSD jails are known to not be silver bullets. I've heard many instances of breaking out of a FreeBSD jail.

Generally, treating any OS-level technology as a silver bullet is a huge mistake. Any serious developer would make multiple levels of security that _should_ be sound.

<comment><USER16> This is the most blatant and clearly incorrect... FUD?..lie?... I have ever heard to date about jails.

Jails are secure. As are SmartOS zones. Whoever you heard that there are "many instances of breaking out of a jail" from is full of sh47. And you would be wise to never listen to them ever again. No really, EVER.

And no, breaking the ps4 was not a jail exploit. The attacker already had elevated privileges. So you would be sunk no matter what.

<comment><USER15> Sheesh, no need to get so emotional about it. I said instances of breaking out, not instances of jail exploits. I don't know of any jail-specific exploits.

But when we say "elevated privileges" are we talking root inside of a jail? Because if that breaks jails, then a large class of Docker exploits also wouldn't classify as 'exploits' under that criteria. One of the biggest problems with Linux namespaces is the band-aid put over root, via capabilities.

As far as I know, though, the PS4 exploit was more Sony's fault. IIRC, they broke out of the jail by exploiting custom syscalls not in stock FreeBSD. Bugs in syscalls in FreeBSD aren't unheard of though, even if less commonly found than Linux.

My entire point is that good security implies not treating any solution as a panacea, lest you find yourself in a digital Titanic scenario. Multiple layers of solid security beats one layer of solid security.

<comment><USER17> > Bugs in syscalls in FreeBSD aren't unheard of though, even if less commonly > found than Linux.

Dangerous assumption.

More likely, there are fewer people looking for vulnerabilities in BSD than in Linux.

<comment><USER15> Well, I did say

>less commonly found

rather than less common. Impossible to know with 100% certainty what's literally less common.

If I had to guess, I'd guess FreeBSD had less bugs in general, just because the surface is generally smaller, and the system is more homogeneous.

</comment></comment></comment></comment></comment></comment><comment><USER18> Another alternative is using hyper container

<comment><USER19> This is a combined work of the people behind Intel Clear containers and Hyper containers.

</comment></comment><comment><USER20> > _It is designed to be architecture agnostic, run on multiple hypervisors and > be compatible with the OCI specification for Docker containers_

In what sense is this "OCI compatible"? Do they implement the runtime, image format spec, or both? My understanding of containerization and OCI runtimes is that they're fundamentally different from hardware-level virtualization.

<comment><USER21> Both. The hardware virtualization related settings are configured out side of OCI spec but the runtime accept OCI spec and plays with it accordingly. As for image format, Kata runs unchanged docker images.

</comment></comment><comment><USER22> Whats the difference between unikernels and kata containers?

<comment><USER15> Different approaches to isolation. A kata container is using Clear Linux to load a feature-complete Linux kernel into tiny VMs (disclaimer: I do not know exactly how it's different from any other VM,) a unikernel is a small bare- metal "library" that gives you minimal OS-like functions to put in a hypervisor to run your application. Unikernels are still more minimal, I'd guess.

<comment><USER23> Here's a recent paper about the unikernel approach

[http://cnp.neclab.eu/projects/lightvm/lightvm.pdf](http://cnp.neclab.eu/projects/lightvm/lightvm.pdf)</comment></comment></comment>


Ask HN: How would you implement key escrow for FDE on a Linux workstation? - <AUTHOR> I'm looking into what it would take to implement key escrow/recovery with full disk encryption on a series of workstation laptops. The laptop software image will be based on Xubuntu 16.04, so basically Linux + xorg + xfce4. The plan is to deploy everything with /home/ as its own encrypted partition.<p>Ordinary passphrase based FDE isn't sufficient in this case as we need the ability to recover the contents of a company-owned laptop in the event that a person refuses to give up the passphrase and goes rogue, gets fired or for a variety of legal/regulatory reasons. Has anyone implemented something like this for a corporate Linux workstation environment? <comment><USER2> LUKS can have multiple valid keys for an encrypted partition, this might be a starting point?

[https://wiki.archlinux.org/index.php/Dm- crypt/Device_encrypt...](https://wiki.archlinux.org/index.php/Dm- crypt/Device_encryption#Key_management)</comment>


Catalonia calls independence referendum for October - <AUTHOR> https://www.theguardian.com/world/2017/jun/09/catalonia-calls-independence-referendum-for-october-spain <comment><USER2> Catalonia will never be an EU member and it's awkward that articles are missing to emphasize that, but slighlty less awkward than the fact that majority of those who would vote for independence think they will remain to be an EU member after declared independence.</comment>


Why Openbook has a good chance of making social networks relevant again - <AUTHOR> https://mijndertstuij.nl/post/2019/opposite/ <comment><USER2> I find this article quite removed from reality.

First: despite all the issues and bad press that Facebook is facing, it's still network number one and quite relevant (look at advertising money).

Second: Instagram can be extremely political, and it is for many users (including myself).

All and all, I don't think that Openbook stands a shred of a chance.</comment>


Google Pulls 'Remove China Apps' from Play Store - <AUTHOR> https://techcrunch.com/2020/06/02/remove-china-apps-google-play-store/ <comment><USER2> Does the app, actually uninstall other apps?

I could see that being a problem.

<comment><USER3> Yes it does. I used it and it was very easy to use.

</comment></comment><comment><USER4> China: Bans international apps, makes citizens use their own apps. India: _trend against Chinese apps_ China: We gonna retaliate.

China sounds like kinder-gardener.</comment>


Google Launches Two New Android Apps To Help The Blind Navigate Around Town - <AUTHOR> http://techcrunch.com/2010/10/11/google-launches-two-new-android-apps-to-help-the-blind-navigate-around-town/

<comment><USER2> This is so awesome. The potential of mobile technology to help people with disabilities get around better is huge and probably not explored as much as it should be.</comment>


Resources for learning Meteor.js - <AUTHOR>

Hello. I'm a PHP Programmer, and I want to create a real-time web application. So, I stumbled upon this framework : Meteor.JS, can you guys provide some links to good tutorials, ebooks, PDFs to learn Meteor ( For Programmers ). I checked out "Discover Meteor" by Sacha, but I'm looking for some free books/tuts. <comment><USER2> The Discover Meteor book is great; I highly recommend it. However, if you are looking for free tutorials, Stephan Hocchaus put together a nice compilation of the resources out there here - [http://yauh.de/articles/376/best-learning- resources-for-mete...](http://yauh.de/articles/376/best-learning-resources- for-meteorjs)

<comment><AUTHOR> Hey! Thanks. Would you recommend Meteor to make real-time multi page web app?

<comment><USER2> Sure. Chris Mather did a screencast on building a multi page web app with Meteor - [http://www.eventedmind.com/posts/meteor-build-a-multi- page-a...](http://www.eventedmind.com/posts/meteor-build-a-multi-page-app)</comment></comment></comment>