skysight-inc/HackerNews huggingface dataset:
"Best practices differ from context to context. MIT switched from Scheme to Python because a large segment of students in 6.001 were not necessarily going into computer science..."

Nope, MIT has an introductory computing course that logically goes before 6.001-4 or the new 6.01-2. For a long while they didn't have one due to resource constraints, they dropped this service course about the time 6.001-4 was developed, but other departments had their own more domain specific introductory courses (see below for more details).

6.001 was canned and Scheme completely purged from the undergraduate curriculum for political reasons, after the Department, and likely School of Engineering and the Institute itself panicked when the dot.com bust more than halved enrollment, after it had been 40% of the undergraduate class for decades. Oh, yeah, after the Institute had also blown a quarter billion dollars in a not very functional new building for the EECS research labs.

"... and were there as because of a common core curriculum."

That ignores that MIT's EECS department has for a very long time insisted that EE majors have serious programming experience, and CS majors the same for hardware. 6.001 programming, 6.002-3 hardware, 6.004 both, all majors had to take all 4. This was true but less coherent in the '70s before that common core was developed, and it's still true with 6.01-2 which combine both. MIT's EECS department started as an EE department, this is not an unusual approach for such, vs. ones that started from the math side or otherwise independent of EE. If you want pure CS, you shouldn't go to MIT or U.C. Berkeley, but to CMU or Standford (or so I gather about the latter three).

"Does it really make sense to teach such people to write language interpreters in an introductory course?"

Yes, if you want them to really understand what it's all about. Since it's Lisp, that's also much less intense than it normally is, essentially all the colossal parsing messes with other language families can be skipped thanks to its S-expression syntax, and you can focus on the very basics.

As for e.g. Civil Engineers, MIT's Civil and Environmental Engineering department has its own 1.000 and 1.001 courses for its type of computing, and as I remember that was true way back when 6.001-4 was developed. In the late '70s 4 or so engineering departments got together and got VAX11/780, which they used for their own education etc. purposes, while EECS later procured first a DECSYSTEM-2060 (which had a CPU twice as fast, but a max of 1 MiB address space), then/in addition HP 68000 workstations (eventually Project Athena took over this sort of duty, I think).

Finally, whatever the pedagogical merits of Scheme and/or SICP/6.001, Python is now winning due to fashion rather than merit (although it does have some merits compared to other languages that could and are often used like Java).
'Life on Mars?': Water can and does exist on the planet says new research
Docker to me makes things an order of magnitude (or two) easier than previously possible. In time these additional layers will be as central as virtualization itself was in arriving with VMware.
I think that hiring faculty will tend to be primarily about publications. But promoting faculty will also depend on pulling in grants - perhaps even more so.
How would the above work for duck-typed lists, for example? How would the language "know" which types are mutable?
BlackBerry’s square-screened phone to free us from our “rectangular world”
I wonder who upvoted this?

Are there really 53 hackers paying economist.com to read it?

"
You have reached your article limit
Register to continue reading or subscribe for unlimited access
"
Of the wealthy people that I personally know, there is no exception. However, "lots" is obviously relative. I don't know all the wealthy people of this earth: I'm sure there are very many lovely generous and wonderful wealthy people. I just personally don't know any.
That comparison is of questionable merit. It compares bulk, unmetered packet generation (in an OS, worth noting, just as a kernel module) against netsend, which is intentionally a rate limited generator (using busy waits, as an aside, which means that the CPU probably was at 100%...doing nothing), with the significant overhead that entails.

where userspace needs to look at each packet

That benchmark is like those naive "look how fast my web server is when it returns just status code 200" comments. Even if we accepted that the overhead was anywhere close to the linked, which it isn't, the moment you actually do something with the packets those savings disappear into rounding errors.
> Trying to "scale inbound sales" won't get you far.

Sorry, I do not agree with you on this. Could you please elaborate more?
Lot of people do online search before buying anything so if you can rank hire in search results then that will automatically lead to more sales.
Well, she was acting under her doctor's supervision :-)

You are correct about this being anecdotal. BTW, a friend of mine has developed a system for tracking health data and securely sharing it: https://personalexperiments.org You might like that.
> "The best monospace font for programmers is M+."

Seems there's a bit of a grammar issue here, I've fixed it for you:

"My favourite monospace font for programming is M+."
Well written article.

With Rails, though, you don't need to worry about any of this. Just define your modules and add controllers/services/directives/whatever to them as needed using as many files as you want, and it just works. No module loading required.

Sorry for my ignorance, but does Node have something similar to Sprockets/The Rails Asset Pipeline?
I worked in the games industry for 15+ years. It was a roller coaster of extreme highs and extreme lows: Getting my game painted on the side of Japanese bullet trains, succesfully pitching a game to a Hollywood film director, partying at an embassy in Germany, getting seriously alcohol poisoned, meeting with and shaking hands with Miyamoto and other childhood heroes, writing an email that got a French producer fired, having games succeed beyond anything imagined and having other games crash and burn hard. Now I am older and prefer a non-roller coaster lifestyle. But hey when you are young and full of beans, what is there to loose? That's the time to risk things. Just don't be naive about it.
I find that the testing for empty is a bit misguided if you want to be rigorous with types.
for instance:

>>>def isempty(l):
>>> return not bool(l)
>>>isempty([])
True
>>>isempty(None)
True

If embedded within your program logic this kind of pattern can waste precious time with debugging. You can catch your errors much more quickly if you are explicit with your comparisons.
When doing scientific research, absolutely. When making a personal decision, it's foolish to ignore first-hand experience just as it's foolish to ignore advice from experts.
Show HN: Custom language selection for your Android app
Indeed the # of backers has doubled since my comment so he's up to 6 hours of continuous talking now with 23 days still to go. He might indeed be screwed!
That's a very poorly worded security setting. If you're building a service where people can share something set as "Anyone with link...", you really ought to make it very clear that means it's open for anyone to download. The setting should really be named 'Remove privacy settings - allow anyone to download'. 'with link' implies some level of security that just isn't there. Even if Google proxy links within the document, there's always the possibility that someone could accidentally send a link to the file to someone, or that someone could shoulder surf it, or even guess it is if it's simple enough.
The syntax should not really be a primary concern when evaluating a new language. It is easy enough to pick up if you understand the concepts behind the language. Haskell has not all that many keywords and a lot of syntactic sugar, there are no public final static member variables and no insane *((&a)++)++.
This is actually useful: you may want to experiment with different list_of_words in the future and typing the words between [" ", " ", " "] is time consuming. It's also less readable.
Funky OS of FFI APIs... but Python has a nice way of abstracting away the pattern using the second argument to iter().
Amy's makes rice crust pizza that's super good!
A previous python project I worked on had multiple independently developed services, sometimes with conflicting requirements. Production often separated these, but keeping staging and local development environments happy was a constant struggle.

I also like to make sure the devs are working with an environment that translates directly to production (docker makes this much easier now). I really don't enjoy sorting out a blob of code that only works with your specific local configuration:

- ok requires opencv (or other complicated dependency). No problem, that's already in production.
- Oh it only builds against the 2.4.7.1 version you have on your machine.
- Hmm, 2.4.7.1 has a bug when used with common_lib version X on distro Y
- etc.
FWIW defense spending during the WWII and the Cold War did wonders to spur technical innovation. Silicon Valley in fact was a product of WWII defense activities (http://en.wikipedia.org/wiki/Silicon_Valley).

While I don't necessarily agree with the end product and how it will be used, I say defense spending like this is ultimately good for the tech sector. It's funding innovation that wouldn't otherwise get funded and creates lots of attractive jobs in technology that will hopefully bring more people to the field.

We may not have even had the microwave oven today if it wasn't for defense spending on radar technology (http://en.wikipedia.org/wiki/Microwave_oven#Discovery).
Auto Layout on OS X: A Tale of Backwards Compatibility
Yes, that's correct. The default value is only interpreted once, when the `def` statement is called. After that point, it's completely mutable. You have to see Python functions as objects and default parameter values as object variables.
I find this suspicion suspicious. I know that some people are melodramatic about it, but why can't people just have their food without gluten if they don't want it? Nobody ever backlashed against the anti-MSG thing, and that was arguably way dumber.

On the other hand, I have heard that this has resulted in lowering of standards for handling gluten, and people who are severely allergic are being exposed to small amounts, while people without celiac don't notice those small amounts. So, that's bad.
My favorite Android app is Moves. Moves does not work on Samsung Galaxy Note II, thanks to one of many tweaks Samsung has done to Android. This phone is one of the most popular Android phones in the world and it's running a very recent version of Android. I find this completely unacceptable.

A lot of games and certain apps also list "compatible devices" in their Play Store description area. Some developers even warn users not to pay for and download the app if their phone is not supported.

Android fragmentation is unfortunately very real.
Indeed, international due process does not apply to the USA. I thought we already knew that.
Obviously the article talks about a very specific example of how gamification could be applied. In fact, the implementation discussed seems more like Big Data, the gamification merely present in 'displaying' this big data.

This is all fine, but then the article starts to get into what 'gamification companies should be doing' because "specific-example-A doesn't work". That is funky.

The definition of gamification is: "the use of game design elements in non-game contexts". Unlike what this article implies, using big amounts of data or 'data analysis' is not per se an integral part of gamification.

Gamification can be the use of social elements within a digital system; avatars, chat, social boards, the creation of your own character; reward systems such as receiving company points for each sale; visualisations such as translating the amount of steel produced today as how many % of an aircraft carrier is completed, etc.

The issue that gamification is not necessarily positive or useful is very valid. It does not mean that there are nog positive gamification examples or that it is dead however.
I personally prefer to use Times New Roman.
Is the OnePlus One the best Android phone ever?
Surely its comic sans. It adds that certain something to most pieces of code...
Classic sorting algorithms implemented in modern C++
Deeply nested I'd usually agree, but if you end up with deeply nested comprehensions as a result, in either case, you're probably better off with a little bit of restructuring/splitting things more functions to at least make the nesting cleaner to read.

However, I think he was referring to if the conditionals/additional modifications needed to build your list get a bit excessive, so you'd have a like... [dostuffto(A) for A in alsodostuffto(LIST) if conditional(A)] (but with more complex operations at each step).

Granted at that point you can argue that you should do just as my example shows and put the "dostuffto" into more encapsulated functions, but sometimes that doesn't seem like the right choice.
I don't know if that's quite fair. Infeasible to guess urls do have a level of security that's significantly higher than implied by "Remove privacy settings - allow anyone to download".

Yes, someone could shoulder surf it, but we don't tell you that your bank account has no security because someone could shoulder surf you entering your password.
Disclosure: affiliated with the program[1]:

We offer both a 12 week immersive in data science (with structured curriculum augmenting a focus on practical data science) and a 6 week project focused curriculum leading up to a job fair. This is a python focused curriculum focusing on scikit learn.

Outside of that, I ended up becoming a data scientist and engineer via taking on consulting projects and working my way up on difficulty. There's a mix of online materials out there you've already mentioned that work more than well enough. My only other piece of advice is picking a concentration and becoming as good as it as you can.

1. http://www.zipfianacademy.com/
In this story, Russia is the only one to be despised.
> it's hard to get good quality research to see whether substitution is better than abstinence.

How about maintenance? There's ample evidence from the UK, Switzerland, and elsewhere showing that diacetylmorphine maintenance (treating heroin addiction with heroin) is incredibly effective[0][1].

The effectiveness of treating existing users is the primary concern, but a nice bonus is that it also seems to have served as a deterrent for new heroin users due to its social image as a medical problem, rather than a criminalized behavior[2].

(Remember that, when administered in a controlled setting and in predetermined quantities (and purity), heroin use carries few of the dangers commonly associated with its use on the street, and is fairly similar to the related drugs that you already receive in the hospital[3])

[0] https://en.wikipedia.org/wiki/Heroin_maintenance

[1] http://www.nejm.org/doi/full/10.1056/NEJMoa0810635

[2] https://en.wikipedia.org/wiki/Heroin_maintenance#cite_note-9

[3] Such as morphine (the similarity of the names "morphine" and "diacetylmorphine" is not a coincidence!)
Don't think there's any fragmentation problems on Android OS?

Just try creating a mobile website that supports common "modern" devices. Have fun trying to wrap your brain around all the idiosyncrasies across various versions and browser implementations (Android Stock vs Chrome etc) that will endlessly dirty your code if you want the site to look at all correct in a majority of Android devices.

The Android emulator is pretty nice... once you figure out how to set it up for whatever device you're trying to test. It's a ridiculous resource hog though by default (there are ways to mitigate this if you're on an Intel chip). Say what you will about simulation vs. emulation but the iOS Simulator is a dream to work with (again, for web development) and I've never had it mislead me even though it isn't truly emulated. But then you realize there is no way to install the Chrome browser unless you are hooked up to the Android Marketplace (even if you're on the latest version of OS). The best you can get is Chromium, which is a pain to install and doesn't work on some AVDs.

All that ranting aside, I've never had a problem with screen sizes, even when working on responsive stuff. But, yeah, Android is basically the Internet Explorer of the mobile space. You'll keep hearing "oh the next version will fix that!" and it may... but you'll be stuck supporting the versions that are broken for years to come.
To complement some of the great answers here, I would like to point out that in Haskell, instead of objects carrying around a vtable pointer, the typeclass dictionaries get passed arount as extra implicit arguments to the functions.

This is important when you have binary operations like `+`. In haskell both operands must be the same type while with OO interfaces the operands can have different concrete implementations.
That is an incredibly helpful statement.
Fullerene C60 administration doubles rat lifespan with no toxicity (2012)
"the RDFI is allowed 60 days to return the ACH debit. Because of this, the ACH protocol is very consumer friendly, since the originator of the ACH debit must now return the money they debited"

Well, consumer-friendly if the consumer has enough money in their account to temporarily cover the unauthorized debit amount plus any other authorized debits/withdrawls that occur in the meantime. But if the ODFI's do their homework to keep fraudsters from getting accounts, I suppose that issue is minimized.
Tell your friend that there will always be (a) people with legitimate medical issues, (b) people who are fad dieters, and (c) people who judge. She cannot control any of those things, so she should not let those things irritate her. She's improving her life in one way, and letting it stress her in another. Tell her that I said it's okay for her to do whatever she wants for whatever reason she wants to, and it's no on else's business. Also, tell her I said to have a fantastic day!
I completely agree. I also agree with the author that companies should be doing more to tell the employees and managers WHY they are doing good/bad. However, I don't think thats gamification...that's basically Business Intelligence
Why we need to spy on the Germans
A useful trick is to google for the article titles; it seems like paywalls tend to not pop up when google is in the referer header.
I was going to write something similar. It's pretty sad. It is especially perplexing given the large and growing tech industry in Texas -- not that such comments would be appropriate in its absence, either.
I think Android is shooting itself in the foot here by making things look more complicated than they might be. Take a look at the documentation for screen support (http://developer.android.com/guide/practices/screens_support...).

They split phone sizes (2-10") into four generalized sizes (small, normal, large, xlarge). Then they split screen density into generalized densities (ldpi, mdpi, hdpi, xhdpi) based on 3:4:6:8 ratios. The example on the page lists 5 different layout XML files (the 4 previously mentioned + extra large landscape orientation) for different sizes, and three folders for image assets in different densities.

But, there are tablet layouts for Android 3.2+, which use a completely different system based on size qualifiers where you can provide minimum/maximum pixel sizes for layouts.

The logic for iOS seems super simple in comparison.

With a few Android projects under your belt, you have probably internalized how everything works, and which parts are fringe cases you can ignore. But if you're new to this (or a journalist/analyst with limited technical depth), it seems like an absolute mess. Simply rewriting this documentation and providing better tutorials and resources could go very far to clarify the situation.
Well, that's throwing people implementing subclasses under the bus, IMO.

Why not just add @param annotations in your docstrings instead?
I would 100% disagree. The average "app" can most definitely be written in cordova / phonegap with jquerymobile / Intel App Framework or another MOBILE framework and run fine.

I've spent the last few months implementing a plain cordova app with Intel App Framework , google maps api v3, some css3 transitions, etc.

I've tested it on everything from Android 2.3.6 to 4.4, all work fine, no performance issues. Same on iOS.

Now if you are taking something you've written for a desktop (and are using desktop frameworks) or something that starts doing crazy DOM manipulation (or adds "shadow dom's", etc) then yes you might see a performance problem...

Additionally, if you are talking a physics enabled HTML5 game, that might be an issue. But a plain old app with some basic functionality will run fine. If it doesn't , YOUR doing it wrong.
You should not ever use mutable default args. The documentation benefit is drastically outweighed by the potential for nasty bugs.
http://pythonconquerstheuniverse.wordpress.com/2012/02/15/mu...
Couldn't somebody just as easily just build a Bootstrap theme built off of Google's Material Design principles? Hell, you actually just gave me an idea, haha.
I use Duolingo ever day. Their app/website is heavily gamified to the point where I think it's part of their tagline. But, at least for me, language learning is fun. When it's not fun it's at least engaging and/or challenging. I don't know if gamification can be painted over fundamentally miserable modus operandi.
Finally WOOT is back under a new name
It's not about public versus private. It's about the will to hold ourselves to higher standards.

Nearly upend the global economy with derivatives - no consequences, because the economy is too fragile, because our derivatives imploded. Invade a relatively stable nation on the basis of known lies - no consequences. Compared to that, what does washing a mountain of coal ash into a river amount to? Or betting that Indian Point can survive an earthquake?

And so on down the line. Yesterday there was an article posted about how easy it is to get through university and not learn anything. Because, so far, it is possible to maintain a good reputation for academics and let that slide for the sake of revenue.

This is how you become something less than a first-world country, and how you get surprised by the demotion: Having undermined standards, you can't even measure how far we've slid.
Designers don't like AutoLayout - developers (often) need to be involved in the design process again. This is a significant loss for my team.
Untrue according to your own source. It was $513b from 1980-12, and that's in 2007 inflation adjusted USD. If you used 2014 adjusted USD for both NASA would have come out worse.
To be fair, that's pretty much where it is now anyway. There are a lot of great and legitimate uses for it (I use it occasionally for a few things), but already that's where the so-called Dark Net or Deep Web mostly lives. Also, you're naive if you think that the TOR Project should essentially curate or monitor sites. That's akin to saying that ICANN or someone else should make sure nothing illegal ever happens on the Internet.
Rainbowstream – A colorful Twitter client on terminal
Deep Breathing and switching off my mind is one of my goals too. I am also trying to meditate but all I do is think about all kinds of stuff.
Good luck with your goal, mate!
IANAL myself; but it seems like some form of safe harbor provision applies here at a minimum. Tor (the organization) itself isn't even operating the network; they just write the software that other people then use. It's like suing Adobe in a defamation suit because someone used Photoshop to put your face on a porn star's body.

Edit: After reading the rest of the suit, this is clearly a frivolous suit. The entire filing is pretty unprofessional overall; hopefully the EFF can step in and stop this nonsense.