skysight-inc/HackerNews huggingface dataset:
Ask HN: When Did Indexes and Query Planners Become a Part of a Database?
I wanted to see if anyone here knew how they got integrated in the modern database system and what were the adoption challenges and maturity issues before we all now take then for granted.
Yes, I did that too; took the test in 1990.
I didn't, because I started programming in earnest somewhat later in life — but I envy people whose first programming language was Pascal. It's not perfect, but it's at least a sensible language, and it enforces some good habits that other, less opinionated languages don't.
Ask HN: Are reposts an issue?
I have seen quite a few posts on the Chinese modifying embryos.

Unable to downvote :(

Just curious if reposts are an issue on this site, and if they need to be policed better.
Going along with assumption A is obstinate and we live in a world where the U.S. Not only assumes B is false, but add assumption C "anyone who isn't an employee/officer of a U.S. Intelligence department / service, is a potential terrorist, and even then we should be careful in case of moles and home grown radicals"

Pretending we're discussing something reasonable here is incredible foolish and worst of all, the United States continues to drag the rest of the world into their paranoid power trip. To paraphrase a famous poem, "First they came for anything that wasn't a corn farm..." And shits been skidding downhill ever since.
Show HN: What do you think of this idea of curating hackathons worldwide?
> The "comprehensive" studies still show that SSRIs are effective

From the article:

"Most of the studies were supported by funds from pharmaceutical companies and were of short duration."

In other words, what they are saying is that the published research papers show efficacy for SSRIs, which is completely different from saying that the research shows that SSRIs are effective.
D is a better alternative for many people. Speaking of Scott Meyers, C++, and D, his talk at DConf 2014 was humorous and you'll get a better sense of him.

https://www.youtube.com/watch?v=48kP_Ssg2eY

It depends on your actual goals. Personally, though I prefer Go for everything when possible, my favorite alternative to C++ is C++. If you want a true alternative, Rust is probably a smarter investment of time compared to D, based on traction. However, I'm uninformed about the D community as of late, and certainly won't be surprised of a future surge.
When you develop something you consider not only the features of the language itself, but also the availability of libraries in this particular language. There is a large amount of high-quality C++ libraries and C++ can consume C libraries seamlessly. In most other languages you need to write often unsafe bindings to connect to C.

D simply doesn't have enough libraries to make it a viable choice except maybe for some niche area. For example, there are only 6k D repos on GitHub (https://github.com/search?utf8=%E2%9C%93&q=language%3AD&type...) compared with 340k C++ repos. Also any high-performance code (at least in the area I'm working) is written in C++ or, sometimes, in C.
Stuff like Function.prototype.bind can be easily found By Googling. You want candidates who can adapt to the unknown.

That is true, but it is a warning sign that someone with 10 years of working with Javascript has never had to use those functions (even if they had to Google it 5 years ago, they should remember it now). It would be like hiring a driver with 10 years of experience who didn't know what the parking brake was for. Granted it is possible to live your whole life in a flat state and never have to use it, but that's rare, and even if true, I want a driver who has seen at least a hill or two.

Once you've passed the basic questions like this, we definitely get to more difficult and tricky questions, and even a question that has no answer to force the candidate to either BS or admit he doesn't know.
Excellent writeup.

My favorite part is the suggestion to get your top three priorities and then throw out two and three. No startup can survive trying to be three things at once.
To be fair... the price was artificially kept at $0.05 from when the subway system was opened in 1904 until some point in the 50's - which in the process helped drive the private operators of the system out of business.
That's exactly what I tell people who argue that I could have bought three windmills for the money I spent on building one.
True. I did find it odd how closely the screenshot resembles Google Docs though. Granted there's not a lot of UI there to compare against, but given that it seems to be the only hint at what Notes actually is, I expected a bit more.
That's when you take the ferry across the river and bring an umbrella :)
Its trained for the response of a particular commentator (presumably a Habs fan).
> I don't know why, but writing a book seems waaay more effort than churning out ~25 KLOC of tested C++.

It is. I wrote a programming book, and the code for each chapter was always a breeze compared to writing the prose.

I rationalize it by thinking of English as a programming language. It has a fantastically complex syntax and semantics, tons of undefined behavior, and a few billion interpreters out there, each with a large number of quirks and bugs.

Writing a program in English that does the more or less correct thing on all of those interpreters ain't easy.
Something like the Unlicense[0] seems like a viable alternative.

[0] http://unlicense.org/
You don't even have to be a thrill-seeker to ride all year in semi-harsh climates. I did it in Boston this year without a ton of gear - just a warm coat, gloves and skull cap (under the helmet) for the cold, and rain jacket/pants for the wet. Helps that we have indoor bike parking though. I hate leaving a bike in the rain all day.
I would question anyone who cites IE6 as a reason for coding a certain way in 2015. IE6 hasn't been relevant for at least 5 years now. But if a candidate said that he was familiar with bind() but would avoid it for the sake of compatibility with IE6 that at least shows familiarity with it. Using your logic, it would be ok for a candidate to say he had never heard of transparent PNGs because IE6 doesn't support them.
There are also a few cafes which are laptop friendly. (That's notable in Tokyo, as most are not -- a combination of high traffic, poor power/wifi situations, and the staff not being pleased with someone holding a table for extended periods.)

The one which I know off the top of my head is Nakameguro Lounge, about one minute from Nakameguro Station. The effective price per hour is 600 to 1,000 yen. Also their lunch menu is really fantastic for only about 1,200 yen.

Also, as it is about two minutes from my apartment, if you're ever passing through Tokyo drop me a line and your coffee/lunch is on me.
I agree partially, I think the biggest factor here is that YC evaluates a given startup/set of founders against the backdrop of the other founders and then simply picks the strongest according to the metrics they have developed. You don't have to pick the winners, you have to eliminate the duds.
My high school taught BASIC in 1981, but then I learned Pascal on my own because some of the nearby colleges were using it. When Turbo Pascal came out, my dad happened to read about it in the Wall Street Journal, and got me a copy for my birthday. I kept up with TP through version 5. I was dead certain that Pascal would displace C, and today, when I have to write in C, my programs are either Pascal-like, or wrong.

The structure of Pascal seemed to be inherently geared towards teaching fairly disciplined programming. Maybe that was the point. I think that Pascal has helped me be a better programmer.

Admittedly, I've always preferred "real programmers don't use" languages.

But my other early influence was Steve Ciarcia. Real programmers program with a soldering iron. ;-)
Ask HN: Need help finding an article
There is an essay that featrues a scientist telling a story of when he was working at Bell Labs or one of the tech epicenters and he was jealous of another scientist, his supervisors says something to the effect of "imagine if you worked as hard as he does". He goes on to discuss how this conversation changed his world view and his work habits.

My google-fu has failed me on this one. DOes that ring a bell for anyone and could you provide a link or a search term please?
And just to clarify, "offers encryption" means it's optional. The sender can require HDCP if it wishes, but it can also transmit plain unencrypted data. Some devices will work either way, but restrict what they do without HDCP. (For example, iTunes on a Mac won't play DRM'd videos if a non-HDCP connection is present.) Presumably whatever this guy is using for his video source doesn't require HDCP.
How would someone go about learning assembly these days? I have seen quite a few assembly posts for starting out but never know where to go from there.
real programmers write virtual machines.
Fi is a metered data service. Republic Wireless is an unlimited data service.

Fi makes money on tethering. Republic Wireless loses money on tethering.
I think the price is fair. But the ridership, growing or not, is already HUGE. Multiple lines are packed multiple times every single weekday and sometimes on weekends too. Whether people are paying $116.50 monthly or $2.75 per-ride, the MTA must have huge revenues. Wikipedia says "operating revenue" in 2011 was $6.5 billion.

That's a huge amount of money. Sure, it's a big system, with a lot of costs, but... so much money... and there's no easy way to apply competitive pressure, you can't have a literal competitor, so I don't know what could be done, but it has to be possible to have better maintained stations, even more frequent trains during rush hours when certain lines are literally overflowing, and have money left over.

And somehow they were losing money in 2011. Well, individually, I suppose not...
Yeah, I agree with the bigger enterprise clients. Sometimes it's hard to have a free version of software you're selling to these types of customers.

My point on the free plan is more like a trial where you get limited use, not giving away the entire thing for free. In interviewer.io's case I also want to be able to help smaller startups who might not be able to yet afford a paid plan at least use the product for the stage they are at.
Is the lack of free WiFi due to the coverage of WiFi hotspots run by phone companies there, which require an account?
There have been a number of studies of lottery winners along these lines. The observation has been made that people who acquire money slowly are more likely to have habits which maximizes retention and extracts the most value out of the capital they hold. Whereas people who are suddenly "rich" often will spend money on things which are expensive but not valuable, and do not provide any sort of "return" (either in capability or value) commensurate with the expenditure. The canonical example is the lottery winner who buys a new luxury car or SUV with all of the options with their winnings rather than buying a reliable economy car and investing the difference cost in either future education for their children or savings against future need. You have to be taught those habits and one way to learn them is to be in a group that is spending recklessly and not getting any value for what they spend money on (learning by observation rather than experience).
did you ever measure the latency? If a scene is strobing, you might notice a considerable phase offset that would probably be jarring. It would be nice to see this performance measure.
There's so much bullshit in the NYC transportation situation, it's ridiculous. Traffic cops spend all their time ticketing parked cars(usually for remaining parked during the twice a week street cleaning, or not having paid the meter), because it is the easiest source of revenue. Meanwhile, on the main avenues of NY during rush hour, trucks double park and take up a half or a third of the available traffic lanes, and very rarely get tickets.
Scientists turn old smartphones into all-seeing eyes
Nope, just signed up last month. It's still available[0].

[0] http://prepaid-phones.t-mobile.com/prepaid-monthly-plans
You're lucky your bike commute is so calm. I ride my bike to work 3/4 days a week year round from the UWS to wall street, and the dedicated bike lanes are filled with people walking in large groups, roller bladers, joggers, bikers who don't know what they're doing, etc.
Not true.

It is illegal for a package to import itself, directly or indirectly, or to directly import a package without referring to any of its exported identifiers.

- https://golang.org/ref/spec
If I eat some bad sushi, the pain in my stomach is not caused by constricted blood vessels or an excess of COX enzyme. But if I take a Tylenol, a COX inhibitor, I feel better. Then a few hours later I'm "cured" in that I no longer have stomach pain, headache or fever.

Did the Tylenol cure what was ailing me? Not at all. What it did is made me feel more comfortable while the root malady was being taken care of. If the pain persisted after one or two doses of Tylenol then I'd suspect something more serious than indigestion were at fault and I'd start looking for a reason. What I wouldn't do, and what I hope a doctor would be responsible enough not to do, is to keep taking Tylenol or a more serious pain medication to cover up the pain without considering the actual cause.
The Dork Distance
> while building and calibrating a Prusa i3v RepRap 3D printer so I can build a functional prototype for a hardware product I'm building.

You'll learn a ton of stuff about RepRaps but you're going to be behind on your hardware product at some point, if the goal is your hardware product maybe wood or farming out the parts to people that already have 3D printers would be a short-cut time wise and depending on what you do also precision and finish wise?

I'm all for a good round of Yak shaving though so don't let me distract you from your mission ;) But if you're serious about your hardware product and attempting a start-up speed is somewhat of an essential thing.
> "Most of the studies were supported by funds from pharmaceutical companies"

Isn't that true of MOST drugs?
Constness when used on classes introduces a way to create objects that behave differently in different contexts. Are you calling a member function from a const or from a non-const pointer? Depending on that you could be running different code.

In my opinion you should make your mind about what the class does: is it mutable? then don't use it with const. Unfortunately, you are still required to use const in many places: copy constructors and operators, for example. However, you can still choose to minimize the use of const, and avoid it whenever possible.
Thanks for the answer this is exactly what I was looking for. It seems that C++ is in a sweet spot and it is going to be hard to challenge its position.
Likewise, although I'm finding that Telstra throttles me quite a lot. Turns out you can use any network in Australia (with no roaming fee from 3), so I've manually switched to Optus and my speed has dramatically increased.
>experiments need to be carefully planned and understood, and not just randomly thrown at multiple targets.

Well, if you automated the process...
Sorting Benchmark in Various JS Engines. Chrome appears to be slower
I can't tell from the description if the indexing is local or in the cloud. If cloud, then it's perhaps pretty similar to what Greplin/Cue was. (and involves giving another company all your data for their cloud...though it also means it's possible to later use on mobile)
> "In just a few short years, songs we recorded in the late 1960s will no longer have copyright protection in Canada.”

... So? Did the fact that the copyright would expire around 2020 stop you from creating? No? What was the driving reason then? Why does an extension help create incentives - why did these incentives disappear over the past couple decades?
This social experiment is still running.

Some good things have come out of it, most recently: https://www.reddit.com/r/thebutton/comments/33jpwe/the_endga...
The first two questions I want to know when I see a lock-free library:

- how does it handle the ABA problem?
- how does it handle the safe memory reclamation problem?

The answers to these questions were not easy to find for this library.

It appears that it solves the ABA problem by requiring DCAS (double-compare-and-swap). This rules out some platforms:

"Note that the Alpha, IA64, MIPS, PowerPC and SPARC architectures do not provide contigious double-word compare-and-swap and as such, liblfds cannot be ported to those architectures." --http://liblfds.org/documentation/mediawiki/index.php?title=r...

An earlier release had a note that the library could theoretically be ported to an architecture supporting LL/SC instead (load-linked/store-conditional), but this note seems to have been removed in later versions:

"Currently, liblfds has been ported only to platforms which provide a contigious double-word compare-and-swap (x86, x64 and ARM). It is entirely possible to port to a platform which instead provides load-link/conditional-store where non-load-linked loads can be performed inside the LL/SC pair (this is how ABA is solved using single word LL/SC) but this has not yet been done and it is not reasonable to ask a third party to undertake such a port until I've done it and documented it." --http://liblfds.org/documentation/mediawiki/index.php?title=r...

I could not readily find an answer to the question of how safe memory reclamation is handled. When elements are removed they are placed on a freelist, but there's no indication that the freelist is protected from prematurely deleting things at all. Perhaps the library is using DCAS somehow to ensure that deleted nodes are never dereferenced.
Thanks for that link, it's an interesting read. One particular story there is so great it bears posting:

"what I found was a thread from a guy called Dejan on the HDDGuru forums. Dejan had managed to corrupt the internal flash of his hard disk in some way and wanted to know if there's a way to either boot the controller from external flash, or a method to re-write the flash. For five days, he doesn't get a reponse, but the guy is inventive: the next thing he posts is the message that he has found the pinout of the JTAG-port. That's a major find: the JTAG-port can be used to control a controller like a puppet. You can stop it, restart it, modify memory, set breakpoints etc with it. Dejan then figures out how to dump the boot ROM of the controller, figures out there's a serial port on one of the hard disk headers and manages to restore his flash ROM. He then dumps a few more bits and pointers about the flash update process before finally disappearing into the mists of the Internet again. "
If you're like me and you don't always have the luxury of working on up to date PHP installs, this is the suggested compatibility library which will make the code here run[0], do you have any opinions on it?

[0]https://github.com/ircmaxell/password_compat
I have tried serval applications on both PC and smartphone, but 6 months ago I decided to stick to Money Lover every day.
Easy to use, friendly and it contains most tools and functions I need to manage my expenses. I extremely love the function Event Mode which support users tracking all spending during trips. And web version is pretty cool, very simple for lazy guy like me.
Do you have a particular text you've observed this is the case for?
Ditto. I'm almost finished writing a book Ansible (self published on LeanPub), and most of the difficult sections have had the code samples ready to go for months. Getting the code organized an laid out in a logical fashion with appropriate, short intros, descriptions, and summaries requires much more effort than the code itself!
HP Prime Graphing Calculator
Abacus (YC W14) is hiring a third full-stack developer
> How in the world can a drug cure an odd internal social behavior that leads one to feel anxious/uncomfortable?

I'm sorry the drugs didn't help you, and I'm glad you got better regardless. Please don't talk like drugs helping with social anxiety is absurd on the face of it, because it isn't.

> up until a year ago she had been on 4 different anti-depressants each year. Her doctors would say oh that one isn't working lets try this one and so on.

What would you rather they do? Say "can't be fixed, tough shit?" Say "I don't care that it's not working, you have to keep taking it?"

As long as you keep asking a doctor for solutions, they will keep doing their best to provide one. For some people the first drug tried works; for some people it takes a few tries to find the right one; some people never find a solution. It's not simple and satisfying like we'd prefer, but it's how medicine works. It's how a lot of things work.
Nor the mother of all Hello apps:

https://www.gnu.org/software/hello/

(As of version 2 it includes a mail reader...)
One alternative (maybe fringish, I don't know) theory I've heard for the action of antidepressants, are that they work by being antimicrobial.
I disagree with her premise. Higher stakes tests presumably have their answer keys reviewed more closely. Multiplication problems in math textbooks appropriately don't have their answer keys reviewed with the same degree of scrutiny. In medical qualification exams, if enough people get an answer wrong, it may be reviewed for an incorrect answer key, or even thrown out for being confusing or ambiguous.
Unless notes sits on your OS and doesn't require you to boot up your browser and log into Dropbox then, yes they are competing with google docs. I work with an organization that has dropbox set up for around 140 employees and most of them don't use it beyond the desktop integration, why would they?
Show HN: Tablo Scholar – Analytics for authors to understand reader engagement
You bring up an important point. If you STOP taking an SSRI, you will feel depressed, because your serotonin levels will drop. What's happening is that the SSRI has been fighting your body, pushing up your serotonin levels, and your body has been fighting back. When the SSRI is cut off, your body's fight continues for a while, pushing levels down. Often patients feel suicidal at this point.

Healy and Whittaker point out that the clinical studies initially used to justify the use of SSRIs cleverly took advantage of this effect. Patients on SSRIs were compared to those who had just been cut off the drug. Of course the latter group, perversely included as "placebo", fared worse than the ones taking the drug.
Does the free lunch offer extend to the (cheapo) author? :D
Nice work, and great mood lightening sound :)

Maybe it would be more accurate to detect when the siren light behind the goal goes off if it's always viewable on screen.
There are very much ways of expressing that computation in SML—or in Haskell or other languages—but not in the language of modules. Haskell typeclasses would have a similar problem. Consider the following pseudocode:

class Map m where {- some implementation -}

instance Map HashMap where {- ... -}
instance Map TreeMap where {- ... -}

mkMap :: Int -> {- ??? -}
mkMap size | size > threshold = newHashMap
| otherwise = newTreeMap

What is the type of mkMap? It won't actually type-check in Haskell. It can't be (Map m) => m, because it needs to have a concrete type. We could do some kind of type-level work, relect the size variable into the type level, and have a type family that decides whether the resulting type is a HashMap or a TreeMap—but that has the same problem as the OCaml example, where we're using a different language (the language of type-level computation) to talk about something that'd be simple with value-level programming.

One place where you could write this easily is in a dynamically typed language:

def mkMap(size):
if size > threshold:
return HashMap()
else:
return TreeMap()

That is exactly why this kind of research is interesting: we'd like to capture the flexibility of idioms that dynamic languages can sometimes afford us, with the extra safety and security guarantees of a static type system!