skysight-inc/HackerNews huggingface dataset:
Having done a freelance gig at Nokia, working on some Windows Phone stuff pre-Mango, I can say that Nokia is, and always has been, fully aware of the WP roadmap. The Lumias were brought out quickly, but have never been representative of what Nokia is capable of.

Don't fire Elop, retain the board as-is, deal with the fact that there will be incompatibilities. And wait for a Nokia running Windows Phone 8 and a Pureview camera. This strategy has legs.
You may refer to me as Fake, Fake Steve Jobs, if you wish.

I am, you will discover, exceedingly flexible where English nomenclature is concerned.
I see people recommending pro git but it barely covers anything useful.
Check out:
http://www.cofounderslab.com/
http://www.kofounder.com/home/index
How we created our mobile apps in 4 weeks for Android & iOS with our existing JS
I have one friend who tells everyone what she thinks with no apparent filter.

Besides me, she has maybe two or three other people who like her company.

Nor are her opinions that noxious--usually she just says out loud very blunt versions of what half of the people are thinking. But you can easily imagine personalities with an even lower batting average.
> It's a programming language. The only thing that matters is the person using it.

No! Please see "Beating the Averages" [http://paulgraham.com/avg.html] (skip to "The Blub paradox" for tldr)

It it true that a lot of discussion here is pointless evangelization and bashing, but the argument "programming language does not matter, only the programmer" is even worse. If that was true, there would be no difference between a C# programmer and a Visual Basic programmer. Languages would stay the same with no initiative to change. Yet they do change and evolve. Programming languages vary in power, even though they are Turing-complete.
The timing of the shutdown likely had more to do with:

(1) Megaupload suing Universal, in a lawsuit they were likely to win, and were then forced to drop the lawsuit after the raid.

(2) The raid happened just prior to Megaupload releasing a new service called MegaBox, which would allow artists to legally sell music directly to fans, allowing artists to keep 90% of the profits, as well as introducing a feature that allowed artists to make money off music that listeners were streaming for free.

It turns out the FBI had been spying MegaUpload for the past 5+ years

http://news.cnet.com/8301-31001_3-57368523-261/feds-we-obtai...

With the fact that they don't have any evidence to present a case that there was actual illegal activity going on that required the raid, I would say it's more likely that the pressure for the raid to come when it did came directly from the entertainment industry / UMG.
May also say something about your nationality? Just guessing, as the Spectrum et al. were almost unknown in the US.
This seems like a lot of code... Here's what I use:

javascript:void(document.body.innerHTML = document.getElementsByTagName("pre")[0].innerHTML.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&nbsp;/g," "));

(Note: I've only tested this on Chrome.)
> the first fundamental particle observed since the quarks in the 1980's

A minor correction -- the tau neutrino wasn't discovered until 2000.
Even days or weeks is insufficient. If I buy tickets to an event four months from now it is usually incredibly easy to arrange an affordable flight, for example. Or if two mutually exclusive events I am interested in have tickets go on sale at the same time right now I can pick one and purchase a ticket. If they are sold out I can pick the other event instead. With this system if I enter the auction for only one and do not win then I am screwed for the second one as well. If I enter both auctions I run the risk of purchasing both tickets.

I can imagine some other, more subtle planning issues that arise as well. Not that the system couldn't work but I think it would make for a terrible standard model.

As a sort of side-note you talk about helping the artist extract some of the money they are leaving on the table. I don't it's fair to assume that they are leaving the money there because they can't figure out "hey, if people are successfully scalping then I could make more money by charging more!" They have to look beyond a single transaction and keep in mind lower income fans that they still want to please, for example. Such fans would inevitably lose the auction for any show that sells out but some of them actually get to attend the show with the current structure.
If you're looking at measurements made on the quad core machine, then remember to check the "≈ CPU Load" column to see whether some programs are using multiple cores and some programs are only using one core.

When the comparison would be better without that complication, look at single core measurements -- http://shootout.alioth.debian.org/u64/benchmark.php?test=all...
Attacking Stack Ranking
¿Qué es Twylah?, ¿SEO para Twitter?
¿Cómo integrar Asana con WordPress?
I think it's quite dramatic how many very intelligent people (up to writers in major publications) are uneducated about this distinction, and how dramatically wrong decisions can be if this is misunderstood. If we could teach this, as well as correlation vs causation, I'm convinced the intelligent public would make much better decisions about many things, medicine and nutrition to name a couple.
My wife works for a fashion related magazine. There is one man on a staff of over a hundred people. I've never seen an article about why this is a problem. Should it be?
I agree completely with this, all code should be visible, but I still go well over 80 personally because I'm don't, nor will anyone likely edit my code on a 80 char terminal. When I was hacking on an IBM mainframe through a 3270 terminal, the 80 character limit made a lot of sense.

Why use the 80 char rule because of an edge case of some throwback editing javascript in a term that only allows for 80 characters? I mean, who does that?
And I agree with that. "new" exposes too much implementation detail: it always allocates an object, and it's exactly the type specified, neither of which callers should normally care about. I much prefer how Python does it.
wordpress is the way to go
To be explicit, since this comment is still top voted: This comment was made by someone who only watched the first of 2 presentations.

The second presentation showed a 5 sigma result.

I'm Incredibly disappointed by the trivial inaccuracy of comments on hacker news lately, and that corrections never get upvoted quickly enough to prevent the spread of misinformation.
The google javascript style is overly verbose and really awkward. Javascript isn't a typed object-oriented language. If you fight javascript until it looks like C++, you make an awful mess. Most of the javascript I've read from google is overly verbose, takes ages to compile(!!) and it avoids javascript's best features - anonymous functions (closures), object literals and dynamic typing.

If the author writes his javascript as if it were C++, its really no wonder he hates the language. Javascript is a wonderful little language - but its not C, and if you pretend it is, you're going to have a miserable time.
if (!(this instanceof arguments.callee)) {
return new arguments.callee(/* parms */);
}
Yep I have used Composer and Packagist - http://packagist.org/packages/orderly/paypal-ipn-bundle is one of mine. And TBH I agree with you on Python - the packagement management scene there is a mess. Maven I think gets a bad rap - once you find out about http://mvnrepository.com/, it's actually smooth sailing.
I would fire anyone who wrote code like this in a real app. Surely there can be another way to achieve the same result with a much cleaner and maintainable implementation. Code like this is written by prima donna programmers who have no respect that other people will someday have to read and maintain their code. I say this about any similarly-convoluted code, not just in PHP.
Better SAAS Pricing Strategies
Import python module straight from github (PEP 302)
I've been a Python developer for a decade. Go is the first language to successfully pull me away from Python. I've been developing in it for almost a year now and for every reason this blog post points out, I'm in love with it.
There was a similar and recent vulnerability in google webmaster tools as well.

Very scary. But what stellar alternatives exist for startups?
Puhkemaja
1901. aastal ehitatud Kuke Turismitalu asub Kose vallas, Tuhala maastikukaitsealal. 2007. aasta aprillis lõpetatud restaureerimistööde tulemusena on Tallinna külje alla sündinud kaunis turismikompleks erinevate sündmuste korraldamiseks.
Google harassment of CDNPAL users via Webmaster Tools
Visual evidence of Google harassing our users, and a quick info-graphic explanation of why it is false.
Katy Perry Part Of Me Movie 2012 HD Wallpapers
Most of the code is for mapping css and js files to the relative raw pages.

Try your code on this page: https://raw.github.com/mrdoob/three.js/46c0a8434d3f269741a88...

And compare it with githtml on the /blob/ version of the same page: https://github.com/mrdoob/three.js/blob/master/examples/canv...
What? According to http://bit.ly/RcTxfR only one from Finland voted for ACTA.
* to JavaScript compilers seem to be popping up everywhere. Perhaps this one would be useful to someone. Personally, I'd rather be able to do NaCl in Go.
Have you taken a look at http://haxe.org ? Seems like a good solution against javascript's flaws.
Semicolons: it's too bad Netscape didn't choose to use colons instead (but then it wouldn't sorta look like C, would it).

As opposed to common dogma as this is, JavaScript is essentially a line oriented language, like Ruby, Shell Script, BASIC, Groovy or dBASE. OK, so it's more like Ruby, where the line will continue if it doesn't look done.

Had they used colons instead of semicolons, it would have been obvious that "oh, I'm using this punctuation to add another statement to this line", but of course, it's usually the null statement in JavaScript.

It's a shame JavaScript (and Ruby) didn't adopt the line continuation character convention (e.g. - backslash or ampersand) for incomplete lines. As it is, one might be best served by learning what incomplete statements look like, just in case, and alternately, where the parser might think your statement is shorter than you intended.

Yes, I add the semicolons at work to avoid the <<trivial criteria>> contest.
IaaS Community Comparison
Though I'd never do such a thing, your point is completely valid.
The Pro Git book is relatively good. Ignore Chapter 1.

http://git-scm.com/book/en/Git-Basics
Maybe I'm not understanding it correctly, but on the point about "it's ok to block", does that mean Go will continue to serve other requests normally, but at the point of the blocking code, it automatically has a "callback" to the next command? (effectively saving the programmer the pain of having to write code in callback fashion)

Having no prior experience with Go, I found the rest of the article informative!
the best way to learn Git is simply to be forced to use it. and even then you only learn subset you actually need to get the job done but at least it's something to get you started.

I'm not going to post link to yet another git tutorial. I would rather recommend to start with something like Heroku, Appharbor or similar.
UK govt. to spy on Brits by black boxes
I'm sorry to sound like a fanboy, but this is one of the reasons I love Go: is the most readable language I know.

It is expressive, but free of magic, code says what it does, there is no hidden magic tricks, this annoys people used to other languages with more "features", but to me it is Go's greatest feature.
I stoped when it asked to create a repo on github. This is not required to lean git. Well tried ;)
I think I could get used to the second, but I'm not yet. At a glance, it looks like Erlang or Haskell, but that just shows you how little I know about those languages.

It's tough to strike a balance between brevity and familiarity sometimes.
Parsing query string in javascript
I have always felt that scripting languages should stay clear of OO syntax largely. Try to do small files which are procedural. OO is for large monolithic modules - good to collabarate and manage complexity - scripting should stay where it needs to be - simple and standalone, no threading, but asynchronous where possible. This makes life easier for everybody.
I use the Google style guide as well since it's required by my job and while I have learned somethings from it I'm not a fan.

80 characters? I never had that limit for the 27 years of programming proceeding using the Google style guide and it never caused me any grief. I find that naming things descriptively and an 80 character limit are at odds.

I'd rather read

maxCombinedUniformVectors = maxFragmentUniformVectors + maxVectorUniformVectors;

than

maxCombinedUniformVectors =
maxFragmentUniformVectors + maxVectorUniformVectors;

or

maxCombinedUniformVectors = maxFragmentUniformVectors +
maxVectorUniformVectors;

I admit it's kind of useful for side by side diff tools but in my previous 27 years of programming I never felt like "If only this code was 80 characters I could read the diff".

More importantly though, the Google Style guide is written by Java programmers to try to make JavaScript into Java, totally ignoring all the benefits of treating JavaScript like JavaScript. That has it's benefits, especially for Java programmers. They don't have to learn some of the cooler things about JavaScript. They can go on treating it like a traditional oop language. And they get static type checking.

On the other hand, all of these FP concepts are out

http://osteele.com/sources/javascript/functional/
http://www.ibm.com/developerworks/library/wa-javascript/inde...
http://osteele.com/archives/2007/07/functional-javascript
http://www.cubiclemuses.com/cm/blog/archives/000307.html/

Even common JS concepts like encapsulation

var ErrorLogger = (function(){
var privateErrorCount = 0;

return {
error: function(msg) {
console.log(msg);
++privateErrorCount;
},
getNumErrors: function() {
return privateErrorCount;
}
}
}());

Are not allowed by the Google Style guide as well as many other JSisms.

Another nit, Google Style guides disallow formatting for readability except for comments?!?!

Allowed

var kStateRun = 1; // character is running
var kStateRunToWalk = 2; // character is transitioning from run to walk
var kStateWalk = 3; // character is walking

Not allowed

var kStateRun = 1; // character is running
var kStateRunToWalk = 2; // character is transitioning from run to walk
var kStateWalk = 3; // character is walking

Either lining things up makes them easier to read or it doesn't. Comments are not some exception. If lining up comments makes them easier to read then lining up anything makes it easier to read.
Convert Word documents to other document and image formats
CSS works fine. (Try this one: https://raw.github.com/twitter/bootstrap/master/docs/index.h...)

I suspect that JS that didn't depend on the page-load to trigger it would work too. I had never considered looking at JS-enabled pages though. When I wrote my bookmarklet, I just needed to view static documentation.

Edit: I found a page with only on-click JS events, and they didn't work. Oh well...
For what it's worth, CakePHP was a hack to get PHP working as it properly should. Our base object class was made so that PHP4's broken object model would work as expected. It has also gotten a lot better, but has also taken a different approach to application development than many of the other available PHP frameworks.
You need to build on existing ideas in order to do things different and to change.

For example, Apple could not have created the iphone were they not allowed to use multitouch gestures. Or HTML rendering. Or batteries. Or email. Or music playback. Or networking. Or touch screens. Or app stores.

They could also not have improved on iOS without taking existing ideas from the Android ecosystem, like Notifications, cloud storage, on the air upgrades, location based reminders, lock screen widgets, turn by turn navigation, mutlitasking UI, voice search etc.
Yeah, Go has a concept called Goroutines which are like lightweight threads. The system multiplexes Goroutines onto system threads. This means if one Goroutine blocks while waiting on IO, the Go scheduler will automatically select another Goroutine to run while the first Goroutine waits on IO.

Writing your code in blocking style is just easier to follow than the callbacks used in Node and other asynchronous event servers.
Anyfi.net makes home Wi-Fi network available anywhere
My point was that you make a goroutine and within that goroutine you do stuff sequentially and you block if you need to.
In Scott's defense, I think it's totally valid to bring up CoffeeScript (though perhaps in a more elegant way with a bit more info as to why it's relevant). It's possible the article's author was not aware of its existence (I think this is likely as CoffeeScript seems to address his main concerns about JS).

Even if Coffee isn't in use at the moment, if it provides some value it would be worth promoting within the organization. New technologies routinely pop up, and the onus of proving their worth ultimately lies on the developers, even if they aren't the decision makers when it comes to selecting which ones are adopted and which ones aren't.
You're basically saying that no serious PHP developers are using, say, VIM or Sublime Text, which is not true. I still hit php.net from time to time.
As long as they are forced to adhere to the laws of a democracy, including antitrust laws, I wouldn't be concerned. One could argue that they skated around antitrust in the US, which was concerning until they broke under their own weight.
Pride in your work while working as a team
What do you do when you feel like your CTO, team, or choice of technologies is preventing you from doing great work?

As we've built our product/service, I feel like I've often been put in the position of sacrificing quality of work to satisfy the timetable or demands of my CTO, which seem to be made to satisfy the timetable or demands of investors.

I often find myself in a situation where I'm implementing a hack or poorly thought-out code or UI in order to ship.

What can be done about this? Is this common? Am I being naive in expecting that other startups operate differently?
Hi Olivier, great to know you're actively improving the tutorial!

Now that I checked the tutorial again, there seems to be a "Press enter to submit commands" help text before the command prompt. If you just added that, great, since that would have been my first suggestion anyway :)

As a developer using Git daily I can only guess what the most problematic parts of this tutorial are for beginners. I hope you get a lot of good feedback and data from all the people visiting the site!
Really? Is complaining about the translation the best comment you can make about this letter?
Though some are good suggestions for writing maintainable codes, I do not see a lot of opportunities to improve javascript from this.

The pieces I would like to have are a) optional arguments and b) strict type checking. They are actually syntactic sugar in a way, because you can get the same effect using typeoff function.

But restriction to 80 characters... would be definitely recommended as coding practice, but never be forced by the language!
The use of intermediate variables is something I'm conflicted about.

On the one hand, they can make code easier to reason about. Also, when using a crappy debugger that doesn't display return values you can more easily see what's going on. In some cases they make code that at least looks like it ought to run faster.

On the other hand, ditching intermediate variables makes refactoring more straightforward. You can immediately see the complete set of dependencies of a line of code and extract common bits of code into helper methods with less hassle.

In general I think I prefer the "cram a bunch of nested functions into one line" approach, but then that might be language-dependent (I mostly do Objective-C these days, and Xcode has a pretty smart automatic line-wrapping feature).

Lisp would be an extreme example where that's pretty much all you do.
> This Is What A Computer Scientist Looks Like" is exactly the wrong way to "empower". It's a photo.

Fine, don't put yourself on the list. How others feel empowered and make community is not your call.
I rather agree. It seems difficult enough to teach people Alien Brain, SVN and Perforce, and they all have a much simpler model.

And is git much use to people who mainly work with large binary files? Well, I'm not sure (translation: "no") - but perhaps if they don't expect very much from their source control system, they won't be disappointed when git fails to deliver on its promises as well as it does for text.
PHP still can't access email inboxes inherently, can't do CSV import, can't download packages from GitHub the way Bundler can, doesn't support metaprogramming, has a hacked-together OOP system, and has an absolutely horrid syntax.

Why am I meant to use PHP again?

Oh yeah, because you haven't discovered Ruby yet.
About motivation and productivity: are we designed to run or to walk?
> Maybe that's the problem, Git isn't something you can just pick up quickly

It is the problem, I think. Git isn't easy to use. It's a powerful tool designed by a very smart person (Linus) to manage a very complex project (the kernel). It's not a toy, and it's not designed for beginners. On top of that, the interface actually isn't that well designed, and is a pretty leaky abstraction layer that in many cases requires you to have some understanding of its internals [1]. But we're programmers, our work isn't always easy and the benefits of using Git or using any distributed version control system outweigh the alternatives (note that I'm not talking about Git vs Mercurial vs Darcs but rather about the previous generation of supposedly easier tools like SVN and CVS). So I really think it's worth struggling to master it and treat it like a first-class tool, that you're going to invest in because it's important, rather than try to find an easy way out.

I'm projecting on to you a little bit, and I apologize for that, but every time a Git tutorial hits the front page of HN, there are people expressing frustration or complaining that Git is too hard or too complex. Yeah, it's not perfect, but honestly, it's a damned good tool, and I think it's absolutely worth investing in. Most things worth learning are hard, and while that's not an excuse for poor tutorials (no comment on this one as I haven't tried it), I don't think programmers who take their profession seriously have much to excuse what seems like our almost constant desire for things to be easy.

Maybe the next generation of version control will be easier to use and have a more beautiful user interface, but Git is here now and there's an ecosystem around it supported by the network effects of its popularity, and I think that does end up outweighing the difficulty.

[1] That said, I think the inner core of its internals, ie representing revision history as a DAG of commits, is actually relatively simple, despite the poor interface. See this for what I think is one of the best intros to Git: http://ftp.newartisans.com/pub/git.from.bottom.up.pdf
Me. When I bring up the Netbeans editor, there is a red line down the right margin at column 80, and I'm not inclined to change that setting, although I sometimes type a few characters past it. This is a wise tradition, handed down from the tribal elders :-) I sometimes need to see at least a little bit of something else on screen besides your hideously wide code.

If you ever have to print out code, it makes a nice line size convention as well. Printing is becoming less common, unless you publish books, but it's still worth considering that it might be easier for the reader if the lines aren't mind-numbingly long.

Why do newspapers have multiple columns of text, when clearly they have space to go 14 inches or more across?