skysight-inc/HackerNews huggingface dataset:
If you have to learn just one language, and you're forbidden from learning another, you'll mentally hobbled, a technical cripple, like someone who's been forced to express their thoughts using only 5'000 randomly selected words of the English language.

The premise is completely flawed. No single language is enough to "be a programmer". You need other languages, if only to understand what your language does. And you need them because no language is the best tool for every job. Should a plumber choose "just one tool" to do their job with?

if you want to devote all your energies to becoming a proficient and productive programmer and want to learn one powerful, freely available, high level general-purpose language (not domain specific)

If you want to devote all your energies to becoming a proficient and productive programmers, you will need to:

1) Learn at least half a dozen different languages over the course of a few years or more (and by "learn" I mean learn them well enough to do something productive in them).

2) From this, arrive at a set of preferences for which languages you feel most productive in for the tasks which you tend to do.

3) Then, hone those few languages (there's gonna be more than one) to a sharp point.

4) Keep monitoring new language developments and get ready to jump ship if a better language comes along, which replaces one of your current languages favourably.

A one-language programmer is like a one-legged stool.
Hanoi Love - Encyclopedia of Programming Languages
Ask HN:  How Can I Make My Facebook App Better
http://www.facebook.com/apps/application.php?id=375391472244

I'm a student at the University of Arizona and I made this Facebook app. I'm looking for a serious critique please help. Also I made a site for it oinkypig.com any suggestion on that also would be nice. Thanks
The Right to Choose
I read it as "HTML's <video> doesn't have DRM". However, his concern about streaming and buffering capabilities seem valid. I'm assuming this will be improved as time moves on.
The reason language and version control wars exist is because these are the mechanisms by which developers interoperate. It is worthwhile for me to convince you to use Git instead of Subversion, or Python instead of C++, because I might one day work with you and have to use your tools. If there's consensus about what the best tools are, then I am less likely to experience pain when moving.

If we were talking about which editor to use, I am rarely bound to use a certain editor based on the team I'm on, so that's why editor wars are, indeed, largely noise.
>Being pure Python it doesn't have the same performance that git does.

Well, hg is nearly all Python (if I recall, their diff algorithm is the only C code) and it's quite comfortably fast. Seems to me that it's a design issue with Bazaar, and not something that one can simply blame on Python.
The camera isn't, but our brain still is when we process the picture taken by the camera.
I'm pretty sure C# uses UTF-16, not UTF-8. Regardless, Unicode is Unicode.
I certainly hope not.
> And btw, here there is a loss since all character sets are not fully covered even in UTF-16 (iirc).

UTF-16 covers everything in Unicode if you deal with surrogate pairs. UCS-2 does not: It's limited to the Basic Multilingual Plane, which captures a lot but not everything. In particular, East Asian languages are only partially covered if you only deal with UCS-2 (or UTF-16 without surrogate pairs).

UTF-8 covers everything without surrogate pairs or any other hack: It's variable-width, and somewhat more complex to decode, but it's a flat encoding, as opposed to the segmentation enforced by surrogate pairs.

Now, some things just aren't in Unicode (yet). There's very little you can reasonably do about that, unless you happen to know how to convert to and from an encoding that does have them. Fortunately, Unicode covers damn near everything these days.
Once you reduce the risks of action to the point where not acting is the worst case scenario, go for it.
Ubuntu Light Shuts Out Future Ubuntu Moblin/MeeGo Remixes
HTML5 video will never be acceptable by people who believe that DRM in Video is a requirement.

Fortunately, those people have over the last few years been proven more and more to be ignorant of what the wider market wants -- and the video-industry overall isn't being as stupid as the music industry, but fundamentally, they will try to hold on to DRM'ed video content for as long as possible, which is something that HTML5 streaming of video content will never allow.

Speaking as an ex-jooster, there are lots of things you can do to create white picket fences when streaming over HTTP, like one time tickets, dynamic rate limiting to prevent mass ripping[1], etc. At best these limit people 'stealing' content to doing it in real time, and makes it hard to 'rip' an entire site.

Today that is the situation even Flash is in -- there are lots of tools out there to steal content from Hulu in 1:1 time, and they could do it over HTTP for effectively the same protections, but the content owners still believe in the illusion that they have more viable white picket fences, which Adobe is happy to sell to customers in FMS:
http://www.adobe.com/devnet/flashmediaserver/articles/protec...

[1] - http://svn.apache.org/viewvc?view=revision&revision=7219...
I wouldn't give them a dime, at this point. They don't even have a proof of concept, and giving them more money than they ask for is certainly counter-productive.
Maybe he meant "developer tool developer".
This is going to be the most overhyped and underwhelming web project ever. This entire group looks like they have vaporware written all over them.
If it can be set up and torn down with relative ease, there would probably be a market in rentals for people having outdoor parties or weddings, or camping trips.
The only valid point made is that checkout has two functions:

* If there does not exist a branch 'foo', then 'git checkout foo' will reset the file named foo to the head.

* If such a branch does exist, then 'git checkout foo' will move to that branch. You have to say 'git checkout -- foo' to have the first behaviour.
Yup. Link was to highlight that there are many other examples of more effective maintenance pages than the one from OP.
> And btw, here there is a loss since all character sets are not fully covered even in UTF-16 (iirc)

If they aren't covered in UTF-16, they wouldn't be covered in UTF-8 or UCS-4 either. All modern Unicode encodings (i.e. not UCS-2) can encode exactly the same data.

I'd be curious to know which character sets Unicode doesn't cover yet a different encoding system does.
Dupe:

http://news.ycombinator.com/item?id=1342748
I understand why --rebase isn't the default, but in the overwhelming majority of cases, you want to --rebase when pulling. I always tell newbies that they should default to --rebasing.
He lost me when he started talking about JavaScript and implied it is obsoleted by GWT.
I can't get firmware updates for two year old servers because of the Oracle takeover. My company will never purchase an Oracle product, they screw their customers.
There is a certain irony that this comes as a blog post.
While I see the problem with this implementation of QuickSort, I don't agree that "it's hard to find beautiful code in 'real world' problems." I think most programmers have opportunities to write elegant code every day.
Check out
http://www.autonlab.org/tutorials/

and also a free ebook called Elements of Statistical Learning
http://www-stat.stanford.edu/~tibs/ElemStatLearn/

I've also found a number of course note sets helpful, for example, MIT's machine learning course

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Compute...
The thing to note is why they say it isn't good enough.

The argument essentially boils down to: the studios and the advertisers are their customers: the studios don't like the lack of perceived control over the data stream and the advertisers don't like the loss of finer-grained reporting on data-stream consumption.
Well, the lack of support for DRM is always going to be an issue as long as content producers insist on having DRM. I know we've all been 'round this tree before, but I continue to be genuinely perplexed that they still insist on DRM. Network TV is broadcast over the air unencrypted to begin with. Why is the internet so special that all that same exact content has to be locked down? It's like a bank building a safe with several feet of reinforced concrete on the top, bottom, and sides, but putting a plywood door on the front.
WV ?

Get involved in open-source, it is the best way to be apart of things you wouldn't otherwise have access to as the requirements are simple: 1) show up (virtually), 2) be polite. You seem to have the inclination to be the second. id like to encourage you to do the first.
Its about time a major video provider stands up for the current limitations of HTML5. I'm glad to see them do this and I would love to hear some BS response from jobs on why they are wrong.
> If you had, you wouldn't be talking about how the tax base took a "hit".

You claimed that you didn't have enough money to pay teachers. There are three ways to get into that situation.

(1) The amount of money that you're paying teachers (as a whole) has gone up.
(2) You have less money than you had last year.

(1) is dumb unless you have more money coming in, which leaves (2). Should I have assumed dumb?

> Did you read my earlier comments about how the property tax is assessed and collected?

Yes, I did. The total amount of property tax collected can go down if the total assessed value of property goes down. Of course, not all of that property tax revenue goes for teacher salaries, so it's possible for the teacher salary budget to go down when the property tax revenues don't change.

Anad that gets us back to priorities. When total tax revenues go down (or new spending comes in that exceeds new revenues), govts make two lists - things that they threaten to cut and things that they don't threaten to cut. The composition of those two lists tells you want they think is valuable.

If your "teacher salary budget" got cut, it's because something else didn't get cut. Why do I keep saying that? Because property tax revenues pay for more than just teacher salaries.
Are you married? There is much more to marriage then love. It is a legally binding contract and there are serious consequences for breaking it. Not to mention the social and emotional consequences. There are usually children involved.
That's awesome. Just seeing that got me interested in what their product. Definitely impressed. I might just pay for it.
I'd pick Javascript.

Code and reach is all I need to be rich.
I guess the answer to this question is: Because they can. TV watchers would be furious if they had to buy a set top box to decrypt something that used to be unencrypted.
Not quite right. Decide if the cost of it happening multiplied by the risk of it happening is more than the cost of preventing it or insuring against it. Always remember to factor in the risk of it happening or you are going to waste a lot of time and money insuring against unlikely dangers.
Students who knew a lot going into 3'rd grade and still knew a lot coming out of 3'rd grade will not have a high derivative. Thus, merit based pay would reward their teacher the same as if students knew very little going into 3'rd grade and knew very little coming out.

The only way I can see to game derefr's system is to pack your class with students who used to have bad family situations, but who's family situations have recently improved. I rather doubt there are enough students in that situation to pack many classes.
Customer Dev talks about stating assumptions - you should definitely have the ability to quantify the results of the assumption validation process. I think if you combine this with A/B testing you have a very powerful tool on your hands.
"The premise is completely flawed. "

Sure,(and I think your "algorithm" is better than the author's for choosing which langauge to "deep dive" into), but the whole point of a Thought Experiment is to work off a "crazy" (by whatever logic) hypothesis to see what kind of thinking results. "If I were to hitch a ride on a light wave what would I see? ". "If I knew I was going to die exactly a year from now what would I choose to do?" etc. The crazy hypothesis is taken as an artificial focus to spur thinking.

That said, the author seems a bit clueless (and I am not defending him or his logic). I just wouldn't dismiss the idea of a thought experiment so easily. So yes, if you could learn only one langauge which one would you learn? ;-)

(HN generally has better commentary than the article under discussion. This effect is particularly marked when theit is about some dumb submission that for some reason sparks great discussion.

My answer (fwiw) - C or Haskell. My biggest (programming) fear is working with dumb people on dumb projects. In the days of Java and scripting languages like Python or Ruby, either would be used (by and large) only for very unusual/interesting projects. Most of my work today is in converting Machine Learning research into workable code. The language used is is irrelevanmt to my clients, so eithr would work.Side projects would tend to be more interesting with either of these.

C would give me more job opportunities and many nice Open Source projects to jump into than Haskell I guess, but Haskell might be more mindbending (and fun). And it has a great community of very bright and nice people.)
Ask HN:Network programmer on Linux. What skillsets should I develop?
Hi. I am a C programmer with some experience developing programs in Linux. I have roughly three years experience in the communications domain. During this time I learnt to develop multithreaded, network applications on Linux. I also have some experience in protocol stack development. I am more of a software guy and have almost zero idea about hardware and stuff. So I don't like to take my career down the embedded route.
I have been job hunting recently and realised that most of the openings in Linux are for embedded programmers. So far I have only been able to get two interview calls. Is there really no demand for network programmers in the market right now? What skillsets should I acquire to further my career as an software application developer for the Linux platform? Would really appreciate the feedback of the HN community. Thanks.
> Encodings are fundamentally hard in our current code environment. If your language doesn't make you explicitly think about encodings, you are writing bad code. Period. Full stop. If your language does make you think about encodings and you just make it go away with compiler incantations or just bumbling about until the problems seems to go away, sort of, as long as you don't poke them too hard, you are writing bad code. Period. Full stop. If your language has no support at all for encodings, may God have mercy on your soul.

This, to me, is the fundamental flaw. By now we should be able to have a single encoding that takes up as little space as possible while supporting every known character, and leaving room for more. Most machines now are at least 32-bit... that's almost 4.3 billion characters. Surely there are less than that in the world?

One of my "Grand Lifetime Projects" is to build a new programming language and a new OS built with it. Part of that will certainly be handling strings in an efficient way, both in terms of computer and programmer time. I have some ideas swirling around for creating One True Encoding that allows for extensibility.
(Though even if they do, how many great apps to take advantage of it will be out within one year?)

This is probably grasping at straws, but maybe 10.7 will finally be focused on Apple building something for the end user with all the nice APIs they've added in on 10.5 and 10.6. Stable foundation, now to build something on top of it. In this case, devs would already have a lot of the APIs.
We use ruby at Spiceworks and are internally switching to 1.9.1. We are doing it for performance as well as internationalisation. While the encoding was an issue upfront (and we have guys converting our app from 1.8.6 as their primary focus), we do the edge-UTF8 approach, and we've updated a lot of the gems to 1.9 without waiting for others.
I didn't mean to imply you personally are stupid. Just that 'one' wanting to use git should effectively concede that it gives you the tools to cut off your hands if that's what you're aiming to do.

So as to your next point, I don't think that's a very good analogy. If the rotating blades are meant to be used to amputate limbs and to cut logs in half - then yes, I'd say if you are trying to cut a log in half you shouldn't put your arm in it.
"What does "cancel" mean? In linux with CUPS, it cancels a print job. To cancel a process, you have to kill it, but you cannot kill print jobs. Shocking."

Those are different projects. Git is one. OO is an abstract concept, we're talking about git communicating to the user, and what level the user must have to understand that communication.

The problem is not that git and svn have different opinions on what "checkout" means, it's that git itself has different opinions on what it should mean.

Again, why is it so bad that we say the interface could be better? Why do so many of those that managed to get a grip on this feel the need to strictly deny that there could be any problem in the interface itself?

Yes, Linus designed it. But he's just human too.

I still have yet to see a single useful advantage of mixing up different meanings in the same word. All I get is "It is that way, learn it or GTFO."
I doubt very seriously that next year will be the "Mac centric" year as Jobs states; but I'd guess it will at least still be there, and may well be more of a focus...or at least 50% of the focus.

Seems to me that, of the two branches, iPhone OS is just the one that's currently evolving more rapidly. WWDC attendees would be naturally most curious/hungry for deep information about it. Desktop OS X won't even have a major revision for some time yet...so why take a rote focus on "well, more of the same Mac OS X" when pretty major changes are afoot in another, admittedly closely related segment?
A pox on both their houses.
That's incredible. I've been running the 64-bit flash player in Ubuntu for a while and it fails horribly at high resolution video. Two questions:

1) Where did you get the 1680x1050 youtube video? The 1080p video I tried was 1920x798. Can you give me a link so I can test with it?

2) Which CPU and video card do you have? My Core 2 Duo E8400 and NVIDIA 8800GT don't even get close to cutting it. Anything above 480p video and I get dropped frames and horrible tearing.

Edit: I have no problem playing 1080p video in native video players like mplayer and vlc, only flash.
But the key point is having some other objects in the picture that will give you the perspective change.
The worst part of the DRM illusion, is that HULU is entirely second-run TV. It is, by definition, video that has already be recorded, digitized and stored by any number of DVRs.

"Locking down" HULU won't stop the serious, won't stop the casual and won't have any effect on video availability past original broadcast. The networks have long since lost the ability to control rebroadcast availability and they remain in deep denial -- almost surely, because lucrative contracts for re-runs require them to maintain this fiction.
I've only skimmed the HTML5 video spec so far, but my guess at this point is that stuff like Hulu's new adaptive bitrate streaming, and their ad volume normalization, would be much more difficult (if not impossible) to implement in HTML5.

I certainly agree the studios' lack of perceived control is likely to be a factor too, but Hulu aren't alone here: HTML5 isn't (yet) good enough for us at Justin.TV either.
I use a SmudgeGuard with my Wacom Cintiq - I suppose the same thing would work for the iPad. I haven't received my iPad yet to test it out.

EDIT - link

http://www.smudgeguard.com/
Of course the premise is flawed. It doesn't stop it from being widespread, however. For many people, one language is enough.

I had teachers who told be that learning one language is enough to learn them all (except for the syntax). I have a colleague who wouldn't use anything but C++ for "serious" projects.

[Edit] Could someone tell me where this comment went wrong?
You don't have to "install" a node. You just use one provided by wordpress, posterous, tumblr, et al.

If you are a geek, then you roll your own.
Ah, that makes much more sense. Thanks a lot Igor.
Network TV is broadcast over the air unencrypted to begin with. Why is the internet so special that all that same exact content has to be locked down?

Because the devices that generally connect to the internet are good at storing and re-transmitting content, whereas TV's aren't.
The only reference I could find for this was the following conference presentation:

http://home.medewerker.uva.nl/l.henrichs/bestanden/LHenrichs...

It seems to be based on some rather odd (and completely unsupported) ideas of what constitutes an "academic register", and the results are pretty messy. It would be better if Science Daily could give a real citation to back this up.

edit: There is also this, listed on the author's homepage:

Henrichs, L. F., & Schoonen, R. (2009). Lexical features of parental academic language input. The effect on vocabulary growthin monolingual Dutch children. In B. J. Richards, H. M. Daller, D. D. Malvern, P. P. Meara, J. Milton & J. Treffers-Daller (Eds.), Vocabulary studies in first and second language acquisition: the interface between theory and application (pp. 1-22). Houndmills: Palgrave Macmillan.
And those are important why's.

The end user isn't the only term in the equation is that is the internet.

I would agree that HTML5 isn't ready for mass consumption just yet - client-side uptake is not there, and current implementations are first-generation and very, very slow. We need to go through some more cycles before this thing is in shape for a large-scale deployment like Hulu.
Ask HN: Is Diaspora Overrated? Overhyped?
just a little imho...

Please correct me if I'm wrong, but there are already open source 'facebook killa'z' out there. What makes Diaspora different? (besides an article in the NY Times)

Best of luck to the Diaspora Team "TOUCH GREP UNZIP MOUNT FSCK FSCK FSCK UMOUNT"
Ask HN: What are your favorite email related essays
What are your favorite essays about managing email, email etiquette, email bankruptcy, etc?
To the naysayers, even if they don't deliver, this undoubtedly proves there is place for a facebook competitor.

And lots of people with money to back it up.

To facebook, you just jumped the shark. Perhaps you will never die, but your days are counted as king of the social web.
Want to Be an Entrepreneur? Listen to Angel Investor Naval Ravikant
Great product managers don't pivot on noise.
Rats -- someone here said, "I'd be worried if I was kickstarter at this point...", and as I went to reply to that, they deleted their comment.

But it's spot-on.

Short term, this is going to bring a lot of publicity and attention towards kickstarter, and that will also benefit the projects on there. If you'd like to launch something via kickstarter, now is the time to do it.

Because, odds are, what these guys roll out just isn't going to live up to the $100,000+ raised for it, and when that happens, that's going to reflect badly on kickstarter. I would guess that potential donors will be far more critical of future kickstarter projects; the foremost question on those projects is going to be, "Is this another Diaspora?"

The funding for this thing stopped being about getting this project off the ground, and has started being about a protest against Facebook. There's more than enough money in there to launch Diaspora now. People are donating now just to moon Facebook, and that's gonna end up hurting kickstarter later.
Video: Want to Be an Entrepreneur? Listen to Angel Investor Naval Ravikant
Why not just submit this as a link?