skysight-inc/HackerNews huggingface dataset:
Telling me that the class I think of as "new" has been around that long makes me feel old. Point taken that they're just fundamentally different classes, not just the same class using a different language medium. 6.001 had some OOP in there too, actually (you ended up building your own OOP impl in Scheme; it was kinda neat), but otherwise I agree with your characterization of SICP. I definitely see the value of 6.01's approach (especially since the other 6.0x classes are also different from the 6.00x classes), but I can't help but feel like that really solid exploration of programming fundamentals is crucial, and something important has been lost. So maybe this is less about Scheme and me just lamenting the loss of 6.001. (I do hear you can take 6.001 over IAP, and of course you can always learn it on your own, so I get that a lot of this is just me being attached to a formative experience.)

Edit: some additions for clarification
10% ends up being a huge amount.
Dear Manager: When An Employee Fails It’s Your Fault
The Facebook “Messenger” app pops up a full-screen modal pestering you to enable notifications EVERY TIME you start it, if you choose to keep them disabled. I prefer to batch electronic communications and check them a few times a day at most, and find the constant nagging to change my communications style pretty infuriating. I ended up deleting the app.
With $10M and a long list of investors, Opendoor is almost open for business
Disclaimer: MS employee, China even. This article is just a diatribe against MS with no interesting or accurate content. Censorship just sucks whether its Facebook, Google, or OneDrive. Trust me, I live it.

And let's not even get started on the blub attack (i.e. people buy Microsoft/Apple/etc...because...marketing! Not because the alternatives sucks so badly...). <sarcasm> I personally prefer Latex, and everyone else is stupid for using office suites with bad keming </sarcasm>.
Although IE sucks, Microsoft is the only one to enable "Send Do Not Track" by default. Chrome and Firefox have this feature disabled.
Speaking as one of the people who helped lead the push for moving to Python in 15-110 and 15-112, the reduction of OOP was extremely deliberate.

At the end of the day, Python won because it could be used to express programming concepts quite clearly in both an imperative and, to a slightly limited degree, functional manner, in ways that were appropriate for a variety of domains. And it did it in a way that substantially reduced the "boilerplate" syntax burden, which most of us take for granted, but is a large pain for newcomers to programming.

print "hello, world"

is very easy for a beginner.

Depending on what your background is,

[(i*3) for i in [1, 2, 3]]

may be a very clear way to multiply every element of an array by 3. Or it may be confusing as heck. :)

Our general hope is that by the time our current first years make it through the program that there will be even less of an emphasis on OOP needed. C0, for example, introduces an additional component of formal reasoning, and my shift of 15-440 replaced C++ with Go, which has a modestly less "OOP"-centric flavor. The big drawback now is that the transition from 110/112 to the formality of C0 and the functional intro with ml is rather jarring. That's partly by design, to get people to think about computer science differently than what they might have learned about "programming" in high school, but we'll see if we can optimize it.

(I'm posting about this because I'll be teaching 15-112 with David Kosbie next Spring.)
Nobody remembers FidoNet.
Is there anything in the article to justify the headline, or is this just clickbait (I read the article, but it just seemed to be a groundless rant)? Are all techrights articles this low quality? (Full disclosure, I'm a Microsoft employee)
This is an interesting idea. I think it would benefit from one or two examples of good code.
Your References fields need a section for contact details - email or phone. Testimonials are worthless by themselves.

Edit: references should also have an optional 'organisation' field and a 'position title' field. "This reference was the technical lead at Foo Corp, my second-last job. Contactable here"
Depends on the comments. IMO comments together with the code should still follow the DRY principle - since code states exactly what it does, the comments should only state why it does what it does - except if we're talking about comments intended to be exposed to the documentation. Otherwise comments become outdated very quickly, ensuing confusion further down the line.
Resultados de um Top Afiliado Dani Edson
And document standards are standards, except when MS Office ignores them.
Selling SaaS means that any sovereign can shut off your markets like a switch.

The US couldn't tame Microsoft, and the EU was only able to squeeze out some token concessions. The move to selling cloud services left them open to getting kneecapped by the PRC, and it just happened.
(Author of the article here)

The stdlib that ships with the compiler is indeed minimal, though it is used for things other than the compiler. It can be used for other projects, but you probably want something more full-featured. Core, and the more minimal and portable Core_kernel (https://github.com/janestreet/core_kernel) is a full-featured alternative that is growing in popularity, and is what the book I worked on (Real World OCaml, http://realworldocaml.org) is based on.

OCaml (and most of both the stdlib and Core) default to immutable data structures, but OCaml has good support for programming imperatively, to its credit, in my view.
Either. They're not really that different from the other. I use 2, but I've used 3.. no issues. It will be an easy move as an enduser programmer when Python3's time in the sun arrives (and it may never).
Anyone have a link to the text of the article that doesn't go all wonky (including an undismissable "gone fishing" dialog) on my phone?
Watsi is hiring engineer #2
Thanks, will look into those and update accordingly. However, Harvard CS51 doesn't count as CS1 since CS50 is already its CS1 course. (But please correct me if I'm wrong.)
Afilias is an Irish corporation, not a US one.
> Not having that level of depth kinda worries me

I see 2 domains where this level of depth matters:

- performance (speed, resource consumption)
- security

If you're not doing one of those, you shouldn't have to care about them, especially if this is your first programming language ever.
This is from 2011. I wonder how OCaml implementations have changed since then?
The Chinese government makes the NSA look like the ACLU. There is no debate about the Chinese-equivalent NSA in China, it wouldn't be allowed.
I’m running Yosemite and the default is “block cookies not from current or previously visited websites”. Not sure if it’s the same on iOS 8, but that would seem to allow the buttons to use cookies as long as the user has been to that website (e.g. Facebook, for a “like” button) before.
This article takes me back to slashdot circa 2003. All it's missing is Micro$oft.
I can relate to the author. Therefore, I am a smart person.
Probably. You'll have to hack the install procedure to enable swapping before it's being run though.

If you're serious about trying this, the fastest path is to install CentOS in a VM on a suitable machine that isn't going to spend a day in the installer swapping like crazy, and copy the image to a physical drive which you eventually stuff into the ancient low memory box.
Seems to me that if you say something racist/sexist/homophobic/transphobic/etc, then there are a couple possibilities.

Either (a) you meant it or (b) you didn't mean it. If (b), a gentle nudge from a Hacker School pal is good, in the same sense of a friend telling me my fly is open. If (a), well, fuck you.
Nice job on the research. You're right that they may have actually paid a premium for the domain. Though, I dislike domains with words like "app" in them as they tend to pigeonhole the product.
Good summary.

Who are you?
"1) I hope they are teaching Python 3.x instead of 2.7.x."

Not me. Are you a professional Python programmer for your day job? I don't think it matters what they're teaching as far as version. As an enduser programmer the difference really isn't that significant (not worth a breaking change in the language at least). But whether they learn 2 or 3, they'll be able to move to the other without any major issue.

I would recommend anyone pick 2 over 3 at this point in time. Everything that says 'Python' supports 2 so there's just never any worries or concerns there.
Answers to your 10 top questions about Famo.us
I think this is the crux of the game—some commentary on the advantages of life given your connections, status, and social skills which one is born into.
Things could be worse. There are caseworkers pretty much like these ones in the Australian department of immigration: the difference is that they've been given a wider scope for bastardry, and they're using it to build concentration camps and murder the inmates.

http://www.abc.net.au/4corners/stories/2014/04/28/3991401.ht...

These workers are normal people, who believe the same myths that Americans do about poverty, or that most Australians do about refugees. The unusual thing is that their beliefs matter. The fact that they stick to the usual myths, when confronted with so much contradictory evidence, suggests that people aren't as free in our beliefs and actions as American and Australian mythology would hold.
Hey, thank you!
That does seem like a nice option, and sort of what I was going for with my Clojure suggestion. And I suspect that mostly any Lisp will do for SICP's purposes.
But _why_? Email does not seem RESTful to me. Not the slighest.

Read an email and then flag it as unread? Save and delete instead of move? Batch operations that are not atomic? What happens when the connection breaks then?

Synchronous command requests, really? IMAP solved that 20 years ago. Do we really want a glorified POP to replace it?

What is the purpose?
honestly I wouldn't be surprised if its related to helping a government run office competitor more then spying.
What made me give up on Haskell was all the libraries had native linux bindings. It was hell reusing code if you're developing on windows (and I've heard this is true on macs, too). Does OCaml have this issue?
Hashcash just hurts people with older computers. If spammers wanted to get around Hashcash, a decent sized rig will blow through them. Hell, it would be easier than OCR.
I just can't agree with your [2] as a problem. The actual problem (an assertion failure in systemd) was fixed, several alternative workarounds are provided in case the user can't or doesn't want to upgrade systemd immediately, and functionality changes about when and where and how to log were going on on the mailing list, as they should be, and the reporters were directed there politely, even after violent vitriolic attacks. After discussion concluded on the mailing list, systemd was changed to direct debug logs away from kmsg as soon as journald is available.

I can't find anything to complain about from the systemd team on that bug report. I'd just dismiss it as varying personal standards of politeness, but the complaints on that bug report are themselves far far worse, with vitriolic abuse and death threats, so there's got to be something else going on here.
Other career options for Software Engineers?
After several years of successfully working as a software engineer, I wonder if there are some other related careers/positions that one could transition in to. Mainly for the sake of spicing things up or opening up more geographic areas to move to since most software jobs tend to cluster around a handful of cities and living far from them is not usually feasible (I know there's always remote…)

Does anyone have ideas on careers that would be open to someone who is good at software? Any personal stories of making a switch?
It is true that if mining revenues fall, less profitable miners will drop off, lowering the difficulty, eventually reaching an equilibrium where some population of miners continue to mine.

The big question is: Will the amount of hashpower willing to mine for only transaction fees be enough to secure the network against 51% attacks?
permutation city! omg!
I will second your observation. I have often observed (purely anecdotal) that runtime polymorphism gets used gratuitously even when compile time polymorphism would have sufficed. In my C++ code I seem to be reaching for CRTP fairly often and it does its job. In this case there would be little benefit to be had by inlining virtuals. In fact modern compilers do take a stab at devirtualization, but of course they surely cannot be as informed as a runtime system. Without adequate support to detect exhaustiveness, compile time polymorphism does have the drawback that one could forget to account for all the different cases. This is an instance where Ocaml does better. Sure exhaustiveness can fail, but it requires far less discipline to code in a way that it doesnt. Sure, in future I might need to add more cases, but the beauty is that the type system will tell me all the places where I need to handle the newly inserted case. This takes care of majority of the use case of virtual functions. Exhaustiveness checked pattern matching is a killer feature !

Side note, compile time polymorphism ought to be easier to do in D than C++.

I dont have a problem with JIT. In fact the later the system emits actual code the more information it has at its disposal which it can presumably use to emit better code.

What I disagree with, however, is the widespread defense of the practice of emitting crappy byte code with the justification that we will fix the mess at runtime when and if poor codegen becomes a problem. This self inflicted pessimization of moving that starting block behind is what bugs me. For a scripting language I can buy this, a script could potentially start faster. But Java (the current mainstream poster boy of a JITed language) is no scripting language.

When I am compiling the code with optimization I have more time at my disposal, make use of it. I will even help you (the compiler) with profiles collected from previous runs if I think they would be helpful. If that means spending effort optimizing parts of the code that never get run in future, that is fine, I can tolerate that because I have time now. If some of that effort is wasted, fine I can take that hit, sky wont fall. On the other hand when my system is running, I am indeed short of time and very little budget for optimization and analysis, so cannot run very deep optimizations. Not all tasks can afford JIT burn in.

For me a superior way would be to optimize hard AOT, clear all the low hanging fruits. Have JIT hooks that can change code to adapt to runtime characteristics to mop up whatever further benefits that remain.
It's a QE-induced glut. At some point the Federal Reserve will start selling the assets it bought with freshly printed currency, and with the rates going up more interesting opportunities will appear.

Apple's case has been dissected here http://www.quora.com/Apple-company/What-would-be-a-good-use-... - having a large pile of cash is generally better than not having a large pile of cash if you're in the manufacturing business, and need to convince your partners that you have enough financial strength for them to commit to a factory build-out that could take years to accomplish.
Here's wild speculation: what if the copies sold on the back of vans and some of the ones available to download on the web already are already backdoored by the Chinese government, hence the lax attitude to this?
A+ would read again!!
I would have thought cs50 is a cs0 course, and cs51 is the cs1. cs50 is the concentrators-and-non-concentrators course that's all flash and fun. What do you think is the cs0 at Harvard?

As for your point about Penn's CS120, I guess I don't fully understand the criterion. From the way you described it, CS120 seems like a CS1 course: not for someone who has had zero programming, but the very first course taken by most CS concentrators.

FWIW, I spoke to Benjamin Pierce about the structure of the course, and he said he didn't want to use "Real World OCaml" because it's too early of a course: he has students who he thinks don't yet understand things like what a scope is. From the sense I got from him, it's quite early in the curriculum.

That said, this is mostly minor quibbling. I think there's little doubt that "very early" courses, for some reasonable definition of "very early", lean towards Python. And reasonably so.
While I'm not the OP, I would like to thank you for such a detailed and knowledgable response! Sometimes, HN amazes me. :)
Yeah there is a downside to 3.x. The transition has failed from what we can see. It was released in 2008. It's 2014 and it's still the used by the (vast) minority of people in the Python community.

Programming isn't one of those fields, like most things in life- where 'the latest version' is always the right choice.

The best way to explain it... it's like saying everyone should adopt Windows 8, that there's no downsides.

It's hard to explain that to someone who isn't in the trenches using it because it goes against peoples natural urge to be 'updated'. Unfortunately, this transition hasn't worked out- no one is saying it but it has pretty much failed. Turned into a 20 year transition. Red Hat is supporting Python2.7 until 2027. Core dev team till 2020. Guido van Rossum works at Dropbox, who started working on a new JIT compiler (Pyston)- this year that is targeting Python 2.7.
There are actual performance regressions in Python3. I'd wait this one out for a while longer.
Python 2.7 is only 4 years old and the stability to the language has actually been a boon rather than churning out flawed release after flawed release like many Python3 versions have been.

To be honest, if someone forks Python2.7 and continues that branch, that's where I'll be going. Not to 3. That will be the end of 3, I assure you. That will be a -huge- downside to teaching Python3. :)

This transition is not in the bag yet.
Google Cloud Platform is 11 for 12 in World Cup predictions
Around and past an IQ of about 135, work boredom is a chronic risk and sometimes a disability. (...) Past 135 (much less at 140, 150, or even 160) even 8 hours per day of grunt work is impossible, much less 17.

Interesting. I went to a rather old-fashioned school with a strict IQ cutoff of 125-130+ (Stanford-Binet LM, I think, because some scored above 160), and my impression is the opposite: the higher they scored, the more they valued career paths like (non-quant) finance, medicine or corporate law --tracks with plenty of grunt work and long hours but well-defined, steady payoffs.

I asked many of them about this because, to me at the time, it seemed counterintuitive and a tragic waste of human talent. It often turned out, however, that they chose those careers precisely because they lavishly reward grunt work, which they can do with such incredible (almost infuriating) ease that, to them, it doesn't feel like work at all!

That is not to say they do not have rich intellectual lives outside of work: but that, for them, corporate work is more like a generous sinecure that doesn't substantially impede their other pursuits. In fact, it was those of us with the "lowest" IQs who tended to be more freaked out about the prospects of mindless corporate work, and who were more likely to go for more "intellectually stimulating" careers like academia or applied fields.
Food prices are increasing http://online.wsj.com/articles/as-food-prices-rise-fed-keeps... but it only affects households who require food.
ohhh ok, but it would block pure advertising cookies because its less likely that a user would directly visit the domain that they originate from.

that is still good, however I would prefer if it did allow you to block all cookies that aren't from the current website.
If you've got a big box store around check out the lenovo yoga 2. Hidpi screen, ok keyboard, good battery and relativity cheap. The convertible screen comes in handy as well. I thought it would be a gimmick but I ended up using it pretty often.
I think, you are misinformed. While the standard library is not huge, it is quite ok. Then, OCaml is steadily gaining strength with Opam and Jane Street's libraries, which become de-facto standard.
Personally, I see OCaml as C++ done right (minus pointers), if you need pointers, use Rust.
Print a QR Code for SecureDrop in every issue of the newspaper. Hell, feature it as part of a story announcing SecureDrop the first time you print it. Then just print it in a consistent position with minimal explanation from then on.

This may be one of the rare cases where the use of a QR Code is justified.
Potato Salad
And the job titles are a bit ambiguous.
There is Software Development Engineer, Senior Software Engineer, Sr. Software Engineer, and Software Engineer.
Random question: has anyone attempted to build a Tor-like system (or bridge to the actual Tor network) using WebRTC?

Assuming you were able to avoid the "JavaScript crypto problem", would this be a good or bad idea?
(arg can't reply to your reply) this is actually quite important ... let me keep looking into this. sorry there's a giant backlog of (often angry!) emails in my inbox right now ... might not be able to sort thru them all :)

i wish the blogging platform supported some version-control friendly format.

[Edit: I made a typo about Penn CS120 ... I mistakenly found another course named CS120 that wasn't at Penn. Also, Harvard CS51 calls itself "Computer Science II" [1], implying that it's a CS2 course. It probably has CS50 as a prereq, tho I haven't double-checked yet.]

[1] http://cs51.seas.harvard.edu/docs/lectures/2013/1-overview.p...
wow locust.io - looks great, thanks, I'm surprised I missed that. I'm becoming more and more of a fan of code over configuration.

I'll definitely give that a go
NuGet/Chocolatey. Just sayin.

Though, I guess technically, they are more of a .NET package manager than Windows.
iPhone 6 Sapphire Crystal Display
I went to Penn and TAed for some lower level CS courses (but not 120).

CIS120 is the course for students who have some programming experience, and probably falls under CS1. I had taken AP Java AB before and was overprepared for the old (Java) version of the course. The current course teaches basic data structures and uses Ocaml.
Well, if the government did have the spending that it did post-WWII, maybe some of those things could be done again.

But either way, much of that innovation spanned decades, it wasn't as if it all happened between 1945-1949.

It's true that you can't wave a magic "public sector" wand and simply repeat the results of the past, for the same reason that the almighty private sector can't simply produce innovations on demand by cargo-culting.

But describing a "post WW2" USG as some kind of entity with tons of cash to waste for decades confuses the issue just as much, to say nothing of conflating wartime military spending with later R&D-style funding.
I'm curious if anybody has an example of how one of the designs in this book informed one of their own designs. I love the motivation for this book in theory, but started reading it and couldn't identify any explicit benefits to my own code.
Improve case-insensitive queries in Postgres using smarter indexes
This is the sapphire crystal display from the iPhone 6
Python doesn't do random coercion, except bool to int.
Awesome thanks for the link. I've seen this book / project a while back but completely forgot about it.
There are some many different industries in which you can apply your technical skills, why not think inside the box?

That said, an example of a programmer turned analytic philosopher: http://en.wikipedia.org/wiki/Manuel_De_Landa.

And a great paper by a programmer turned social scientist: http://polaris.gseis.ucla.edu/pagre/critical.html.