skysight-inc/HackerNews huggingface dataset:
Very interesting and thoughtful. But I think the author gets it dead wrong.

"the budget cuts he seemed so giddy about invariably mean fewer teachers, and to argue that this is somehow beneficial to learning is to argue against years of research and practice" -- this is exactly the argument that Khan Academy is making: that we can cut teachers in favor of lessons taught by computer. The actual reason why "this time is different" is that we now have the power to create excellent lessons, through the power of computers, the internet, and crowds.

Maybe Khan Academy isn't good enough to replace teachers yet. (I would be surprised if it weren't already better than 75% of teachers, though. Most teachers aren't very good.)

Another claim the author makes: "Khan Academy makes it difficult for something better to come along" -- I would be SHOCKED if this were true. Sure, it's hard to compete with free, but KA is creating a new ecosystem of people who are looking to the internet for teaching materials! So if KA is really as bad as the author claims, then it's going to be MUCH easier than it is today to get better materials in the hands of kids.
Get what you are saying and very much agree with you :-).

I just have some intermediate time now (I'm studying at the moment) before I'll start on another thing and would like to look into some RoR-stuff, since I'm a hooked on it (I need my junk!).

So what should you be able to do in combination with RoR if you want a startup in the Bay Area to jump up and down over your skills?
Let your users write your help docs
I do not think it is about regulation, in Slovakia where I am from or Czech where I study it is really easy to buy alcohol in younger age, but people tend to get shitfaced all the time, regardless whether they are 16 or 26... It depends largely on culture.
I don't understand what the guy you are replying to meant in terms of not knowing what was going on in the open space (who cares? isn't that the point of being in the closed office), but I still would say that there are issues with the originally described office.

In my experience, places with "open space where there are closed offices if you need them" have like maybe one or two closed offices and if you used one all the time you'd be the "loner who bogarts the office space".

For an office to truly be both open and closed you need enough closed offices for some people to be assigned a full-time closed office if they choose that. Otherwise you have a situation like those jobs that have unlimited vacation time except you can't ever really use it or you risk being ostracized.
I agree with you - I think most programmers have this mentality automatically, whereas the non-tech guys often don't. We're hiring for non-technical operations/customer-service/biz-dev roles a the moment and we find ourselves leaning towards people with a technical background.

I just don't know how much this "instinct to automate" can be taught.
This sounds bold, but I think the success of Khan academy is simply due the fact that Sal Khan is a brilliant man, and so is Sebastian Thrun. The best teachers provide the best teaching experience, and the Internet allows everyone to have this experience.
If you're getting intoxicated while wine tasting, you are doing it wrong.
http://musicforprogramming.net/ now has an RSS feed
Silly article. It offers no proof to their statement that students learning through Khan are on a "wild goose chase" for correct answers except for a 1973(!) paper. I believe it to be the opposite, the chances of you just guessing 10 correct answers in a row is ridiculously low. It encourages you to make sure every answer is correct before submitting it, otherwise you would have to start over again.

It doesn't address the issue that each student can learn at their own pace, which is the main part of Khan. It ignores people that had success with KA except for a quick mention. It also ignores the fact that Khan is a great teacher, and with this model anyone can learn from the best teacher there is.

It ignores the tools it gives teachers to see the progress of the students. It ignores the fact that teachers can give personalized assistance. it ignores that more advanced students can teach less advanced students.

It dismisses the achievement system while every single educator knows they work and have worked since the first teacher decided to give students gold stars. It only mentions it in passing to say that it doesn't work without offering any proof.

The truth is: There are a LOT of people who have their own idea of what the "perfect" teaching system is. When something comes around that challenges that, as with everything else, those people will try to say that it won't work. Let it be field tested, let's see the results. THEN we can say if it works or not.

EDIT: I forgot to say that it also ignores the fact that students can only advance once they completely mastered the subject. It doesn't mention that it puts the power in the hands of the students and let them take control of their own education by deciding which classes to take and when to take them. And as someone mentions, the author is also biased.
It's interesting to reread The Diamond Age in the context of the recent fights over IP. When manufacturing is almost free, what gives one object value over another? Its design and software--the IP. In TDA, stealing IP was how smaller organizations competed with and disrupted larger more established ones. No organization in the world is larger and more established than the U.S.--hence the increasingly strong efforts of the U.S. government to defend IP.
With GCC specifics, you can define MAX as a macro without calling the function twice.

#define max(a,b) \
({ typeof (a) _a = (a); \
typeof (b) _b = (b); \
_a > _b ? _a : _b; })
Ask HN: How can I make this site better?
I created Knot News (http://news.knotist.com) in my spare time and the site has a very tiny but loyal following. It gets ~100 uniques a day, of which ~80 are returning visitors. I'd like to grow the site, though I think something must be missing since it isn't growing organically. Perhaps I need to make it more useful, though I'm not sure what that entails. Any suggestions/feedback would be appreciated. Thanks!
Right! I've never joined Facebook either, and to me this blog post seems like a crack addict complaining about a monopoly in the crack business. For the life of me, I haven't been able to figure out what it is that Facebook gives people other then one more pathetic way to spend their superfluous free time.

But I'm sure that for social-net addicts this is all very serious indeed and I, or anyone else, shouldn't be taking this grave matter lightly.
Pretty interesting. I already have a homegrown version of this service running locally and powering a few side projects.

It's really useful to use that "patch" method to combine knowledge from several sources into a single representation. Seems like that problem pops up a lot on the web.

Suppose I'll add it to the list of things I thought I invented.
Incidentally, our work space was designed by the team. We moved last summer. The management chose the office and we were given $50k to do whatever we wanted with it. We built one conference room, a server room, and two small meeting rooms. The rest was open with clusters of stand-up desks.
Concentration is horribly overrated. Pairing > concentration.
Yes, the name is very important, just look at the name google, that doesnt sound so Web 2.0 at all, I mean, who can even pronounce that?
You may have learned how to build a site with RoR, but have you learned how to be a great developer? I wish I had when I was starting out and didn't get into bad habits.

Do you know how best to test your application?
Do you know how to best deploy your apps?
Do you know how to write good documentation?

It isn't the sexy stuff, and I still don't do enough of it, but I think if you get into these good habits now, the benefits will pay off in the long run (or so I hear anyway).

Though I agree with skrebbel, that if you find something you really want to build, that will often lead you to decisions of what to learn next, I think you can have some more guidance here.

I wouldn't jump into MongoDB and Coffeescript right away. Mongo is a specific tool for specific projects.

I wouldn't jump right into Coffeescript either, I think it is good to know proper Javascript (or some might disagree, but for the most part jQuery suffices at this point).

It looks like you used html5 boilerplate. How well do you understand it? I couldn't tell from the css, are you using SASS or similar CSS tool? I'd recommend that.

Javascript will be very important going forward, and I personally believe that most of my time is spent building front-end rather. Probably 3/4 of my time is spent on css and javascript. I'm building in Backbone now, but putting in and taking out of a database is pretty basic for the most part. I've started doing some NLP stuff, and still, the majority of my time is spent on front-end coding.

Summary, make sure you've got a good foundation for general best practices, spend your time becoming a great front-end coder.

By the ways, I don't understand what showwwwdown is, but you've built a nice looking site.
Um. Wedding blog posts aren't very interesting unless you're about to get married or you're in the industry, right? Maybe your market is just too small?
In the US, I don't think its illegal at the federal level to discriminate on sexual orientation. Some states though have laws granting protection.
Its weird that he complains that khan teaches the same that has been failing for generations, then goes and slams him for not hiring teachers (the people who have been teaching the same way for generations).

The article was super long and I bet most people won't make it down to the bottom where he goes on to explain that he actually likes khan academy and how it's a great thing. Too bad.
Here's a simple idea. How about they just wear a device on say their wrists That visually displays sounds?

So whenever they hear a voice they can make sure the display matches up. If they hear a voice but the display doesn't show anything then they know it's not real.
I know what you mean, and I'm torn. This project was built in about 4-5 hours on a Saturday, mainly as a chance to learn about mail handling. It's ugly as hell and there are no tests (!), so I don't know how well it will hold up as a long-term solution - I guess we'll see.

I just find the $9/month per employee a bit repugnant - if we grow to 10 people, we'll be paying over $1000 a year for a piece of software that parses subjects out of emails and stores attachments. Doesn't seem like a good deal.
Reading the Times' headline I can't help thinking of the grammatical difference between 'use' and 'utilize', which turns on what the intended purpose of the object is.

Which of course raises the question, what is the intended purpose of a facebook user…?
"which at this point only Chrome has implemented in a generally available release"

My point exactly.
Jetbrains editors probably sweep the floor with VS or any other IDE developed. http://www.jetbrains.com/editors/javascript_editor.jsp?ide=w...
the whole design. the fact you even need to ask doesn't inspire confidence that you can get this done.
Show HN: CustomStringParser ( Python)
please comment, contribute if you have any good ideas.
This is my semi-first public project, open source
I would agree that the most-upvoted comment on the other thread was pretty rude and if it had been about me and I had read it I would have felt pretty insulted myself. (It's kind of a shame that it was phrased in such a way.) Also he's probably right that we are more likely to celebrate each other for our programming abilities and a similar world view: this is human nature.

But the vast majority of the comments weren't unpleasant and it's a little unfair to paint everybody as not having the same views publicly as they do 'anonymously'. How would he know? It seems that even without anonymity people can be fairly offensive... ;)

While I wasn't aware that this was about our allegiances, it's Robert Scoble's choice if he wishes to identify with Google+ over Hacker News. I just looked at the comments on Google+ and Facebook, and I'd say that the discussion on Hacker News was far more vibrant and reasoned -- but it was definitely slanted towards a 'hackers' world-view.

...anyway, I sure hope Scoble will pick up my phone calls. :(
We are going to have a great 2030's when all these patents expire...
http://news.knotist.com
um no that's not how it works moving the median lower also pulls down the top half as well.

Its effectively changing the distribution of salaries positive skew in statistics speak
I wonder, if it is possible instead of temporary storing files, to script reverse ssh tunneling [1]?

[1] http://en.gentoo-wiki.com/wiki/Reverse_Tunneling
Sublime SideBarEnhancements for Better File/Folder Management
I write quite a few Ruby utilities (for myself) and this is what I do: use backticks to harness the power of shell utilities, but have Ruby glue to do more complex tasks with those tools.

For example, I recently wrote a quick Ruby script to test various parts of my internet connection (ping default gateway, test DNS resolution, etc) because I was bored and my internet connection was down. I used backticks to do things like grab a nameserver from /etc/resolv.conf and then ping the server, but I had the surrounding Ruby code doing things like parsing the output using regular expressions and doing some logic on the results.

Sure, I could have written the thing in pure bash, but Ruby has better text manipulation capabilities when it comes to things like parsing (in my opinion), and with the backticks, I still was able to harness the power of the shell anyways.

I'm not sure how portable such solutions are, but for a home-grown testing program written on a whim out of boredom, it was certainly enjoyable to have both the power of Ruby and the shell available.
I think we need to define what "qualified" for a job means. This term has been bastardized lately to mean "exactly fits my arbitrary specifications". We can see this to the extreme in development jobs. No one wants someone who can program well, they want specifically X years with Y technology, rinse, repeat. This definition is specifically crafted for the benefit of the company to the detriment of worker pool. Lets do away with this bullshit definition. Qualified to me means "has a certain level of experience or expertise that allows him or her to perform the job well with a certain amount of training".

With this new definition we can more clearly see my point. If there are no qualified workers in this country, it makes sense to allow companies to bring in talent from abroad. The problem is companies are too cheap to tap into the talent that exists here. This is bad social policy for a myriad reasons. The wealth of a nations workers helps create an environment where companies can flourish. Bringing in talent from overseas when there are workers here that can do the job (with some training) is in fact a net-negative for the country as a whole. It's not a swap: were not sending away the "unqualified" American, the system still has to support him somehow. Now he'll either have a lower paying job or in the case of the story in the article, he'll a burden on the country's safety net. This is a net negative for the integrity of the country.

For equal or nearly equal qualifications (by my definition), the local worker deserves the job. Companies don't start in vacuums. Their tax dollars has supported these companies, created environments where they can flourish, created a healthy workforce that allowed the company to grow, etc. The nations workers deserve the benefit of their "investment". Extremely liberal immigration policies may be a net positive for the world, but its decidedly a net negative for the workers here.

>This is a nation of immigrants where, as often as not, immigrants are the ones creating the jobs in the first place

Of course, the ones that are creating jobs can be let in :). But for every entrepreneur immigrant there are many times more rank-and-file worker who's job could probably be done by someone locally (with training perhaps).

>It's not a matter of nationality that decides how responsible you are for the wealth of the country.

Yeah it is? As a citizen, I'm certainly more responsible for the wealth of this country than a non-citizen chosen at random.
"They trust me. Dumb fucks." -MZ
Open Source software that doesn't support locked up content or formats will give an inferior user experience for the foreseeable future.

This is not entirely true. I think you mean to say we will have access to less content, which is true. (And a fine trade-off for me.) My user experience with copyrighted content is actually quite nice, everything works as expected.

I'm curious what the trade-offs in the other direction are. I tried coming up with a few:

1. Your customers will face more friction getting your content. This will cost some customers. This also means more customer support issues.

2. DRM technology will be expensive to develop/license and maintain. Especially if you have content that needs to be used across platforms. Distribution is also trickier (do users need custom software, etc).

3. Smaller customer base. Some platforms will inevitably be excluded and some people won't use DRM stuff.
This might be a solid 8 hours of coding in a day, but if you are missing out on conversations what is to say those 8 hours aren't in the wrong direction, or replication of work.

Serendipitous, happenstance conversations are a Good Thing, but if you're relying on that to keep people from spending entire days doing the wrong thing, you're doing something wrong, IMO. What's wrong with a daily standup meeting, chat via IRC/XMPP/whatever, and/or "management by walking around" on the behalf of whoever is leading the team, as a mechanism to make sure people are focused on the right thing?

Sure good standups might catch this sort of mistake, but I've seen people 'hide' what they are doing from the team, as they feel productive solving the problem.

If somebody is actively hiding what they're doing, you have bigger problems than the lack of chance conversations, no?
Well, duh. It's been quite obvious to me that drunkenness was always an excuse for acting improperly.
Another ambient channel: http://stillstream.com/
Your "point" was refuted.
The truth is that Khan Academy is helping millions of people - and I'm one of them - to learn topic that seemed out of their reach. Maybe KA hasn't understood all of the pieces of the educational puzzle, but given their resources and trajectory I think they can have the same kind of profound impact as Wikipedia.
This article is a joke. There is no evidence offered to support his conclusions, it's basically a long slander article that his peddling his shitty startup.
> I don't think individual offices are good. People will spend more time away from their offices than in them, attempting to collaborate, then since it's a pain to go back in and out of their office, they'll end up just staying out of their office and socializing most of the time.

It depends on how collaboration-intensive the job is. Having an office (ideally with a big, heavy door) is amazing. It's really the fight-or-flight situation. When I have the only possible entrance sufficiently barricaded, I can let myself go into a much deeper productivity zone than if there is the possibility of people intruding on my space.
yessss!!!
Possibly, but Green Wedding Shoes, one of the more popular wedding blogs, gets over 45K monthly uniques and there are probably 5 other wedding blogs with similar traffic. I should be able to get more than 3K!
To make it clear, I don't mean to rag on C, which is a great mid-level language. It's the ++ that I hate. Assembly is infantry: can do a lot of fine-grained work, but limited to about 5 mph with equipment. C is a tank-- a pretty powerful and impressive machine. It can shoot on the run and do 50 mph off-road. High-level languages are airplanes, perfect at 500 mph but coarse-grained from an operational standpoint. C++ exists because someone saw a tank and a plane and said, "I'm going to put wings on a fucking tank and see what happens." Thus, the tank-plane was born. The wings destroy its maneuverability on the ground and the weight of the tank makes it a shitty plane, and it looks fucking ridiculous, but there you go. Java exists because someone else concluded that the problem with tank-planes was that people were trying to fly them too fast and built an equally ridiculous invention-- the tank-icopter.

After I have defined a high-performance algorithm, they often want to modify it to make it "more beautiful" (which means functional) and in the process destroy the performance.

That's annoying. They should understand the concept of interface as separate from implementation. Implementations are allowed to be (and sometimes should be) ugly if performance concerns merit it.

Besides, mutable state, intelligently used, isn't "ugly". A lot of programs are simpler and more attractive when mutable state is used. Mutable state just needs to be used with taste.

What really pisses me off about that behavior pattern is when the tinkering is unnecessary. If it's working code, then who cares? I'm a hard-core FP advocate but I write stateful programs all the time. I try to wrap them behind interfaces that are as functional as possible. I will use state in controlled ways when appropriate; I just don't want to impose it on other people.

I work on low-level algorithm design in A.I., where performance is everything and there are many interlocking, low-level and complex algorithms and data structures.

I think what makes C++ appropriate for your purposes is that once code is written to spec, it doesn't need to be maintained (except for performance optimizations). I'm guessing that (except possibly for some STL usage) you're actually C.

Where C++ and Java really drop the ball (legacy disasters) is when code has to be read more times than it is written. If your goal is to write fast software one time and, once it's working code, never need to look at it again, C++ is probably appropriate.
Small business owners get pitched for stuff several times a week. It gets to the point where you refuse everything outright unless you're looking for something specific.
Language Importance for DevOps Engineers
(In the extreme case) the only people this serves to benefit are those who own the companies in question. It makes for an extremely unhealthy worker environment. Someone locally will always be undercut by someone external. This creates a race-to-the-bottom where the only people who benefit are the owners. Trickle down theory is bunk: rising tide for business owners does not necessarily uplift everyone else. It may be a net-positive for the world, but its decidedly a net-negative for those who are local.
this is my first open source project, please comment, contribute and etc.. :)
but they have acted to suppress that median -) this is statistics 101
That's exactly the reason, and it's the only reason. Open space is cheaper.

I would agree that it's the main reason, but I'm not sure it's always the only reason. Some people (for whatever reason) actually buy into the idea that working in an open space is better for creativity, collaboration, etc. Even some developers, who ought to know better, seem to have drank enough Agile Koolaid that they believe in this stuff now.

It's actually, IMO, one very unfortunate side-effect of the Agile movement... people somehow started equating "agile" with "everybody must be in one big room together" and that meme stuck, and now it's contributing to the propagation of this "open plan" nonsense. Never mind that you pretty much never, ever, need to actively collaborate with somebody for 8-10 continuous hours in a day. Or never mind that Tom and Suzy collaborating is keeping Joe from getting anything done due to the constant distractions... sigh
Yeah, don't attribute to malice what can be adequately explained by incompetence. :)