IBM's Watson will be used to make decisions about cancer care in 14 hospitals - <AUTHOR> http://www.bbc.co.uk/news/technology-32607688

<comment><USER2> Everyone here has got the wrong idea about what Watson is doing here.

It maybe doing sequence analysis, but I've never seen anything about that before.

The real strength is the journal article reading mentioned in passing. What it does is read studies on new treatment options as they are released, and then when a person presents symptoms it will do a diagnosis and suggest treatment options along with supporting evidence.

The natural language understanding needed to do the journal understanding is the real unique offering here.

There are videos on YouTube showing the system. I'm on mobile so I'm not looking them up now.

<comment><USER3>
      Everyone here has got the wrong idea about what Watson is doing here.

That would be because the article is very misleading, and without some background in the field, can you blame people for thinking that?

Take for instance this paragraph:

      However the process is very time-consuming - a single patient's
      genome represents more than 100 gigabytes of data - and this needs
      to be combined with other medical records, journal studies and
      information about clinical trials.

      What would take a clinician weeks to analyse can be completed by
      Watson in only a few minutes.

The first section seems to imply that the sequencing data and the analysis data are the same thing, which they aren't.

As for the second section, it is simply not true. Clinicians only intervene at certain points in the process, and their work for a single patient certainly does not take "weeks", however the whole process does. But Watson would not cover the whole process, despite the impression being given.

It is just shoddy reporting, taking shortcuts in the wrong places. What saddens me is that the general public will take the article at face value and expect their caretakers to live up to this fiction.

Also, please see my other comment for more details, in particular about the job Watson is actually supposed to be taking care of: [https://news.ycombinator.com/item?id=9501912](https://news.ycombinator.com/item?id=9501912)

<comment><USER2> Yes, I agree the report was pretty bad.

</comment></comment></comment><comment><USER4> This is like using a sledgehammer to put up pictures. You simply do not need the kind of parallel compute grunt something like watson can provide to do correlation analysis as they describe. You could cobble this together in {dirty secret scripting language of choice} and run it on your laptop.

This is a PR piece - not the article, the activity - to bring forth the idea of computers making decisions about healthcare, based on metrics - not humans, based on metrics _and compassion_.

The cynic in me sees this as setting a disquieting precedent in the direction of healthcare being distributed according not only to patients prospects and treatment needs, but other factors which a financially liable party, say an insurer, would be interested in - such as the earning potential of the patient.

I'm pretty sure there was a Star Trek episode about this.

<comment><USER5> I've worked in the area of clinical genomics using whole genome sequencing. Your statement is unfortunately untrue though it perhaps could be if tools were better written.

While it is easy enough to analyze a single genome on your laptop most current popular analytical tools simply fall over when you start looking at hundreds of genomes on even a large server. Even basic stuff like combining multiple genomes into one file with consistent naming of variants can take entirely ridiculous multi terabyte amounts of ram because the tools to do so just weren't written with this scale in mind.

Most of these tools could (and should) be rewritten to do things without loading the whole data set in memory and work natively in a cluster of commodity clusters. There is some resistance to this of course because scientists prefer to use the published and established methods and often feel new methods need to be published and peer reviewed etc.

Until new tools are written and widely adopted to a large shared memory machine is a bandaid many hospitals and research seam eager to adopt.

<comment><USER6> What hard evidence is there that genomics is relevant to cancer treatment, as proven by survival rates? Color me skeptical.

<comment><USER7> You are right to say this. I treat breast cancer, and I'm doing a PhD on breast cancer genomics, and there is no evidence that high throughput data of any kind, whether it is genomics, transcriptomics, epigenomics, proteomics, metabolomics etc-omics actually helps patients. At the moment, a small panel of biomarkers using technology that is at least 20 years old is all we use to make treatment decisions. Is it adequate? Certainly not, but there is a HUGE amount of carefully collected data in many thousands of patients backing it up.

Not sure who is downvoting you, but they seem to have swallowed the hype wholesale. At the risk of sounding gratuitously negative, I find the discussion of medicine on HN to be of very poor quality, markedly below the general standard.

<comment><USER8> I think there is a distinction to be made here in questioning patient outcomes and questioning the relevance of genomic sequencing in treatment decisions.

Don't you think it is fair to say that high throughput data (whole genome sequencing with variant calling) is still in a state of being evaluated to measure its effectiveness in aiding the treatment decision process but that _early_ results seems to lean towards it becoming part of the standard diagnostic approach?

Genomic sequencing and patient outcomes is a thornier question. My non- practitioner take is that it is too early to tell scientifically, but that there will probably be some benefit to early identification of specific cancer types and choosing treatment. But I think many people would have made a similar statement about mammography and early detection, and absolute mortality appears to not be reduced by adding mammography to the diagnostic procedures, right?

The research value of genomic sequencing seems high enough to make it worthwhile. At least, when I sit in on molecular tumor board reviews (the oncologists at a table looking at called variant results for a specific patient), I hear them commenting about possibly new and unknown variants being of research value.

I am really looking forward to your reply - Internet message boards in general have to be almost the worst way to discuss medicine, but having participation from researchers and practioners like you is tremendously illuminating!

<comment><USER7> I define genomics as the unbiased interrogation of the genome using high throughput technology. Sequencing one mutant locus using Sanger sequencing does not fall under this definition - I don't think IBM's business model is using Watson to interpret that. So when other people point out that HER2 is a useful genomic marker they are missing the point - HER2 can be determined with immunohistochemistry for example which has been around for 50 years.

I'm not sure what your question is... genomics has research value, for sure, it's great. Is it worth trying to incorporate it into routine care? Yes, probably, if you have enough cash. Should a hospital pay for a black box machine learning algorithm to make recommendations from a highly polluted, often erroneous and hugely incomplete literature corpus? The alternative put forward by people actually doing the science is that we should try and develop large open source databases/repositories about the significance of genomic findings, and then collect the data about what happens to the patients.

</comment></comment></comment></comment></comment></comment><comment><USER9> I have a daughter with Nephroblastomatosis, a super rare kind of kidney cancer that often lasts for years before just naturally going away (no one knows why), and dealing with the treatment options is agonizing.

For example, she's been on 3 different kinds of chemotherapy for 12+ months. 2 of the chemotherapy drugs don't seem to do anything. The 3rd kind seemed to result in an immediate reduction of the nephroblastomatosis, but unfortunately this chemo drug is very harmful to your body and there is a limit to how much of the drug you can receive. Now, she is not on chemo anymore.

Every 1.5 months we go in for a checkup, alternating between an MRI and sonogram.

2 times they have found "spots" on her kidneys. But, what to do about them? Additional chemo? Surgery? Wait and see? This is what I want a computer to tell me. What are the risks of surgery? What are the risks of losing more of your kidney? What are the risks of additional chemo? What are the risks of doing nothing? I would rather a computer had this information and gave its recommendation, rather than a group of doctors and us, the parents. We would be using the same logic in our decision, so it seems like the computer could do it more accurately and with zero bias.

I welcome Watson into our health care system. Anything that takes some of the agony out of very very difficult treatment decisions will be a good thing.

</comment><comment><USER10> I wonder if the Jeopardy appearances helped Watson (by getting the name out) or hindered it (by making people think it's just a parlor trick). Either way, this is seriously fascinating: I'm excited to see what other applications it has.

<comment><USER11> People aren't stupid, and if it was a parlour trick it was an exceptionally well-executed on. People, even those who don't have a grasp on the computational complexity of language and reasoning, seem legitimately impressed by the performance.

<comment><USER12> Yes, and it was a real research collaboration - a brilliant insight - to see that the Jeopardy language was constrained and tractable to analysis that would allow a mapping to a solver.

I have not been involved in these efforts or the community closely enough to say, but I think that things like controlled english

[http://en.wikipedia.org/wiki/Attempto_Controlled_English](http://en.wikipedia.org/wiki/Attempto_Controlled_English)

and

[http://web.eecs.umich.edu/~soar/sitemaker/docs/pubs/Interact...](http://web.eecs.umich.edu/~soar/sitemaker/docs/pubs/Interactive_task_learning_for_simple_games.pdf)

may have been inspired by the success of Watson in Jeopardy.

On the other hand I was running a question answering question when Watson started, and the PI said to me "oh yeah, but that's cheating..."

And on the third hand we stopped and closed that project pretty well six months later.

So - there's a lot to think about!

</comment></comment></comment><comment><USER3> The (very rough) process with next-gen sequencing is as follows:

      1. one or more samples are taken from the patient (tumor/normal, peripheral blood, bone marrow, etc.)
      2. the samples are sequenced, this can take different forms, involve different processes, but basically, specific sections of the genome are extracted, amplified, then turned into digital data
      3. the data is aligned to a reference genome
      4. the aligned data is scanned for variants (mutations), often in specific genes, and even specific sites of certain genes. This again involves different methods often used in combination
      5. the variants are partially filtered out automatically (poor quality, bad reads, spurious, synonymous, etc.)
      6. the remaining variants are then reviewed manually, relying on academic papers and historical data
      7. what remains is reviewed again, taking the patient's history into account, and potential targeted treatments are inferred
      8. the patient and his/her doctor make the final decision

So from what I understand, even in an optimal scenario, Watson would be taking care of steps 6 and 7, which represent maybe 15% of the overall time. I believe the article presented here is rather misleading in this regard, as it seems to suggest that Watson would be taking care of the actual sequencing too.

Additionally, I imagine that in most cases some humans would still need to review Watson's data.

What the article doesn't mention either is access to the actual patient data, which in itself is a political and operational problem, not so much a technical one.

Finally, I imagine Watson would infer the individual variant diagnoses from papers, which again, is far easier said than done (though I do believe that would be the point where Watson shines most). Parsing papers reliably for usable data is really, really hard, in no small part because the academic system is antiquated, as are paper formats. Even if you manage that, you still have to figure out whether the papers in question, or their authors, are actually reliable sources. And even then, you will likely end up with conflicting interpretations which will need to be sorted out.

So while a nice fluff piece for IBM, I have serious doubts about the actually meaningful benefits Watson supposedly brings to the table.

To be clear, I do believe that AI/ML can and do really help, and contrarily to what the article might want you to believe, people are already working with/on it. However making Watson look like it will solve all the current problems with cancer care is disingenuous at best.

<comment><USER13> I agree with your guess that Watson covers 6/7\. From the clinical geneticists I've talked to, variants of unknown significance (where a person differences from the reference, the impact of the difference) are investigated manually through literature searches- often just basic text matches on the variant name.

Regarding paper parsing: there are companies that employ hundreds of PhDs that read papers all day long and enter the data into a database based on ontology (Ingenuity). IBM would license that database and use it as a prior.

</comment></comment><comment><USER14> Would be interesting to see what kind of liability this could open them up to. It had thought that Toronto was a US city, for example.

<comment><USER15> I imagine there are some renowned physicians in Europe and Asia who also don't know that Toronto is a Canadian city. Or other arbitrary pieces of trivia for that matter. It doesn't stop them from being successful at their job.

Conversely, knowing which city has airports named after a WWII lieutenant and a WWII battle doesn't protect from malpractice.

</comment></comment><comment><USER16> More accurately it will be used as a diagnostic advisor.

</comment><comment><USER17> About this prediction:

 _" in the future, every decision mankind makes, every decision, is going to be informed by a cognitive system like Watson and, as a result, our lives in this world are going to be better for it."_

well if by "better" you mean "more machine-like and regulated like animals in a zoo".

This is already somewhat true of consumer credit reports, and now this: [http://www.ibtimes.com/china-use-big-data-rate-citizens- new-...](http://www.ibtimes.com/china-use-big-data-rate-citizens-new-social- credit-system-1898711)

<comment><USER18> Just train/program the AI to be more empathetic. :)

</comment></comment><comment><USER19> This is more of a research PR piece than anything.

<comment><USER20> For certain tasks, AI has long been more accurate than doctors. But it isn't used because doctors and patients don't trust it. So perhaps PR is exactly the missing piece of the puzzle.

<comment><USER21> Not trying to doubt you, but can you tell me in what tasks Ai has been more accurate than doctos?

<comment><USER22> The paper "Algorithm Aversion: People Erroneously Avoid Algorithms After Seeing Them Err" [1] has references to examples.

> _Dawes subsequently gathered a large body of evidence showing that human > experts did not perform as well as simple linear models at clinical > diagnosis, forecasting graduate students' success, and other prediction > tasks (Dawes, 1979; Dawes, Faust, & Meehl, 1989)._

Given that a majority of people (and doctors) fail even the simplest probabilistic reasoning tests, this is not _particularly_ surprising. [2]

> _We know from several studies that physicians, college students (Eddy, > 1982), and staff at Harvard Medical School (Casscells, Schoenberger, & > Grayboys, 1978) all have equally great difficulties with this and similar > medical disease problems. For instance, Eddy (1982) reported that 95 out of > 100 physicians estimated the posterior probability p(cancer|positive) to be > between 70% and 80%, rather than 7.8%_

1: [http://opim.wharton.upenn.edu/risk/library/WPAF201410-Algort...](http://opim.wharton.upenn.edu/risk/library/WPAF201410-AlgorthimAversion- Dietvorst-Simmons-Massey.pdf)

2: [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.128...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.128.3201&rep=rep1&type=pdf)

</comment></comment></comment></comment><comment><USER23> A doctor (internist in primary care) friend told me once how he was glad he wasn't a heart surgeon (of some specialty that I don't recall). He said that surgeon in that specialty simply does one type of surgery all the time, as ordered by some other doctors. As far as he could tell, that surgeon did not have to do much mental work, but was rather like a technician.

I wonder when work of doctor (diagnosing a disease) will be handled by a computer. I'd say in 100 years?

<comment><USER24> We can do diagnosis now. All that is needed is a medical nurse to take symptoms and run them through Watson to get a diagnosis. The idea is that people in poor/remote regions could do this whole process themselves, with the help of a mobile phone and some medical sensors. There are already regions where it would be more beneficial to run with the current medial AI rather than leave things as they are.

</comment></comment><comment><USER25> Wouldn't work here in the UK. Watson: "I see you have cancer x - there are three effective drugs for that, but NICE has decided not to pay for them" Patient: "Fucking NHS bean counting cunts" Watson: "Indeed. Now, I have calculated it will cost the NHS a few pennies more between now and your death, what with the doctor, hospital, and terminal care, not to mention the endless drugs and things we will spend to slowly let you die." Patient: "I see, it's like the NHS doesn't have a scoody doo what they are actually doing, how things are spent." Watson: "Indeed".</comment>


Running CUDA on Raspberry Pi - <AUTHOR> http://www.zillians.com/running-cuda-on-raspberry-pi/ World's first CUDA application running on Raspberry Pi (or any other ARMv6/7 boards) through transparent virtual GPU emulation <comment><USER2> Sure are a suspicious number of very new commenters here making their first comment ever.

<comment><USER3> How do we know you didn't create your account 900 odd days ago just to post this?

<comment><AUTHOR> I am a loyal reader of HN for years and I just want to share with you some work we've done....

<comment><USER3> I didn't mean you! I meant MoreMoschops, twas only a joke ;)

</comment></comment></comment></comment><comment><USER4> This is quite interesting, though keep in mind that the RPi is talking to another machine to do its GPU computations. There are actually combination Nvidia GPU & ARM board like SECO's CARMA DevKit (<http://shop.seco.com/carma- devkit.html>) Which will actually run CUDA locally with out virtualization

<comment><USER5> So.. it's just a publicity stunt? If it's not actually using the graphics hardware on-chip then there's nothing special about it that's relevant to the raspberry pi. Apparently there exists software that can give you virtual gpu's, that's cool enough news for me, a bit weird that they market it through the pi.

<comment><USER4> its likely for publicity, especially with Nvidia's GTC coming up next week

</comment></comment></comment><comment><USER6> Amazing, Raspberry Pi has been applied for many areas, however, it has computation limitation.

Now, it looks like GPU Virtualization has broken the barrier, and make a big move to the new world of Raspberry Pi.

</comment><comment><AUTHOR> Any idea how this can be useful for the Raspberry Pi or GPU community?

<comment><USER7> You should have been honest in your presentation and openly stated that not a single line of GPU code runs on the Pi.

<comment><AUTHOR> I see. I will make it clearer.

</comment></comment></comment><comment><USER8> Awww. I can't even load the text without javascript.

</comment><comment><USER9> Bitcoin mining?

<comment><USER7> This doesn't run anything important on the Pi. The only thing running there is a client that dispatches calculation jobs to some server with nvidia GPUs somewhere is the network.

It is a stupid and deceptive publicity stunt.

<comment><AUTHOR> You're right. GPU on any ARM SoC will never run full-fledge CUDA code (except Maxwell I guess), but the benefit of dynamic GPU resource allocation is still useful if we believe computing resource should be as flexible as storage in cloud environment

</comment></comment></comment><comment><USER10> This looks really cool!</comment>


Easter Egg Marketing: How Snapchat, Apple, and Google Hook You - <AUTHOR> http://ryanhoover.me/post/61589418787/easter-egg-marketing-how-snapchat-apple-and-google

<comment><USER2> A couple were true easter eggs, but I'd call putting a pink mustache on your car more of a generic marketing stunt than an "easter egg."

</comment><comment><USER3> > _" The nature of Easter eggs is an oxymoron. Why would Snapchat or any other > product hide functionality..."_

I'm not sure what word was intended there, but it wasn't _oxymoron_. Perhaps the writer meant to say the nature of Easter eggs _seems confusing_?</comment>


Why James Baldwin Still Matters - <AUTHOR> http://www.vanityfair.com/culture/2016/04/why-james-baldwin-still-matters <comment><USER2> I recently read my first two Baldwin books (Go Tell It On The Mountain and The Fire Next Time) and in both cases I was blown away by the completeness of his treatment of racism at a time when black people were fighting for much more basic civil rights.

I also recently read some of the popular modern books about race in America (Between The World and Me, The New Jim Crow, etc) and I found Baldwin just as essential to understanding the world in 2016. Particularly with 'The Fire Next Time', I felt the book achieved its goals perfectly.

<comment><USER3> I haven't read Baldwin, so maybe this comment sells him short, but virtually every time I venture to read pieces american literature written by black people, be it Malcolm X's autobiography, or Invisible Man by Ralph Ellison, or Martin Luther King's writings such as "Letter from a Birmingham Jail", or any book about the Black Panthers, I come away with the impression that media as a whole somehow really undersells and sanitizes the depth of the struggle and the imagination of their leaders in a way similar to Thanksgiving Dinners.

Every single one of those people was saying things back in their day that are still relevant today, in a way that feels indicting of the progress made thus far.

<comment><USER4> The Fire Next Time still exactly describes the experience of black America as far as I can tell. I think, actually, we went backwards in many ways, from where we were in the 70s and 80s.

</comment></comment></comment><comment><USER5> There's a really interesting debate between Baldwin and William Buckley up on youtube. Riviting stuff: [https://www.youtube.com/watch?v=oFeoS41xe7w](https://www.youtube.com/watch?v=oFeoS41xe7w)

<comment><USER6> Wow, knowing nothing about Baldwin until just now I did not expect it to be _that_ good; I don't think I have ever seen such an amazing and convincing speech. Naturally, I searched the internet to learn more about it, found this essay:

[https://www.insidehighered.com/blogs/education-oronte- churm/...](https://www.insidehighered.com/blogs/education-oronte-churm/why- james-baldwin-beat-william-f-buckley-debate-540-160#sthash.yIMydUUV.dpbs)

</comment></comment><comment><USER7> His writing is gold but most impressively his boldness in the Era he lived in.

<comment><USER8> Did you create an account just to post this ;)?

<comment><USER9> perhaps he or she was _inspired_ to create an account by this submission!

</comment></comment></comment><comment><USER10> The Fire Next Time - a book everyone should make time for. Short. Brilliant. Until I read I never grasped the utter lack of integrity in the world around me.

</comment><comment><USER11> Huge fan of Baldwin but this is a strangely titled piece. It's mostly reminiscences of what Baldwin meant to the author personally.</comment>


Three Decades Later, Mystery Numbers Explained - <AUTHOR> https://www.quantamagazine.org/three-decades-later-mystery-numbers-explained-20180503/ <comment><USER2> It's nice to see "tropical geometry" get a mention. This is closely related to Dijkstra's algorithm, min-sum message passing, etc.

<comment><USER3> I came here to ask if "tropical geometry" was really a thing or just a typo. Thanks for confirming it's an actual thing.

<comment><USER4> It's a real thing: [https://en.wikipedia.org/wiki/Tropical_geometry](https://en.wikipedia.org/wiki/Tropical_geometry)

</comment></comment></comment><comment><USER5> I didn't understand much beyond what zeta values are, but have to say that that illustration opening the article is awesome.

</comment><comment><USER6> If you get a 404 on the link (like I did), click on Mathematics at the top, then on the article.</comment>


Ever worked on a low-code platform to develop a web app? - <AUTHOR> As a professional web app developer who develops apps using front-end frameworks such as React, Angular, Vue and back-end frameworks such as Node.js, Spring Boot, and .NET Core, have you ever been asked to work on a proprietary low-code platform? If so, how was the experience like? What were your concerns? <comment><USER2> I worked years for a Dilbert boss who didn't know the meaning behind the saying "A little knowledge is a dangerous thing". He didn't let me code anything he couldn't understand and often rewrote my code into spaghetti. What I learned was that he wasn't anything special as a boss/founder and neither was I as a programmer. I left the company and didn't look back.

What you should look for in an employer is some one who does his job and lets you do your job with the same autonomy. What you should look for in a job is something you can automate easily away and move on to the next job, which may or may not be at the same company.

Eventually you'll find where you want to be, at the level you want to be, and with whom you enjoy working--maybe not even as a programmer. I used to think programming was an art, but it isn't, it's a means to and end. If low-code isn't the level you want to work at, then don't do it. I told my ex-boss "No" plenty of times and you're a professional whom has the power to do so as well. In the land of the blind, the one eye man is king.

</comment><comment><USER3> As an ASP.NET Core dev, I was asked to work on Oracle APEX recently. It was a great experience compared to those Oracle Forms days. I can literally spin up a simple CRUD app up 15 mins, rather than dealing with usual lifecycle of a web app. It is great for small apps and teams, given the lack of unit testing and the ability to tweak performance.

On the other hand, I've seen massive ERP apps built off of APEX and its mind blowing how far they can stretch this platform.

<comment><AUTHOR> Would you ever consider working on Oracle APEX full-time or do you consider that a career limiting move?

<comment><USER3> Maybe... I would definitely consider working on APEX full time if I was older and wanted a stable job where I can just punch in 8 hours and move on with other goals in life. As of right now I do want to play with the "cool toys" such as the Javascript ecosystem.

I wouldn't say the it is a career limiting move. You'll be dealing with PL/SQL 90% of the time when working on APEX apps. This can easily translate to other positions in the database field.

</comment></comment></comment><comment><USER4> I haven't been ever asked, neither can I imagine a situation where it would make sense for a professional dev.

low/no code is geared towards a. business "power" users b. highly template driven mass developments (in which case, I'd wonder why a professional dev. will stick around for long)

<comment><AUTHOR> Yup, that's what I thought, but I have been hearing of late of situations where professional developers are being asked to work on proprietary low-code (not no-code) platforms such as OutSystems, Mendix, and others. Therefore, I was curious to how much of this is true.

</comment></comment><comment><USER5> Not proprietary, but I chose Bubble.io for creating a prototype of our current product.

The visual programming makes development and discussions very fast and useful. I feel it is a good way to vet and validate an idea before investing resources on a traditional build.

<comment><AUTHOR> When you built the real product, which stack did you use?

<comment><USER5> Still building ... mostly MEAN stack for the app with analytics layer using Python</comment></comment></comment>


Git vs. professionalism - <AUTHOR> http://apenwarr.ca/log/?m=201012#22 <comment><USER2> DragonFly uses git: <http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=summary>

</comment><comment><USER3> TLA is mildly interesting, but the "redo" entry is above-average interesting, as is the blog as a whole based on the 10 mins I spent reading it.

Thanks: good link.

<comment><USER4> redo was submitted here <http://news.ycombinator.com/item?id=2004003> with a pretty lively discussion.

<comment><USER3> I suspected as much, but thank you for finding and posting the link.</comment></comment></comment>


Ask HN: How does Google uses the Go Programming Language?  - <AUTHOR>

How does google use the go programming language? Is there any other organisation or startup using Go for any considerable software? Can I expect a large growth of the language, in terms of industry in 5 years? <comment><USER2> For instance the golang.org website is running on Go: [http://golang.org/doc/go_faq.html#Is_Google_using_go_interna...](http://golang.org/doc/go_faq.html#Is_Google_using_go_internally)

Google open sourced vitess for scaling out and coordinating (sharding + replication, schema rollouts) mysql databases, it seems they use it internally: <http://code.google.com/p/vitess/>

P.S. Other organizations using Go: <http://go-lang.cat-v.org/organizations- using-go>

<comment><AUTHOR> Good to hear that. Vitess seems quite large. I think, maybe, they use it for other large internal stuff too.

PS your ps is a great link... Is it complete?

</comment></comment><comment><USER3> I believe yes.

\- programmers create new open source libraries for Go; \- language got 1.0 version so it can be considered by enterprises for production; \- programmers write articles about it so we have some buzz around it; \- community grows with a set of books about Go.

So I think the overall popularity will grow.

It would be nice for Golang site to have some section about "companies using Go...".

<comment><AUTHOR> Yeah, I would like to see that section(like python's site has!)..

</comment></comment><comment><USER4> cloudflare.com uses go in production. <http://blog.cloudflare.com/go-at- cloudflare>

<comment><USER5> This is just the first of many projects CloudFlare has in the works being built with Go and is looking for more developers interested in Go.

</comment></comment><comment><USER6> Soundcloud uses go.

<comment><AUTHOR> how?</comment></comment>


What is the best way to learn development on Android Platform? - <AUTHOR>

I am a web developer and have never developed any mobile application. I want to learn mobile application development on Android Platform. What is the best approach to learn android development? Also any good books or reference site will be helpful. <comment><USER2> There are tons of resource on Youtube. Search "Programming Android" and you will find good videos.

From a high level view, what you ideally like to do 1\. Learn how to setup dev. environment 2\. Learn what are activities and actions 3\. Learn basic UI elements (buttons,radios) 4\. Learn advanced UI elements and how to customize them (listviews) 5\. Learn about Location Manager, Audio

This would be good starting point. You can use Professional Android 2 book for reference. Keep on creating more apps, use stackoverflow. I used to all the time when I was getting weired bugs.

</comment><comment><USER3> Learn a bit of Java first if you don't know it. Try thenewboston's tutorials on youtube. You can also find some Android tutorials on youtube.

Also go to anddev.org, androidsnippets.com and p-xr.com for code snippets.

I prefer learning with the video tutorials a lot more. It's too bad there aren't too many of them right now, but you can find a couple of decent series on Youtube. Do the projects in the same time with them. There are also several books for beginners. Just google top android books for beginners, or something like that.

</comment><comment><USER4> Start here! - [http://developer.android.com/resources/tutorials/hello- world...](http://developer.android.com/resources/tutorials/hello-world.html)

</comment><comment><USER5> Don't rule out just writing a mobile web app - then you get Android and iPhone. jquery mobile + phonegap are your friends!</comment>


Local Lucene - <AUTHOR> http://www.nsshutdown.com/projects/lucene/whitepaper/locallucene_v2.html

<comment><USER2> I implemented this a while back and it worked pretty well after a few stumbles. If you have any questions trying to set it up feel free to contact me firstname.lastname@example.com

<comment><AUTHOR> I would be playing around with such stuff soon, seems like similar features have been added under lucene/contrib-spatial. Nice to find someone who sailed in the same boat :)

<comment><USER2> Yea - I came in without a strong Solr/Lucene background so had to learn on the fly. I also needed to tie the data import with a MySQL database so ended up running into some issues with that - mostly having to do with the additional types that the Local Lucene package required.

</comment></comment></comment><comment><USER3> "It's almost like I'm famous" - Patrick O'Leary, upon seeing his project on Hacker News.</comment>


Internal Applications: When Semantic Versioning Doesn't Make Sense - <AUTHOR> https://davehall.com.au/blog/dave/2016/01/19/internal-applications-when-semantic-versioning-doesnt-make-sense <comment><USER2> This article seems to miss the point of SemVer. Quoting the spec: "1\. Software using Semantic Versioning MUST declare a public API." If one is talking about a website or a GUI application, SemVer doesn't apply in the first place.

After all, the point of the thing is to solve dependency hell - it's only meaningful for things that other code can declare dependencies against.

<comment><AUTHOR> You're right, I should've quoted that in the article. My post is a reworked version of my arguments against a client's proposal to implement SemVer for everything.

I was able to convince them not to use it for what were defined as internal apps in my proposal.

</comment></comment><comment><USER3> Inside an organization, separate repos and versions can simply be unnecessary overhead. As long as you can have an edict from above that 'thou shall not break the build or its tests for you or your dependants; the punishment is immediate rollback', empower some people to enforce this, and have plenty of automated tests, distinct repos and versions are silly, unnecessary and massively inessential overhead.

But if you don't have that balkanization is a reasonable option.

</comment><comment><USER4> Versioning makes all the difference in the world when you're trying to do microservices.

This is what makes microservices hard, and this is the unforeseen friction that kicks people in the ass.

<comment><AUTHOR> Absolutely. In the article I discuss how important it is to version your endpoints.

</comment></comment><comment><USER5> A scheme I settled on a previous job that I really liked for internal apps was:

 _branch-buildno_

Where branch is the git branch, and buildno came from our build machine (Jenkins in our case).

examples:

* _develop-5_

* _master-10_

I then used this ivy-based project: [https://github.com/sethcall/depends](https://github.com/sethcall/depends) to push those dependencies to our own internal artifact repository.

Because of this, I could say, 'use the latest artifact on the develop branch', or, I could say 'use exactly master-103'. Those two alone were pretty powerful.

By the way, I asked Maven devs if this would numbering scheme would possible (at the time, I would have happily used Maven instead of Ivy because I had to build some tooling to use Ivy); they were strongly against the idea: [http://maven.40175.n5.nabble.com/Is-it-possible-to-tie- curre...](http://maven.40175.n5.nabble.com/Is-it-possible-to-tie-current-git- branch-to-project-version-td5543110.html)

</comment><comment><USER6> I guess it depends how much quality control you want to implement. Author seems to be suggesting next to zero user acceptance testing, which is probably fine for small applications.

<comment><AUTHOR> I'm sorry you were left with the impression that I was advocating little or no quality control. I believe in quite the opposite, but I don't think someone should need to conduct manual testing and sign off at the end of the process.

Human testing should occur during development. Users should play with prototypes and provide feedback, humans should help define automated acceptance tests. A machine should run the tests and throw the code over the wall, people are no longer needed for that.</comment></comment>


Show HN: hr.js - Build large client-side applications in a structured way - <AUTHOR> http://friendcode.github.io/hr.js/ <comment><USER2> It feels a lot like Backbone.js. However when building a large application with Backbone, by time lots of things need to be added on top of it: i18n, caching, paged loading of collections, queues...

Looks like hr.js includes most of these things out of the box and is built in a modular way with AMD modules (no more framework in one single file like Backbone). It looks like an amazing piece of work.

That being said, I have a couple of questions.

1) Why was this not build on top of Backbone.js? This way it could benefit of a battle tested codebase used in many production systems and the Backbone apps out there could immediately benefit from the added features by just adding a few new modules (instead of rewriting to use this framework). Many core parts look very similar to Backbone, at least Models, Views and Router/History, with useful extensions on top.

2) Why is the build tool not a separate project? While the framework looks useful, I don't want to switch to a new toolchain to be able to use it. Many people already have some preferred way of building their apps, be it Grunt, GNU Make, r.js optimizer, a combination of those or something different. A specialized build tool can add value to the framework (e.g. sensible defaults), but IMHO the framework should no have a lock-in to any particular build tool. Provide the build tool as a separate project, but let people also use whatever they like. This is the beauty of using standardized module systems such as AMD.

EDIT: Looks like you answered my first question in another thread, while I was writing this and Backbone core not being modular is a good argument to break apart from it. The second question still is open, though. Why not take modularity even further and separate the framework and build tool?

<comment><AUTHOR> To answer your second question: First of all, hr.js build process can be integrated in another node.js process using "var hr = require('hr.js')", so you can still use Grunt (or others).

But we built HappyRhino to really simplify the creation of client-side application that can scale (modular, optimized, ...), and it seemed important for us, for having some consistency, we needed to built together the framework and the build tool. The build tool brings a lot to the client framework (a very simple example: caching uses revision number given by the build process).

But I really understand all the advantages of having build tool as a separate project. I have to think more about all of this before giving you more elements.

(Sorry for my english)

</comment></comment><comment><USER3> As with most new js frameworks, the first thing I'd like to see in the docs is a comparison with similar popular frameworks, and a brief description of what makes this one different and better.

<comment><USER4> Actually, we know that these types of frameworks are not created in the dark. Instead of a comparison, I'd like to see what elements of Backbone.js, AngularJS, KnockoutJS, etc. this framework developer chose to mash up.

We don't need comparisons. We need to see evolution. It's like the transitional species problem. We can always discover a startling fossil and [compare] them with the rest of our findings, but I believe we need to get better at understanding if we are seeing something [new].

<comment><AUTHOR> Hr is like a backbone-on-steroids, it uses the same code structure: models/collections/views but also brings a base structure and a build system for the application using require.js, less, etc.

The build system brings more consistency to the application: dev or prod mode, code optimization, resources management, logging, caching, etc.

The concepts inherited from Backbone are also evolved: \- models are not just key->value (models in Hr could be really complex) \- joints between models \- views can used templates and sub-components \- better events management for classes \- and a lot more

(Sorry for my english, I'm french)

<comment><USER5> What I really like is that hr.js isn't built on Backbone, it rather is highly- inspired by it. That's a BIG advantage over things like Marionette/Chaplin/etc, because Backbone has certain holes/assumptions (see my comment elsewhere) which cannot be completely negated in an elegant/simple way, or even at all. Overriding the heck out of everything, or adding a gazillion new classes/sub-classes, or tossing the original component is not simple and elegant when done on a grand scale, imho.

This is to say that hr.js seems to be offering more out-of-the-box solutions and flexibility than Marionette/Chaplin/etc, while being a lot cleaner and more straightforward as well. Good on you hr.js :)

<comment><AUTHOR> Before building HappyRhino, I tried a lot to improve Backbone because we were using it for building FriendCode (friendco.de) but the code base of Backbone is really not modular and hard to extend (the all backbone code is in one unique file, model/view/collection don't inherit from a "class", etc...)

<comment><USER4> Yes, I ran into this problem as well when building the first version (0.0.1) of ePantry (epantry.com).

I had a 3,000 line CoffeeScript file with 5-6 Backbone Models, matching Collections, things called "MicroViews" and "AdHocViews". It got heavy really fast.

Thankfully I am a vim'er. But I'm not sure if my use of vim engendered this or was the effect of all of Backbone's lack of modularity. Then again, there's the ultimate question of: What is a Module? (Is it material JS files or is it what is loved into the memory states of the Browser Application?)

</comment></comment></comment></comment></comment></comment><comment><USER6> Seems like this page could definitely benefit from some sort of Hello World. What are the primary components, and how do I run it? Perhaps it's not meant to be a simple library, so I'm not trying to say dumb it down. But is there a more digestible way to understand hr.js without having to read the full documentation?

I'd love to see comparisons (as said in another comment). I like the idea of a grown-up Backbone. I'd like to see if there are any smart view rendering optimizations (like Ember has).

<comment><AUTHOR> Yes... The best way to try it is to install it using "npm install hr.js -g" and to create an helloworld using: "hr.js new -d hello".

I'll work on improving the introduction of the documentation to add comparaisons with others frameworks.

Hr have a components-based rendering system: a view could be a component and component could be added directly from templates. [http://friendcode.github.io/hr.js/#/template/components](http://friendcode.github.io/hr.js/#/template/components)

</comment></comment><comment><USER7> This seems like a step in the right direction to me.

I was wondering about the flexibility of templating engine and CSS preprocessing. It seems like hr.js is using it's own templating engine, which is ok and also LESS as a CSS preprocessor.

Is there a way to use something like Handlebars, ejs,... or maybe switch to Stylus or SASS? (is it just a matter or defining a css compiler in the build configuration)

Great work, keep it up.

<comment><AUTHOR> You can use sass by defining another css compile in the build config (however I never tested with sass).

The templating engine is the templating engine from underscore.js.

Thank you

</comment></comment><comment><USER5> This looks really awesome - like a fully grown up Backbone.js! The nested/complex modeling, thoughtful subview handling, and ability to use backends other than rails/rest pretty much solves some of the biggest complaints against Backbone, while keeping the good parts. (Not to mention the other considerable niceties hr.js lists)

I may actually give this a shot for a project of mine.

<comment><AUTHOR> Thank you, let me know if you encounter any issue.

</comment></comment><comment><USER8> How is it going to scale, since it's using package-by-layer (as opposed to package-by-feature[1])? Most systems like that become highly annoying to work in with even a moderate amount of complexity.

1\. [http://www.javapractices.com/topic/TopicAction.do?Id=205](http://www.javapractices.com/topic/TopicAction.do?Id=205)

</comment><comment><USER9> Looks very interesting.

The only thing I couldn't find in the introduction was how hr.js interfaces with a backend for loading and storing models. Care to explain? One of my complaints against Backbone was that it tightly coupled models/collections to REST resources, which yoru framework seems not to do, and that's obviously a good thing.

</comment><comment><USER10> Of the number of comparisons drawn here, I'm rather surprised that this hasn't been compared to ember.</comment>


Coraid is downsizing, laying off 1,700 employees - <AUTHOR> http://www.theregister.co.uk/2015/01/15/coraid_struggling_say_sources/

<comment><AUTHOR> The Coraid CEO has gone on record about the financial troubles: [http://www.channelweb.co.uk/crn-uk/news/2390545/coraid- ceo-s...](http://www.channelweb.co.uk/crn-uk/news/2390545/coraid-ceo-speaks- out-over-financial-problems)</comment>


Ask HN: Where do you go for career advice? - non-entity I'm a very lost right now as to my career and a number of things surrounding it. I've tried r/cscareerquestions on Reddit and their discord, but it seems that it's mostly students with high hopes and I found myself lending more advice than receiving. I've also made posts on HN on the past asking specifics, but they rarely gain more any traction.<p>Is there any good places you know of for this stuff? I'm at a point right now in my life where I feel like I'm wasting. <comment><AUTHOR> I totally understand your frustration. I was happy to met a wonderful mentor in the early days of my career. I was expecting to hear mainly technical stuff, but instead he was talking about soft skills, empathy, lifestyle, communications and so on. Only few months later I've realized how actually important was all that stuff for my career.

So that's what I would recommend to you: find a good mentor who looks beyond hard skills. It's hard, but look for a fellow who is happy about their career :D.

Another thing I would highly recommend is to find an accountability partner or join a mastermind group. Those can be your peers who are interested in meeting from time to time and talk about career-related topics. You can discuss your goals and progress, work-related problems, and keep each other accountable. That helps a lot in actually making progress more than anything else.

Hope this is helpful. If you want to talk more about all these things, I'm always open to chat.

</comment><comment><USER2> Sounds like you've been looking for free career advice. That's an extremely important subject. Accordingly, quality advice for that subject is likely to cost you a small amount of money. If you get good advice, it will be the best money you've ever spent. If you're willing to spend less than $100 for the advice, you could try contacting this person:

[https://www.youtube.com/user/AaronClarey/videos](https://www.youtube.com/user/AaronClarey/videos) [https://www.patreon.com/AaronClarey](https://www.patreon.com/AaronClarey)

</comment><comment><USER3> Talk to a recruiter, reach out to a staffing agency, or occupational therapist.

Receiving career advice online isn't very useful unless you live in the bay area or know the credibility of the person giving advice. Odds are your local labor market has a completely different landscape with different skill requirements.</comment>


Joost Announces $45 million Funding - <AUTHOR> http://www.techcrunch.com/2007/05/09/6022/ <comment><USER2> Sequoia _has_ financed YouTube, but they don't own any of it anymore, right?</comment>


Intuition behind permutations and combinations (2016) - <AUTHOR> https://buildingvts.com/intuition-behind-permutations-and-combinations-db6ffa5272be <comment><USER2> I remember reading this excellent little book with very easy to understand explanations of some of the basics re. permutations and combinations, back in school:

"Mathematics of Choice: How to Count Without Counting" by Ivan Morton Niven

[https://www.amazon.com/Mathematics-Choice-New- Mathematical-L...](https://www.amazon.com/Mathematics-Choice-New-Mathematical- Library/dp/0883856158/ref=pd_cp_14_1?_encoding=UTF8&pd_rd_i=0883856158&pd_rd_r=NX2V9T7N5S5RHQ8K8ZFY&pd_rd_w=Swegj&pd_rd_wg=7p3Io&psc=1&refRID=NX2V9T7N5S5RHQ8K8ZFY)

</comment><comment><USER3> Why do we need this? What's wrong with good old "there are n ways to pick first element, n-1 ways to pick second, etc and then apply burnside to glue together things that we treat as identical"?

</comment><comment><USER4> Wow. very different and useful mental model to think combinations and permutations.</comment>


Examples for using socat - <AUTHOR> http://stuff.mit.edu/afs/sipb/machine/penguin-lust/src/socat-184.108.40.206/EXAMPLES <comment><USER2> I love socat one-liners. Here's a quick one that I've been using to image new machines (data volumes only; I prefer puppet/chef/ansible for installing my OS and configuring programs):

On the receiver, let's listen on an SSL socket and output the stream of data we receive to dd for writing to a partition:

socat openssl-listen:9999 | dd of=/dev/sdc1

Now on the sender, all we have to do is

dd if=/dev/sdb1 | socat - openssl:receivinghost:9999

And bam, /dev/sdb1 on the sender is imaged to /dev/sdc1 on the receiving host. Note that dd only knows to read what socat feeds it, so make sure nothing else is connecting to that socket or you'll get a weird image that fsck probably won't be able to save.

<comment><USER3> Depending on your available bandwidth, cpu etc. you may want to compress / uncompress inline. I just tried this locally:

sudo dd if=/dev/sda2 | bzip2 | pv | bunzip2 | dd of=/tmp/tmp

204800+0 records out 104857600 bytes (105 MB) copied, 23.1976 s, 4.5 MB/s

84.6MB 0:00:27 [3.02MB/s] 204800+0 records in

204800+0 records out 104857600 bytes (105 MB) copied, 28.0081 s, 3.7 MB/s

</comment></comment><comment><USER4> Added this to a gist - [https://gist.github.com/jcutrell/7165336](https://gist.github.com/jcutrell/7165336) \- might would be useful if someone could get this to the place where it's highlighting properly (me or anyone who wants to fork). I'd like to learn from this, but I don't really know where to start, so I figured taking it to a public-ish place might help that happen (if this isn't a good practice, someone please do let me know).

</comment><comment><USER5> Submitted link is outdated. Instead, rely on the official repo: [http://repo.or.cz/w/socat.git/blob/HEAD:/EXAMPLES](http://repo.or.cz/w/socat.git/blob/HEAD:/EXAMPLES)

Homepage: [http://www.dest- unreach.org/socat/doc/socat.html#EXAMPLES](http://www.dest- unreach.org/socat/doc/socat.html#EXAMPLES)</comment>


Lark – A REST interface for Redis - <AUTHOR> https://github.com/voidfiles/lark

<comment><USER2> This is just adding an extra layer between your data and redis, which defeats redis' purpose of being fast for particular use cases.

</comment><comment><USER3> How does this compare (use cases?) to Webdis?

[http://webd.is/](http://webd.is/)

<comment><AUTHOR> Webdis has more features right now. It has authentication, and it supports things like websockets. It's also written in C.

Lark is written in python and I would argue that Lark does a better job of meeting the expectations of what an API should be like supporting POSTs, and DELETEs.

It would also fit in well with an existing flask project. It has a blueprint that you can mount.

oAuth integration is planned, I am working on it right now. I also plan on making websockets work in the same manner as flask-sockets.

</comment></comment><comment><USER4> maybe i'm being a downer, but i feel like the latency of an HTTP request defeats the purpose of using redis in 99% of use cases.

</comment><comment><USER5> While this may be somewhat useful (particularly due to more fine-grained auth), I believe Redis is already being mostly-RESTful as REST is not about transporting data using HTTP. It's - going by Wikipedia list on REST constraitns - client-server (check), mostly stateless (check; states are only for pubsub and transactions), cacheable (uhm... partially), layered (check), and even has code-on-demand features.

<comment><USER6> This lark software isn't REST architectural style by the definition that matters (Fielding's).

[http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hyperte...](http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext- driven)

No REST without link relations; and fixed resource identifiers go contrary. Nearly all HN submissions that claim to be REST are not, personally I haven't seen a single one in 2013. That's a shame.

<comment><USER7> Could you provide a good example of a fully RESTful API? I've seen lots of comments on HN and other places saying "this is not REST", but I don't really recall one where people said "yep, this is REST."

I'd be curious to see what it should really look like.

<comment><USER8> > Could you provide a good example of a fully RESTful API?

HTTP/1.1 (Not a particular API built on top of it, but HTTP itself.)

</comment></comment></comment></comment><comment><USER9> what would the benefit of this instead of rolling out your own REST api on Flask?</comment>


All USENIX conference proceedings are now freely available to everyone - <AUTHOR> http://www.usenix.org/publications/library/proceedings/

<comment><USER2> Not sure if this is available here as well but I noticed the 2006 proceedings include Paul Graham's MP3 for "Hackers and Founders" session.

<http://www.usenix.org/events/usenix06/tech/mp3/graham.mp3></comment>


Purple Carrot - <AUTHOR> http://www.carrotmuseum.co.uk/maroon.html

<comment><AUTHOR> TL;DR the most interesting part

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--

The cultivated carrot is believed to originate from Afghanistan before the 900s, as this area is described as the primary centre of greatest carrot diversity (Mackevic 1929), Turkey being proposed as a secondary centre of origin (Banga 1963). _The first cultivated carrots exhibited purple or yellow roots._ Carrot cultivation spread to Spain in the 1100s via the Middle East and North Africa. In Europe, genetic improvement led to a wide variety of cultivars. _White and orange-coloured carrots were first described in Western Europe in the early 1600s._

...

Purple carrots are even higher in antioxidants than orange carrots, and they also possess anti-inflammatory properties. This could make them very useful in the treatment of arthritis. They have been found to be antiviral, antiseptic and antimicrobial, and they also contain anticarcinogens and betacarotenes. They also contain phytochemicals including carotenoids, polyacetylenes, isocoumarins, phenolics and sesquiterpenes. Phytochemicals have antioxidant, anti-bacterial, and other disease preventative and health enhancing properties.

Anticarcinogens help to reduce the risk of cancer and also help to fight against any already-present cancer cells in our bodies. Purple carrots are also excellent at fighting against viral as well as bacterial infections, such as flu, measles and internal infections of the urinary tract, mouth and stomach.

Purple carrots contain high doses of Vitamin A, which helps to prevent clogging of the arteries and thus helps to prevent strokes. Along with that, they also contain vitamin B, C and E as well as calcium pectate, which is a very good source of fibre, and they help to lower cholesterol levels. They are also very useful in the prevention of macular degeneration.

Studies into the health qualities of purple carrots have shown that they give us extra protection against various forms of cancer and heart disease. They contain purple pigments called anthocyanins, and act as anti-oxidants that protect the body.

There are up to 28 times more anthocyanins - the antioxidant that creates the purple-red pigment in blueberries and raspberries - in purple carrots than there are in orange ones.

</comment><comment><AUTHOR> Another related article:

[http://news.bbc.co.uk/2/hi/science/nature/1991768.stm](http://news.bbc.co.uk/2/hi/science/nature/1991768.stm)

There are even reports that as long ago as 2000 BC, temple drawings from Egypt show a plant believed to be a purple carrot.

It was not until the 17th Century that they turned orange, when patriotic Dutch growers favoured the colour - as used on the national flag.</comment>


Nested Labels in Gmail (finally) - <AUTHOR> http://gmailblog.blogspot.com/2010/04/new-in-labs-nested-labels-and-message.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+OfficialGmailBlog+%28Gmail+Blog%29 <comment><USER2> Now, where's my naïve bayes classifier to sort my mail automagically into those labels instead of writing a gazillion filter rules?

<comment><USER3> Fuck, I'd settle for just being able to reorder my filter rules!

</comment></comment><comment><USER4> Nested labels would fail eventually. Labels/tags were invented to avoid the awkwardness of a tree structure, I don't see the point of re-inventing a tree structure on top of labels.

<comment><USER5> At a conceptual level, a tree-structure of tags is just meta-tagging. You apply the "Family" tag to the "Kids" tag and the "Home" tag to the "Family" tag, and you now get that much more information out of applying the "Kids" tag and can filter more efficiently. (E.g. filter all "Home" tags out of a view, rather than itemizing each and every tag that you imagine falls under the idea of "Home stuff") The tree is then just a visualization of relationships and not a strict hierarchy.

I don't know if Google has implemented them this way (I'd like to hope so). But if they have not, it's not a failing of the _idea_.

<comment><USER6> Exactly so. This is why Delicious's "tag bundles" exist. (Bundles are tags for tags, but tagtags or whatever sounded stupid and confusing.)

</comment></comment></comment><comment><USER7> I tthought the gmail (heck, Google) way was to search, not sort? Of course, now you can do both -- but the danger is the more labels can be used like folders the less likely new users (coming from an Outlook world) will embrace the gmail way.

<comment><USER5> They'll come around. Outlook users already (try to) use search, because sorting alone never works. So they'll use Gmail search and over time come to see that it's so good, they'll just stop explicitly organizing.

I know I did. I was tagging everything when I started using Gmail. Now, I don't even bother.

This is one of those features you only add to make converts feel at-home.

</comment></comment><comment><USER8> Sweet. I've long held the belief that a good information manager should allow any folder to have multiple parent folders...thus allowing the user to store their information hierarchically, or labelly, or a mixture, depending on what is most natural for them.

As it happens, that's what I'm working on at the moment: a web-based information manager (notes, bookmarks, uploaded files etc), with nested labels + search as you type.

</comment><comment><USER6> wow. in 2004 delicious had hierarchical tags. x would retrieve things tagged as x, x/blah, etc. had to take it out for performance reasons, though.

<comment><USER9> We implemented hierarchical tags for our oil and gas search engine, having been inspired by delicious: <http://www.resourceplay.com>

Hierarchical tagging has tremendous practical utility for sifting through large volumes of data.

<comment><USER6> interesting site.

the "see who else viewed this well" thing seems creepy though.

<comment><USER9> ok. I removed that feature.

This is actually the second version of the same idea -- "an oil and gas search engine".

The first version was called "Hydrocarbon Search": <http://hydrocarbon.search.eser.org/>

By including delicious-like hierarchical tags, the second version became much more useful.

Problem was, there was no business model.

So, I'm working on the third version now -- its designed to run on the yet-to- be-released GPS-enabled iPad.

So, you can take it out into the field and have it tell you about nearby oil wells, seismic surveys, leaseholds, remote sensing data, surface linears, offshore oil and gas blocks (if you are on a boat, for example), etc...

It's going to be pretty sweet. The business model is to charge for each region seperately: north texas, west texas, east texas, colorado, offshore shallow gulf of mexico, offshore deep-water gulf of mexico, north sea, australia, etc...

And since the data changes daily, it will be a subscription service.

Hopefully, third time is a charm

</comment></comment></comment></comment><comment><USER10> It seems not to work with existing labels whose names contain a slash, even if you rename those labels. Also note that the parent label must exist, e.g. to have "people/friend-a" and "people/friend-b" appear in a hierarchy, you must also have a "people" label.

</comment><comment><USER11> 'finally'? gimme an option to group filters, not labels.

<comment><USER12> That, plus some extra not-label filters, such as by-date and by-source. With lists automatically mined from what's in the box, of course (e.g. top-10 correspondents for the month).

For example: hmm, I'm looking for something from early 2006, and it involved either joe@foo, bob@bar or someone from example.com ...

<comment><USER13> For your exaple, what about putting the following in the "From:" search field:

 _example.com OR email@example.com OR email@example.com) AND (after:2007/8/1 before:2008/8/30_

Yes, it's somewhat awkward syntax, but it gets the results you're looking for.

<comment><USER12> Thanks for the tip, I hadn't really looked into doing it in GMail. My 'back' was hurting from some archive digging in a classical desktop mail client this past weekend ;-) (though it's a pretty good one, KMail from KDE 3.x)

Some pretty GUI checkboxes would go down nicely - I like what some e-commerce sites have (I think newegg.com is a good example.)

</comment></comment></comment></comment><comment><USER14> Wonder why they didn't treat hierarchical labels by attaching labels to labels. That way you can have "Family/Kids" and "CuteStuff/Kids" refer to the same "Kids", you wouldn't need to always type out the hierarchy and can just say "Kids" to have an email accessible under both the hierarchies.

<comment><USER15> Why not just tag it with both "Family" and "Kids"... you know... like you can do with labels?

</comment></comment><comment><USER16> labels>folders. Users couldn't understand this because they are messed up from oultook etc. Now gmail is actually transforming labels to folders

<comment><USER17> Hierarchy does not imply folders. The difference between folders and labels is the multiplicity between message and label/folder. 1 message, many labels. 1 message, 1 folder.

<comment><USER13> I agree - all they've done is change how the labels are displayed. The 1:many relationship (which is the power of labels, and where Outlook fails) hasn't gone anywhere.

Some people don't get labels, and use them like Outlook folders. They were doing this before the labels were hierarchical, and they'll keep doing it. But for those of us who get (and love) labels, this just makes it easier to keep them under control.

My main use-case for this: I don't care about emails related to income tax for 51 out of 52 weeks. I label the messages appropriately, archive them, and search by label when I'm doing my taxes. I can now take that label - as well as the others like it - and hide them all under one "Infrequent" label and clean up my "More Labels" view.

</comment></comment></comment><comment><USER18> Its not bad but I wish they remembered the position of opened or closed. It sucks I have to manually expand them each time I go into gmail.</comment>


Shortest Drive Through 48 United States - <AUTHOR> https://www.howderfamily.com/blog/shortest-48/ <comment><USER2> This is the type of content I love stumbling across on HN :). Sounds like a worthy roadtrip.</comment>


Manim – 3Blue1Brown's animation engine for explanatory math videos - <AUTHOR> https://github.com/3b1b/manim <comment><USER2> I've recently moved back into academia. Inspired by 3b1b and horrified by the awful state of the (PowerPoint) notes that were given to the students of the modules I now coordinate, I've taken to rewriting them using Jupyter and copious amounts of Blender animations.

I don't see myself using these tools as I know blender very well and I've got a workflow. Equations can be exported from LaTeXit as SVG and imported into blender for manipulation and animation. The new eevee real time renderer in 2.8 makes rendering high quality graphics really fast. Then, when appropriate, I try to recreate the concept in simple Python and animate it so the students can play with it.

<comment><USER3> Checkout mathbox. Mathbox is pure and simply genius. [https://github.com/unconed/mathbox](https://github.com/unconed/mathbox)

<comment><USER2> Yes please!

</comment></comment></comment><comment><USER4> This type of project would really benefit from some examples of the media it produces.

<comment><USER5> You mean such as the entire 3blue1brown YouTube channel that it was created for?

<comment><USER4> Sure, that would be a great thing to include in the README.

</comment></comment></comment><comment><USER6> As a former math teacher and now software developer, this is super cool. I no longer have a need for it, but if I had time, I'd consider reviving some old lessons. Again, this is really neat.

It would be nice to be able to make it interactive, like slider bars and such. The ti Nspire had some cool apps for that.

</comment><comment><USER7> Where can I find some examples of the output of this ? The github page doesn't link to an example video or even a screenshot.

<comment><USER8> [https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw)

<comment><USER9> I clicked on the first one and most of the animation is distracting and superfluous, like bars of a bar graph repeatedly bouncing off each other.

Does that sort of animation really promote learning? How much ornamental dressing is needed to keep visual attention but not distract?

<comment><USER10> Aren't they meant to be solid masses with particular collision properties? In which case showing how they collide seems to me exactly want you'd want to show.

EDIT - I just watched it with sound. I suspect you didn't and misunderstood the subject matter.

</comment></comment></comment></comment><comment><USER11> Does anybody has a recommendation to animation workflow for algorithms explanation? I've already tried with tikz and inkscape, but I always give up.

</comment><comment><USER12> Does it do 3d? Because geometry and algebra on 3d bodies and rotations, quarternions, etc do benefit from good visualizations.

<comment><USER13> A lot of his series on differential equations and geometry makes use of 3d components, presumably from this engine

</comment></comment><comment><USER14> Why did he give away his secret sauce?

Edit: yes I know this tool isn't his secret sauce, I was being facetious. His excellent explanations are his secret sauce. I just wanted to know why he open sourced this after so long of saying it was made for his personal use and wasn't designed for widespread use.

<comment><USER15> Because the "secret sauce" isn't a tool to make animations. The secret sauce is being able to explain complex concepts in simple terms, while encouraging curiosity and maintaining math as an approachable topic, for those who may be otherwise intimidated - and additionally coming up with ideas for animations that will help explain those concepts. All the while, maintaining a high level of quality and regularly releasing content, such that you become a "brand".

It's a lot harder to replicate _that_ secret sauce, than it is to replicate some animation engine.

<comment><USER16> Mathematicians are all experts at symbol manipulation and tend to communicate that way. 3b1b uses geometric analogues that are _far_ more useful than definitions and symbols for learners.

Math teachers are usually stuck using symbols to communicate because not many mathematicians have 3b1b's skill at animating and so can't use the high- bandwidth visual medium like he does. A blackboard can't compete with a 3b1b video; and it isn't just because he thinks clearly, it is because an animation can get more bits of information through in a short period of time and works better with a students short term memory. His custom animation tool is more important than it seems - he can explain more clearly because of a slight-of- hand where he has a much wider communication channel to get his message across.

That being said, the barrier to entry is still high. I suspect any topic he hasn't already covered is going to need specialist knowledge to extend this program.

<comment><USER17> I like 3b1b's animations, but lets not get ahead of ourselves here.

Mathematicians have been using blackboards and symbols for thousands of years, and its never been a hindrance. While its not as good as video, its more than adequate to explain things and if you still have issues, you can use the many mathematical modeling tools that have existed for years.

Also, many of his topics require in-depth knowledge in the first place and gloss over significant portions of detail because the problems are often specialized. These details are obscured through the many drawings and it gives the viewer a false sense of understanding without actually being able to do the math.

So you're left with a largely conceptual understanding without any syntheses understanding, because, at the end of the day, you have to produce a line by line derivation in order to be considered having understanding.

</comment></comment></comment></comment><comment><USER18> Just wanted to also give a shoutout to Eugene Khutoryansky for providing a ton of science and math videos with great 3D visualizations. I'm not sure what 3D system he uses, perhaps someone here does:

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

[https://www.youtube.com/user/EugeneKhutoryansky](https://www.youtube.com/user/EugeneKhutoryansky)

</comment><comment><USER19> I tried using this once... it wasn't super great.

1\. The documentation is sorely lacking.

2\. Which makes the inheritance hierarchy (which is already a little unintuitive) really hard to grok.

3\. There's this weird home-rolled way of doing default property inheritance that took me a long time to wrap my head around.

In the end, I ended up coding a short interactive thing[1] for my blog using Paper.js. It's a great idea, but could really use some love and maybe a stronger philosophy to guide development. Right now it feels more like a few hacks thrown together.

[1] [http://mitchgordon.me/math/2019/03/18/multiplying-complex- nu...](http://mitchgordon.me/math/2019/03/18/multiplying-complex-numbers.html)

<comment><USER20> He can't win. People bug him to find out what software he uses. He says he wrote it. People bug him to release it. And then complain it is not properly documented or is unintuitive.

'A few hacks thrown together' seems awfully pejorative. It is a tool he has developed over the years to enable him to produce the high-quality videos he releases.

<comment><USER21> It's different people making the different complaints.

In general, you can't please all the people all the time.

GP isn't a complaint, but constructive criticism. When we lose the ability to tolerate criticism, we lose the capability of progress.

<comment><USER22> It's not that constructive though, just seems like a complaint.

<comment><USER23> How do you differentiate those two things?

<comment><USER22> To me constructive means there is a suggestion of how to improve.

<comment><USER19> Don't get me wrong, I love his videos, and I think it's really nice of him to open-source the stuff.

But like some of the other comments have mentioned, it's not a general purpose tool... it's more like he open-sourced his dot files.

You can certainly make a few things work, but it would be nice to see a community of interested individuals come together to flesh out the abstractions, make sure everything is documented and works as advertised. As it is now, the class hierarchy is a little... misshapen. It's not clear what classes are responsible for what functionality, and how everything fits together in a nice, orthogonal way.</comment></comment></comment></comment></comment></comment></comment>


SHOW HN: Real life dating app that turns eye contact into a connection in 1 sec - <AUTHOR> http://www.diggidi.com <comment><USER2> Eye contact is normally brief and passing. This sounds like it might work when two people are eyeing each other up in a pub or something but for whatever reason, they can't go over to each other.

But at the point where someone has enough time and confidence to show the other person their phone screen to initiate contact then they will probably just walk over to say hi.

Also, if I flash my screen at someone they will most likely just be confused because they won't have heard of your app.

<comment><AUTHOR> Hi eecks, thanks for joining the conversation. 1\. We've tested it thousands of times. One second of eye contact is enough. The bar scenario has several looks going back and forth - correct. But the girl in the supermarket that just payed gives you one last look. You won't bypass all the line, stop her and start chatting, you can flash her an umbrella and she'll remember it easily.

2\. Most people won't walk over, I'll tell you why. Embarrassment is "a very strong feeling a person has towards himself when he has to perform an action in a social situation, observed by others". the 2 parameters that set the level of embarrassment are exposure time and number of viewers. That's why people (not just men, women too) don't actually make the move. That's why we minimize the situation by ordering her\him a drink. That's a coping mechanism. It costs money and it's still more embarrassing than 1 second flash of diggidi.

3\. Would you agree with me that Tinder is a success story for this "field"? well, you'll also agree with me that when they first started, no one knew about them. If I used tinder and the girl across from me didn't nothing would happen. I wouldn't yell to her "I'm using tinder, download it and we could talk". But when I flash someone a picture of an elephant, even though she never heard of it, I triggered something. That girl will (30%) walk over and ask me what it means or (70%) dismiss me, but ask her friends. diggidi spreads that way. No other dating app does. They're all stuck with Chicken and Egg.

<comment><USER2> Has it worked for you in real life? I honestly can't see it taking off but if it does I will be delighted for you.

<comment><AUTHOR> It did. I actually started it when I missed a girl in traffic. We said "hi" and all but then separated. There was nothing else to do. I came up with this.

Our 2nd investor finished our 1st meeting and said "interesting idea, could work". I told him to try it out. Even without the app. He went on a weekend vacation, downloaded a picture of a whale and showed it to women. Came back Monday and told me we need to meet. Almost half the woman came to him to ask him what it means, the others didn't, but he could see them engaging people around them asking them if they know what it means.

Let's try this scenario: A woman is walking down the street. 10 guys looking at her. 5 of them run Tinder and can't find her, 5 guys run Happn and can't find her. 1 guy shows her a picture of a trumpet. When she talks to a friend later... She won't say "10 guys tried to find me on Tinder & Happn" because she doesn't know they even tried. She saw the trumpet, she remembers the trumpet and if she wants to talk to that guy, anonymously, even if she didn't have the app when he showed her the trumpet, she can.

eecks, even if you don't use it - that's ok, being the guy that actually makes the move - you got my respect. Just one thing, when a friend tells you sometime that someone showed him a picture of a "....", tell him you think it's this diggidi thing and that person just said "I want to talk if you want to talk".

Thanks !

<comment><USER2> I will! Haha

</comment></comment></comment></comment></comment><comment><USER3> >You see someone you would like to talk to – anytime, anywhere. You click diggidi on your mobile phone to get a unique image. Show the person your screen with the image.

If the person in question is that close, what do I need the app for?

<comment><AUTHOR> Hi Kristine, thanks for checking us out. "That close" can be up to 30ft. like, across the bar and most people won't "make the move". Embarrassment in a social situation, not enough time, not the right place - so many reasons. We're experiencing missed opportunities everywhere. We came up with a fun solution.

The guy you saw in the restaurant and smiled to is sitting with his parents. He's not going to come over to you and you (most likely, you might be the minority who actually does it) won't go over to him. Why miss the chance to talk if it takes 1 second?</comment></comment>


Blood and Soil in Narendra Modi's India - <AUTHOR> https://www.newyorker.com/magazine/2019/12/09/blood-and-soil-in-narendra-modis-india <comment><USER2> I despair at the government of Modi, and I wonder if there's a way to reverse the deliberate reopening of religious wounds.</comment>


Ask HN: CS book club material recommendations - <AUTHOR> During this time of more indoor activity I'm looking to start a remote CS book club or reading group with a few friends most of us in software development or data science. What are some classic or modern papers, articles, or other short pieces you would recommend? maybe something that would be fun or interesting to discuss in a group settings. <comment><USER2> I'm currently starting up a study group for Martin Kleppmann's "Designing Data-Intensive Applications," which seems to be a popular book with a lot of practical knowledge that'd be great for discussions.

</comment><comment><USER3> [https://teachyourselfcs.com/](https://teachyourselfcs.com/)

</comment><comment><USER4> Some potentially relevant prior threads I have bookmarked:

Books to 'learn by doing'? [https://news.ycombinator.com/item?id=22299180](https://news.ycombinator.com/item?id=22299180)

Hard-tech blogs to follow? [https://news.ycombinator.com/item?id=23206259](https://news.ycombinator.com/item?id=23206259)

Online compiler courses? [https://news.ycombinator.com/item?id=23187239](https://news.ycombinator.com/item?id=23187239)

</comment><comment><USER5> There's a whole list for you at [http://sunnyday.mit.edu/16.355/](http://sunnyday.mit.edu/16.355/)

An extra item that I like is : [https://www.goodreads.com/book/show/1416932.Software_Fundame...](https://www.goodreads.com/book/show/1416932.Software_Fundamentals)

</comment><comment><USER6> Interesting stuff could be found in 'The Best of 2600'.

Knuth's books are considered classic. They are pricey though.

Maybe as a variation on this, you can find a Raspberry Pi project to try every week and discuss what variations/improvements each person did to the process.

</comment><comment><USER7> Why numbering should start at zero.

[https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html)

You might find his other papers and notes interesting for your group.</comment>


How machine learning could help shape the future of education - <AUTHOR> https://heartbeat.fritz.ai/4-ways-machine-learning-ml-is-shaping-the-future-of-education-11af10ea0a85 <comment><USER2> Is this more for older students/in universities?

Should the future of education include grading?

Wouldn't there be less jobs in our future? Should education always be matched with careers?</comment>


Show HN: React-use-fuzzy – React hook in TypeScript for client side fuzzy search - <AUTHOR> https://www.npmjs.com/package/react-use-fuzzy <comment><USER2> Here's a quick review. I see two obvious issues:

\- you memoized the instantiation of Fuse (which is cheap), but `searcher.search()` (which is expensive) is performed on every call, even if none of the parameters change.

\- the imperative API (`search()` and `resetSearch()`) is not the idiomatic way to write hooks, as the component using the hook would have to call `useFuzzy()`, THEN call `search(currentInputValue)` on every render, which is awkward.

You could fix both by accepting a 3rd `keyword` argument and performing the search within the memoized function.

<comment><USER3> For the 2nd point: would you suggest a useEffect hook that has a dependency on the search key? With the current search() call replaced with an update of the search key state.

<comment><USER2> It depends what you want. Your current code performs the search synchronously, in which case useEffect would not be useful. You would use useEffect if the search was done asynchronously, typically in a web worker.

I would do it in a single useMemo hook like so:

        const defaultOptions = { tokenize: true, threshold: 0.2 };

        export function useFuzzy<T>(
          data: T[],
          options: FuseOptions<T>,
          keyword: string,
        ): T[] {
          return useMemo(() => {
            if (!keyword) return data;
            const fuse = new Fuse<T>(data, { ...defaultOptions, ...options });
            return fuse.search(keyword);
          }, [data, options, keyword])
        }

That way there is no duplication of the `keyword` variable, and it is now completely owned by the parent, making it much cleaner (especially if you're going to debounce it etc..).

As debouncing would be standard if you're handling user typing, check out one of my favorite hooks: [https://usehooks.com/useDebounce](https://usehooks.com/useDebounce)

</comment></comment></comment><comment><USER4> Add a gif demo. That's the first thing I look for in things like this.

<comment><USER5> Hm, doesn't look like the package is concerned with looks.

The value is in the fuzzy filtering - which is delegated to another library (Fuse.js) .. so the actual value is just the slight convenience of not having to wrap Fuse in a hook yourself.

</comment></comment><comment><USER6> Link to the actual repo: [https://github.com/hellojoshuatonga/react-use- fuzzy](https://github.com/hellojoshuatonga/react-use-fuzzy)

As others said, I recommend adding a GitHub pages of a demo or something. Not fun having to spin this up yourself to test what it does/looks like.

</comment><comment><USER7> A bit more info in the npm page on usage, benefits, limitations would probably be helpful (and increase the odds interested devs can find the package when searching for related concepts).

<comment><USER8> It's a 32 line piece of code that wraps another library so you can use it in react. Struggling to see the relevance to HN here...

<comment><USER9> Some YC startups actually started that way.</comment></comment></comment>


George Soros: 'Brexit hurts both sides – my money was used to educate' - <AUTHOR> https://www.theguardian.com/business/2019/nov/02/george-soros-brexit-hurts-both-sides-money-educate-british-public <comment><USER2> Good article, one of our best humans alive.</comment>


Microsoft ION decentralized identity platform - <AUTHOR> https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Toward-scalable-decentralized-identifier-systems/ba-p/560168 <comment><USER2> Anyone knows what's the difference with blockstack?

This seems to be the sidetree protocol: [https://github.com/decentralized- identity/sidetree/blob/mast...](https://github.com/decentralized- identity/sidetree/blob/master/docs/protocol.md)

</comment><comment><USER3> Email already works as a decentralized identity, and basically de facto is our core decentralized identity platform in 2019. We've just failed to make some of the core experiences _easier_. The last best attempt at that was BrowserID/Mozilla Persona and that failed some key bits of buy-in and was shutdown.

The problem doesn't seem to be decentralized identity, but over-complication. Looking at the architecture diagram for this ION project it just looks like a labyrinth of cool tech for cool tech's purposes. Is the complicated labyrinth any more likely to gain user support/interest or solve user needs better than today's piecemeal solutions around email setup and verification?

</comment><comment><USER4> Decentralized identity is not useful. Its a red herring. What we need is better decentralized anonymity.

<comment><USER5> It depends what problem you're trying to solve. We also need trust, ownership and freedom.</comment></comment>


WSJ makes it easy to subscribe (online), but hard to unsubscribe (2018) - <AUTHOR> https://www.reddit.com/r/Journalism/comments/892enx/wsj_subscription_policy_makes_it_easy_to/ <comment><USER2> Pretty much every newspaper does this. Bloomberg Businessweek and the Globe and Mail do this as well. California has laws allowing you to cancel online. The rest of the US and Canada are not so fortunate.

</comment><comment><USER3> I bought the URL BadSubscriptions.com because I came across the story of subscriptions/services that are hard to unsubscribe from over and over again. I haven't built anything that works yet, but what features/suggestions would you all have for a service that unsubscribes for you. How valuable is that to you?

I'm mocking up workflows with various API's right now but nothing is concrete so I'd love and welcome any and all suggestions.

</comment><comment><USER4> A year ago I checked the websites for all of my subscriptions. I unsubscribed from any site that made it difficult. Was on principal.

It was unfortunate this included the ACLU.

<comment><USER5> I feel the same way (about the principle). There is no justification for not having an easy online cancellation option.

That kind of tactic used to solely be the domain of companies with no faith on their product. They expected low retention so it made sense to add an extra step where they could hard sell, knowing that a reliable percentage of the population has a hard time saying no to a human.

</comment></comment><comment><USER6> hmm, sounds like "dark Patterns" to me, as described here [https://www.youtube.com/watch?v=kxkrdLI6e6M](https://www.youtube.com/watch?v=kxkrdLI6e6M) and here [https://www.darkpatterns.org/types-of-dark- pattern](https://www.darkpatterns.org/types-of-dark-pattern)</comment>


UX Developer is a misleading and potentially damaging job title   - <AUTHOR> http://www.andybudd.com/archives/2012/01/ux_developer_is_a_misleading_and_potenti/

<comment><USER2> I don't understand the point in getting frustrated with someone calling themselves something you don't agree with - it'll always happen, and it's trivial to ignore. The cocky and obnoxious amongst your friends (or the people you follow online) will always pretend they're something they're not, especially when it comes to job titles.

To boot, I've met quite a few self-proclaimed "UX developers" who fill a very useful niche - they're people with training and experience in the UX field who have also taught themselves enough development to handle HTML, CSS, and basic DOM-manipulation JS duties without adding a burden to the rest of the development team.

Job titles are only a very loose guideline - if you're hiring, interview people to find out what they mean by their "title." If you're getting hired, interview your interviewers to find out what they want out of your title. Otherwise, just ignore it. It's so vague that it's never useful.</comment>


Truecrypt link to Paul le roux - <AUTHOR> There is a story in today's London Times that Paul le roux a drug trafficker awaiting sentencing in the US was the/a developer of truecrypt. He s arrested in 2014 the same year truecrypt was discontinued. <comment><USER2> The story's been floating around for a few years. It seems apparent that he worked on some precursors to TC at a bare minimum.

There's a ton of information here: [https://magazine.atavist.com/the- mastermind](https://magazine.atavist.com/the-mastermind), and it seems there's a book coming out or already out by the same name (Mastermind).</comment>


Ask HN: Classic IA after ML - <AUTHOR> I am going to choose a PhD on AI. What do you think about Prolog/ASP vs Machine Learning? Are the former still studied and used? <comment><USER2> _Are the former still studied and used?_

The evidence suggests ASP is still actively being researched, yes.

[https://www.google.com/search?q="answer+set+programming"+sit...](https://www.google.com/search?q="answer+set+programming"+site%3Aarxiv.org)

The activity on the Prolog subreddit suggests Prolog is still being used, yes:

[http://prolog.reddit.com](http://prolog.reddit.com)</comment>


TDD in iOS - <AUTHOR> http://blog.imaginarycloud.com/blog/2015/4/21/tdd-in-ios

<comment><USER2> The article is mostly about why do TDD with some added links to TDD on iOS.</comment>