skysight-inc/HackerNews huggingface dataset:
In python you don't even have abstract classes, and instead you have to use horrible hacks.
If the variables are constants, there shouldn't be any slowdown. The browser could just inline replace the variable references with the actual values in it's own internal representation.
Honestly, I didn't write all down. I kept a list of the top two contenders, because I was looking for something different.

I wanted something that would help me learn ( active teacher vs online tutorial) and be easily transferable.

Two that might fit your list (but not mine) were the extension courses at UCLA and Berkeley. Both were about $750, but consisted of "do it yourself" material according to my friends review.
Hope that helps.
It's in the history printouts.
Using the information_schema.columns table
What I always think would be a cool device (science fiction of course), would be one which you can give DNA code (be it copied from an existing creature, modified by someone, or computer generated), and then the machine produces the organism from that DNA code.
I think you missed OP's point. Beginner programmers introduced to Java are forced to grapple with OO from the outset.

What is a class or static method? These are OO constructs and require additional mental overhead when learning.
I use m48+. It's a decent replacement for my trusty old HP48.
I think you might be letting your opinions about 'michaelochurch unfairly affect the way you parsed his comment. You have to read pretty deeply between the lines (and his mentions of "alpha"/"omega"/"Game") to get to any point about "having a hard time finding a date". What he does directly refer to is "a culture of casual sex" and although I'm far from a prude and ideologically believe that what happens in someone's bedroom is their own business, I don't think it's "horseshit" to suggest that a culture of casual sex (or even a culture which glorified that idea, without it necessarily being a reflection of the way things actually are) could negatively affect social norms with regard to male-female interactions.

I also take issue with the assumptions 'michaelochurch has made about the mental welfare of someone who is completely foreign to me (and presumably, him, and... you?) and if that was your only original issue, you should have said so. (Then again, it could be argued that you repeatedly make assumptions about his mental welfare publicly, so I guess that would have been a strange comment for you to make.)

As an aside: if we really think someone on the internet is crazy, we can nicely suggest to them one time that they may want to speak to a professional (which I know you have already done in this case, and in an admirable fashion). After that, for a foreign commenter on a message board, the remaining options are to a) engage with the content of their posts or b) ignore them. Replying to each of their comments in disagreement without actually coming up with a good reason is what I took issue with here (not that there weren't good reasons to disagree with GP, just that I didn't think you chose one) and, of course, making further commentary about them frequently also seems problematic to me.
"The fact that you can't know all of your future targets will support that is a problem."

I don't see this as much of a problem as endianness, but yeah, maybe, x86 made us accustomed. And you can use portable types, defined on headers (linux does that, like u8, u16, etc)

But sometimes you know your target won't change (for a long time)

"It's also way too easy to make breaking changes to the struct, since there's no standard way to mark a struct as being something that you serialize/deserialize, and normally you can change struct fields at will in C code."

In the same way you can break your software doing any change. You can mark it with a naming convention but the easiest way is seeing the "pack" directives on it. And unit tests

"Just take the extra five minutes to write code to translate between your struct and a stream of bytes. It'll be easier to understand, less risky, and more compatible.
"

Well, it's not five minutes. And it makes your program slower (for the most convoluted data types). A simple example:

http://en.wikipedia.org/wiki/BMP_file_format

And yes, GIMP reads field by field https://git.gnome.org/browse/gimp/tree/plug-ins/file-bmp/bmp...
http://docs.python.org/2/library/abc.html

?

Even if that had flaws, PyQt carries over all the Qt abstract classes just fine.
You mean the students at UIUC's ACM chapter. ;)
you don't need to make backups - git won't lose your data. I lost all hope that the article might be worth reading at that line.
Look at the output of the history command, though it's not his command history, as he's logging in as someone else. (Looks like he's logging in as 'root' or 'backdoor', but I'm also not sure what the `-n` flag on `login` is; I don't see it in the manpages for `login` on OSX or Ubuntu)
Python might be the best programming language for an introductory pedagogy. But it is hard for me to take seriously assertions of that which are not backed with a comparison to the languages created by the PLT group and their research.

To put this in perspective, the PLT group of languages starts off eschewing not only OOP but mutation as well. Even more relevant, these are not options in the introductory languages.

This means the practice of not using OOP (or mutation) does not rely on the beginner practicing a type of discipline that even seasoned professionals might struggle for, i.e. a large class of kludgey habits cannot be developed when the PLT languages are used. A side effect of the PLT sequence is that it suggests the idea that switching languages isn't a big deal - rather useful since different languages are suited to different problems.
Let's make a reasonably fair comparison:

Android runs on all kinds of devices from different manufacturers.

Windows runs on all kinds of devices from different manufacturers.

I can write a program that runs nicely on pretty much any Windows box pretty easily. To do the same on Android is more painful (but that's mostly because desktop applications deal with varying screen resolutions more gracefully than mobile platforms).

I can upgrade pretty much any Windows box to the latest version of Windows.

I cannot upgrade most Android devices to the latest version of Android.

Swap "Linux" for "Windows" if my use of a commercial analogy offends your sensibilities.

Now, part of this is a problem with the phone market. But is Android fragmentation on tablets any better?
I kind of feel the hacker spirit in what you did but… what about fixing your JavaScript instead?

Sublime Text: http://imgur.com/p27i5L7

Vim: http://imgur.com/OlVbSdO
If you're tying to develop interfaces in Python, I would argue you're using the language from the wrong standpoint.

Every language has a design goal. Python doesn't care about interface contracts. The "one correct way" is the contract.
Do you become a little more recognized by your peers by publishing that the door is open to your neighborhood?

Are people going to get killed or lose a lot of cash by knowing how to send unsolicited private messages on twitter?

Like most analogies; it shows your bias rather than some enlightenment on the subject.
Not a bad thing, just a compromise. It does restrict the feature set of HLE a little bit, and make some of its semantics a little awkward. Backward compatibility is obviously a good and useful thing. I think Intel did the right thing for their business and their customers, but probably not the right thing for the long-term prettiness of the assembly.
But the term 'functional programming' is perhaps even less clear than 'object-oriented programming'. Is a language that can pass a function 'as data' a functional language? Does it need to support tail recursion elimination? Does it need to be pure? Does it need to support algebraic datatypes? Should everything be an expression?

I am also not sure if programming trends follow circular time. I haven't seen logic programming making a big return and OO and FP are still in its first cycle. It just took FP ages to go from stage 1 to 3 (outside niches).
I recently did a code review for some work from a team in Ukraine. I was not expecting much - instead, I was blown away. The code was phenomenally well put together, good tests in place, comments were clear enough - this was tens of thousands of lines of code I'd never seen before and I was able to find my way around - and understand it - within just a few minutes. Not once did I cringe or find anything desperately in need of a rewrite. There were some not great architectural decisions regarding the database which I'd have done differently, but I understood how they got there, even if it was not a good point to be at.

This was easily some of the best code I've seen in years, both of my own and other colleagues. There were some key takeaways I got similar to davidjgraph's points. The company here in the US using this team worked directly with this team - there were not multiple agencies in the middle taking their cut. Additionally, it was the same core team (7? 8 people?) working for more than 2 years - they had a long term sense of commitment to the problem and the project, and it showed. Many outsourcing disasters I've seen are rush jobs by people trying to hit billable hours and move to the next project (well, same for onshore workers, really).
Require.js doesn't remove unused code like the closure compiler does.

That feature is critical for building general purpose libraries because it allows you to organize on conceptual boundaries without worrying so much about code size.
When I read this I realize that Apple has set the landscape in your mind and thus you compare Android to it and Android comes up short. Which is ok because Google themselves initially feel into the same trap! Google's approach is to update core apps on a super frequent basis. That's really the functionality that matters. The underlying OS requires less frequent updates now that it/they are more mature. So pining for an OS update is probably putting your energy in the wrong location. Apple made OS updates relevant for the first time in years with iOS7 but I suspect iOS8 will be a relative sleeper and probably 9 too. It's the core set of apps that really still can impact how productive your phone is much more so than the OS these days.
Don't get why killing and maiming people gets you all this attention. It is just going to encourage more people on the brink to go and hurt others. Writers who defend with it is what people want to read are trying to avoid responsibility. They have rationalized their actions. Personally, I never want to hear about these two kids again.
We were? I thought the question was, "Why shouldn't we teach that objects model real-world things?" The answer is that in many cases, the real-world things should not be represented as objects; I gave an example of such a case. If a student is being told that objects model real-world things and has internalized that, then when they are presented with the problem of simulating an LCR circuit, it is very likely that they will do the wrong thing and create classes for circuit components, and a class for circuits as a whole.

Further, "dogs and mammals" or "windows and doors" are extremely contrived examples. The fact that you have to invoke an artificial problem just to illustrate this point should be an indication that you are doing something wrong. On the other hand, simulating an LCR circuit is a real-world problem and one that students will probably be asked to solve as a homework assignment (e.g. in a differential equations course).
No, that advice from the article is fundamentally broken. Outside of the garbage collection system (which runs by default after what, 30 days? 90?), Git doesn't delete committed content. Any commit you "lose" through rebasing, amending, resetting, etc. can always be recovered. It's a little more complicated than renaming a directory, sure, but it's important, and it's not something a Git tutorial should ignore.

Git IS safe, and ANYTHING involving changes to history can be undone without resorting to backups. Data loss can occur when you're mucking about with uncommitted changes, but that's a risk in most other version control systems as well.
There is no right or wrong way to teach programming. You should just do whatever you can to keep whoever you're teaching motivated.

When you teach it's not about you or what you think would have been best for you, it's about understanding other people's needs.

If you think bring up OOP should wait for some time in the future then wait to bring up OOP. If you think that OOP should be the basis from which programming is taught, then start with OOP. Just be a good teacher and keep them motivated. The whole goal is to get them past it all anyway.

Also, programming IS messy. Extremely messy, and teaching people as though it's gonna be all greased tracks the whole way isn't doing them any service.
First I thought it was a parody but I'm started to think that they are talking in a serious way.

What's next? Feminist quantum mechanics?
I find it quite telling that you grasp at the "radical feminist" label instantly on being called out about assigning her blame. I'm male, and frankly tend to get on the wrong side of even quite a few moderate feminists for my views.

But I find it outright disgusting when it is somehow ok to label it as "irresponsible" for a woman to write openly about sex.

I've known many women who have written openly about sex, and while all of them have run into unpleasant situations, none of it has been so bad that I would label them as "irresponsible". Brave, perhaps. Admirably tough for sticking it out.

Frankly, while she might very well have been slightly naive, for my part I doubt I'd have expected that something like this could happen. Some of it, sure. The milder stuff. But for it to keep spiralling so out of control with no action from authorities, no.
1) Why are you taking a be-careful-don't-blame-me passage from a random article written by some guy as gospel?

2) All version control systems are vulnerable to data loss if you mess around with them in unusual ways. Would you say svn was fundamentally broken if somebody told you to take a backup before you screwed around with the repo?
Cool, I'm about to submit my Ph.D. thesis soon as well. Good luck with that!
"We’ve always defined ourselves by the ability to overcome the impossible. And we count these moments, these moments when we dared to aim higher, to break barriers, to reach for the stars, to make the unknown known. We count these moments as our proudest achievements. But we lost all that. And perhaps we’ve just forgotten that we are still pioneers and we’ve barely begun. And that are greatest accomplishments cannot be behind us, as our destiny lies above us."
That's a way too-emotionally charged question for someone pretending to be "utilitarian".

But the answer is: No, I wish there weren't any soldiers to begin with. Dead being just the most common way they disappear, plus is always a political assertion the prime causative, so to avoid refilling wars with youngsters it's more effective to stop that.
That interface is a bag of hurt, but it looks powerful.
I was about to link it.
Zero state taxes. Full federal taxes (on the capital gains they're most likely to earn, formerly 15% and now 23.8%; on dividends, much higher)

It's proving a weak relative of the Laffer curve: rich people move to the lowest practical tax jurisdiction as their taxable income increases. Particularly wealthy retirees earning passive income.
Yes, that is the main point of OO. Basically it boils down to extensible modules.

I think the people that have problems to grasp OO, are the hacker type of guys that code away without much thinking about what they are trying to accomplish.

OOP requires putting the keyboard aside and think about the architecture of what you are trying to accomplish.
The problem there is you have to know which variables and functions belong together. You have to commit to coupling them early on, meaning you have to make a design decision that a beginning programmer might not be prepared to make. This means they may struggle figuring out the best way to organize their code when solving problems when such organizational concerns are really not that important.

Here's a sample programming problem a beginner might encounter: CIDR data is available as a "127.0.0.1/8" style string and you need to access the IP and Netmask separately. In python, the simplest, most straightforward path to a solution that still results in encapsulated, re-usable code is to write a standalone function that accepts a string and returns a tuple. You could also create a CIDR class with a "to_tuple" method, or that stores the values in 'ip' and 'netmask' attributes, but this is simply extra scaffolding and without knowing more about the larger context of the program it's impossible to know whether such a design will be beneficial.

The problem with beginners is that they'll see the straightforward solution, but because they're not just trying to solve a problem but also demonstrate "Object Oriented Programming" skills to their teacher, they're going to worry about doing a whole bunch of extra work that may not be appropriate. I believe this is wasted energy that could be spent gaining real experience solving problems and learning about how computers and software work.
There might be some confusion. The typical proof of the irrationality of root 2 is phrased as a proof-by-contradiction, and I've come across folk who mistakenly think that this technique is exclusive to classical mathematics.

In fact, the standard proof-by-contradiction that sqrt(2) is irrational is also intuitionistically valid. The important point for this case is that we're proving a negative property (irrationality), so this sort of proof by contradiction is fine.

The standard example of a classical proof I use is the one showing that there exist irrationals x and y such that x^y is rational. The dead easy proof asks whether x^y is rational for x=y=sqrt(2). If it is, we're done. Otherwise, we just take x=sqrt(2)^sqrt(2) and y=sqrt(2).

But note that we don't actually know for sure which x and y work, so this is definitely classical. An intuitionistic proof here would have to tell us directly what x and what y work.
I believe that's what ack-grep[1] and the silver searcher(AKA ag)[2] do underneath.

Actually I would recommend people to give it a try to those alternatives, I haven't had to look back to grep again since I am using ack-grep (and now ag)

[1] http://beyondgrep.com/

[2] http://geoff.greer.fm/2011/12/27/the-silver-searcher-better-...
Bitcoin Startups Pitch for Funding at Plug and Play Winter Expo
Whistle-based login using HTML5 audio
blogg post: http://popdevelop.com/2013/11/whistle-based-login-using-html5-audio/
The smaller more asymmetric military operations are often used to test prototype weapons. My response about automated genocide is that it most likely already happened. And I can't think of a better testbed than an AC130 gunship for an automatic aiming system, the operators only see thermal blobs anyway. Not like this, http://www.wired.com/dangerroom/2007/10/robot-cannon-ki/

This would be trivial to automate https://archive.org/details/AC-130_Gunship_Ops_in_Afghanista...
Don't start with learning how to use a bicycle. Start with Rocket Science.

The Anti-OOP propaganda gets stronger.

Didn't Alan Kay of Smalltalk fame work with and for children?
"Certainly, Facebook has stuck with PHP in large part because it would be an even bigger task to rewrite the entire site in another language. It’s called The Legacy Problem. “Eventually, you get to a size where it’s not feasible to rewrite it all,” says Paroksi."

They're not going to rewrite all of the PHP code to some other language, but they've effectively got a shim in there in the form of the HHVM. They could introduce new aspects to the language via their VM, giving new ways to solve problems with new code/extensions but without sacrificing backwards compatibility. I will not be surprised if this evolves from Facebook in the next few years. What they produce may never leave Facebook's internal users (beyond what the HHVM exposes in its open source incarnation) but it may end up being a necessary way forward.
They also have an unique way of avoiding blame for their actions:

Tamerlan obliged with a neat right hook to the other student’s face, according to several sources, for which he was suspended from school for one week.

That's right, you're a boxer, you beat the shit out of a fellow student and what you get for that is a week 'suspension' (or 'vacation') from school you don't care much about in the first place.
On the enterprise, the amount of blue collar developers that don't care is just too much.

Nowadays I try to follow good coding principles on my home projects and the small parts I might have some responsibility over.

But for the overall projects, I don't care any longer. It is just playing Quixote on the enterprise, even more so if the project has outsourced or offshored components.
FINALLY people fixing the tools instead of creating wrappers around them! Thank you Mozilla!
Wow CSS is becoming more and more like a programming language. Good job on Firefox for pushing the boundary.

One thing though. The calculations don't seem very semantic. To calculate something as simple as height/width, you need a long calc(var(height)/var(width));

Maybe w3 can implement CSS variables with special characters like in PHP.
If all you want is binding to port 80/443, then it's simpler to use iptable port forwarding than Nginx.
You're right about how I'm engaging with him. I'll stop. Thanks for the sanity check.
W3C strikes again. They are uniquely gifted at creating ungainly and ugly standards even in the face of widespread industry practices are already commonly used (less, sass). I really want to know who thought `var-` prefix was a banging idea.
Maybe because you don't need abstract classes

I'd say even that Abstract Classes are a horrible hack to the braindead inflexibility of languages like Java

And 99% of the time you're doing them in Python, you're doing it wrong
This is a creative art project. Obviously, it doesn't work, and cannot work as designed. Most consumer night-vision cameras emit near-infrared light with LEDs at around 750-900nm, which is the wavelength this spaulder is designed to pick up. This is the same wavelength of EM radiation your TV remote uses. If your phone camera does not have a filter for IR light, you can see this kind of radiation as a white glow through your phone.

Cameras generally emit IR only while in darkness. Sunlight, or even incandescent lightbulbs, will emit so much infrared light that any nearby security cameras would be blotted out.

A functional 'security spaulder' device would need to be far more complex. Maybe a combination of IR, network packets, and other indicators would work.
Cool. Reading this inspired me to make and Eliza one while I was having my coffee: http://openlate.info/static/404.html . What d'ya think? I could put a share button on it?
Object-Oriented Amazon S3 SDK Java Wrapper
jcabi-s3 is an object oriented Java wrapper of Amazon S3 SDK, stable version 0.4 was released to Maven Central. Key AWS S3 operations are implemented as object methods.
After seeing the bird defecating on their kitchen counter, I decided this would be the perfect thread to ShowHN my latest creation: a 3 axis gimbal stabilizer for those not lucky enough to have cooperative avians. It's electromechanical, not biological, so don't get your hopes up.

https://vimeo.com/81292853

The video shows a synchronous split screen of the very same flight, with an unstabilized GoPro on left half and a stabilized one on the right half.

(other than the aircraft and the camera, everything there is self developed: firmware, hardware, gimbal mechanics)

Some more videos here: https://vimeo.com/user22741569/videos