skysight-inc/HackerNews huggingface dataset:
I am the author of AutoRefactor.
If you only need multi-catch refactorings and have never seen the other pieces of code, then you are the luckiest Java developer I have heard off. You are probably working on a green field project with a small team of exceptionally talented people. For people not in that case, chances are they are inheriting a very large code base originally written with Java 1.4 or (shudder) even earlier. They are working with some people that never manage to get the simplest indentations right, let alone the code patterns you saw. The size and age of the code base made for numerous failed attempts at running checks type. Finally, the team is so big that no human can review all the code changes pre or post commit. Believe me, this exist and I think this is probably most of the code written.

Concerning the not null case, I agree this one is very subjective. I hesitated a lot before adding it. It is not as broad as what you think it is. It is only touching if statements when the then and else clauses are similar.

Say
if (o == null) return null; else return o.toString();
I am arguing that the cognitive load is less important when the if statement is inverted. i.e.
if (o != null) return o.toString(); else return null;
Or with ternary operator:
return o != null ? o.toString() : null;

You can disagree and then not run this particular rule.
This is a really cool app. I like it a lot.

What instruments have you tested it with?
CSS is the one of the trickiest technologie I had to deal with. Something as easy as centering a div is a hell to do. You find many different way to achieve it on the web, but some work in few cases and don't other time. The reason why is still a mistery for me and my other skilled colleages.

CSS is one of the reason I hate web developement (javascript being so tolerant to error is another one).
FWIW a while ago I decided to publish a free + IAP version of my iOS photo/video effects app, which was previously a paid-only app. At first the results were a bit disappointing but over time it's grown to generate about three times the revenue of the paid app, and about 20 times the overall user base. I'm sure it's true that freemium is not a panacea but it's worked for me.

http://plastaq.com/liquidlens/
In the context of physical systems, companies in the Netherlands including ASML, FEI, Philips Healthcare and Ericsson, have found in the past 10 years that applying model-checking to concurrency logic in control systems reduces both costs and time-to-market while increasing reliability of the built software. Why reductions? Because concurrency bugs are removed at the earliest possible moment, hence they cost orders of magnitude less than if they were found during testing or (worse) at customer sites.
Simply replace it with "monkey" in your head, e.g.: "we are looking for an Angular ninja!" = "we are looking for an Angular monkey (because none of our backend Scala guys are willing to touch JS with 10 feet pole".
Yes exactly. Developer and Manager is two completely different jobs. Developer to manager promoting is a brain drain. A good developer does not have to be a good manager. A good manager does not have to be a good developer.
Yes, these suggestions of powering cars / trains with the solar panels stuck to their rooftops is ludicrous. I sometimes imagine that these "great ideas" are actually introduced & elaborated by the dirty energy companies to make the clean energy folks look like a bunch of drifting dreamers. Sadly it's probably well meaning people without any sort of science understanding.
I can't tell if you are a human or if you are an anti-trolling algorithm that is stuck.
The website gets an F on the ssllabs.com SSL Test:

https://www.ssllabs.com/ssltest/analyze.html?d=fleetzen.com
(German here.) Both look pretty standard to me. Although I think buses like that are more common for long-distance. Most buses for public transit I've seen have more space for standing people:

http://www.bahnreiseberichte.de/050-Rottalerland-Thueringen/...
http://www.eifel-rur-bus.de/seiten/nachrichten/2007/nachrich...
They use word ninja when nobody on the team wants to do that sort of job e.g. "JavaScript ninja" or "DevOps rockstar" or "front-end guru". Have you ever seen a job post for "CEO ninja" or a "rock-star CTO co-founder"?
Monday is first in Britain, which makes for annoying Web ui when the site isn't localised properly (and it's easy to leave it in en_US and not realise the problem).

I once booked a flight on the wrong day because part way through the booking process the first day of the week in the calendar changed.

Nursery rhymes with this order: http://en.m.wikipedia.org/wiki/Monday%27s_Child
http://en.m.wikipedia.org/wiki/Solomon_Grundy

Chinese use 星期一 / "weekday one" for Monday.
I think there's a middle ground to be had though. For example, if the average user sends 1 article per day, offer 400 articles for $1.99, and in theory you have a recurring billing model that also doesn't require too much worrying from the user's point of view.

The other model might be $1.99 for unlimited use, and then release V2 of the app with new UI/features, and do an annual release model. It works for many apps, eg developer tools like IntelliJ. Would be interested to know if it works on app stores without getting grumpy user feedback though.
Anyone with experience with either/both Morearty.js and Omniscient.js care to explain the differences between the two?

From what I could gather with a quick look, they seem almost identical in terms of features and scope.

https://github.com/moreartyjs/moreartyjs

https://github.com/omniscientjs/omniscient
If governments tax carbon, then electric trains will be profitable, especially in nearly carbon electricity free France. (France uses mostly nuclear power)

If governments don't tax carbon. We'll be toast.
> it's good to prepare and I appreciate being organized, but it's very easy to fall into the trap of an endless preparing cycle.

I fall into that trap very often. If I'm learning a new programming language, I'll read every book and article I can find about it, try to learn best practices an architecture approaches, before even thinking about starting to write an experimental program in it. Sometimes I think I should just dig in, and research things on the fly. The worst is that I tend to repeat that mistake :-) It seams hard to change person's nature/mindset.
Feds can charge you with obstruction of justice for clearing browser history
I've head this, or some version of this from a number of people that I've asked. Premature scaling can definitely be an issue and that's something I'd like to cover in the book.

There are definitely things that can be done, not necessarily requiring any extra effort, that can alleviate scaling problems down the road though.

What sort of things specifically scaling related did you do that you now wish you hadn't?
Abusing one of the most important, non-profit resources on the internet?

Just because we can doesn't mean we ought to.
About that New York Times story on Delhi’s unbreathable air…
Products with ongoing pricing turn out very expensive in the end. A product that is $10/month will often workout more than one that it is $100 upfront. I prefer iOS apps that you either pay or upfront or, even better, a one-time fee to upgrade. I don't have to worry about ongoing costs then. I'm reminded of ongoing costs everytime I get a statement or receipt, and then I look for alternatives or look to cancel.
Boost your sale upto 150 percent on Amazon
Has anyone come up with a solution for the problem of doing important tasks that require blocks of time measured in weeks? I have projects that I need to get to, but they need me to pencil in a few weeks of 100% time dedication to get them done (they are the sort of projects that are so complex that you can't do anything else while working on them). I find that I just can't carve out the time to get them done as I have too many urgent and must-do-today activities to be able to block out the time.
yeah... definitely. Cut back on the free offering, and make it "pay to use" for anyone who ends up using it anything resembling daily.

Also probably worth making it a subscription ($1/month?) instead of credit-based - subscriptions can give dependable revenue, and users wouldn't feel nickle'd and dime'd.

Anyhow, the simple lesson here is that freemium isn't a magic bullet - probably takes some time to figure out the right place to put the paywall to get growth / usage via free users, and revenue from not giving everything away for free.
I think we sometimes subconsciously hope that some system will do the things for us. Then we get disappointed. I know the feeling.
"You can only do one thing of monetary value once you own a stock share: Sell it to the next idiot."

Dividens explicitly give the owners of stock a slice of yearly profits.
He was a guest on a chat show here in Norway a couple of months ago. I had never heard of this guy before, and few norwegians have, so its nice he finally gains some credit for his work.
Yep, but it is not easy problem, I don't know any existing app that does it well.
The thing is that really useful tool would implement several types of referencing, because there are several equally important ways for doing it, i.e. sometimes I need to have just an arrow pointing from reference to destination, sometimes I want a tag, which after clicking on will embed destination in reference place, sometimes I want just some kind of preview.
Exactly, you see a lot of these people on codepen http://codepen.io/kiraken/pen/ZYBQNq
I saw that when it came out... it's only true of one metric, not overall air quality. You can barely see down the street in Delhi, whereas I see blue sky above my head right now.

Your point is worth keeping in mind, of course; I chose my words carefully when I said "the air... feels inestimably better than Delhi". I still get a headache whenever I spend longer than 15m in a rick.
> Pointers are only real if you ignore MMUs

Which is true on architectures without MMUs, which probably account for about 90% of the computing devices in use. Okay, maybe 85% since tablets and smartphones became important.

And is also obviously true in MMU code.

And then they're just pointing at an imaginary address that the MMU "projects", so they're still very real in the sense that the author is using (i.e. in one form or another, we're going to keep having to write arbitrary values at arbitrary addresses that mean something until someone figures out a better way to talk to devices).

I don't think that better way doesn't exist. Like anyone who ever found himself wishing PDP-11 would just fucking die already, I even have a few ideas of my own about a better way. Alas, I'm probably wrong about them and I don't know of any commercially-available processor that has a better way of doing that.

> ...and cache lines

Which you can generally do as long as you remember to account for it when it comes to timing and you don't have a buggy cache.

I know a guy who spent about an year and a half chasing a bug that got traced to a bug in the IP. It would occasionally decide to flush the cache, even though it didn't. Talk about dedication.

> and imagine that C actually gives a good model of real modern hardware.

It never really did, not even on the PDP-11, but that's hardly the point. LISP didn't really give that good a model of the LISP Machine either, but it provided an abstraction that was close enough to be useful and allow you to reason about what you had to do.
Trading Robots Are Mostly Fake Algorithms
Also all legal:

http://en.wikipedia.org/wiki/Reichstag_Fire_Decree
This also just isn't true.

People prefer to defecate in the open only because belive it is or not, open is 'cleaner' than inside. Most toilets require a subtantial amount of water to keep clean after every use and water is in short supply in north india. Without adequate flushing the toilet quickly becomes a stinkhole and outside offers a much better experience.

The princeton economist who wrote this intelligent study should have included talking to atleast one guy who stays in north india as part of her research.
> However, it seems that there is a tremendous amount of effort that goes into proving this software and I wonder if the time investment makes sense.

Either you reasonably need machine-checkable proofs of the software confirming to a spec, or you don't and can settle for less secure methods. Then be honest and lay out what parts of the program are verified, which are proven ~informally by hand, which has been reviewed by several people, which uses a lot of tests, and so on. Risk/reward analysis like anything else (but obviously not straightforward).

Formal verification is probably so young/not widespread as a discipline that we'll probably see peanut gallery concern trolling "this is really cool! But... <same old FUD>" like your comments for the next twenty years or so.
The read-side code in question is hand-written assembly code, isn't it? And on the hardware side, observing pc will probably result in an actual memory barrier happening anyway (even if no signal is sent internally the kernel must still suspend the thread to capture register state, and then it needs a barrier to communicate that result back to the asking thread).
OOP is seldom the best model for software construction. A model (using relational, graph, set operations, etc.) can be implemented using enties given in an OOP language but if the software engineer 'thinks in objects' mess will probably ensue.
I found developping gui with qt far easier than with html/css. It took me few hours to understand layout concept of qt.
I am not offently doing css/html, but after few years I still don't understand css layout. Things as trivial as centering a div is a nightmare. In qt it is easy.

qt >>> html/css

But javascript made event handling easier in web than in qt (which event handling is a little bit tricky).
Thanks for pointing that out; it was wrong of me to make such a bold, absolute assertion, especially without data. It's certainly worth clarifying that I wouldn't expect 100% efficacy from anything involving cultural change; of course it still happens.

And also worth mentioning that the available latrines have to be welcome, clean, and comfortable; at least, better to use than the open-air alternative. Many public latrines are rather less pleasant than a patch of dirt behind a bush.
THANK YOU!

I'm in the Go camp myself (largely because I speak Unix and with Pike being involved it was inevitable) but I've read a lot on Rust and have been procrastinating learning it for about two years now.

It's a very interesting language. Has a lot of helpful constructs. I'm quite convinced it's a better systems language than C++.

However, every time something about Rust or Heartbleed hits the net, people flock around and dream of a world of Rust where Bad Stuff can't happen because Rust doesn't let you write programs that do Bad Stuff.

Indeed, Rust doesn't let you write C++-branded Bad Stuff in Rust. Real life, however, leads me to believe that Rust-branded Bad Stuff will be trivial to write in Rust, and it is not the panacea that everyone hopes it is.

It won't just magically make systems programming better and safer. People somehow managed to have buffer overflows in firmware written in that hideous form of Pascal that had the length of the array as part of the type, so foo(int x[10]) only compiled if you passed it an array of ten ints. They'll manage to write shitty, unsafe code in Rust, too.

Edit:

> let alone free massages.

If you know of a language with free massages please share that information with me because I definitely want to learn it :-).

I'm not nitpicking, it's just such a funny typo!
Where I live, the traffic lights know about approaching trams and buses and turns green early or remains green until they have passed. That doesn't work if the traffic gets too bad, but most of the time it works pretty well.
The basic problem can be described quite simply. HTML was designed for the World Wide Web - a matrix of hyperlinked documents. For that purpose it more or less has succeeded (some people were more ambitious about what authoring hypertext should have achieved but I'll ignore that wrinkle). However, these days people want to do things with the web other than write hypertext - they're wanting applications on the web in just the same way we want applications on our computers or apps on our phones. And for THAT purpose, HTML / CSS / DOM is utter gobshite. If I want to write an application, the bottom of layer of that shouldn't be "now convert that into something that perverts document layout of the browser to look like something that hasn't been laid out like an HTML document".

We need a technology that is suitable as a compilation target: a virtual machine. It can be optimised to hell (better than JS which necessarily is always compromised by having to be JavaScript and not byte code) and we need a suite of basic machine systems - sound, graphics, storage. We're not really all that far off from these things with what is supplied with HTML 5 it just sucks that the core of the affair - HTML/CSS/JS - is rotten through and through.
Out of curiosity does your system need to be this complex? Could it have broken down into smaller sub-systems that maybe aren't as integrated, but get the job basically done?
Can you please point out an example of someone being accused of oppressing people for pointing out that social expectations exist? If that is so widespread, I'm sure the web will provide plenty to link to.

I'm asking because I feel you and I live in a different reality. The concept of gender roles and its restrictions on free personal choice is, as far as I know, completely accepted by the mainstream, and while I'm sure there are dissenters, the idea that they are the dominant opinion is baffling to me.

HuffPost, not exactly a fringe publication, has had a dozen or so posts on it the past week alone: http://www.huffingtonpost.com/news/gender-roles/

This is not to say gender roles or other social expectations are dead - of course not, they're extremely powerful. But I certainly don't agree that it's taboo to point it out.
How about:

* Free, but with ads.

* Paid, without ads

No paywall, no annoying ads, and I still pay my share if I want to keep away from the ads.

What about ads like Facebook's sponsored content? Non-flashy, clearly marked as advertising, in the upper-right portion of the screen or something, so that I can read the text without getting flashbanged.
While I strongly support a good rail network, while it may be possible that specific routes in the UK run at a profit, note that the vast majority of UK rail franchises only return a profit because of massive subsidies. The overall UK rail network is heavily subsidised overall - the few franchises that return more in franchise payments than they receive in subsidies hardly makes a dent in the overall subsidies.

The exact breakdown from DfT and Network Rail are easily accessible on gov.uk.
there are way, way more lines in france than are depicted on that rough map.

http://www.bueker.net/trainspotting/map.php?file=maps/french...

(a more detailed map can be found on the website of RFF, the agency that runs the network: http://www.rff.fr/cartes/pdf/carte-reseau-2011-medium.pdf)
The IfElseIfSample.java converts a clear if-else to a if-elseif without else. As if the programmer had forgotten the else.
I'm not sure if this matches the description, but seL4 supposedly has a pretty well-developed proof system: https://sel4.systems/
This story is indeed true. The Norwegian Broadcasting Company did a series on oil exploration in Norway and I believe they did credit him for this.
First pictures feels like taken from a Beatles music video.
Freemium isn’t the only option to allow people try the app before buying it. There are free trials that allows to use the app for several days and then asking to pay the full price to continue using it.
The CLR isn't really very flexible. Most languages that run on it are pretty similar. If you try to implement a language like Haskell on top of it for example, it quickly becomes obvious that it isn't a good fit - because the CLR has no support for higher kinds, typeclasses, laziness, parametric polymorphism etc. Sure, you can implement a Haskell interpreter/compiler that converts to .NET, but there certainly won't be any performance boost by boxing everything into objects and having several layers of indirection to simply invoke a function (and not really any advantage over writing such interpreter in say, JS).

A more ideal VM would be one which doesn't force a particular paradigm on you, but just abstracts over the CPU, using capabilities to restrict which instructions can be invoked. The CLR lacks such capabilities. Perhaps something like SafeHaskell would be in the right direction, where side-effects are limited, and the user can optionally allow websites to invoke trusted modules.
Paris Metro lines on a Git graph
Absolutely. If you force the user to choose to pay on an item-by-item basis, they're definitely going to use it less.

For me, it's a bit like mobile phone data charges. When I used to pay per mb, I hesitated to use cellular data at all, but now I have a (high) monthly allowance, I now use my phone a lot more, even though the cost is higher.

Perhaps the developer should try switching to a pay-monthly kind of subscription, at least then the users aren't having to make that 'is it worth it?' decision each time they want to use the app.
Exactly! The very term you use is telling - "shit" is exactly what comes out of Java sweatshops. They call it Enterprise Software - write once, run away.

BTW, how many languages do you speak well enough to hold an intelligent conversation?
A fantastic example of the impact of phrasing and positioning is Yes Minister on National Service - https://www.youtube.com/watch?v=G0ZZJXw4MTA
In Muslim countries it's predominantly Saturday. Correct me if I am wrong.
Ask HN: What is the most mind blowing book you've ever read?
I want to find the absolutely crazy-to-grasp book of all times.

Most articles related to this topic suggest something like the Fight Club. Even though, there are some good twists to the story, I feel like my mind could be blown away way more than that.

Needless to say that we are talking about a book for the HN audience.
You need to be a little more specific than that.

What particular feature does Netflix have that e.g. YouTube doesn't, that wouldn't be possible without a plugin?
Interesting. How does this fit with the common advice (from patio11, etc.) that developers generally underprice their software?
https://news.ycombinator.com/item?id=8728532
This was my starting point to GTD. It's not even 5 minutes, it's the 2 minute rule.
Usually they release V3 and discontinue support for version 2. Maybe version 2 is somewhat useful still, but it probably doesn't have support for what you need anymore.
How come that most of recent 3G and 4G GSM systems runs Erlang order of magnitude more efficiently?
Funnily enough, I am just on the opposite side.

I've a free API that allows people to build clients for mobile apps (some are free, some are one time fee, etc) and the costs of running this free API are starting to worry me.
The importance of talking to potential users before building a product
That is very cool. I'm testing your theory now.
Check out the excellent, and recently translated, Chinese scifi novel “The Three Body Problem”.

Grimwood's “Replay” is a great time travel novel if you're into that.
He looks like he's doing very well. I'm happy for him.
Getting a push message on your phone when your laptop battery is running low
How is it that much different than using OS APIs to do common tasks like text, windows, buttons, scroll bars, etc? If you really want to do pixel level stuff, there is canvases and images and SVGs.
> I've been using the script for all of my handwriting for over a decade

Maybe a stupid question but, how? I have pretty horrible handwriting, certainly doctor level; how did you manage a swift transition?