skysight-inc/HackerNews huggingface dataset:
Hi HN,
I'm an author on this paper and would be happy to answer any questions you might have about it. It was a huge effort by a lot of great people and a lot of fun to do.

Here's John Markoff's writeup for the nytimes, it doesn't seem linked from the techreview site: http://www.nytimes.com/2011/05/20/technology/20spam.html
Social Memories - Create Beautiful Album from your Facebook Memories
Have you looked into SendGrid? http://sendgrid.com/
Guake/yakuake - A top-down terminal based on the tilda terminal from the game Quake.

Redshift/f.lux - Redshift adjusts the color temperature of your screen according to your surroundings.
Just because the social aspect of reader sucks, doesn't make the service useless. I use it extensivly to keep track of posts from dozens of sites. I really couldn't care less about the social aspect of reader, personally. I find it to be a useful aggregator of stories.
I'm trying to teach myself how to write games using common lisp, and will be documenting my experience in the form of a series of screencasts. Mostly because i want to learn lisp better, learn game programming, and learn how to produce good screencasts.
Bitcoin and developing nations
I am always coding like a maniac to make enough money so I can finally retire to do what I love most, coding.
...which doesn't actually exist: http://www.gourmet.com/magazine/2000s/2008/07/scienceofflavo...
Goldman evidently thought it was overvalued, too. They sold all of their stock at the IPO price. So if their goal was to "scam" LinkedIn, they didn't do a very good job of it. http://finance.fortune.cnn.com/2011/05/19/goldman-leaves-lin...
They basically always send something, as these are credit card transactions and easily reversed by the customer in the case of fraud, either not getting anything or not getting what you ordered.
"…but the developing world is another matter. Consider Zimbabwe, recently plagued by hyperinflation so rampant that when I was last there prices doubled every few weeks and gasoline could only be purchased on the black market with hard currency. They’ve since given up and simply adopted foreign currency wholesale. Meanwhile, mobile electronic payments are taking off in a big way all over sub-Saharan Africa. It isn’t much of a stretch to imagine Zimbabwe in ten years’ time—or a whole group of developing nations with a history of crippling inflation—adopting a new currency that is independent, incorruptible, and anti-inflationary by design"

I think using Bitcoin in countries like Zimbabwe would be a great idea since they have a huge problem with hyperinflation there, money becoming worthless in days or even hours.
I host dedicated servers in a data-center that I helped build out a long time ago. I still have a good relationship with the company that runs it, so I get cut-rate wholesale space and do anything from 1U ($50/mo) to half-cabinet, full-cabinet, private-cage, etc. space.
A True Story Received from an English Professor
Building an app in Node.js, so will be learning that along with MongoDB.

Have another project to start and need to decide if I use as a tool to learn Python by using django or if learning 2 new languages/frameworks at a time is a silly idea.
He's right, both about the problems and about the lack of alternatives. There are two particularly large practical hurdles to fixing the problem, and I don't know how to solve either one.

The first is the "number of requirements" problem. At most colleges, there is some limit as to how many courses can be required for the major—a practical limit if not an explicit formally-imposed one. A lot has been forced downward into the standard two-course intro sequence,[0] and this has "worked" because some of the students are either brilliant or have had good preparation in high school, where that "two-semester sequence" can be spread out over multiple years, and in many cases is preceded by one or more years of "pre-AP" computer science courses. But the downward migration of material has meant that what we now consider to be a standard computer science degree includes a lot of material, and if we add some sort of college equivalent to the pre-AP courses, we can either add them as explicit major requirements (that some students can place out of), which means removing material from the other end of the major, or leave them as bypassable prerequisites, implicit requirements that mostly serve to discourage students without a high school CS background from taking CS.

The second big problem is the staffing issue. As a practical matter, every course that might get added at the pre-CS1 level will be viewed as an "extra" that has to be staffed, and either takes away from staffing that could be provided to upper-level courses—earning the ire of at least some in the department—or else requires additional hires and thus administration approval. If it is played as "we need this as an additional prerequisite to CS1", it will find an administrative reaction of, "how did you get by for the last few decades, then?" If it is played as "we need this to get some students up to speed before taking CS1", it will find an administrative reaction of, "why are you proposing to teach remedial courses at the college level?" There is also likely to be an uphill battle to even fill the course, especially if you can't get the college to let it fulfill some general education requirement, and then you have the added problem of trying to justify offering a course that is chronically underenrolled.

Adding to the campus-politics tangle of the whole thing, CS is often viewed as too mathy and/or vocational training and therefore viewed with distrust by members of some other departments, making it even more difficult (in some cases) to argue for needed changes.

So, it's a hard problem. Good analysis, though.

[0] Which isn't actually anything like standard, actually, but we still talk about it as if it is. It's at least the case that formerly-advanced topics are now widely present in the first few courses.
The 15 week expectation is aggressive, perhaps too aggressive, but not entirely absurd. The problem is the follow-up to the introduction, not the introduction itself.

CS 2 should not be dealing with inheritance, polymorphism, or object-oriented design. These subjects are advanced not because they are difficult, but because they are useful abstractions that help solve large-scale organizational problems that students have never faced. They are important aspects of programming discipline but are useless if you don't understand the underlying tools to begin with.

Instead of trying to teach design and high-level abstractions in CS 2, the focus should be on how systems actually work. You should be removing layers of abstraction rather than adding them. Programmers make computers work using compilers(and interpreters), operating systems, and networks. So begin teaching students the fundamental knowledge needed to use those tools effectively.

Students need to understand syntax. Teach regular expressions and context-free grammars. There is no need to go as deep as theory of computation or languages or compiler design, but students should be able to recognize how a language's specification matches their own code, so they can correct errors from principle rather than by trial-and-error.)

Students need to understand how to use libraries. They should understand how they can obtain and use new ones in their own code.

Students need to understand how to use the interpreters and compilers that translate their programs into machine code. They should know how to build and configure several different development environments given a standard windows, linux, or mac box.

Students should know the basics of memory and IO. There doesn't need to be a dogmatic focus on optimizing for performance (there will be plenty of that later I am sure), but the constraints need to be as clear as possible.

Consider teaching OSI layers or the HTTP protocol rather than inheritance.

Data structures and basic functional abstractions are important fundamentals, too. If they aren't covered in CS 1, it makes sense to prioritize them in CS 2.

A programmer who doesn't know object-oriented design and polymorphism might write ugly code. A programmer who doesn't understand his target environment is going to write broken code. A programmer who doesn't know how to use his compiler isn't going to write any code. If the goal is preparing a student to be an effective computer scientist, the first step is imparting fundamental tools of the trade.
It's weird that this article mentions the problem of graphene lacking a semiconducting form and then fails to mention carbon nanotubes at all. I don't do research in this area, so I'm unaware, but it seems that much more work is currently being done with CNTs than graphene.
My university has unintentionally addressed this problem in a (cough) interesting way. The CS classes are increasingly difficult programming practice for three years, and in senior year we finally get one and a half courses of what I would call "computer science" with an introduction to state machines and algorithms. The people who don't know what they're doing or who don't like to program will change majors within the first two years, and the survivors have become comfortable with programming before they are introduced to the high-level concepts. The obvious downside is that there is little time left in the degree track to teach the high-level concepts, but fortunately MIT's OpenCourseware is there for students who want to continue learning.

Both my local university and junior college use C++ as the introductory language, which I believe makes the high learning curve even worse. (I cheated my way through the introductory course by teaching myself C and arguing that the programs compiled and ran in a C++ compiler, and taught myself C++ later when I was better grounded in the fundamentals.) If it were up to me, the introductory class would be half in Python to teach the fundamental concepts of 'if' and 'while', and half in straight C to teach the low-level concepts of compilation, data structures, and memory management, and the fact that you can implement the same algorithm in different languages. I would wait until a second course to introduce C++ and its inheritance, templates, and operator overloading.
I think the question is badly formulated. "When" will you use math implies that, no matter what, you will end up using it. This is simply not true. The vast majority of jobs out there, from flipping burgers to fixing toilets, involve nothing except the most basic arithmetic.

I think a much better answer is: if you learn math, you will have plenty of opportunity to use it. It's the only way to become qualified for some very good kinds of jobs.
> Your tone seems dismissive of the claim

I didn't mean it to come across that way, because I totally believe that they do collude. If they didn't then that entire part of the industry would become hyper competitive, unstable and probably a zero-margin (or even loss-leading) business.

These conglomerates in investment banking could handle the business and not make anything on it, they just don't like that. There also is a lot of work involved, so the fees are somewhat justified (see the Microsoft IPO article for an idea of how much work goes into it) - this wasn't helped by Sarbanes Oxley which added a whole new layer of pain-in-the-ass to the process, that only a select few hold the cure for.

There is also an element of this only being a problem when there is a significant first-day rise. You don't hear anybody complaining about it when stocks tank or run level on the first day (if you look at all the tech IPO's from past few years - opentable, rackspace, netflix, renren, etc. most have not done too well in short term).

What would improve the situation would be the companies being able to raise more of the money overseas and thus introducing more competition into the process. Atm overseas funds can buy in after a listing, but for some reason a lot of the pre-listing sales tend to take place in the USA and amongst the usual suspects.
Cover Art of Hot Water Music
If it takes four years to teach a basically proficient student to program at the BA level (which we've seen it does), why would anyone expect to be able to teach a true beginner to the same level in the same time?

Perhaps there could be a special program in which a student spent 1 year intensively studying programming between high school and college. That might be able to bring motivated students into readiness.
Ask HN: New website review - micro-optimization.com
I've had this idea for a long time and finally got some spare time to put the site together: http://micro-optimization.com .
I'm not a big fan of early optimizations or micro-optimizations and I'm not interested in the old, ongoing discussion about them being recommended vs considered harmful. I'm not trying to encourage or discourage them.

I though it would be interesting though, to actually (properly) test and document how much really is that ++i faster than i++.

I can hear occasionally developers saying that "I've heard that function X is faster than Y, so we should use it". Here you go so: there is no need for guessing, it can simply be tested and documented.

I've started with some common PHP micro-optimization myths out there. I've tried to get as accurate tests as possible. I'm also running tests on different versions of PHP and on different machines.

Please let me know what do you think about the site. Be warned - I'm not a very good graphic designer!
http://www.trustman.org/legal_outsourcing.htm
i'm working on building a node.js + socket.io realtime streaming web app. Also hoping to run through some of the new javascript frameworks such as Backbone.js for the frontend along with d3.js for visualization.

aiming to write some more http://www.privacypatterns.org so that I can talk about the project more widely.
OpenSUSE Weekly News 176 is out - Saigkills Blog
How did you get the icon there in the first place?
It seems that both sides - employers and job applicants - have to reduce their biases... Which the article suggests.
> Mark Guzdial and Barb Erickson have shown that introducing students to programming by teaching them Python and writing programs that manipulate images and sound

This worked wonders for me, Python, I mean. I was one of those students who had no programming language knowledge prior to my CS1 class, which was based on the C programming language. I was not that bad at things like maths or physics, but I couldn't for the life of me understand how could one write "i++;" or "for(i=0;i < n; i++)", they didn't make any sense to me. I barely, barely passed CS1, but CS2 I failed like a pro. I didn't even try to pass it for a couple of semesters, until I learned Python (by myself) and then everything was smooth and easy. The professor actually congratulated me for my A grade.
Gender is social construct. Sex is a biological one. Sex is a protected class. Gender is not.

Why should we have gender-free job ads any more than we should have ads free of any other quality?
Well, there's the SEC.
Stack Overflow? They do have a "careers" section. Not really a way to express a social graph AFAIK, though.
Interesting question, techdemic. Just to mention for questions like this on HackerNews it's often common to prepend the post with 'Ask HN:' in the title.

----

As for what I'm working on in the summer. If everything goes to plan.

- A directory of startup tools

- Brush up on my probability and statistics with the help of the Khan Academy and some text books.

- Then explore machine learning. Hope to go through the Stanford Machine learning video lectures. Then apply some of the modelling to the project above.

As for goals, I'd like to be ramen profitable with the tool/service directory.
Both descriptors are too general, they hide the good and bad implementations of either approach.

Depending on your experience of either side (which I, too, have) another way of looking at the comparison is, respectively, an organisation that hopes to turn into a business in the future, or a profitable business now.

Naturally, both sides want to earn revenue and be profitable. Only, on the 'startup' side, you have to have a really good reason to be in the position to take that funding. You need to know, I think, the first market you will tackle, the first problem you will solve and the first ways you will begin building revenue and profitability, otherwise you are just wasting time with other people's cash.

If a startup is a medical company needing funding for R&D, fine. If a startup is a hardware company needing to fill inventory, fine. If the startup is a software company that has worked out a repeatable sales model and now wants to get boots on the floor peddling those wares, also fine.

I guess what I'm saying is that it feels to me in software that 'startup' is almost the default, when in reality it should be a special case, or a latter day option as you scale up an already proven sales model.
Apple does a cost-plus deal with manufacturers so in fact almost all of the surplus goes to apple
Drag and Drop table content with JavaScript
As usual, the middleman is not really needed. Or they wouldn't be if a new stock exchange was designed to make this process easier. I guess this is essentially what Second Market is trying to circumvent. If the shares of companies can be traded even in small amounts before going public the companies have a better idea what they are worth on the open market.
Not really, since that would of course mean a complete rewrite. The code is only as secure as it's authors make it, too - Python or Ruby are not magic bullets against XSS or SQL injection. While it would be fantastic to have WordPress in Python, and for the crufty and backwards bits to be cleaned up, old code that has been tested and audited is surely more secure and bug free than a brand new code base.
Was anyone as annoyed with the inconsistent capitalization in the article as I was? I'm usually not one to criticize grammar, but it made the article incredibly annoying to read.
Yes, those clouds are increasingly becoming "one stop shopping" for criminals, thugs and government.

Epsilon and Sony are just two, recent examples. The TJ Max incident a few years ago. Etc.

The "cloud" is useful, except there isn't actually "a" cloud, there are just individual businesses inviting you into their capacious silos. It's lock-in with more risk.

"The cloud" needs a lot more work before we can call it "the" cloud, and before we can call it safe.
Graphene and, more generally, carbon nanotubes are exciting because they have something-for-everyone. Silicon, plastics, water are examples of molecules or structures that have also been spun into important applications for just about every vertical. I suspect we'll seem carbon nanotube products explode over the next 20 years just as plastics did over the last 40.

The article focuses a bit on whether graphene can replace silicon, which I think kind of misses the point. The material will enable exciting new applications rather than merely transforming existing ones.

I'm also kinda bummed that this kind of research doesn't have a higher profile in the US. This is high-ass-tech and is probably an area in which our oil companies could play a very large role with their competencies at running large, highly complex, raw material production systems.
I'm writing an app that helps you become a better programmer by recording statistics on your coding style and habits. It is built with node and CouchDB.

If you want to beta test, sign up at http://hackharder.com/ (really ugly, gonna fix it soon).

Alpha testing has not yet started, but soon :)
That was a reference to Mao.
Efficiency. You're going to have to go deeper into the bell curve of the talent pool to fill the same number of spots if you're turning off half your potential employees.
India does not face any trouble from Pakistan when it comes to direct warfare. India has beaten Paksitan to pulp several times.

Pakistans Army and Jehadi groups have a nexus and they have the strategy of bleeding India through thousand cuts.
The LinkedIn Story – Listing on NYSE & Comparison with Google
I have some nice beach front property to sell to anyone thinking they're going to solve a political problem.
"Myself, I moved all my vital email, coding, and business administration from a desktop box with Linux to an Android phone and an MBP on the last trip I took."

Your phone and laptop can be confiscated for any or no reason if you cross the US Border inbound. If you travel internationally, be sure to be non-controversial.
[kdream]
You may find it difficult to believe but I personally know and worked with a guy, who has decided to start work in IT when he was 32. With absolutely no prior experience in IT, after few years he became quite decent developer. He is nearly 40 now and he is still coding.
I have been pursuing a similar setup, but one of the last sticking points for me has been the absence of a VPN I could use on the road. I finally ended up with a satisfying solution based on openswan:

https://github.com/iandennismiller/swandive

This is a VPN that installs to Amazon EC2, but could trivially install on any other VPS provider (or even at home). The reason I targeted EC2 is because it is the most difficult to work with (due to IP traffic restrictions). However, EC2 also provides a mechanism for dynamically binding IP addresses to your instance, meaning it is easy for your VPN to hop around.

The major advance of swandive is that it is compatible, out of the box, with every device out there. It doesn't require you to root your Android device, it Just Works with iOS, there is no client to install for it to work on OS X or Windows. Install Swandive, connect, then destroy your VPS when you're done. Disposable and Universal.
It's my opinion that CS first-year courses are a wreck. The system is broken.

To get competent in programming seems to take about two years. To teach computer science/software engineering concepts in any form of depth (besides a simple, 'yo, here's X, here are 5 datapoints about X for the test', requires knowing something about programming. That means that to seriously teach data structures, algorithms, software engineering, computer organization/architecture, programming languages, all carries with it the pre-req of years of work.
So students have massive issues!

I believe that it is indubitable that the best way forward is to have an optional programming track added to high school education. But we've all heard the high school programing-teacher horror stories. Add to that the idiocies perpetrated in the name of 'students must know computers' (Oh, look, Little Bobby Can Use Word). So that's probably not realistic.

What might be realistic is sketching out a college curriculum that uses a step function in terms of winnowing out students. E.g., the spring courses are hard, the fall courses are easy. That would help move things along better. Yet, the fundamental issue is that a 4-year college degree seems to be insufficient to prepare students from knowing zilch to being hireable, without some pretty heavy investment on the student's part.

Outside of software and music, I have never heard of this scenario for any college degree. I hope that I am wrong, that these two majors are not unusual.
If I were American, and I was suddenly rich, the first priority would be to get out of the land of God and guns and sexual repression known as the USA. Yes, it's a great place to spend time, but not all of the time. It has many advantages for the entrepreneur. I love it. But the ignorance and attitudes put me right off.

http://en.wikipedia.org/wiki/Visa_requirements_for_Austrian_...

You can "invest" your way into an Austrian passport, then live anywhere in Europe you like. Favourite tax havens include Monaco, Switzerland, Britain (non-dom).

Europe is not more civilised because it is older, but because we are prepared to pay for public education, because we do not have world's strongest streak of anti-intellectualism and minarchism. We are socially liberal in what we demand but conservative in behaviour. Equality, nationalism, feminism and statism are not dirty words. Flame away.