skysight-inc/HackerNews huggingface dataset:
My favorite feature of Cyanogen now is that they have Whisperpush enabled by default, which secures all text communications from a Cyanogen phone to another or to a TextSecure app.

http://www.cyanogenmod.org/blog/whisperpush-secure-messaging...

I hope they will be willing to integrate RedPhone by default in it, too, eventually.

As someone who's more technical, I don't necessarily "need" Whisperpush, since I could just use TextSecure directly - however I think it's great that anyone who would be buying this phone would have secure communications by default (without even having to care about it - which is the brilliance of it), and the more people buy it the higher chance they will be communicating with a TextSecure user (or with another TextSecure federated client, since I think you can use the TextSecure protocol like you can with OTR).
Do Not Feed the Online Trolls
Trailing blocks can get stuck and fall off. Clever.
>> I am still gob-smacked to think of that much lead spinning a 2km/sec.

That is NOT the value for the spin speed. The paper says:

"The collapse of the cavity is accelerated by geometric
focusing, resulting in cavity wall velocities over 2 km/s at the end stages of
collapse"

The spin speed -- think centrifuge, as in a washing machine or in a chemical lab. Lead is high density, but you'd hardly need 2 km/s (around 12K RPMs!!). That is ridiculous.

(I do think I've seen articles on that the demands on the pistons might be smaller than the first calculations, after experiments. The self reinforcing shock wave might be involved.)

Edit: If you really need to estimate the spin speed, this should work? Consider how many G you'd need at the inner part of the evacuated tube. Then check that on some online calculation (there is a simple formula) to get the RPM (and hence speed) instead of trying the "back of the envelope" thing... :-)

Edit 2: I googled a page with the G formula for RPMs. 0.2 meter empty in the middle at 1000 RPMs gives 112 G which should be <cough> more than ample. :-) The formula use (RPM/1000)², so 12,000 RPMs... I don't even want to think about > 1400 G on tons of lead!! http://clinfield.com/2012/07/how-to-convert-centrifuge-rpm-t...
So long as you never run into an edge case the framework was not designed to deal with. But oh, the framework itself makes it very hard for you to have a workaround. But that only happens... very often.

The difference between a framework and a library, IMO, is control.

You forfeit control to the framework in exchange for less code. But then you depend on it for your every feature.

Also, when the next big framework comes along that promises you even less code writing. It usually is non-trivial to make them work together, if at all. you just might end up with a legacy framework on your hands or face a complete rewrite.

Disclaimer, I work with legacy code written on top of JSF 1.2 and Richfaces 3. It probably seemed more organized and modular at the time. It's not.
I think the guy working on TempleOS is basing his concept on the idea that computers can provide some sense of "randomness".

Not really related, but I thought it was an interesting connection.
I don't think you understand functional programming.

function makeAppropriateCar(cargo) {
if(cargo == "people") return new Automobile();
else if(cargo == "boxes") return new Truck;
else ...
}

function makeLocalCar(settings) {
var car = new Car({'color': settings.get('new_car_color')});
car.set_origin(settings.get_hostname());
return car;
}

function makeDebuggingCar() {
if(global_settings.DEBUG && !global_settings.PRODUCTION)
return new Car({'loglevel': LOGLEVEL_DEBUG});
else if(global_settings.DEBUG && global_settings.PRODUCTION) // testing
return new Car({'loglevel': LOGLEVEL_INFO});
else // production
return new Car({'loglevel': LOGLEVEL_WARNING});
}
I like how you can knock out the trailing elements, but as long as the lead number makes it through you keep going.
You can still get 2 weeks of battery life. Get a Nokia 1100.

It's a trade-off, mate. You're standing at a Lamborghini showroom and saying, "Man, does anyone else here remember when cars used to give us 21 kilometres to the litre?"
This is just the same rant as the classic "Why I hate frameworks"
http://discuss.joelonsoftware.com/?joel.3.219431.12

but applied to Javascript instead of Java.
Less code in general means fewer bugs. However, there's definitely an inflection point where you're trying to cram too much functionality into too few lines of code, and so the code you're writing is a lot more complex than it really needs to be. This is where Go shines, is in discouraging overly complex single lines of code that don't actually save the programmer any time.

Sure, python has list comprehensions, but I can tell you how often I've seen hugely over-complicated one line list comprehensions that were impossible to understand unless you were absolutely sure what it was supposed to be doing before you read the code. I've refactored some of those in my lifetime just to make them more readable. That's not to say that most simple list comprehensions aren't totally fine.

So, just saying fewer lines of code makes for fewer bugs is not 100% accurate. I'd say, less /functionality/ leads to fewer bugs. But except in extreme circumstances (like writing a whole framework to do one small task), actual lines of code does not correlate to the number of bugs.
Internet security and Heartbleed – unofficial translation of an ad
Mocks (or I guess fakes, really) can be useful for simulating certain scenarios that are difficult to produce in real life but your code needs to handle. For example if in an integration test you want to see how your application deals with high latency or errors in a service dependency, you can write a mock of that service and have it introduce arbitrary delays or errors.

Of course it helps to test against the real service as well, since it's often prohibitively time-consuming or impossible to model ever aspect of it, but I wouldn't discount mocks so easily.
Weebly for Mobile
All The Fucks I Give
If your son has co-founders or would like them then this is an idea with the potential to be disastrous.

If the startup (company) goes the distance then whatever equity you bought with investment would convert to your son as part of his inheritance altering the partnership drastically.

The legal and financial ramifications can be quite complex.
As an American, it does seem like a slightly ambiguous or odd usage.
I find stubs occasionally useful. But I don't get mocks.

http://martinfowler.com/articles/mocksArentStubs.html
You may want to take a look at knockout.js then.
These HBO Go Ads Are Hilarious
The next iteration should set things up so the snake of boxes you're building correlate to the bitcoin blockchain.
Aye, we'll be offering the Iconics as free PDF downloads, too. =)
They can call it a framework all they like, and obviously that word means different things to different people, but I've found AngularJS is more useful when described and treated as a library - a library for building a front-end framework.

AngularJS might exhibit some of the trappings of a framework (e.g. inversion of control), and it has some of the components a front-end framework would need: routing, templating, networking... but these components aren't tied together in a way that impresses an overall architecture. Calling Angular a framework leads developers to assume architectural decisions have been made when they haven't.
There's nothing "magical" about it.

The intention of the programmer and the result is actually even more explicit than passing the values as arguments to some printf function.
There is an URL to the game posted directly on a Google website, which I only recognised as such after reading the post.

https://developers.google.com/appengine/docs/push-to-deploy

The second image from the bottom has an URL plastered on it. When I noticed, I wondered how that happened. I tried the URL in incognito tab but it requested permission to identify my Google account, so I thought it's for internal Google use only, and closed the tab.
How about: "straight men and straight women can't be friends because the sex part always gets in the way". Better now?
It may just be me being old fashion, but I haven't seen or used a good music player since XMMS. Every single new media player seems want to take up a huge amount of screen space or have a ton of useless feature.

XMMS was great, simple and pretty interface, just add the files you want to play and you could queue up tracks (A feature that seem to elude iTunes ).
Looked at the code and got blown away - google is embedding depth map inside original images.

Google did something very smart here. They realized project tango is a long way from shipping, so they released something not perfect, clunky, manually operated, but working _right now_. This way they can claim to be first when new iphone with integrated primesense 3d camera hits the market :).
You can find all these things on Piratebay. Tying all these illegal activities to your social network is highly idiotic.
HTML5 with CSS and JS ;)
This would happen less if the sample code highlighted the benefits more.

Sample code which shows me how complex something simple is kind of fails at that - and worse, it fails to let me grok why the way they're doing it is better. Where does it all fit in? What will this translate too?

To some extent I wonder if we make the mistake of using "hello world" too readily, whereas what we want to do is show the end product and then start with what that does to simple processes to make it work.
I think there is room for a company offering lower fees.
Light Pollution is Stealing Our Skies
This article really hits the nail on the head. In the comments, many people confuse layers of indirection with dependency injection. Those are 2 separate things, you can have dependency injection and not have 100 layers of indirection that confuse the hell out of people.

And while we're at it. Why the is there a term "Dependecy injection"... it's freaking argument passing to functions, and it's been around a really really long time. I'd expect this kind of crap from the JVM and other OO only worlds, but JS is more functional then it is OO, you have higher order functions...why the hell would you want to think in OO terms?
If you were developing rails apps in the mid-late 2000s then you'd have known too many to count.

There was a period in time between 2005-2008 in Boston where if you didn't practice TDD you were persona non-grata.

I think interestingly enough, a good number of those people now have 10+ years experience programming and now understand what those of us who had 10 years experience at that point in time were trying to tell them.
Make sure that your Sonos devices and the devices you use to control them always get the same IP via static leases.
It's not the language, it's the people... Most developers are... not very good. It's a fact of life. Abstractions are a phase in learning how to code: I am not surprised that people reinvent the wheel in [insert-currently-trendy-platform].

I am surprised that people think that a LANGUAGE can make any difference. Languages are tools, stop pretending they make any difference and fix the people :-)
The Business Guy vs. the Programmer
Java code is one of those few things that managed to successfully parody itself.
OnePlus has 64GB of storage for $350, Nexus 5 only 16GB. It also seems to have a significantly better camera and much faster, too (Rear: f/2.0 13 MP Sony Exmor IMX 214 sensor, w/4K video recording. Dual-LED flash. 0.3s shutter speed) It also has a 3100 mAh battery vs 2300 mAh for Nexus 5.

The processor I don't care about since 801 is just a repackaged 800 anyway, like all of Qualcomm's new processors.
IT REALLY DEPENDS ON WHAT YOU ARE DOING
I am not good at writing code, but it seems logic to me to use something like the HTML5 Phaser framework instead of unity, which 80% will not install anyways because...
well because the little hipsters in us dislikes Comic Sans and proprietary plugins, right?
Yeah. The hand-wavey reference to advances in parallelisation and cloud runner infrastructure doesn't adequately address the drawbacks of this "post-TDD" approach.
I must admit to not being entirely surprised that email addresses, when posted in public, get picked up by spammers. I would have liked to see answers to the harder questions - e.g. Here are email addresses that we've only given to banks or other large companies, now let's see where the leaks are and investigate them.
I think he's conflating the separate concepts of Test Driven Development and Unit Testing. They can be done independently of each other.

I agree that many other people also conflate them, and are zealots for (or against) them together, but they are still separate concepts.

He does make some good arguments against Unit Testing, but he makes none against TDD.
Venera: The Soviet Exploration of Venus
This indictment of angular and 'enterprise' frameworks is pretty one-sided and self-righteous. I hate the bureaucratic and restrictive nature of some frameworks too, but you can't dismiss the entirety of them and the problems some of them solve because of it.
It's very easy to criticise without suggesting or showing any better alternative. For example... if you are a software manager with the 'power' to choose an entire stack for a new product, what would be your choice and how would you justify it on criteria such as: availability of documentation, developer skillset, testing, security, performance, platform compatibility, time to market etc?

Unfortunately all this type of 'boring' shit that enterprises deal with, they have to deal with for a reason. If you don't like that then you have a problem with the structure of the economy, larger businesses, and their politics as well as the technology.
>Is added depth information really a game-changer?

it is if you want to automate it instead of relying on meatbags.

Your link, just like many other research projects (LA pool database for example) rely on wetware looking at pictures. Depth maps let computers do all the work. You get (well, will get with tango) Quake style maps from simple video clips.
As others have pointed out above (https://news.ycombinator.com/item?id=7572092), the 'perfect JVM' is missing the point. The JVM aims to provide two things:

1: A high-level development environment which allows well-intentioned developers to avoid, say, buffer-overflow bugs

2: A sandbox, in which untrusted code can be safely run

Java has a truly awful track-record on point 2 (running untrusted applets by default? awful idea), but a much better one on point 1, which is what's actually relevant here.

> At some point no matter what your language, VM, OS is you are going to experience something similar.

No. If all/nearly all of your OS is written in a safe language, it's going to be much safer from, say, buffer-overflow attacks. Unfortunately there aren't any such languages in major production use, so it's hard to point to concrete numbers.
The title is misleading link-bait (eventual does not necessarily imply unordered) but otherwise looks like a pretty good discussion of issues many of us have to deal with.
Graph for UK.

http://goo.gl/d9Rn0D

Not very good (based on a random non-weekend day rather than median). Might make a better one when I get home.
This. This x100.

We are in a crazy scenario where we are seeking a Series A with a good product in a validated market fit.

The investors have essentially said unless you are eating ramen noodles and scraping by we are not interested.

^^ That attitude essentially rules out anyone with a family, prior commitments or debts from college/life.

Why would a funding round not earmark a portion for a fair (albeit lower than market) salary?
A curried function is an implementation, a factory is a concept.

I think you're being a bit over the top, a bit like the OP.
Acknowledging and cataloging real observed differences between men and women is fine. That's just science. What's not OK is shaming men for behaviors that are not better or worse than women, but just different.
Also above the fold: "AngularJS is a toolset for building the framework most suited to your application development"...

Even internally they're insecure about it. I think library is a more useful definition because it encourages developers to think about architecture before they start building application specific stuff.
"Dependency injection" is just a silly term for formal parameters. Wow, we can make a function more generic by minimizing the number of free variables! Who knew?
You mentioning Java actually reminds me, what I find bizarre about the recent trend in javascript is that they're creating the boiler plate on purpose. In Java the boilerplate was a creation of the language, but in javascript it's a creation of the community! It's like some sort of sick joke.

The stuff I hate most is the boilerplate that means you find crappy little singletons everywhere when all that was needed was a function. And for the love of god, a function that's named and not pointlessly assigned by a var because you're mono-linguistic and haven't realised yet what the actual point of functions are yet.

Huge chunks of the javascript in the web site I've taken over were done by someone who loved these patterns, this is an example of his favourite one, pointless and led to colossal code bloat as he used it over and over for basic handlers.

function instantSearch() {
var instantSearchObject = {
config: {
animSpeed: 250
},
init: function () {
this.findComponents();
this.bindEvents();
},
findComponents: function () {
this.searchBlockCollection = $('.search, .entry-search');
this.searchInputCollection = this.searchBlockCollection.find('input:text');
},
bindEvents: function () {
var self = this;
this.searchInputCollection.on({
'focus': function () {
var currentInput = $(this),
currentSearchSuggestionsBlock = currentInput.parent().siblings('.search-suggestions');
currentSearchSuggestionsBlock.slideDown(self.config.animSpeed);
},
'blur': function () {
var currentInput = $(this),
currentSearchSuggestionsBlock = currentInput.parent().siblings('.search-suggestions');
currentSearchSuggestionsBlock.slideUp(self.config.animSpeed);
}
});
}
}.init();
}

Nigh on 30 lines of code, so few lines that actually do something. I tend to refactor them when I can so I can see what they're actually doing, the following code should do exactly the same thing (without me testing it):

function bindSearchBox() {
$(".search input, .entry-search input")
.on("focus", function () {
$(this).siblings('.search-suggestions').slideUp(250);
})
.on("blur", function () {
$(this).siblings('.search-suggestions').slideDown(250);
});
}

Hmmm, even just refactoring that tiny bit of code shows that there might even be a bug there, or at least pointless code, I'm not sure why he's sliding the search results up on focus, they don't stay open.
Beta Service Launch date for MyAppConverter approaching
Semantic Driven Transformation
"so many job specs specifically asking for "TDD"" - yes, but do you really want to work with fanatics anyway?
Depends what it is, but commonly - no. There's been research on this:

http://mcis.polymtl.ca/publications/2013/msr_jojo.pdf

What percentage of submitted patches has been integrated successfully, and how much time did it take? Around 33% of patches are accepted. Reviewing time has been dropping down to 1–3 months, while integration time steadily has been increasing towards 1–3 months, bringing the total time to 3–6 months.

That's based on 8 years of data.
But on the flipside, what if Google decides to adjust their algorithm and demote sites that don't use the appropriate Schema to markup their content?

Well then you'd deal with that when it happens. Currently you know google will take the content and present it without hits to your website, but them penalising sites that don't is just theoretical.
Yes, but Java was left behind and ate C#'s dust (and now Scala's) because of lack of progress like that.

Not the best example to justify adding generics late.
So the "catch" is that they only have a hundred to sell over the next week? That doesn't seem like much of a catch, it sounds like marketing.
This is silly. It basically amounts to "waaaah I don't know angular!" because they saw funny words I a stack overflow example.

Factories etc., in angular are not the same as the Java equivalents. And you're usually not going to be using providerProviders in your application code, that stuff goes in libraries that, yes, need to be configurable.

Angular is a boon for writing testable, changeable javascript apps. Just because one of the features happens to use words you don't like in java doesn't mean JavaScript is ruined.
>some fairly massive blocks that were allocated but unused

Watch this clip to understand why fractional solutions wont save us :
https://www.youtube.com/watch?v=F-QA2rkpBSY

Warning, its "Perhaps the most boring video you'll ever see, and definitely the most important."
What do other fields in that industry make, such as material engineers?
It was mostly a friendly jab, not a real criticism. I don't think I can ever use the word "heteronormative" in a completely serious way.
I rarely need to dig into the implementation details of a class but when I do, if the language gets in my way, that's probably a bad thing. People make mistakes in API design and strict API contracts as a feature of the language can be annoying. FWIW, I remember only one case of having to do #define private public in my 10+ year career when dealing with a third-party library. The point is that the API should be a strong suggestion, but not necessarily strongly enforced.

The arguments you make apply equally to Python, btw.
Angular can be confusing, but the speed of development you can achieve with it has helped give me back many hours of my life.
Job specs ask for a lot of things but in my experience it's often as much about what the company aspires to rather than what they're really doing. More often than not that will be dabbling more than fanaticism.

c.f. Agile, Kanban, BDD
Its unsurprising. I cant understand why anyone would use an unregulated taxi company. Predatory surge pricing is part of the reason taxis are regulated. Safety for the customer being the other large reason.
I would just like to say that thank God Joe Armstrong was building Erlang instead of James Gosling.

At the same I would like to say that I am sorry that Joe Armstrong didn't design Java instead of James Gosling.

I am also extremely sorry that Rob Pike, Ken Thompson and Robert Griesemer didn't get around to building Golang before there was Java...
Sometimes I wonder whether the reason he doesn't like TDD is because he inadvertently made it difficult for himself and others in Rails.

This is the engineering form of confirmation bias. If you make something hard to do, it's hard to like it.
like this idea. Though it looks like Ustream is already doing it.
Also the challenges with the app: How to ensure that the video was actually shot on that particular location. What if the "cammer" turns off location settings?
I think a big part of the TDD phenomenon happened when the "big name" rails consulting shops insisted on using it.

In consulting, I think this makes all the sense in the world.

a) When you hand off code, you can demonstrably prove what you handed off works.
b) You can take the business objectives of whoever you are consulting for and translate those into high level tests, which helps you stay focused.
c) You get to charge double what you'd normally have charged the client.

When running a in-house team at a startup none of those bullet points translate, and while TDD does offer other benefits, really at the early stages of the game every line of code you write needs to solve the problem you're trying to validate.
I totally understand the point. You only need to do is choose the right 'framework' for your work. Dont make it angryler.js
Thanks for the constructive insight.

I'm glad we collectively understand the general purpose of downvotes. There's a reason they aren't defaulted to 0 pointers; they aren't "agree/disagree".

Go back to slashdot where inept moderation is the norm.