skysight-inc/HackerNews huggingface dataset:
this dude. by his own admission he,
1. had been drinking, was potentially drunk
2. disobeyed police officers at scene of accident
3. provoked the guards of the holding cell

police can be thug-ish but this guy is not exactly a posterchild for innocent bystander. I find his thinly veiled sense of entitlement ('I can't have done anything wrong... I work for a non-profit!') pretty obnoxious. There are many victims of police or prosecutorial misconduct out there far more deserving of attention or sympathy. sadly they don't blog.

https://www.aclu.org/donate/join-renew-give
Aaron Levie on Entrepreneurship, Education, and More
Reminds me of chartism vs http://en.wikipedia.org/wiki/Efficient-market_hypothesis
Mir will help make a better and responsive UIs and desktop experiences. But can the user notice that?

There has been some next big thing happening?
This reminds me of this article in The Atlantic: http://www.theatlantic.com/features/archive/2014/03/hey-pare...
We might finally have some reversion from this awful "safety" obsessed parenting trend.
How Dropbox Knows When You’re Sharing Copyrighted Stuff
It's baiting. Most people do not have the knowledge they are being ripped off.
I'm not saying that patents don't accomplish more than promoting progress. They do! I just believe your claim ("The whole point of patents is [to] increase society's knowledge of how to do things") is overly ambitious. That's an important part of the patent system, yes, but far from "the whole point".

As Thomas Jefferson wrote about the US patent system: "Society may give an exclusive right to the profits arising from them, as an encouragement to men to pursue ideas which may produce utility..."
So my complicated algorithm that processes 200,000 data points is big data because it takes 1/2 hour to run, but someone else's petabyte algorithm that takes 1 second on a cluster is small to "bigger" data? I don't think this makes sense.

It's a measure of the size of the problem to be sure, but it is not a measure of the size of the data, or an indication of what techniques might be required to solve the problem.
I agree with you generally, but why is it a special case? As you said,tThe problem isn't the cost to deliver a drug. There are over 100k "potentially useful" new chemicals synthesized by university labs every year. One or two are brought to market.

The cost is in the red tape, and doing the clinical trials to satisfy regulations. I agree, we'd have to get rid of that.

But treating it as a special case ensures that we'll just put off the subject indefinitely.

IP corrupts everything it touches. Get rid of it, and we'll eliminate the problem at the source.
We're gonna go in circles on this. Work more hours or less? What's the answer? If we continue to focus on one metric, we're going to continue looking at the problem through one lens.

The root of all of this (IMHO) is that our managers are currently incompetent. Good managers, motivate people, get their people to deliver on-time, and adapt the environment to make all of this happen. There is a difference between managing an organization ("You can't manage anything you can't measure") and managing people. The latter, I believe, is the problem.
Crowd investment is already happening. Check out Seedrs. The companies are mostly uninspiring, but that will hopefully change at some point.
Scala supports simple recursive tail-call optimization, but is less elegant in handling mutual recursion (due to JVM constraints).

Clojure is probably the one you're thinking of that doesn't support tail-call elimination at all. Rich Hickey thought that if you couldn't do it cleanly in all cases (like mutual recursion), you may as well just come up with something else. So instead of optimizing recursive calls, Clojure has the recur function.
Good article but the bit about Oculus VR was way out of place.

You're going to put Candy Crush, a mobile match-three game valued at $7B, with a company producing top of the line VR hardware and legends of the 3d industry on its staff that sold for $2B?
I think the messaging around Go has changed a bit since it was originally introduced. If you look at the front page of golang.org, it doesn't talk about Go as a systems programming language. I do remember the way it was pitched initially, but I agree with what you're saying and think that even the Go people themselves wouldn't lump Go in with C for things like kernels or leading edge games.
NoScript also solves the problem, since they need to run JavaScript code to disable copying. (Their site displays just fine without JavaScript.)
The sort of academics I'm talking about don't think about whether or not they'll alarm the public. They don't think of the public as their audience. Thier audience is other academics, and all that they care about is making conservative conclusions based on data.
For years we measured speed in bits. 300 bps; 1200 bps.

It is confusing, especially because B per second is 8 times faster than b per second.

Also, what happens if you're using 7e2 or 8n1 or whatever? What counts as a byte?
Patents as you describe them simply reward the first party to encounter a particular problem and apply the obvious solution. It's all well and good to say that the USPTO is "getting better" at recognizing what claims are acceptable in a patent, but the reality is that the examiner has no real incentive to apply any sort of quality ethic. By the time anyone challenges his/her work in court, it will be somebody else's problem.

A few moments' thought should lead one to the realization that productive engineers have much more to lose from patents than they could ever stand to gain. Even the most creative among us consumes a thousand times more than we create.
Yes, as an algorithm designer myself, I can see the attraction:-)
I'd make a bad competitive miner though,
as I'd be too eager to publish my optimizations,
and get some recognition for that...
Building an FPGA computer with Haskell using Lava
I’m curious what questions would come to your mind if your company decided to implement something like this?
I have emotions, but made no decision based on them. What I said we'd do is think.

In my view, emotion and reason need one another to function properly, especially in human situations and probably anywhere.
CoffeeScript is more readable than Python.

If you really get familiar with CoffeeScript then you will see that the benefits add up over JavaScript.

If you want a nice Python-like language with import statements and many interesting features that compiles to JavaScript, take a look at Nimrod.
It was briefly touched upon in the article, but would a current Oakland resident care to shed some light on the crime that does occur? Is it mainly focused to a few bad areas, or do you always have to be extra careful when out in public after dark?
That reminds me....

Google's brilliant plan to get millions to adopt its social network platform: Gmail
To the best of my knowledge, algorithms are not patentable already, though there are workarounds that often get exploited.

Software is rarely similar to math algorithms in practice. Just for example, majority of the software developers I have come across have little understanding of mathematics, fundamental computer science, and often also algorithms. They just know how to invoke the latter already built in various libraries to get the problem at hand solved.

Finally, "software" by itself is not a subject of a patent, it is a subject of copyright. What is patentable is an "invention" that may be implemented in software or as a process instead of something physical.

Example, regarding "player.teleport()", it is already that way.
Long term health and productivity requires at a minimum: quality sleep, exercise, and healthy eating.

I'd also argue it requires a long term focus on personal l&d, strong family and friend bonds, time for reflection, and some time to yourself.

So lets look at a sustainable high performance day:
8 hours sleep
1 hour relax time
1 hour reflection
1 hour exercise
1 hour food prep/eating/housework
1 hour with family/friends
2 hours l&d/side projects

So without taking work into account we are looking at 15hours/day worth of important tasks. That leaves ~9 hours for work including commute time. Surely short term you can sacrifice on a few of these tasks but which ones can you ignore long term and still have a happy, healthy, and productive life?

You can also "optimize" a few of these such as by using your commute to exercise (cycling, walking, etc) or having most of your friendships at work or hiring someone to do the cooking and housework.

I'd also argue that sometimes it is worth it to sacrifice some of the above in the short term if you are getting sufficiently compensated. But id put that compensation at a likely multimillion exit, a million/year salary, Or achieving a lifelong dream.
> If this opinion is a reasonable example of Haskell programmers' attitudes, I would expect some significant portion of programmers would want to stay the heck away from it.

The opinion that people should get less of a grade if they don't know what they're doing is unreasonable? I'm not a compiler writer, but using exceptions for regular control flow in a type checker sounds very iffy to me, Haskell or not. Why would exceptions even show up in a type checker, for that matter?
2048 with Leap Motion Support
Everybody is wrong about everything pretty much all of the time, it appears.

Misanthropy Driven Development? I would like it if I didn't already hate everyone and everything.
As long as the files aren't being removed and marked inaccessible by the owner, I see no malicious intent by Dropbox here. I'm sure they were pressured by the MPAA and other similar organizations to actively remove/refuse to host these files, and Dropbox implemented this instead.
This is interesting, reading some of the linked documents, my naive generalization is that it pushes the entities into using things like maps and dictionaries instead of static properties. The "system manager" stuff just pulls things out of the maps and feeds them to functions to do work, so it is very much 'data-driven' and I must assume more work is put into "configuration" of the entities, just like a data-driven business process requires "configuration" of the order processing pipeline.
http://www.richardlord.net/blog/what-is-an-entity-framework
This is my favorite quote from the article: “I’ve been the principal who’s stood there and said ‘Oy, kid! Get off your bike! You’ve got to walk your bike!’ Then I’d go away and think ‘Why the hell did I say that?’”
How do I turn off the screen if certain noise levels are reached?
The MKZ as well? That's impressive, would've never guessed.
Did you mean 'can't' or 'don't'. I just tried it, it's easy, it just feels like you're a bit wide-eyed.
What something is can change greatly based on context. This means how we classify them (generalize/group) can also change. An apple may be used to grow a tree, as a prop in a game, as fertilizer or consumed.

That being said.

Classifying things using inheritance leads to a software architecture that is difficult to change. This is especially the case if you follow the principal of don't break interface.

In the real world, people can build out classification systems and easily add in edge cases when we find new ways things can be classified. In software, that could lead to a complete change in the software architecture.
They mention over and over that "immutable" is a misnomer, the biggest reason why is because services should consider other services as disposable and able to go missing at any moment.

I think the title would be better as "Immuatable / Disposable Architecture"
I find the flow state comes at the beginning of a project when theres a ton of marginal utility per line of code.

But as a project wears on new code more often than not is to repair broken aspects and not so much to build the new and exciting features. Constantly switching gears between different parts of the code base can be hard to maintain that beloved flow.
Please can yo make the type in your blog even less readable? I think knocking back the grey so that it matches the background should do it - you're almost there just needs a tad more.
Sadly, the figure was not so conservative on my Raspberry Pi (closer to 25%).
Yes, and I'm sure the mountains and mountains of evidence that long hours crush productivity and health are just manufactured by a bunch of bitter failures out to oppress you Randian supermen.

John Carmack can pull insane hours and retain productivity. Also, Usain Bolt can run hella fast. If you think that anybody can run as fast as Usain Bolt if they just suck it up and try hard, you're going to be very disappointed.
One thing to remember: do what they say, and complain later.

This helps give police departments something they can use against rogue officers. It keeps you safer - you are not as likely to get shot or crushed to death by police after writing a letter than after complaining about what they're telling you.

Yes, you shouldn't have to do this and no, police shouldn't feel that they can do what they like. But "don't talk to the police" applies strongly in the OP story.
I recall that scala uses "trampolines" by compiling to what is more like a state machine.
That inheritance doesn't get encapsulated was the same way I felt about modules in ruby. You could include them into a class or other modules, but the interface was never well defined, and you could cause incompatibilities by relying on the implementation of the class you include into, unless you're disciplined enough to only use methods, and not attributes.

On the other hand, defining all the interfaces all the time, like in java was painstaking. I hope for some sort of middle ground.
The second point brings up an issue that confused me when I was first learning Haskell; maybe I can help others that are similarly confused. Coming from OO languages, the lack of heterogeneous containers seems painful in Haskell - after all, in OO languages you use containers of superclass or interface pointers all the time. Haskell has a different approach to handling the same problems, though, and it turns out there are several ways you can create (or eliminate the need for) heterogeneous containers.

The idiomatic way you'd create a "heterogeneous container" is to store a single algebraic datatype with different constructors, rather than try to store different types at all. This doesn't actually give you a heterogeneous container, of course, but it works perfectly in most cases, because in most cases the set of things you need to store in the container is closed. You really only need a truly heterogeneous container when you need the ability for someone else to come along and extend that set. Concretely, if you're writing a ray tracing application, you know all the possible shapes you may need to handle, and this approach is perfect.

On the other hand, if you're writing a ray tracing library and you want the library user to be able to define new shapes, you may want to consider another approach. The idiomatic approach here was already mentioned by dllthomas: this is a functional programming language, so use functions! Specifically, use a record of functions, with each function in the record serving the same role as a method in OO. The functions can have private data by closing over it.

Haskell has a couple of other options available, as well.

You can use existential types, but they don't really buy you anything over the record of functions approach other than perhaps looking superficially more like how you'd do things in an OO language. With this approach you define a typeclass and make all the types you want to store instances of it. The container then stores instances of the typeclass, rather than a concrete type.

You can also use Data.Dynamic to create dynamic values, which will allow you to store a truly unconstrained mix of types in the same container. Since you have to cast the dynamic values back to their real type before using them, though, this isn't a great solution - you end up with code that looks similar to chains of 'instanceof' in Java or 'dynamic_cast' in C++.
Thanks for the input - the more cross disciplinary knowledge flow the better. I like your take away in particular. The author is basically saying 'All this OOP stuff that most of the industry has been doing for 20 years? All wrong! Do it my way.' Hearing that biology still uses directed non-cyclic graphs for classification (eg, single inheritance) shows just how powerful single inheritance really is and that we maybe shouldn't be so fast in throwing it away because it doesn't match something.

I think sticking to the 'age old wisdom' of using direct inheritance for IS-A relationships and composition for HAS-A is still the right way to go. It's been tested, it works, and using HAS-A for everything makes for less understandable code imo. Often you can fix an IS-A by simply refactoring your graph with a better understanding of the problem space - as it turns out biologists have done as well.
Dropbox certainly has a very dedicated advocate in Techcrunch. I wonder why.
> Dropbox checks the hash of a shared file against a banned list, and blocks the share if there’s a match.

Encoding an mp3 is not a deterministic process. So if multiple people start with the same .wav file ripped from a CD (which itself may introduce errors) and then downcode it, they will end up with files which sound the same but are slightly different (and therefore hash differently).

So, it should be straightforward to test whether Dropbox does anything more sophisticated than what's described in the article.
Conceptually it seems relatively simple: each voter supplies a "desired score", which would be +∞ and -∞ for regular upvotes and downvotes respectively, and 0 or other integers for those who want to be fancy. Then you can decide whether n is the correct score, or too high or too low, by assuming everyone wanting a number above n votes +1, everyone below n votes -1, and everyone who wants n votes -1, 0, or 1 as necessary to keep the score as n. (If k people wanted n, then if the score from everyone else is within [n-k, n+k], then n is the right score.) Updating the score one vote at a time seems doable. It would require storing the entire voting history with each comment, though, which would probably require changing things and be a pain.

Then the problem I see is with the user interface: most people wouldn't want to use it, and it would clutter things up (a numeric input field, or a specialized "vote towards 0" button). I guess it could be a setting that individual users could enable. I'd hazard a guess it would be deemed not worth the trouble.
This whole story brings increasing clarity on the difference between "we don't look at your files" and "we can't look at your files", as outlined by Colin Percival:

http://www.daemonology.net/blog/2012-01-19-playing-chicken-w...

Obviously, the sharing and interoperability of Dropbox are key features, but for lots of use cases I'd much prefer technical barriers to policy barriers.

The article claims that technical barriers exist at Dropbox as well, but considering they hold all the encryption keys, and I have to trust they're even encrypting in the first place, any "technical barriers" they erect are really no more assurance than policy.
Yes, PHP and JavaScript show that deployment is everything. A language that works well with your target platform is better than one that doesn't.

(With PHP, it was apparently a bit subtle; ISP's can host it easily and it works well with live updates via ftp, and that beat out language features.)

Objective C is a third example: It's popular because iPhone.
2048 for iOS – remastered
> You're describing a fairly narrow subset of subclassing; notably one that is (as you point out) almost equivalent to composition.

I'm not sure why you say this is a narrow subset. I'm describing a way of thinking about inheritance (inheritance is like composition + automatic delegation). That way of thinking can be applied to any subclassing operation, and I think it's instructional to do so. It can help you see what's a good idea and what's not.

Let's run down the list. Assume you have a class A with a method foo() and class B with method bar().

The equivalent* of "A extends B" is:

function A() {
this._b = new B(); // equivalent* to calling superclass constructor
}
A.prototype.bar = function() {
return this._b.bar(); // manually delegate
}

Now let's say A accesses its superclass's private variables in order to do something. The equivalent* is:

A.prototype.foo = function() {
return this._b._privateVar * 2; // obviously bad, don't do that!
}

You wouldn't access the private variables of an object you compose; it's obviously bad form. Don't do it when you inherit, either.

Now let's talk overriding the superclass's methods. There are several different ways you could do that. The equivalents* are:

// Replace superclass method
A.prototype.bar = function() {
return "my own thing"; // obviously fine
}

// Replace superclass method and access superclass state directly
A.prototype.bar = function() {
return this._b._privateVar * 2; // obviously bad, don't do that!
}

// Extend superclass method
A.prototype.bar = function() {
var result = this._b.bar(); // equivalent* to calling superclass method
return result * 2; // perfectly okay
}

// Extend superclass method and access superclass state directly
A.prototype.bar = function() {
var result = this._b.bar(); // equivalent* to calling superclass method
return result * this._b._privateVar; // obviously bad, don't do that!
}

Don't access the private variables of your superclass (or objects you compose) and you'll be fine. Sure, you'll be in trouble if the superclass changes the semantics of the parent method, but that's true of all functions everywhere. If the semantics of a function you're using changes, your code probably just broke. It doesn't matter if the function is defined in a superclass or not.

The one thing that's unique to inheritance is the idea of semi-private ("protected") methods that are only visible to subclasses. I agree that they're something to be used sparingly, but they're no different than any other superclass method in how they should be used and overridden. It's a moot point, though, because JS doesn't have them.

*Not exactly equivalent, but close enough for these examples.
Check out https://github.com/catch22/pw
So the biggest issue I see right now with Oakland is that it really suffers from a lack of decent or desirable office space.

I'm currently 15 months into an SF lease for my company and when I originally looked for space I spent a lot of time looking in Oakland thinking I'd get a lot greater value. Unfortunately I found only one nice "SOMA style" space in Oakland it was right on the edge of Chinatown in an area I'm not sure I'd want female employees walking to BART late at night.

Honestly there's a huge opportunity here for some developers to look at building out some nicer office spaces in Oldtown, Jack London or the Grand/Broadway area near 19th St BART. I don't mean stuff thats gorgeous just something slightly contemporary would be an upgrade.