skysight-inc/HackerNews huggingface dataset:
Simplicity -- none, if talking about the resulting code.

Bollocks. Java code can be over-complex and lack elegance, but it's not the worst offender - sweet spot.

Stability -- none, regarding possible law suits from Oracle. Yes, it does matter for a company. Yes, Oracle did that in the past.

Bollocks. I challenge you to provide an example of a Java developer being sued for using the language.

Performance -- poor, regarding memory consumption.

Bollocks. Uses more memory than C, but no manual management. Sweet spot.

Shoddy, you mean. For Haskell or Clojure you have at least a guarantee that the guys you found are decent.

Bollocks. In my experience, they're likely to be somewhat better skilled and educated. They're also far more likely to spend their time arse-ing around trying to implement an elegant, concise solution to problems which only exist because of not-invented-here syndrome, or because their language lacks as extensive a standard library.

As an example, I once worked on a Mac GUI app for a company - bog-standard, nothing fancy. I took over from a developer who had been trying to build this using Racket; this involved building a Qt-Racket interface, which involved magical automated parsing of C++ header files, which meant… basically, not delivering a product. Meanwhile, the Objective C build was done.

The point is, there's far too much focus and snobbery about what tools developers use. There are loads of languages out there; pick one that has a reasonable amount of support and fits the problem domain, and build simple, maintainable code. You can do that in any language.
Cycling Base Layers
There are several examples of simple libraries in Java that makes you realize it is possible to provide solutions to problems without the "culture" that predominates the ecosystem.

For example Simple (http://simple.sourceforge.net) is a great XML serialization framework that does very well what it is supposed to do.

And there are others I haven't used, but you look at the API and think, this is what I want.

I was very impressed with jDBI (http://jdbi.org/) even if we could not use it because of Maven.
"This means I can make a lateral (stack) move without having to revert back to "junior" status. " - Good. Because developers would reset or be unemployed every 5 years otherwise.

I've made several stack switches without issue. Usually it involves switching languages at your current company, then using your current salary as leverage to get the next.

The main barrier is HR, which you can get around using this method.
Yep, I was just going to say. Right when I moved into a new apartment, I didn’t know the security code to the alarm so it went off for a good 20 minutes. You could hear the alarm on the street, but no one seemed to care or pay too much attention to it. It reminded me of this http://www.nytimes.com/2012/03/13/opinion/bike-thief.html
Many years ago I wrote a kernel module for my own use in response to a similar incident. It checked to see if the calling process was deleting a file called ".landmine" and killed the calling process if it was.

Far from perfect - it depended on the order of deletion - but a more general solution than preserve root. Of course it still requires the user to mark things they consider "important".
Mine says in the warranty booklet that I should change oil once a year or every 18,000 miles, whichever comes first. I've just done my first 10k miles and I rang the official Nissan garage asking if I need to do an oil change - they said that if I haven't done the mileage indicated in the warranty booklet yet then there is no need to change oil yet. That's why I am surprised that OP suggests 8 oil changes for 30k miles driven.
I'm guessing these quality issues are caused by the massive amount of fatigue and overtime at both the Tesla Design Studio and the Fremont factory. Tesla employees work 6 days a week, and we're not talking 7-hour days here. So they are able to polish the product really well, but the fatigue shows up in the tiny details that are rushed, leading to long-term quality control issues.

Or it could be just growing pains, I suppose. But I've always been critical of Tesla's (and others') reckless attitude towards excessively long hours.
Programmers rarely see how their software is built and shipped. Those who have
this opportunity rarely have their taste developed to see that external
dependencies have cost associated. And it's not something specific to Java:
I see the same in Ruby and Python.

It could give the perspective to programmers requiring from them that they
always build their software on a freshly installed machine with no network
connection.
Scala isn't really functional, its more like a better Java that happens to include some FP abstractions (like C# does with Linq). Its actually a good OOP language, better than Java and even C#.

Clojure is a Lisp, its niche. There will always be some people around who want to program in a Lisp, and many of them are just choosing Clojure today. Nothing new really.
I don't know much of Go, but from what I have heard, Go is a good language for backend system programming. It has concurrency built in with rich libraries. The supporting tools and test framework is pretty good. Etc..
I pay tax on hard disks to be able to private copy music and videos yet they are protected by DRM so its not possible to copy music to your friends, this should also be challenged. Either there are DRM and no copy tax or there are no DRM and you are allowed to copy. Same goes for HDMI.
Be honest, who doesn't have

rm -rf *

in their shell history? Now it's just one accidental twitch away.
Oh I'm not saying it's wrong, just too imprecise (actually, since in France "sushi" is often synonymous with nigiri, when I posted the character earlier in a chatroom, someone made the remark that they were "maki, not sushi").

Also, what about "🏤" which is "U+1F3E4 EUROPEAN POST OFFICE"?
I see it here as a box with some kind of horn, Deutsche Post's logo as far as I know. Is this supposed to be localized in the future so that I can see the French Post's bird instead?

What is not satisfying is that the emojis feel both too incomplete (great, there's an eggplant and a tomato, now where's the bell pepper?) and too imprecise (okay, I have this nice maki emoji to show what I'm eating... oh wait, am I sure my friend will actually see maki?).

And sometimes they're just plain weird, what about "😤 U+1F624 FACE WITH LOOK OF TRIUMPH"? In all fonts I can find it looks like someone who's mightily pissed, maybe fuming because he spent so much time looking for the perfect emoji, only for their friend to see something completely different. That doesn't look like triumph to me.
I know for the longest time growing up as a Christian child I assumed ghosts must be real.
I cannot take any news article from RT seriously. I watched the news channel regularly over a period of a few weeks. The conclusion was glaringly clear: They dance to the tunes of the Russian Government. Unlike BBC, which is impartial at least in part, RT is full on propaganda.
Regardless of your view of their writing, the warranty issues are not debatable, nor are Motor Trends. There was a highly publicized buy back recently as well. Searching it is not hard to find the hard luck stories. As for the magazines results, they use their vehicles a lot more than every day people and tend to stress them more too

Let alone the fact that many early adopters, if not the majority, are far less likely to complain about issues because they don't want to question or be questioned about their choice.

I am still waiting for the their 35k/40k/etc car. It will be very interesting to see their quality control issues with a near mass production car. Right now they are still down in the uber luxury levels of production and costs.
I did the two FP courses from Mr. Odersky using Scala as the main language and then continued playing with the language for small experiments.

While the language is awesome in general, I would not recommend it at work.
Proofpoint Weighs in on Fiesta (aka Neosploit) Exploit Kit
Knowing multiple languages and paradigms makes you a better programmer. If you're interested in Go, just do it.
I'm not sure how many full handshakes/sec we're running - the logging isn't as readily available there because we're explicitly not logging the listeners involved on separate proc binds. We are logging the traffic on the port 80 front end they feed. We have tuned the performance there via best practices and taking into account very recent HAProxy changes for various SSL windows added by Willy, Emeric and help from Ilya Grigorik. They're all awesome and tremendously helpful. We are on a version slightly newer than 1.5.2 (we build straight from the repo).

Even with all that SSL we're only running around 15% CPU at peak so it's not having any trouble. Most of that CPU usage does come from the SSL termination though - it ran around 3-5% CPU before. We're also working on much larger infrastructure changes that mean SSL termination much more local to our users, which means the HAProxy load will drop to just about nothing again. I'm working on a followup to my previous SSL post: http://nickcraver.com/blog/2013/04/23/stackoverflow-com-the-... that will explain why it's not already on for all hits...I think hacker news will have fun with hat one.

All that being said, there's no reason we can't forward that syslog traffic from the listeners to our logging infrastructure to get at least a counter out of it. If you're curious how we log, I'll explain a bit.

We feed it into a logging display called Realog built by Kyle Brandt and Matt Jibson in Go. Here are a few snapshots of the dashboard: http://i.stack.imgur.com/OIqhm.png http://i.stack.imgur.com/iQOP9.png http://i.stack.imgur.com/bfpUb.png http://i.stack.imgur.com/JZNy6.png

This lets us forward on custom headers to logging that the web servers are sending back. It tells us how much time we spent in SQL, redis, etc. We can graph it (bottom of the first link) and identify the root cause of any issues faster. It also handles parsing of that traffic from the syslog entry already, so we use it as a single logging point from HAProxy and it handles the JSON generation to forward that traffic data into logstash (a 300 TB cluster we're working on setting up right now).

As soon as we get the logstash piece working well and dogfooded thoroughly, I'll poke Kyle to open source Realog so hopefully some others can get use from it.

Nick Craver - Stack Exchange Sysadmin & Developer
CES is definitely not a flavor of OO. It can be mixed with OO and it can easily be implemented in OO languages, but it's far from being OO. You can't say 'entities are objects so CES is object oriented' because entities are not objects in the OO sense.

So yes, the other options are static procedural and component oriented like CES. Interfaces without inheritance are also gaining popularity, I think this is what Go and Haskell do.
The more I hear from this guy the less I like.

I think he was an agent and he got double crossed and feared for his life and took the data.

Nothing against sysadmins, but this guy has agent IQ. I am growing to think his story is complete bullshit regardless of the data dump.
Hackers Could Take Control of Your Car. This Device Can Stop Them
As the author said its not the languages fault. And if you know what you are doing then Java is clean, mature, performant, dare I say it enjoyable platform to use.

I think there also a generational conflict here. Java is a development environment that was born in the big architecture and 'development as enginerring' era of the late 90s. Spring was a reaction to the over engineered J2EE and now even Spring, the early liberator is considered over engineered.

Its our dad's language.

There is still a certain mindset from that era that was conditioned by the GOF and Universities and amaeteurs churning out developers but it is increasingly rare.

In fact I find Java is amongst the most interally introspective and disciplined in terms of coding taste and style.

I can almost guarantee if I look at another Java developers codebase that I can follow their code structure and style without too much effort. I'm not sure that would be the case for the large amount of very individualistic FP code being generated currently.
Genetic mapping triggers new hope on schizophrenia
I'd suggest that without a bigger sample size, and more obvious selection criteria 66 is an absurdly small sample size on which to base those claims.
>Because we all know, Google is known for hiring flakes who can't code or design real systems

They have some nice scallable backend systems, but a lot of their output is ho-hum, especially when it comes to their Java inspired teams (GTW etc).
Prestashop 101 Day 5 – Prestashop Upgrade – NemoPS
Good to hear! I never thought people would still be looking at these things such a long time after the fact but I guess that's the internet for you :)

Btw, the things we released as threestate were a clear testament to how important design is (and more accurately in this case, the design of Steven) when you're doing demos. Before that, some of us (me, sarix, inopia) did a bunch of releases as Quad that were also fairly impressive technically but had no design and...pretty much nobody cared.
A $650M Donation for Psychiatric Research
If one makes the window narrow enough, the logos expand back to their maximal size.
It's curious to me that they're not selling these stickers. These are mostly ones I've seen on various third-party sites.

I'm also amazed they managed to get the rights for all those characters (Disney was probably easy, but the Simpsons and Warner Bros.?)
That is why I don't understand the "enterprise" sticker they try to put on some Java stuff.

Building without network connection was a feature most of these enterprise "build tools" did not get right from the beginning.

Patching a dependency, rebuilding the affected chain and ship it back to the customer is something I still ignore how the Java ecosystem does with their native tools.

Probably they just do "mvn" in their workstations and .zip the output folder.
This got me wondering how React handles this requirement. Can you use React if you need to know offsetWidth/Height to do complex layout?
This Computerized Exoskeleton Could Help Millions of People Walk Again
Web API Reviews
Speaking of irrational fears: I always fear that I forgot my keys while leaving my flat. Now I know that I just need to post some holiday pictures of myself on instagram and eventually somebody will show up to help me get back in - for free!
I'd guess that it's actually quite an issue for JS heavy pages. This would probably benefit anyone doing signification in-browser apps in JS.
Simple's logo has been designed with "responsiveness" in mind: the more space they have, the more complex their logo is.

For example on https://www.simple.com/, the logo in the header is simpler that the logo on the credit card.

They also show the 3 versions they use in a blogpost: https://www.simple.com/blog/simple-branding
Xiaomi unveils the Mi 4
Every launch site or detected launcher is attacked with an air strike, so setting up a lot of launchers to fire up all at once is very problematic.
> I challenge you to provide an example of a Java developer being sued for using the language.

Google ? https://en.wikipedia.org/wiki/Oracle_v._Google
IWeather Pro with live temperature on home screen
Well, I'm working for an established international IT company. We are developing desktop, mobile and mostly web applications for well-known clients across the globe.

I am currently working on a huge (for us anyway) web project with 100+ people actively developing every corner of our infrastucture.

So my day is like:
Arriving at the office around 08:30-09:00. On Tuesdays I have an inhouse English training with a native speaker, which means a couple of guys just talking about kind of everything.

After arriving/English training, I get myself something to drink from the kitchen, turn my workstation on and check on my mails which are typically not many, so I got through them under a minute. I fire up my dropdown console to fetch the latest changes on our develop branch (we use Git and GitHub), log into our issue tracking system and into the CMS we are using.

After that I start working on any task I have assigned to me. I put on my headphones, open Spotify, select a neat album I like at the moment and off we go to Sublime and Eclipse-lands.

I interact with testers, UI guys, squad leads, technical architects and other backend guys regularly via Skype. Our team consists of fellow Hungarians, British-Indians, Frenchmen and Belorussians, so it is pretty diverse.
My day is usually about implementing new features and handing them over to the QA guys when done. We have a standup meeting at 2 PM when the team discusses the status of the stories which are in the scope of our current iteration.

We have a lot of fun during the day, joking around while coding. I always bump into coworkers in the hallway or in the kitchen and we usually have a little discussion.

On Thursdays we have a so-called "Beer Lesson" at a local pub where a couple of guys from the office and anyone interested get together to have some drinks and speak English only with the guidance of our English "teacher".
> FP doesn't quite work because UI programmers like to think in terms of buttons and windows rather than f and g.

This is because people have been educated in thinking in objects for thirty years now. This is again a result of history, not because of the qualities of OO over FP.

Besides, there's no reason why you couldn't do that using functional programming. FP is not (necessarily) object oriented, but that doesn't mean you cannot reason about 'objects' in a different sense.

> As someone who works in a distributed systems team, ha! Where are these functional programmers writing high performance parallel code? Microsoft? Google? Facebook? Maybe map reduce and some pipeline descriptions can count as functional but that's about it (even the UDFs are imperative).

I'm not talking "distributed" systems that do HPC work; functional programming in general cannot achieve that level of low-level performance (as long as you don't count Rust's ambitions). I'm talking 'scalable' systems that do a lot of messaging processing (like web services and queueing systems). Twitter, Walmart, LinkedIn (Scala), Facebook, Whatsapp, dozens of companies in the telecom industry (Erlang) and Jane Street (Haskell, OCaml, F#) are examples.
Hardware is cheaper than developers and efficient code. But you're only as fast as your slowest bottleneck and all the current cloud solutions have fundamental performance or capacity limits we run into.

Could you do it well if building for the cloud from day one? Yeah sure, I think so. Could you consistency render all your pages performing several up to date queries and cache fetches across that cloud network you don't control and getting sub 50ms render times? Well that's another matter, and unless you're talking about substantially higher cost (at least 3-4x), the answer is no - it's still more economical for us to host our own servers.

And yes I realize that's a fun claim to make without detail. As soon as I get a free day (I think there's one scheduled in 2017 somewhere), I'll get with George to do another estimate of what AWS and Azure would cost and what bottlenecks they each have.

Nick Craver - Stack Exchange Sysadmin & Developer
Back up a pick-up with a house maintenance/painters/renovations company logo on it and no one will look twice. But yeah, probably not worth their time when new 60"s sell for under $1000 at Best Buy.
You shouldn't ;-)

It's about being curious and learning new things. Go has kind of nice way of doing parallelism. It tries to support "all-batteries-included" philosophy, so many libs are standard and a lot is open source.
Slightly skeptical because the title sounds so reinforcing of what I suspect is the case. Would be interesting to see with larger sample sizes.

I always suspected that the real reason things like fantasy novels/harry potter are so often banned is that teaching people to identify fact from fiction might cause awkward questions.

Funnily enough, most of the kids from our super-religious relatives have gone into the army - another institution where you are told what to do, and told what is morally 'correct'.
This idea was pulled off really well in the Cocoa Community with pod-roulette a few months back - http://podroulette.com

We ran a hackathon based on it which was pretty fun too. http://blog.cocoapods.org/Hackathon-Summary/
Certificate pin bypass for Android: https://github.com/iSECPartners/Android-SSL-TrustKiller

iOS: https://github.com/iSECPartners/ios-ssl-kill-switch

Sure it's a little bit extra work but not much. If someone is reversing your app chances are they are using a jailbroken device anyways to extract the unencrypted IPA or to attach gdb to your app.
It completely depends if you do this:

public static decimal DiscountValue(Order order)

Or this:

public static decimal DiscountValue(decimal orderValue, decimal orderDiscount)

Or even this, which would farm the work out to SQL:

public static decimal DiscountValue(int orderId)

The first would require a mock, the 2nd wouldn't and the third isn't unit testable.

It's a bit of a contrived example, as you're more likely to do the third method if you're trying to get some sort of summary data about an order out which would mean you don't really need/want to load the whole order object.
I have a hard time keeping up with all the NoSQL engines out there. What can I do about it? I could easily evaluate, say, CouchDB in a side-project, but that's a) not necessarily going to tell me a lot about its characteristics at scale, and b) I can't do this even for the big NoSQL engines out there.

Is there a good overview? I realize that this is sort of an oxymoron -- a high level overview is doomed to fail because you can't compress the complex characteristics down to a few bulletpoints. Antirez put it this way [0]: That said I think that picking the good database is something you can do only with a lot of work. Picking good technologies for your project is hard work, so there is to try one, and another and so forth, and even reconsidering after a few years (or months?) the state of the things again, given the evolution speed of the DB panorama in the recent years.

That was a comment to a pretty good overview[1], which despite being 3 years old is still useful. Apart from the purely technical characteristics, social characteristics such as rate of updates, adoption (and by whom?), openness are also interesting. You just "know" these things for the fields you're working in, but they're very hard to tell from outside and rarely discussed.

[0] https://news.ycombinator.com/item?id=2053594
[1] http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
no need a reason, just for fun!
Java is not the problem, enterprise architects are.

If anything, Java allowed the so called architects a much easier path to such crazy skyscrapper designs than any enterprise language before it.

So of course they went crazy with Java, and later on C#, because it was so easy to do so, without being caught in core dumps and similar issues.

Anyone complaining about enterprise Java, just needs to go back a few decades to see what was being done in C, C++ with CORBA/DCOM, VB/Delphi, CLIPPER and tons of wannabe 4GL languages.

Any language that wins the hearts of enterprise architects will suffer the same pains that Java is known for.

I can already imagine a "Enterprise Functional Design Patterns" and similar books.
I guess it really depends on your definition of "objects." If it quacks like a duck, its probably a duck. Inheritance is not necessary at all for objects (since at least the Treaty of Orlando).
Try supermin 5, which has chroot support. How to use it is documented on this page (search for "chroot"). supermin 5 is widely available in Linux distros.

http://rwmj.wordpress.com/2014/03/08/supermin-version-5/#con...
Using "mock".

https://fedoraproject.org/wiki/Projects/Mock

Koji, mentioned in the sibling comment, is built on top of it.