skysight-inc/HackerNews huggingface dataset:
Just repeating the same thing twice doesn't help with anything. The standard examples of Java verbosity - repeating variable types, getters and setters, anonymous classes instead of lambdas, using the visitor pattern to emulate pattern matching - don't make anything more readable or clearer (indeed many people find the Java version more confusing to read).

What features does Java have that you're saying help code convey more information or lead it to be expressed more clearly? I find that my more concise Scala code usually both is clearer (there's just less irrelevant clutter e.g. braces) and conveys more information (because e.g. error handling with Either and for/yield makes it clear which parts of a function could have errors, whereas with try/catch all you know is "there's a function somewhere in this block which throws").
Same here. I hit replay 5 times just to make sure. I even tried the highest problem size and Shellsort still beat both Quicksorts handily.
Once again, I have to point to the Results-Only Work Environment — http://gorowe.com/pages/rowe-standards. ROWE isn't the only way of doing this sort of thing, but it's a good approach.

Companies hire people to produce results, not to sit in an office for a certain number of hours. Given this, stop trying to manage where and when people work, and start focusing on whether they are delivering results.

This endless parade of articles about work hours is reminiscent of people discussing the threadcount of the Emperor's clothes.
I was a big Emacs fan once. I abandoned it in favour of vim for two reasons: longer shortcut sequences and it sucked in the terminal, shortcuts clashing with terminal sequences.

Vim has huge ecosystem (plugins, color schemes, integrations etc), available everywhere, starts in a blink (unless you screw up the config)
> I've considered trying out other editors (Emacs, Vim, etc) but I haven't seen much in the way of first-party multi-file grep like I have with Sublime.

In emacs you have M-x rgrep (M is the metakey, alt most likely). It greps all the file in your project, I don't know if Sublime's grep is different.
I really want an animation like this for Batcher's method. That already exist somewhere and I just can't find it? Would be amusing/interesting to see something showing 100 items sorted in essentially 7 "steps."
I've used Ant, Maven, and Gradle, and Ant is the only one that's never given me a minute's trouble. But it's true that it has a bad reputation. It feels harder to use when everything is working right.
Disagree, their is a ton of data on the NMEA bus on even small boats which is useful for logging and working out whats going on across various systems. I built a custom board to handle this last year with a Pi for capture.

Generally from what I've seen in the UK is GPS, Log and weather vane's are digital so should have NMEA feeds. Small vessels are advised to use paper charts. Its one of those things which still beats an electric plotter.
Jesus Christ, what is the point of listing ed and cat, but not Visual Studio or Jetbrains products?
Can you expand on this? Do you mean to say that much of American GDP comes from things like natural resources where American employees have the fortune of working to extract? What other factors besides employee productivity and natural resources would contribute to GDP?
You have a lot of tools to master. Apart from Android and iOS development you could probably stick to and improve one editor (preferably Vim winks) for all the other projects.
nvi that comes with FreeBSD. sometimes i miss features but it feels more friendly than vim.
When choosing a format to use for a real-world problem, the real-world parsing libraries and their real-world behaviour (including how they tend to be configured in practice) are important considerations.
Technically yes, but with the advent of academia.edu and the cratering public profile of for-profit academic publishers like Elsevier, it's becoming normal. In my field, at least, there's a perception that Elsevier and Wiley won't further damage their reputations by going after individuals posting papers (although I am surprised they haven't targeted Academia.edu as a whole).

Unrelatedly, the author's odd name "Michael Woodley of Menie" caught my eye. It would seem that he's the heir to a Scottish barony (Menie). I hesitate to even go there, but it's at the very least interesting that the (supposed) decline in general intelligence since the Industrial Revolution is being studied by an ancestral nobleman.

Edit: after reading the article and following up on the author's affiliation, the Ulster Institute for Social Research, this is definitely something to be taken with a grain of salt. The Ulster Institute has ties with "racialist" fringe scientists promoting what is essentially a 21st century take on eugenics. The paper is not necessarily inherently flawed because of this, but certain assumptions in it (like the uncited claim that lower socioeconomic classes have been historically correlated with lower g) seem fishy to me as a result.
> But it's apparently necessary in Rust to use "unsafe"
> code in libraries to implement basic structures like
> re-sizable arrays.

Efficient data structures are one domain where single-ownership prevents barriers to implementation, true. Your domain will determine how much unsafe code you need to deal with. For efficient data structures, you will need a large amount of unsafe code (probably a third to half of your code). For applications that need to really push the performance envelope, I expect you'll need around 10% unsafe code (this is a ballpark estimate for the amount of unsafe code in Servo, last I checked). For most domains I'd expect the volume of unsafe code to be less than 1% of your codebase (contrast this with C and C++, where by Rust's definition 100% of the codebase is unsafe).

> Living with strict single ownership semantics is hard.

This is why Rust provides a reference-counted smart pointer (somewhat like C++'s shared_ptr) in the standard library, for those cases where multiple ownership is necessary and you don't want to manually wrangle raw pointers. There's unsafe code underlying it (the aforementioned raw pointer wrangling), but putting it in the stdlib means that it can be well-audited.

> This may be a way to avoid using "unsafe" so much.

Rust tries very hard to give you the tools to avoid using `unsafe` blocks, but it's a thoroughly pragmatic language and so it knows that sometimes such code is unavoidable. If you could afford inefficiency in the name of 100% safety, you'd just be using a GC'd language. If it denied you efficiency in the name of dogmatic safety, you'd just go back to using C++. The complexity here is inherent to the domain. There must exist a compromise if we expect to ever make progress.
Eric Schmidt's book is wrong about how Google works
IRC was the first time that I ever turned my computer off in shock. "Quite the environment" is quite the euphemism!
GNU Emacs. The first thing I install on every computer I have to use for more than an a day.
The concrete rules I'd give you are in http://en.wikipedia.org/wiki/Object-capability_model -- note that inabilities are important, not just abilities. I'm a great fan of the thesis that's the first reference, which also gets into distributing the model over the network.

I couldn't say if Kay would agree.
I think these companies want to avoid making the drivers look any more like employees than they already do.

Frankly, it seems to me that they are in fact employees, over which Uber exerts enormous control, to the point of spying on them, monitoring what they post on social media, what they say to customers about the company, supplying talking points, directing them to disregard certain local transportation regulations.
There's your solution to the Fermi Paradox. If the IQ decline is on the order of 1.23 points per decade (with steeper drops on the right tail of the distribution), I can definitely see technological civilization becoming untenable in a few centuries and before we develop strong AI.
Visual Studio for C#, Netbeans for PHP, LiteIDE for golang, any terminal program for FORTH on microcontrollers, and nano or generic text editor for about everything else.
That you did. I certainly didn't mean it as a takedown! I just saw it a subtlety worth stressing, and about which I was eager to learn more if there was more to learn :)
It depends on what you are working on. I would argue front end is more like architecture and back end is more like civil engineering.
http://yi-editor.github.io/2014/09/05/oop/
If this was published now, it would be "Computer Science in a Tweet"
Test Automation for Web Applications
A year's worth of personal study, all things logo and brand identity design
No problem. I also post stuff so I can refer to stuff later as well. : ) If you have any other questions feel free to ask.

In addition thought I'd mention theres a few good resources as well listed from this github account based on java actors/microservices: https://github.com/puniverse
California, from what I've heard, has a major issue because it doesn't effectively have a constitution or an effective legislative structure that can stand above the People's mood at the moment:

Unlike other jurisdictions, California's history has been shaped by simple-majority citizen-initiated constitutional amendment referendums, with a low threshold for getting on the ballot and precedence over any statutes passed by the legislature. These are so common and easy to sell that judges have been required to interpret the people's will when they pass conflicting referendums - and this was happening often enough that their Supreme Court felt the need to create a vote plurality standard to decide which to follow.

Conventional constitutional democracy has supermajority elements; California is one example of what might happen if they were all simple-majority and you treated the constitution as the frequently-rewritten book of laws, and the only people who could practically write this type of law given a divided legislature, were citizens.
I think he means an air conditioner with a physical on/off switch. If the unit has an electronic control that needs an "on" press to turn it on after power is applied, this external relay won't work.
So what? For most problems there are fast, well-designed libraries available with idiomatic python interfaces; why would you care about the implementation details?
Emacs has all of this as part of the popular projectile package for project management. https://github.com/bbatsov/projectile Some of the more advanced stuff is generally included in the search-specific packages, e.g. grep or ag.
This is awesome.

Making a Smart Water Heater utilizing the existing hot water system in our homes would be very useful as well, and I would like to know if there are any efforts in this area.

There could be two ways (independently) that energy could be saved:

1) The water level in the tank could be varied by time depending on various parameters

2) The temperature level of the water could be varied by time as well. ( Keep it above freezing throughout the night, and trigger the heater at 5 am so that when I get to my shower at 6 am, I have hot water).
Do engineers shop for clothes?
If you're an engineer, how do you pick out new clothes to buy? Would you ever let someone do it for you (i.e. someone with good fashion sense to go with you to the mall for a couple hours to help you look your best?)
Can you point to the sentence where he said that?
Great resource for new programmers. Which editor is here for the long run? Which editor is actively developed? I'd assume that for any other that's used by a majority of people who bothered to tell everyone here. Editors affect productivity too. Perhaps TJ Holowaychuk is extremely productive because he uses X editor.
SquadMail is shutting down on December 3rd, 2014
A lot of it is just higher buying power. For example, you can sell SaaS for more in the US than you can in Europe because Americans are simply able/willing to pay more.

High GDP is a sort of self-fulfilling prophecy in a consumerism oriented economy. If everyone makes more, everyone can make even more, which results in even more spending and then even more money making and ... you get the idea.
I found your comment very interesting: I've been using vim for a few years now and wouldn't consider changing (except for Emacs with Evil mode) because I like doing everything without lifting my hands from the keyboard.

But reading your description, I'm left slightly envious and pondering how vim could be integrated better with a browser with web development in mind specifically. I'm not sure what it'd be but it gets me thinking :)

I switch between the two easily enough but I often have to click somewhere to activate the browser part or DevTools. Switching between tabs in devtools is also inconvenient. So that makes me think of a custom app with vim bindings integrating vim, the browser itself and its developer tools... Sadly I'm afraid that would be a huge amount of work in languages I don't know to get that going. Still, thanks for making me think about it!
Cryptography for dummies
Forgive me if I am missing something that is obvious about ROWE, but what is to stop management from shifting the goalposts in a ROWE ? By continuously requiring more from their workforce they are receiving more hours of work from them while being able to say "We do not force set hours, we only require reasonable results from our employees" ?

It simply seems easy to manipulate.
A) I use $modern_editor_b because emacs/vim doesn't have this one feature.

B) emacs/vim does have that feature! just download this package manager and then use the package manager to install this addon if you're using python, this addon if you're using c, etc. etc.

A) That's too hard! I just want to get to work!

B) You're lazy and dumb! Type uphill both ways!
I switched to vim after seeing the astonishing speed possible in Gary Bernhardt's ruby screencasts. My vim chops just get better all the time, the depth and breadth seem limitless. It always gets faster and easier.
This is great resource for exploring sorting algorithms.

I think it would be beneficial if there was a way to determine the order in which each sort finishes.
PyCharm, RubyMine, and WebStrorm are all different flavours of JetBrains IDE so it's not really like three different tools.
I just recently paid for PyCharm 4 which I use for python projects, Intellij for Java Projects and Android Studio for Android Development. I use sublime for general editing.
here you go http://www.redtamarin.com/

and the g+ community
https://plus.google.com/communities/111596731002136630496

and yeah it's kind of why I'm doing that,
AS3 is for me a good balance

as a side note, the way redtamarin is implemented
you have access to almost all POSIX C functions from AS3
which can also be seen as a "Friendly Dialect of C"
Its hard to explain, but I feel like Java would be a better choice for doing something like audio decoding, while Clojure is orders of magnitude more productive to prototype a webapp.
Like others said, it's hard to compare because the hardware also greatly improved. But if you look at embedded programming - in 80's we had c/ada, today we might have rust - fitting similar environments. That's surely an improvement.
+1

Where is it in the list if Eclipse is already there?
I wrote a SOAP webservice -- not because I'm insane, but because our business relies on data sent to us.

We could certainly tell everyone that they'll need to write code to send us the data we need to be of use to them. Or we could look at the installed systems that hold their data, and see what built-in support those systems have for external integrations. And so: we quickly added a simple SOAP endpoint.

About serializing -- I'm potentially missing your point, but "The source code of the language is already in its serialzed form" doesn't seem to make sense. Who serializes source code? Values in data structures need to be transmitted, normally (sometimes in the form of source code -- e.g., JSON) -- homoiconic languages are interesting for other reasons, but not serialization.
All of Melbourne wishes Nat a happy birthday
That's a great question, tanderson92.

Unless you've had a remarkable work experience, you'll find that bad management shifts the goalposts in a 40-hour work environment too. "Work harder, work faster, work smarter!" This behavior is independent of the environment. The advantage of ROWE is that it removes a lot off waste (hours tracking, telecommuting paperwork, microaggressions about hours worked, etc.) and lets people actually focus on the work.

If you have executives that want to destroy the company by crushing the workforce then, yeah, no environment will stop them.
let's face it, and deal with it

in my country, 44 hours a week is average

sometimes, we might even reach 50/60 hours
First sentence of the next paragraph.
No, it doesn't. It matches the empty string at the beginning of 'QQQQ', not the Qs themselves:

/A*/.exec('QQQQ')
[""]

When computer scientists discuss what a regular express does and does not "match", they are saying that strings which are "matched" by a regex are those strings which are members of the regular language defined by the regex. QQQQ is not a string in the language defined by /A* /, so /A* / does not match QQQQ.

If we look at things your way, we would have to say that the regex /A/ matches "AQQQQ". It does not. It matches "A".
Why? And there is a lot more to tooling in embedded systems creation than the language that the software is specified in.

If anything, I think the dream from back then would be that embedded systems of today would be more FPGA based. Screw this using fixed design systems. :)
I don't like how Sublime opens the search results as a text file in a new tab. TextMate2 has all of these search features too, except it's all in a nice dialog window. Also, its Find & Replace feature live-previews your changes inside the dialog. It's really nice.
COM is dead, Long live COM
You're headed in the direction of a tankless/on demand heater (which are more efficient than tank heaters, but I guess not always cheaper overall).
You can shape Laval nozzles to have peak efficiency at a specific altitude/pressure/velocity. If you are committed to multi-stage rockets - and there are many reasons to do this - then you can have a different shaped nozzle for each stage. This can lessen the advantage of an aerospike and make the extra weight and inefficiency more of an issue.

For example, the nozzles on the shuttle's solid boosters were optimized for low atmospheric use, but they were discarded relatively quickly. The nozzles on the shuttle's main engines were most efficient out of the atmosphere.
My opinionated viewpoint, if you want to learn this stuff for a job:

Install eclipse. Get a non-JavaEE version - probably "eclipse for java developers". It's flaky software and you will have to babysit it sometimes, but it's still the best choice.

Use maven, then you don't need a sysadmin to maintain your libraries. You just add libraries as dependencies (you can even use a search wizard in Eclipse) and it Just Works. Start by using the new maven project wizard; I would skip archetype selection entirely, but if you want to use a particular framework you can choose one of those and get a "hello world".

Add libraries one at a time. If you're writing a web application I love Wicket which is literally the best-designed library ever. Aside from that you're facing things that, like eclipse, are a bit clunky; sooner or later you will have to learn Spring and Hibernate. Everyone loves to hate them and with good reason, but people will expect you to know them, and they do have good parts.

Try to do as much as possible in pure java. Use embedded jetty and write a normal application rather than messing with war packaging. Use annotation-based Spring configuration rather than XML, and the same for Hibernate.

The whole ecosystem is old and crufty. You will have to get used to random crappy workarounds for all sorts of problems, and you will probably have to cargo-cult some things to get stuff working. This is unfortunate, but I guess it's the price of stability. There are good sides to the ecosystem too. Sorry to be such a downer.
Committer to Apache HBase here:

I agree with the author on some level. All of HBase and Hadoop (except for a little bit of native stuff) is implemented in Java.

I found that to be + and a -.

Java is easy to understand and to follow, lends itself very well to large-team development, and performs well in most situations. The alleged verbosity I do not mind. I have tools, and well structured code is easy to follow.

Java (or the JVM really) does have limits, though. What I miss by far the most are simple pointers and access to the RAM outside of the Java heap. Then again I am working on a low-latency database. Yes there are DirectByteBuffers but they are annoying to use, just gimme a struct (some IBM folks are working on a proposal for that for Java).
Everybody in this space who is using Java invents their own off-heap code to avoid heap allocations and the inevitable garbage collections. G1 will make it better, but not eliminate this.

I still user other tools: Python, Ruby, Bash (yes), JavaScript, C/C++, etc, and I disagree with the author's premise. It depends very much on what I attempt to do which language/ecosystem I will use for that.

Edit I: In the end I prefer to versatility of Java over the limits I face with it. Would I write a Kernel in Java: No. At least not with the current JVM.

Edit II: We should not conflate Java with the JVM.
Reversible debugging might help more here than snapshots, since it allows you to record a failure and then debug it: http://rr-project.org/
I wonder if any efficiency gains can be found by connecting the heat dump (outside heat exchanger) of the AC to the input of the hot water system?

The issue would be balancing the need for cold water to make the AC efficient and this being any use for heating up the water. Maybe with a larger smart tank that can vary the levels of water, or a secondary tank with pre-warmed AC water which can then be used by the hot water tank.
Rest in peace, Ezra.
people use ed (e.g. me)!
You're right. It looks like there're a lot of IDEs to maintain & shortcuts/configurations to remember.

Thing is, Android Studio, PyCharm, RubyMine & WebStorm - all of them are different flavors from JetBrains.

So, I just did shortcut + UI configuration once and now I am sharing same configuration for all 4 of them. As a result, now they all (and at some level, Sublime Text as well) share same shortcuts, theme (Monokai), fonts(Monaco) and help me with smart autocomplete & intelligent environment based on platform/project :)

I definitely want to move to Vim one day.
The JSON parser in the Python standard library does support big ints, NaN, and +/-Infinity.

>>> json.loads("NaN")
nan
>>> json.loads("Infinity")
inf
>>> json.loads("-Infinity")
-inf
>>> json.loads("1234567890"*20)
123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890
123456789012345678901234567890123456789012345678901234567890
12345678901234567890L

I haven't read the JSON spec, so I'm wondering whether this is actually standard JSON, whether it's an official extension of some kind to JSON, or whether the Python JSON parser is just being too clever.
Do Java/JVM folks miss the simple deployment of Go? I haven't used Java for a while (used Jetty to deploy), but words like "application servers" are the things that make Java sound "heavy".
Heads-up to the "comment without reading the article" crowd: the title is not bemoaning a lack of handling for CDATA in existing parsers. It's discussing an interesting behavior of the AFL fuzzer when used with formats that require fixed strings in particular places...

Related: NOBODY EXPECTS THE SPANISH INQUISITION, either. :)