skysight-inc/HackerNews huggingface dataset:
To me, messaging is the most important part of "OOP", and "OOP" should have been Message Oriented Programming. Calling it object oriented programming and having classes and inheritance made all of academia excited because you got to name and classify things. Object reuse was going to save the world, etc.

Message oriented programming - that you need some kind of message protocol between two things to communicate is something we do a lot of, and has built huge systems like The Internet and all of our web services and JSON API's and all that jazz.

The beauty of MOP is that once you have a format between two things, you can simply code to the format. We do this all the time with Web API's. The entire paradigm of microservices that is gaining popularity is really close to what Alan Kay was talking about when he created OOP. The biggest difference is microservices add network overhead complexity.

If we built software as a series of Objects/Services/Containers that sent messages to each other over an enforced protocol, many of the OOP complaints go away because what is important is NOT the object, it's the communication protocol between objects that drives value.

We have completely inverted the paradigm and lost a lot of value along the way.

You don't need a lot to do message oriented programming. You need request/response formats, you need to enforce those formats, and you need a sender and receiver that do things on either end of the request-response.

Erlang and the Actor pattern seems to be one approach to solving problems using this technique, microservices is another.

I think there is a third option where you have contained objects/services/whatever running in the same program sending simple data structures like hashes as messages back and forth to each other. It would work well as long as you have code to enforce the message protocol between things(right data format, nil checks, etc).

That approach could be done in OO languages like Ruby, Java, C++, PHP, Python, etc. OR it could be done in FP languages like Clojure, LISP, etc.

It's not complicated, it's just applying the request-response pattern to connect objects/processes/code together in a sane way. Sort of like UNIX pipes on the command line. Sort of like HTTP. Sort of like a lot of things we use, but don't seem to think would be good patterns for code.
What browsers don't support SVG?
Microsoft has also been providing software for Macs since 1984, when it appeared at the launch, and it generally makes more money per head from Mac users (who buy lots of copies of Windows and Office) than Windows users (roughly $45 each per 4-5 years).

The only reason it would quit on iOS is if it couldn't make any money from iOS users. And the only reason it wouldn't be able to make money from iOS users would be if Apple went down in flames.
I second the Behavioural Mathematics book. Really good introduction to AI and how to think about programming it.
- I spend a few minutes before bed reading/thinking about the thing I'm going to do the next morning.

- The sooner I start hacking after waking up in the morning the better.

- I wake up an hour earlier than necessary and hack from a coffee shop (with a press pot) before my commute starts.

- I budget the time during my commute (train) in 5-10 minute goal-oriented intervals.

- I listen to Bach piano contrapunctus if the ambient noise gets distracting. I find it hard to get enter the zone quickly with a hiphop mix or any kind of hipster music.
>Lightbox ads are great at driving brand consideration because they’re billed on a cost-per-engagement (CPE) basis. This helps your digital display dollars go further because your brand’s experience automatically finds a qualified audience -- and you don’t pay if people don’t expand and engage with the creative experience.

Pretty nifty! Supports standard IAB sizes too, so you won't have to re-jigger your creative too much
Just a couple of observations:

* CCC[1] was not a 'crew'. The CCC IMHO has still a big impact, mostly due to the (extremely?) high technical skill-set of its members.

* The OP writes about cultural impact NOT mainstream attention. In order to get mainstream attention you have to do something trivial like DDOS Yahoo! which was way below the average technical ability of these 'crews' to cause havoc (if they'd like to do so) back in the day.

[1] http://www.ccc.de/en/
I like these, but why not just host them on the noun project so they are more easily findable?
>people, after having acquired copies, should be able to share it with others

So basically, I should not be allowed to say "Look at this, but don't show anybody else"? As soon as something has been copied, I have lost any say?
Congrats on the launch! Ari and Conrad (founders) are both Thiel fellows and have been working extremely hard to get this out ever since they won MHacks III this year. Great job!
That's great stuff. That's what I'm looking for. Those links needs to be put somewhere clearly on the page for people to find.

Right now anyone not using illustrator, node or rails is much more likely to dismiss this as something not worth looking into.
What was the last time you saw a banner in a google site?
"Languages aren't defined by what they make possible, but by what they make easy", to which I would add "and idiomatic". Go and Node make their (very different) concurrency features easy and idiomatic. Maybe Haskell does too, though, and I just don't know it well enough!
Oh I agree. I like the idea that the article was talking about. I'll be interested in seeing how it works out. It reverses the stigma to almost be where you'd look bad for not taking enough time vs taking too much time.
> You are a fool if you're angry about piracy on your pet project.

I'll tell my employees that as our company folds from lack of revenue. I'll tell my wife that as we apply for food stamps. I'll tell the that to the next person interviewing me for a job because people didn't want to pay for the value I provided.
Your argument is implicitly based on an assumption that piracy/sharing reduces income/profits. I'm not so sure this assumption is correct; at least it hasn't been demonstrated as true (AFAIK).

It's absolutely been demonstrated to be true, many many times. Do you think game studios, console makers, movie studios etc put money into DRM because none of them understand their own business?

There are lots of people who spoken either on or off the record who say the same things: the moment their copy protection fails, sales fall off a cliff and you can see it in the data. For video games it's even worse. The general figure I see for video game piracy on the PC platform is around 90-95% of players are not paying for it, yet, often they are still consuming resources on e.g. multiplayer servers.

Movie studio executives have graphs of sales and you can see the point at which high quality rips were uploaded to the internet.

Example:

http://www.develop-online.net/news/lgc-2013-sports-interacti...
Restructuring Gulp with Coffeescript
The icons are compiled to an SVG sprite and this is the recommended way (The readme file contains the instructions). Anyway, you can download sources here https://github.com/outpunk/evil-icons/tree/master/icons-sour... and separate SVG files here https://github.com/outpunk/evil-icons/tree/master/app/assets...
I went with what I have to type into National Rail Enquries where it's London Kings Cross and London Liverpool Street and etc etc. Knowing it took the data from NationalRail, this seemed the obvious approach.
This article is terrible. There's no insight here whatsoever, he even fails to understand one of the quotes that he cites.

> “There are only two kinds of languages: the ones people complain about and the ones nobody uses.” — Bjarne Stroustrup

This quote is about how everybody complains about the languages everybody uses, and nobody complains about the ones nobody uses because nobody uses them.

The underlying fact is that all tools are flawed. Familiarity breeds contempt. If you don't see the glaring design problems with your language of choice, it probably means you haven't used it enough yet. Or you may just be blinded by fanaticism.

A good developer chooses the existing tool that is best for the job, or creates a tool if one is needed. She does not waste energy complaining about the available tools just to complain.
Citations for sale: Saudi university's recruitment process of top researchers
Whether a design pattern is implicit or explicit is a matter of preference. Personally, I prefer to make my design patterns explicit even when working in languages that don't require that convention because it makes my code easier to grok for others.

Edit: Thomas, I can't reply since this has been flagkilled, but for you or I an implicit pattern is superior. That said, many business programmers don't come from a functional background and for those programmers I prefer to make my code easier to read.
> socialist policies

That's the funny thing about this. PP is a right-wing conservative ultra-catholic neolibertarian mixture. Not a trace of socialism...

This is simply crony capitalism.
IE < 9 and Opera Mini http://caniuse.com/#feat=svg-html5
How a Real Estate Blog Went to 18M Visits per Month in Two Years
Can you elaborate, what redundancy are you talking about?
Yesno.wtf – foolproof decision-making (api available)
I think your implying that every download is a lost sale, it doesn't work like that.
Human rights exist regardless of whether a particular legal framework honors them. Everyone has the right to speech, including the right to the private transmission of data, the right to assemble to pursue common interests, etc. Those rights have limitations when it comes to harming people, but people aren't being harmed by any particular copy of Duck Dynasty S06E03.

The thing being harmed here is a business model. I vehemently disagree that someone should be fined or imprisoned in the name of a business model, especially an entertainment one. If the law says that's what happens, the law is unjust.

That being said, copying things that aren't yours without permission is a jerk thing to do. That shouldn't make you a criminal, however.
... and erectile dysfunction is psychogenic, amirite?
> It's kind of arrogant to think that the only reason that people exist is to use what you've built.

This is an interesting approach to design: emphasizing the relationship between your product (the part) and the user (as a whole).

However, it's a bit misguided to read into the word "user" like this and I'm not sure the solution is as simple as substituting "person" and "people" for it.

It's often presumptuous—and rather telling—when a product attempts to be relevant or meaningful outside of its own context.
Best bang for a buck –  i7/8GB/1TB laptop as a desktop replacement
I want to get laptop and set it as my dying desktop replacement.

I'm in Canada. Specs are:

Intel i7 + 8GB RAM + 1TB hard drive.

I don't care how bulky, heavy, ugly looking or how miserable the battery life of it is.

What's the best bang for the buck for that scenario?
MSIE8 (source http://caniuse.com/#search=svg)
"One of the reasons it takes us so long is that we spend much of our time bouncing back and forth between … lots of little methods.
"

I have to agree here

Computation is hidden between layers and layers of inheritance and polymorphism.

Using these in moderation is ok, however, you have to read a big amount of code to understand what's being done

"everything happens somewhere else" is a great description.
Finally a place to discuss about using Sketch
I typed in 'WAT' expecting it to match Waterloo (it didn't).
I hope this was all meant to be funny.

* Its nonsense to blame OO for the "my programming language is superior to yours". It is a natural trait. Ford vs Chevy, Hockey Team A vs Hockey Team B, CPU A vs CPU B. Additionally this sort of comparison is what the entire article is.

* Whatever type of programming language you use you will do modelling. You might do the modelling differently but you still have to do it.

* Stating that procedural code is just easier to read might be an indication that the author has spent most of his time reading this type of code. Talented programmers will make their code easy to comprehend no matter what is in their toolbox.
That's the worst thing about being on HN. You keep getting older and the users stay the same age...
10 Practical Tips for iOS Developers Using Storyboards
You do understand that the Malware has nothing to do with the website? and by that I mean that it's an adnetwork that controls what adverts that are displayed, and that many many adnetworks have been used to malvertise.
The problem with the term "pattern" is that it has 2 different meanings:

1) a guide for how to build/create something.
2) a describable and characteristic arrangement.

Both can be applied to "design patterns". ie, I'm going to solve a code reuse problem, should I use the strategy or template pattern. Or I'm going to solve this code reuse problem in a novel way in my inheritance based language. I know I'll make an abstract base class that does the reusable stuff and uses some abstract methods to fill in the changing stuff.

So really when people say that "design patterns" are bad, what they really mean are 1) the GoF patterns are only necessary because your language is flawed or 2) people are picking the wrong patterns to solve problems.

But all languages and software systems have patterns, they just might not be cataloged in GoF.
PS: It must be able to handle dual digital 1920x1200 monitors. Hence two digital video outputs are required.
Example: J2EE
Not the best solution[0] but it's what happened[1].

[0] http://www.businessinsider.com/worst-hyperinflation-episodes...

[1] http://www.spiegel.de/international/europe/ecb-prints-money-...
I'm going to move the stuff to a more obvious location, thanks.
IE8, Android 2.3
> no good IDE

LiteIDE is open source, cross-platform and pretty enjoyable. https://code.google.com/p/liteide/
That is probably application logic to help users out, the raw data set of train stations lists the official names only.
I guess you could say that!

I initially found it much harder to work with Rust, as the language is more strict in a number of ways. But once I began to understand how it works, and began to grasp some of its concepts such as ownership and lifetimes I found it much more powerful than Go.

Go has a larger community right now, many more libraries and resources openly available. That's probably one of Rust's downsides right now however its catching up, especially with the launch of crates.io. I don't think it will be long in maturing following the 1.0 release.

Saying that, both are enjoyable to work with. But for me Rust wins out!
It looks like you have to include the entire icon library into your web app (150KB from what I see in DevTools) in order to use this tool. If this is true, this is a big performance fail and the authors should provide a workflow for building custom assets that only include the icons that the web app intends to use.
I do think this is throwing the baby out with the bath water. Why couldn't google exclude Spanish news sources from google News?

If I were running Google (which obviously I'm not, and probably for good reason as what I'm about to say might indicate), I would use the companies enormous amount of capital to exclude all major Spanish news outlets and pay the the independent and fringe new outlets what the law demands as an F.U. to the AEDE. But that's just me.

I understand that politics isn't Google's business, but Google (and the Internet) is fast becoming every Politician's business; And I mean "business" as in a way for them to make money for themselves. So like it or not, Google is going to get embroiled in politics. It would be prudent to nip this sort of stuff in the bud, and make a lot of noise while they're doing it.
I understand your point, although i don't think OOP has anything to do with ( as C# and swift demonstrate).

I disagree on your "read language" vs "write language" analogy. Take for example SQL and Database model designer. Both are useful, and the fact that the second makes things easier doesn't diminish the merits of the first.
Quite. It should be obvious how to implement it using std::function and lambdas in C++, for example. Having a bunch of polymorphic classes is an ugly implementation detail, not the essence of the pattern.
In that case you would say it has a really low signal-to-noise ratio.
Geez, I'd leave as soon as they told me to do all that from memory. Not the type of company I'd want to work for.
Why Painful Memories Linger
Disclaimer: I know jack shit about these men.

I don't think the douchebags are the problem. The insane, Gilded Age-level, verging-on-Medieval-level inequalities of income and wealth are the problem.
Hello from the Techstars office, Austin.
Well, personally, I don't object to NDAs; as long as the person has consented beforehand. But that's just me, don't assume that's what everyone else agrees.
Making money from media is NOT a legal right. You don't have a right to profit.

You have the right to attempt to profit from it and exclude others from doing the same with your work.

That's all copyright provides. A limited right to an opportunity to make money, granted to you by society so you can make more of that work if society (by proxy of "The Market") deems your works as successful.

This right is granted to you because it's considered beneficial to society as a whole, because it incentivizes you to create more and ultimately have all the things you produced released into the public domain once your limited right expires.

So you're not getting the right to copyright because it's a natural right, you're getting it as part of a contract with society. The question is whether that contract is worth it to restrict speech, to have all the side-effects of the DMCA, to put people in prison, to slap families who pirated a few songs with 200k$ fines etc.

Let's say some people are questioning the tradeoff being made, at least in its current state.
For anyone interested in results, they'll be anonymized and published in aggregated form on https://eamann.com by the end of December.
I assume this is the same Oscar Nierstrasz?

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

(A CS professor at Berne focussing on OO).
Start here: http://www.reddit.com/r/badhistory/comments/2mleat/the_imita...

http://www.reddit.com/r/badhistory/comments/2mleat/the_imita...

The movie doesn't even mention Tommy Flowers.
Go for 16GB RAM + SSD. You'll change drive with a harddrive bay and put your 1TB there.

Or buy one with SSD + HDD if you care about storage. Full HD and IPS is a must for me.
How does that work? I thought Font Awesome was a... font. How can it animate things?
Yes! Comparisons exist for pointing out the similarities between two things and inviting some "compare and contrast" critical thinking.

Comparisons don't have to assert equality, which is why people that say things like "Godwin's Law" are the worst. Either you can articulate the difference between an aspect of the Nazi regime and whatever you're arguing for, to move the conversation onto those differences, or you can't. Godwin is only useful when the conversation has run it's course and devolved into a flamewar.

You're already implicitly comparing the two when speak dismissively of the idea of "comparing" them. There are better ways of nipping a tangent in the bud.
fhd is 1920*1080 dude
He's all over the place, and as other commenters have mentioned some of it is a little ridiculous. However, there are a few great kernels.

I am guessing that one of the reasons that Test-Driven Development is popular is that it also exposes object interactions during development.

This is exactly right. The reason TDD is useful goes right back to the fact that Well Factored Programs Cannot be Understood Statically [0].

Type systems cannot deal well with the fact that programs change, and that different bits of complex systems may not be consistent.

Oh my this is exactly right. Most of my work is doing integrations with a variety of APIs. I try to do as much as possible in JavaScript because it's dynamic nature papers over the major issues in nearly every "enterprise" API. I'm very excited about the prospect of pluggable types [1] that he mentions.

I challenge you, however, to name a single programming language mechanism that supports change.

The first I've ever seen was just yesterday [2], but even that is just a tool attached to a language ecosystem, not a part of the ecosystem itself.

I like to think that one day, when we grow up, perhaps we will think of the model as being the source code.

I think this is already the case in many circles. For instance, domain-driven design makes it a priority.

...we have difficulty distinguishing real and accidental complexity.

This might be the most insightful statement in the article. I'd be intersted in readin gmore about this and how to mitigate the problems.

[0]: http://c2.com/ppr/wiki/WikiPagesAboutRefactoring/WellFactore...

[1]: http://bracha.org/pluggableTypesPosition.pdf

[2]: https://news.ycombinator.com/item?id=8731041
Tropical Cyclonic climatology – depression, storm, hurricane, major hurricane
That's true. I've tried ceph, swift and riakcs.

Our requirements were two servers, the storage is several terabytes, and losing data because of an unknown bug in the filesystem wasn't an option.

Such filesystems are quorum-based and certainly need more than two servers with terabytes of data. More than what we could afford. Also if you lose quorum, the system hangs to ensure atomicity. But we don't need such properties.

Also after some testing, those filesystem resulted about 5-10% slower than traditional filesystems, with few nodes of course. They are designed to scale with many nodes.
This was posted/discussed yesterday: https://news.ycombinator.com/item?id=8731040

Didn't get caught because of differing url schemes apparently.
Makes me think, when guile-emacs will be done, rust will be mature enough so we (by we I mean they) can rewrite emacs c core in it.
Creating products for your own country while basing your company abroad seems likely to become a big trend among startups, as tech collides with archaic government regulators. It's already happening in many areas.
iPhone Driver’s Licenses Coming in 2015
I'm sure there were intentional decisions made to deviate from history in order to make a better film (I also don't have a big problem with that).
Revenue Multiples and Growth – Defense of a 20x Revenues Valuation
a small snow storm will debilitate the valley and bay area... stuff like that just doesn't happen too often here.

On the i5 rain the threat is real on first rains as the roads have trace oil that will wash off and cars will shed months of carwash soap residue.
Hate? You really exert the time and effort required to hate something, towards hating object oriented programming? Surely there are better uses for your time.
Thanks for the suggestion! No, it's not mine - I don't know who runs it. Just thought it was a great use of data.
Really, CDC and l0pht had nothing in common? TESO had nothing to do with CCC? No MOD members ended up at X-Force with TESO members? I can draw many lines across all of those groups.
> Sunde was willing to take risks for what he believed in. He deserves a lot of respect for that no matter what people think about the morality of what he helped to create

I find this argument completely fallacious. Does it change the value of a thing if someone takes a risk for it? Ought we respect the causes of suicide bombers, since they gave their lives for them?
Hey, I've been working on a graph db-like thing as a hobby project for the last six months and I'm using LMDB as backend. I tried many alternatives (LevelDB, Sqlite4's LSM, BDB etc.) before settling on LMDB. The alternatives all had some quirk that stopped me from using them.

Among other things, I like that LMDB has zero-copy reads and that's something I've taken care to preserve all the way through my layers.

Just wanted to say thanks for the great work. LMDB is a joy to work with.