skysight-inc/HackerNews huggingface dataset:
This has made me use C++ for my hobby graphics programming on Android instead.

The NDK has all the support I need, when coupled with something like Qt/SDL/openFramerworks and C++11 feels better than Google's Java fork.
What an incredibly pleasant treat. Fun with smart progression. This certainly brought a smile to my face.

But what I liked most, is that as someone with very little experience in writing CSS, this allowed me to breeze through the simpler selectors, while building my confidence on the more complex selectors. No doubt the graphical representation was extremely helpful in that regard.

A resource worth sharing.
Having dev evangelists presenting cool shit gets people aware of your platform and it's free marketing, the best kind.

Further, Java, Python, Ruby, Obj-C, Android and C# isn't complete. [0] JS for browser front-end and node back-end is clearly missing or third-party. A somewhat smaller shop, Segment.io, has all of those and PHP and Clojure. And a metric ton of integrations comparatively. [1] [2]

[0] http://developers.box.com/sdks/

[1] https://segment.io/libraries/analytics.js

[2] http://blog.box.com/tag/integrations/
I used to feel Java was a pain to write when working with Java 6. Many 250 characters lines and everything.

Java 7 kinda divided the line length by a factor 2 with the diamond operator, the try-resource and so on.

I've programmed some Java 8 since yesterday and it actually feels like a pretty decent language to express ideas. Nothing like Java 6.

I know most of the Java haters have been struggling using it day to day in settings were it was awful (over engineering + Java 6, hello, here is the gun).

But I feel like those haters should really try to think fresh on this one. Try Java 8 and its new features and decide for yourself _afterwards_.
BatteryBox: Charge your Macbook anywhere.
You haven't explained why men seducing each other's wives at every opportunity would lead to better deals for them and their wives.

It's not about offers it's about advertising in unwelcome places. You are claiming that ANY agreement not to engage in unwelcome behavior decreases competition and therefore leads to a worse deal for the other parties. So basically can you take it to its logical conclusion... us agreeing to not destroy each other's reputation through NSA-type sabotage is actually a cartel? Us agreeing not to sabotage each other's operations through corporate espionage before 1995 and other legal means is a cartel?
I'm sooo sick of the tools analogy when it comes to programming languages. A programming language is not simply a tool like a hammer. A hammer does one thing well, a programming language is a means of expression. It's more akin to a natural language like Spanish than a "tool" as we generally think of the word.

Yes, in the broadest sense of the word, Spanish is a tool. So is a programming language, but the analogy is stretched and stale. The image it puts in people's minds is not super helpful. And if we must use such a broad word as tool - let's acknowledge that it's really a collection of tools (every API, bit of syntax, and language feature is a tool).
Non-compete clauses are highly unethical anyway, IMHO.
No. Persistence of the data does not require continuous power. But the black box has a battery-powered "pinger" that produces sound to make it easier to find. The batteries for that is only required to last for 30 days.
What people write in the article's comment section is certainly an interesting read. Irrational at best.
Wearable Devices Workshop – San Francisco Tickets, San Francisco – Eventbrite
It is funny to see the construction of Europe, which is arguably the first time in human history that different groups of people willingly tend towards a common political entity without external threat and blood spilled all over, criticised from inside and outside by the likes of Soros, who will never understand that finance is a tool and not an end. I hope Merkel and other Eurocrats will firmly continue to not listen to his "well-intentioned free advices".

All proportions aside, it is a bit like those who criticize Wikipedia, which is one of the greatest production of human minds, just because some of their edits have been reverted.
There exists now a JEP for collection literals.

http://openjdk.java.net/jeps/186
The chargebacks go to the fake store, rather than to the marketplace operator.
There's a popular viewpoint I think from Malcolm Gladwell's Outliers[0] that could possibly be summarised as "any non-trivial skill takes at least 10,000 hours of practice to approach mastery." I think this applies especially to programming[1].

I can still vaguely remember a time, many years ago now where I just couldn't get my head around a garden variety "for" loop. Now I wonder what was so hard to understand about it. Many times over the years since those early "for" loops I have often felt that I wasn't really making any progress at all in grokking this programming thing. I look back now and in fact that was an illusion generated by a localised point of view. In fact I was making progress the whole time, just slowly enough that at times it didn't feel like it.

I probably came at things from a fairly opposite place to you, I started with the web. I started with HTML and CSS and kind of worked backwards. But regardless of where you start, there will always be challenges to your understanding. IMO, one thing that marks a promising developer is the ability to be comfortable with feeling like an idiot while you're learning something new but continuing to persevere, because the need to learn new things happens so often in our relatively young industry. In my experience, few people truly are able to be comfortable with this feeling, but those who are able can surmount amazing obstacles.

So don't get discouraged if it feels like you're not making progress. Stick with it, you will. It just won't seem like it at the time.

As you've experienced, the MVC pattern is still very much in ascendance in the web dev world. I would suggest that you invest in a couple of good books (if available) or lengthy tutorials on the framework of your choice (if available). If neither of these things are available, that may be a sign that you should choose a different framework. :) Don't invest in too many books though, because you'll find they date quite quickly and eventually it will become more efficient to just search for what you need on a case-by-case basis. But to get a good grounding, dropping a bit of coin can be a good thing in the early stages of learning a new technology.

0. http://en.wikipedia.org/wiki/Outliers_(book)

1. http://norvig.com/21-days.html
I'm also a white kid from the lower middle class. :)

Maybe you're not pursuing the right jobs? With a CS degree, even internships should be paying WAY more than minimum wage.
The Spring code is still fine. You didn't quote the entire advisory:

> If existing code is using Proxy.getProxyClass and the Constructor.newInstance method to create a proxy instance, it will fail with IllegalAccessException if the caller is not in the same runtime package as the non-public proxy interface. For such code, it requires a source change to either (1) call Constructor.setAccessible to set the accessible flag to true, or (2) use the Proxy.newProxyInstance convenience method.

To end up in that specific condition is fairly difficult and usually means something is wrong with the code to begin with. It's still a very easy fix in any event (adding in 1 extra line of code before the call).
Thanks for pointing this out! I've been hoping djb would get around to releasing redo, but this is the next best thing.
Multipartite Einstein-Podolsky-Rosen Steering may lead to ultra-secure internet
Soros is wrong here. Max Planck was actually strongly against the duality interpretation and his influence suppressed Einstein and others correct interpretation for several decades.

http://books.google.com/books?id=xsSv3kSDEd8C&lpg=PA8&ots=9L...
> For reasons that I cannot comprehend, Java seems to be the only language that seems to have excessive abstraction as a requirement. Not as a convenience, not as a nicety, but as a requirement to do things like Dependency Injection, Inversion of Control, Unit Testing, Mocks, logging, etc. The fact that you need to use entire frameworks to accomplish the functionality that in many languages is covered by a couple functions in a built-in module is a mystery to me.

So what are you proposing? That everything has to be built in into the platform itself, hidden away from me? In fact, Java not doing so is a big advantage, because it allows me to change the implementation. Otherwise, everything has to be done by the platform developers. I would depend on their resources.

In the Java world, if something is worth to become part of the platform (either a new language feature such as try-with or a new core API or runtime library like Joda Time), it is discussed within the JCP. This created an ecosystem, where I can plan for the next 10 years and not just for the next it-does-everything-dynamic-language cycle-jerk.

BTW. If you want to reduce repetitve tasks, you should use code generation. That's the best abstraction and Java is a nice simple language to generate.
There's a ton of legit reasons to not have a smartphone.

Most of the "arty" types you see probably just can't afford one. As someone who over the years has lost their phone a couple times and dropped it many more times, no way am I going to shell out hundreds of dollars for a new one every time that happens.

I also don't own a smartphone because I already spend enough time at my computer, and doing all the same things on a tiny screen with no mouse/keyboard/etc. would feel like a massively downgraded experience.

For me, the only appealing features of a smart phone are tethering and GPS. I'm fine without them though. I moved to a new city ~6 months ago, and I already know my way around much better than most (especially useful because most of the city is not well documented on Google Maps / OpenStreetMap). Probably would not be the case if I had GPS everywhere.
Forget the 'cool guys', the best software engineers love Java.
you should put up little help message to tell what exactly the player has to do. Took me few minutes to understand that I had to type in the css selector.
Has nothing to do with "policy", has everything to do with lack of character.
I love Java :)
I'm a contractor so I switch roles and projects a lot. Much of the time the project is already in full swing and tightly bound to a particular IDE by the time I'm brought in (which is usually because something has gone very wrong and they need help).

I find that being as IDE agnostic as possible, rather than coming to rely on the features of any one IDE (or editor or whatever), helps me just dive in and get going faster.

Raw speed at churning out lines of code seems a lot less relevant to me as time goes on.
Nymi, a wearable device that replaces the password
The way I see it, if Apple acquires this, they could make a huge dent in how we interact with services. They already have TouchID and the motion sensor in the iPhone 5S. If they combine that with this and launch an iWatch with the appropriate APIs, together with iBeacon Apple might just own the future, again.
Federated networks! Your server will be able to connect to other people's servers through Cap'n Proto RPC interfaces (or perhaps other protocols, if you grant them general network access). So your social network app would host just your profile, and people would connect to it to get your feed, or your server would push your feed to servers of people subscribing to you. "Friending" someone would mean obtaining a Cap'n Proto capability to read their feed (but the user doesn't have to understand that).

There have been attempts to build federated social networks over the past few years, such as Diaspora, but they have not really taken off primarily because it's too hard to get users to run their own servers. Sandstorm potentially fixes that.
So I was a Java developer from 2006-2012. I still occasionally touch Java at work.

Off the top of my head, right now, in this text box, without google, I can't write the code to copy standard input to standard output.

System.out.println(System.in)? That's wrong. You need some kind of InputReader, or BufferedInputReader, or Buffered...something. I think System.in is an InputStream, so presumably I need to do new InputReader(System.in)? Or BufferedInputReader? Should I buffer the output?

Ok, let's do some API googling (ie, not StackOverflow).

So I was... pretty wrong. I think what you want is:

public class CopyInput {
public static void main(String[] args) {
while (true) System.out.write(System.in.read);
}
}

I haven't tried to run this though.

In my defence, I have never, in all my years of working, had to ever read standard input, let alone write it out again.
> If you're adding in new information into the type system, you'd have to go through each part of the system that uses that type and update it to use the new information correctly.

It depends on what you do. If you (say) add a new field to an existing type, this will screw up pattern matching. It's a bit inconvenient, but typically not a big deal. On the other hand, if your previously non-nullable String field becomes a Maybe String, you're going to have to update every location where you access it... and that's exactly what a reasonable programmer wants to do. Unfortunately, you can't encode this in Javascript, so you're going to resort to 'grep' (good luck if you have the same field name for several objects), or forget about it and get runtime errors. Sure, in theory you can rely on your Javascript unit tests to detect the error, and you may be right in practice, or you may be out of luck.

Generally speaking, Haskell has its fair share of problems, but it's not one of them.

> If I start a project tomorrow in Haskell or Python, the GP's post is saying my Python project will be completed quicker but be less correct.

It definitely matches my own experience (it obviously depends on your proficiency in both languages, and Haskell will have only marginal advantages if you use String everywhere because types are hard).

> He is also saying that the amount of time I spend maintaining my Python project over the next few years will be higher than time spent maintain a same-feature Haskell project. There is absolutely zero evidence I have seen anywhere that this is correct and from experience it depends far more on the project itself and where the strengths of the language (and libraries!) lie than the language itself.

It's the kind of thing for which it is extremely hard to get any evidence for (and not only in Haskell vs Javascript debates), for obvious reasons. The best you can say is that the stronger guarantees of correctness offered by a strongly-typed program ensure that it makes it much easier to detect regressions. On the other hand, if, say, there are no third-party libraries for the problem domain at hand, strong typing will not magically fix that.
Their agenda is, in fact, written in capital letters at the top of the page. I'm startled to see this article being presented as news instead of opinion.
Is it me (not a native english speaker) or isn't this article all but sarcastic?
Mozilla Leadership Changes: JavaScript creator Brendan Eich is new CEO
For the past few years I've been using Chrome as a PDF reader (I don't use it as my primary browser, but have it nonetheless). I'm not saying Chrome can't be vulnerable... it's just good to get rid of such pointless software as PDF reader. Especially if the case is the bloated Acrobat Reader (though I think the UX was great with that one).
.table *:nth-last-child(4)

Seems to work, although for me I had to push enter a few times.
> Never understood the hate towards Java on HN

... it's not on HN. It's among the users to languages that aren't Java or C#.
It's ironic how this kind of Java bashing comes from a Perl guy.
Linux Worm Targeting Hidden Devices | Symantec Connect Community
Up until a year a go, I had a "go phone" in my pocket. You know, the $20 Nokia based on tech from 7 years prior (aka. the drug dealer/burner phone/pay-as-you-go-POS). This was in my pocket for years as I tended to break phones every 18 months or so.

It's amazing how everyone around me was constantly looking at their phone all the fucking time. From my technology-hipster POV, it was easy to see how people were missing out on, or just plain ignoring where used to be common social interactions.

Then I got a bloody iPhone as an xmas gift. I've done my best to resist but... I don't think I could go back.

I still have the common courtesy to not bust out the phone when other people are in the room, but I've lost count the times Google Maps has saved my ass, or having a distraction has saved me from hours of boredom.

I think people forgot how to find balance between having the intorwebs in one's pocket, and not being an asshole.
To be honest, reading the article, he sounds like he is depressed. He seems very bitter about a programming language that he doesn't even have to use every day.
Java is one of the best, most elegant choices for certain types of problems. For other types of problems, it is horrid. This can be said of many programming languages.
Totally sucks. Code reviews and factual evidence of production maintenance concerns might help. (Mgmt is likely to dismiss concerns as whining unless there is clear evidence of a problem.)

Can you change the variable names and throw some of the sanitized insanity into a gist?
> For reasons that I cannot comprehend, Java seems to be the only language that seems to have excessive abstraction as a requirement. Not as a convenience, not as a nicety, but as a requirement to do things like Dependency Injection, Inversion of Control, Unit Testing, Mocks, logging, etc. The fact that you need to use entire frameworks to accomplish the functionality that in many languages is covered by a couple functions in a built-in module is a mystery to me.

Modern PHP has cloned that. See for instance the Symfony 2 framework.
Okay, I stand corrected that you can achieve some win due to doing buffering yourself. I guess it does depend on your implementation (though I'd think the JIT would eventually get around to eliminating most of that overhead you see), though you should still have buffering as per the platform's standard runtime, which I'd expect in most cases would be not insignificant.

> So if you want to ensure your code works properly, code against the interfaces you're given, not the implementations you expect are sitting behind them.

A test which the original code, and your initial review, failed on multiple fronts (failed to handle character encoding issues and failed to flush the output stream before exiting).

> This question (and stdin/stdout/stderr questions in general) are heavily biased in favour of devs comfortable of working in a Unix-y environment.

I honestly find it hard to believe that Java devs would have their skills sets be terribly different regardless of platform they run on, and I really would think people would learn the basics of working with streams regardless of the platform they work with, but I grok the gist of what you are saying.

> But if you want a 'trivial' demonstration of programming skill - a FizzBuzz type of question is much less biased way of achieving that.

FizzBuzz doesn't really test for knowledge of the language's libraries though. I always thought the purpose of these tests was more to validate that the programmer had successfully coded in the past, rather than any demonstration of skill.
Calling out a well-known and highly intelligent polymath author is a good way to appear a little silly.
Larry Page on Charlie Rose (US Link)
"Whatever you do, however hard you try, the code will come out mediocre, verbose, redundant, and bloated"

That's, unfortunately, common misconception and excuse for writing bad software in Java.

Java has its own problems (as if other languages does not have them), rigid objects creation that has to be overcome by dependency injection, nulls that has to be overcome by using Optionals, badly designed time/date handling standard libraries, etc.

However there is a huge number of good quality, well design libraries that make Java shine.

- Guava gives us functional-like programming style plus nice collection handling
- Joda Time solves problems with date/time handling
- Lombok (projectlombok.org) cleans up code from getters/setters clutter
- Need a nice, collections only library, there is plenty of them (for instance GS Collections)
- You need to create super performant server? Just use Vert.x, Distruptor library, you are getting nice APIs and a lot of functionality for nothing
- You want to write nice, concurrent code without using low level primitives, no problem, go with Akka
- You need to orchestrate actions flow in your (huge) application - do it easyly, elegantly and almost without coding using Apache Camel
- Google Guice dependency injection library provides nice workaround for a rigid object creation strategy in Java

And so on, and so on. Java ecosystem is changing, there are new ideas that refresh language, despite its rigidness (no macros).
I have a dumbphone because the plan required for a smartphone is enormously expensive. I just can't afford it. Hell, if I did have the money, I'd rather spend it on my motorcycle than on yet another way to view facebook.
If law school is so expensive, it is harder to become a lawyer. If less people become lawyers, the supply decreases (resulting in the demand for the shortage of lawyers to be greater).

"There is no economic law that says that lawyers should make more money than programmers because they choose to be ripped off in pursuit of their training."

You don't NEED a degree to do programing. Arguably a computer science degree is standard but even then, you don't need 7 years of schooling. In order to be a lawyer, you need to complete law school.

At the end of the day, it's fair for a lawyer to charge more. Why? Because someone is willing to pay the premium.
If people did not have egos then brainstorming would work fine.

I find it is hard to be creative on the spot. I do like meetings that discuss a range of preconceived ideas.
Sed awesome.

Also, disappointed no one has blatantly embedded https://github.com/progranism/Bitcoin-JavaScript-Miner to put all this time wasting to good u$e.
To quote "The Mythical Man-Month":

> Question: How does a large software project get to be one year late? Answer: One day at a time!

12000-thousand-line-long methods do not appear out of nowhere and in one go; rather, it gradually acquires cruft. To combat this, introduce peer review: code review by sending a patch to an internal mailing list, merge/pull requests in GitHub/BitBucket/GitLab/Stash, feature branches, etc.
Not necessarily. See also: "when the map and the terrain differ, trust the terrain."
Here's the simpler, likely slower, but nonetheless actually correct solution: https://gist.github.com/cbsmith/9755809
Does anyone know if it is possible to get a dumb phone that uses nano-sim?

I want to try this out without switching permanently.
In type theory, the bottom type (⊥) is the type that has no values.
Yeah, my ah-ha moment happened when I realized that the pickles weren't small.
> Are you saying that a world where people are hit with AMD ads as soon as they exit the Intel store is a better world?

Assuming the ad runs profitably, yep. Customers are changing their buying patterns for a reason.

> Well why don't companies go the other way then -- agree to tell each other every time you purchase something and share your purchase data without your consent.

You answered your own question by including "without your consent". The with consent version does happen though -- it's not unheard of for a knowledgable salesperson to recommend a different product than the one they are selling.

> I hope you like to receive spam mail every time you buy something, from competitors.

This is quite a leap from your previous example. Did you grow tired of it?

> Please explain why men seducing each other's wives at every opportunity would lead to better deals for wives.

Please explain why women get remarried.