skysight-inc/HackerNews huggingface dataset:
I mostly use those kinds of online sources, because I'm usually on the internet and rarely in libraries, just in terms of proportion of my time, and I rather strongly disagree that those sources are anywhere near as good as a library, at least for what I'm looking for. It's a huge breath of fresh air to find a good book on a subject, because it more often than not actually covers what's going on in a way that is far more opaque in dozens of StackExchange posts, blog posts, mailing list archives, etc. The rational exposition is just much better, if you can find a good book: explaining not only what's going on but also why and how, how it connects to other things, how it came about, where to look for more information, etc. It's really frustrating to work without access to a good research library for that reason, because you get only these much more scattered bits and pieces on many topics.

Two areas that I've come across semi-recently where this is particularly true: DSP and logic programming. There are some good books on those subjects, and they are very much better than trying to piece together Google results, especially trying to learn an area.
My observation is that quite a lot of folks know all about computer science, they might well know how operating systems work, but are clueless as to what happens when they combine the two.

Consider that with certain exceptions, QuickSort is widely regarded as the very best way to sort.

What happens when you sort a memory buffer on a Mac OS X box? Well that depends on a whole lot of things. How big is the buffer? If it's really large, you will cause paging no matter what you do to avoid it.

However there are all kinds of things you can do to keep that paging to a minimum. Not only does that make your code faster, it saves on electrical power and reduces the heat produced by the box.

That kind of thing is the main focus of my work these days - how to make existing code work better on modern computers.

Have a look through the source of, say, glibc, while keeping in mind what code and data memory caches do, paging, context switching with other programs and so on.

I expect that glibc would work really well on a box with no cache at all, and enough memory that it never has to page, and with only one executable running at any one time.

But that no longer applies.

Unfortunately I've never even heard of a school where they teach that kind of stuff.

Many of my colleagues regard me as delusional for asserting that one can save energy by refactoring one's source code, yet they don't seem to clue in to the fact that a computer needs to have a battery or a power cord.
Building Large Scale Enterprise Software Companies: Louis Tetu, CEO of Coveo
I've worked all over the U.S., and oddly enough, am now only working in SV. Been here about 3 months.

Single? Young? Do it in a heartbeat. Get as much experience doing various things as you can. In the right spot, you can't beat the experience here. I'll also second what the others said about culture: go walking around downtown Mountain View or Palo Alto sometime and just listen to the chit-chat. Very cool stuff.

Older? Married with kids? Heck if I'd want to do it. Those same really cool 20-something masters-of-the-universe are probably also a major pain to have to deal with. Yeah, it'd be cool to bump into somebody in an elevator and start discussing NoSQL. No, it wouldn't be cool to go to some function like a PTA meeting or some meeting of the city council and have dozens of upper-income dweebs with little experience in conflict resolution.

I would also be very careful that you're not getting screwed over by a young startup that's going to crash and burn and take you with it -- or become one of the drones for one of the super huge companies. The sweet spot is between those two extremes. I imagine it would be extremely easy to wake up in two years and find you've lost a huge chunk of your life with little to show for it. Don't do that.
Displaced IT workers are being silenced
Report: The Father of Video Games, Ralph Baer, Has Passed Away
TLDR; Their mistake was building a gigantic house, based on emerging sustainable-energy tech, whilst in their 70s.

Any two of these things might have been reasonable, though I feel that the sheer size of the house is ultimately the problem - it's going to be a lot of work to maintain a house on this scale in the best of circumstances.
depends on what you are optimizing for.

You might be optimizing for the ability to write the most righteously perfect software, down to the number of registers and getting every ounce out of the bare metal.

Or you might optimize for getting more people involved in programming as it is a truly transformative skill that empowers and enlightens. I know which one I would prioritize and which one is probably premature.
similar learning curve with both -- with either one your learning will be split between learning language constructs (Obj-C/Swift or Java), app architecture (iOS and Android both have unique ways of doing common things), and the ecosystem library (Cocoa Touch or Android).
A slab of insulation on the roof and a decent zoned heat pump and that would be great. Ramen profitable almost immediately, if only because of the low costs. Maybe this was the concept that was behind the Google Barge (just kidding).

a 40' container is 320 sq ft, which might compare to some studios in SF or NY. The Hi-Cubes get a little more headroom, and they can come with hardwood floors (durable when forklifts drive on them). A mixed use office/living/server farm setup could be had. Use one as an office, and another as a tiny warehouse.

I think the idea has some real merit. I have some land in Tucson which I would try it on, it might be zoned correctly (Misc Commercial - it was a church and parsonage), if someone else can fund the containers. Email in username.
It could be insulated easily.
Among my gripes is that not only does no one care that I've studied Knuth, it is uncommon for those who might hire me, to have even heard of Knuth.

Consider that Mark Zuckerberg dropped out of Harvard to start facebook. Now he has the idea that he knows more about computer programming than I do, despite the fact that I had been in the industry for six years before he was even born.

I'm working on an iOS version of Conway's Game of Life. The vast majority of hiring managers I demonstrate my app to, not only have never heard of Conway's Life, they don't have a clue about cellular automata - nor do they see the point of my app.

I find that hard to understand, as Conway's Life is a widely studied artificial intelligence research tool.
Ah yes. I'd say that's more a problem with TCP in general than in using multiple connections. The assumption that "1 TCP connection == 1 share of bandwidth" is at best a useful first approximation. I don't know that N TCP streams eating N times their "fair share" is really any different a problem than some-important-interactive-application being given equal bandwidth with some-irrelevant-background-download. (Though it might be a worse problem.)

I'd love to live to see the day that something actually better than TCP (that addresses these and other issues) dethrones it, but given how long IPv6 took to gain traction, I wouldn't be surprised if it didn't happen in my lifetime.
Funny, the other day I was talking to someone about a project I was doing for my Intro to Software Engineering class. We had to make a web application with any tools we want, with the suggestion that we used Django or Rails. I chose Rails. Anyways, when I mentioned "Rails" this guy gave me this incredulous look and said "Rails? Use PHP."

I consider myself at an intermediate level (I guess by my own standards). I've dabbled in PHP. But honestly, I like Rails. Obviously the appeal to it is ease of use, and I'd definitely consider using it in my future projects. Though he never explained why PHP is objectively better. I just thought of it as just another tool to use, like Rails.
This is the case in the United States as well. When you buy a battery, you pay a "core charge" which is refunded when you return the old battery you're replacing.
A little experiment.

I wanted to create a new way of connecting developers & designers with paid projects. Sites like Elance make freelancers compete with $5h workers. Only a handful of clients don't get trapped in selecting the cheapest proposal. High quality freelancers are not able to raise their hands higher to increase their chances of getting picked...

With Cnnected, I wanted to take a different approach. Giving freelancers control of who and how many get introduced to potential clients. And clients get to judge potential leads by seeing who had the highest bid and willingness to take the project as well as their portfolio and quality of other work they've already done.

Looking forward hearing feedback/ideas from the community so we can help more professional freelancers get the projects they deserve.
Postgres full-text search is good enough
I think the Stack Exchangers miss the point.

I don't think the predicate syntax is a big problem, but there are two real problems with Prolog.

The first is that it is awkward to mix declarative and procedural programming in Prolog. For instance, in Prolog sometimes you trigger a logical failure when an event succeeds to get the control flow the way you want, and this drives you up the wall.

The other one is historical. Early on there was hope that Prolog could be executed in parallel. It was discovered around 1982 that it can't be. The Fifth Generation Computer project developed Prolog-like languages, such as KL0, that can parallelize, but these languages were less palatable to work in than actual Prolog.

I think the production rule systems that were popular in the 1970's and 1980's are less popular than they ought to be, but the rapid progress of Drools could be changing that.
IIRC if you had the Extended BASIC cartridge you could poke a value in a certain address and disable the FCTN-= action (which was an immediate reset of the computer, losing any unsaved work).
My first internship (circa 1995) had me writing an email support system for IBM in...Lotus Notes Script. It was still alive and kicking in 2000 when I checked back on it (given that OS/2 is no longer alive, I doubt it is now).
Let's just say Silicon Valley has the most opportunities, which means that if you don't like your current job (bad boss, long hours), you can find something better quite easily.
You never know. I finally took my 99/4A to the recyclers just a few years ago. Had had it since new in high school, and it still worked.
"Don't tell the user to click the OK button. Tell the user to click the OK button until it turns black." -- David Courtney Johnson.

All too commonly, the work I'm actually paid to do is to make a button turn black when someone clicks on it.

That might actually be interesting, were it not for the fact that the only way to make that button turn black, is to allocate ten megabytes of objects, then run a few hundred thousand lines of code, at which point a hardware GPU writes zeros all over a memory buffer.
Here's some data:

http://scholars.opb.msu.edu/pubDetail.asp?t=pm&id=7795212016...

When Michigan State University switched their first course from C++ to Python, the Python students did just as well on the 2nd C++ based course as those who took the first course in C++.
I'd take it one step further and argue that it doesn't matter what they code in, it's the outputs that matter. Facebook is a billion dollar company, and their code base is PHP. There are still enterprise level companies that maintain Visual Basic programs. Yume nikki is made using RPG maker, and it doesn't make a bad game.
> Since sorting is inherently a one-dimensional activity, I doubt it.

Imagine you had 100 billion items to sort and 10,000 cores to put to work. Would that change your answer?
Deep Learning and Renormalization Group Thery
While length doesn't necessarily = depth, there is likely a correlation. On average, a long book on a topic is going to be more in-depth (and more in breadth) than a discussion forum, IRC exchange, email, or even singular journal article. The Web is a great place to learn about a lot of things shallowly. To learn about a particular thing deeply (on most subjects, obviously electronics/software are an exception for obvious reasons of having more book-length content on the Web) a book or e-book still beats it.

Sure if you want to act as your own book editor and put together lots of little pieces of Web wisdom in disparate sources maybe you can get the same breadth/depth but that's not especially efficient.

And we haven't even begun to talk about the benefit of having a publisher/technical reviewer/editor vetting the contents of a book - acting as a gatekeeper...
I got some bad news for you eli:

If you put all that stuff on your resume, you'll never find work as a mobile app developer.

A rather common request of those who hire mobile development consultants is, "I want a game just like Angry Birds, only different".

And that's it.

I mean that's the only specification they can supply. Not the only spec they are willing to supply - the only spec they know HOW to supply.
If 3D is anything like the silly Verified by Visa, it's atrocious. Some strange domain that sounds like a generic phishing attempt. Random password with supposedly a secure phrase to indicate they know me... But anyone with my card details can look that up and show it for me. I see no value in such systems, and they must murder conversion rates.
I've been 'learning' perl for about 6 years now. I get crapped on for that all the time. I also go to church. And I get crapped on for that too. Sometimes it seems like everything of mine is just getting crapped on. But I do these thinks because I like them and they make me happy.

So I don't really care what the others think :)
I taught myself to program in .NET (VB and C#) this year and I've really enjoyed it. For someone who lacks the perspective of a seasoned programmer, I am routinely blown away by how easily you can incorporate .NET libraries to do cool stuff. One example - Microsoft has a standard speech recognition library, which works well for constrained grammar. As such, a desktop app with voice recognition was very easy to do.

For a variety of reasons, prior attempts at C++, Ruby, PHP never took hold for me. The main reason was I had no compelling project to complete (I have a few now, related to work). Yet, looking back on these episodes, and the experienced programmers will surely laugh, but getting a basic environment up where you can write code, build and deploy is difficult for the uninitiated, if you start on Windows as I did.

Later, with a mac, I did the first 1/3 of the one-month-rails course, which actually saw me through to creating a working ruby environment. There's lots of domain expertise which makes ruby inaccessible to the newb, not the least of which is that the most common IDE is a glorified text editor. Compare this to all the "spell-check" equivalents in Visual Studio.

anyway, now that I have a foot-hold somewhere in programming, I have a frame of reference to look up (and mostly down) the stack. Looking forward to learning more.
A very inspiring paper and idea definitely deserves your full attention for whoever is interested in machine learning and artificial intelligence!
I hadn't, so I just did. Thanks for the suggestion. https://groups.google.com/forum/#!topic/simianarmy-users/59r...
No I don't agree. HTML + CSS + JS + PHP (and also probably + SQL) is a lot of layers and languages to get your head around as a beginner. A single simple environment (e.g. Python or even BASIC in a REPL) is going to be a lot easier to focus on.
I've just subscribed to tidal (was spotify before) for $20/month. I'm now quite happily spending $240/year which is significantly more than I ever spent on CDs(I think I bought 3 CDs in the Sam year once...). Even at $10/month for spotify I was still spending far more money than I ever spent previously. I can't believe that the industry can't flourish on that kind of income per listener. Perhaps the problem is that the majority of spotify listeners for instance aren't actually subscribers?
If Spotify were $50 a month it'd still be worth it. I don't know how they divvy up profits but lets look at this example:

I pay $12 a month and only listen to one record three times through on that month. You'd expect the artist(s) of the record to get my $12 minus a service fee, but what I'm sure happens is the artist(s) only get the price per play x 3 and Spotify pocket the rest.

Subscription models are a huge boon for this reason, but the inequitable split might change artists' minds about these sub services.

I tend to listen to a small subset of music over and over, the artists should be getting close to that $12/month cost in my opinion.
What % of listeners are not paying? It seems mad that for $10 a month you can get no ads and download music to your phone and you don't pay the fee!
Basically this. Spectrum regulations (both de facto and de jure) vary dramatically between jurisdictions. It's definitely a challenge, but not as big of a deal as one might expect, particularly for rural networks.
I've done this inadvertently. Ironically, my intent was precisely to avoid discouraging a beginner, but this article makes me realise I was, at best, sending mixed messages.

I was helping somebody who was taking a Java course without a prior programming background. Her course required her to submit assignments as Java applets, and she was running into a lot of trouble getting applets to even run on her laptop, due to Java version conflicts and browsers being much stricter about applet security than they used to be.

I hated to see her getting discouraged by this pure incidental complexity - this wasn't even a problem with the code! So I said something like "I'm not sure why they're even teaching you applets, nobody uses them any more".

Of course what I meant was "they're making it harder than it needs to be and programming is actually easier and more fun than this". But she may have heard "you're spending all this effort learning something that's already out of date" :(
The zero-copy IO in Go is so elegant.

I think you can really judge a language accurately by checking out its standard library. This is one of my favorite things about Go.

By comparison,

* The C++ STL. Fast and useful, but the implementation is nearly unreadable due to template soup. Here's one of the simpler parts! https://www.sgi.com/tech/stl/stl_vector.h

* PHP. So bad it's basically a strawman. I'll include it because it's hilarious:
http://www.forbes.com/sites/quora/2012/08/31/what-are-the-mo...

* Java. A bit better. Compare the readability of OpenJDK's ArrayList.java to the STL vector.h, which does essentially the same thing: http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/00cd9dc3c2b5/s...

But of course the Java standard library is immense and has a lot of cruft in it. To write clean Java you really need to avoid much of the standard library (read Effective Java by Josh Bloch) and add a few important missing parts (use Guava).

Golang is really unique in that regard. You can learn Go by reading the standard library. It is beautiful, linear code. The library is pretty complete--eg you can write a one-line HTTP file server out of the box--but nothing feels extraneous. Lastly, I think it gets close to Knuth's ideal of Literate Programming. Paragraph-length comments thoughout the standard library explain what's happening, how, and why.

For example, the post talks about how io.Copy is awesome. For a concise English explanation, why not go directly to the source!

https://golang.org/src/pkg/io/io.go#L329
IMO another example of how the F-35 is an over specified, over engineered and expensive turkey.

And here is a comment by someone who knows a lot more than I do.

https://www.youtube.com/watch?v=mxDSiwqM2nw
I agree that the royalties are too low, but there is a world of difference between zero-cost and non-zero-cost.

If the environment allows competition between distribution channels and artists are able to negotiate, artist compensation has the possibility to inch higher over time.

Case in point: Taylor Swift and Spotify. Regardless of whether her business model ultimately yields the highest return, at least she is not being compelled to distribute her material via Spotify.
>It's kind of ironic how hackers, usually extremely data driven people, tend to fall into these fallacies just as easily as others as soon as it stops pertaining to engineering.

Much of the data I've seen has suggested that, of all the hard sciences, "engineering" is the one most fraught with magical thinking. It seems to be populated by people looking to shape the problems they face to the solutions they already know -- whether or not those solutions are the best that can be reasonably implemented.

It is the worst part of my experience transitioning from physics to software: everyone seems to go about citing their clever catch-phrases as fact.
Inter-thread communications in Java at the speed of light (2013)
Since we do not live in a world yet entirely "safe for democracy," I am sympathetic to the idea of national food security. But my understanding is that rice, just to take an example, could be better grown in New Orleans, but because of subsidy is grown in California.

Now, if I've got some details wrong, I apologize. My point is that it's a safe bet that, even within this nation itself, subsidy is misallocating economic resources.
Is MSN Dead Yet?
> there is plenty of free power

But there isn't. Maintenance costs are still costs. TANSTAAFL.
If I can operate Google, I can find anything

Or the collorary "if I can't find it on Google, it doesn't exist" - which seems to be the perception among people these days, and in some ways it's quite scary how much power Google has over what information people can find on the internet. I've noticed a decline in the diversity and breadth of their search results over the years, where sites that I used to visit containing detailed technical information - many of them are still around - have basically disappeared from the search results, overtaken by highly SEO'd sites that have only superficial information (a lot of the time they contain words that only approximately match some of the query, which makes it even worse.) It seems that in attempting to prevent spam, a lot of the genuinely good content (that just "wasn't SEO'd enough") has been buried too. The mundane, shallow, and practically worthless content is emphasised over the detailed, in-depth information that I believe certainly exists out there. If the internet was shit in 2003, it's even more shit now.
Not quite following the stick/automatic and human/computer comparisons. I also drive a stick - and I definitely think it makes me a better driver - but I also think that a computer could do a better job than me. The computer could be tracking many more things - environmental conditions, 360-degree obstacle detection, etc. - than I could ever do myself.
They were too ambitious and used bleeding edge tech. A great many software projects have foundered for the same reason.
I've heard this same speech given after several layoffs at large companies. This is pretty boilerplate stuff, and its distracting from the fact that he swooped in and lost nearly every single voice in the room.