skysight-inc/HackerNews huggingface dataset:
Cool hack, but an on/off switch is quite limited in this context.

There's a startup (sensibo.com) that's building a full HW/SW solution for controlling and monitoring IR-operated air conditioners.

(full disclosure: I'm friends with the founders and backed their indiegogo campaign)
LOL, I spend all day next to java programmers trying to get GUIs to work in a performant manner.

Just pickup any Android device and you can see the lag, ever wonder why all the java phones have 4 GB of memory and a quad core processor just to draw a 1920x1080 screen?
A good book, definitely. I reviewed it here:

http://chester.id.au/2013/07/07/review-to-engineer-is-human-...
That's exactly how much IRCcloud costs: $5 per month, and it allows you to bring it up on any Web browser, even a Chromebook. And it just works.
I asked how redundant classes and interfaces improve maintainability over time.

I'll narrow down my question some more:

How does duplicated code improve maintainability over time?
Sure. My criteria have been the same as informatimago, but lately I've been curious about what looks good on me and now I find myself at a loss.
Why use Brainfuck when you can use SNUSP - http://rosettacode.org/wiki/FizzBuzz#SNUSP
People are also giving Thiel credit for this insight. Michael Porter was probably the first to look over the fence of the Economics department, find out what the abusive behaviours of monopolists are, and to begin to teach them as strategy to be emulated.
Also, I'm not sure why you'd need to inherit to provide this functionality. The user could just provide a monadic type the function to run the gui is expecting and extend it however they wish.
Good article about getting women to chase you
Facebook as well: http://www.ubercomp.com/posts/2014-01-16_facebook_remote_cod... XXE to Remote Code Execution. They paid out their largest bounty ever for it, $33,500.
I'm one of the people that still uses IRC frequently. The biggest problem that I saw over the years was just the rise of other platforms and fewer new users taking the place of the old school users that were moving elsewhere.

The ban evading trolls and constant net splits caused by frequent DDoS attacks were a problem. ISPs stopped hosting IRC servers because as soon as a server would come up, it would be a huge DDoS target. Then the overbearing fear of "illegal material" flowing across the pipes was a problem for others.

But I'm glad that it's still around. One channel in particular I live in has been around for 15+ years now. It's like a digital version of Cheers, without avatars.
Show HN: Our first Kickstarter
We are a small team committed to ship our first Kickstarter in about 3 months. We are starting from scratch designing a consumer device and are really excited to share our progress. Would anyone be interested in receiving weekly updates on our learnings and progress?
Towards a more perfect link underline
It's a monopoly because of multiple factors (some of which you've expounded on already.

A main reason Google's search engine is a monopoly is due to switching costs and the fact that all of our habits are built around using it.

Another way of putting it: once the word google became a verb they had solidified the monopoly.
Visual Studio is definitely one of the best IDEs for C++. Granted it only works on Windows.
I enjoyed the article. Thanks! But have to ask a serious question, after telling a story. Note: I am not a licensed engineer.

Sometime in the late 80's, I worked in a lab where we needed to heat an assembly to a certain temperature, while turning off the heat during data collection to minimize stray magnetic fields. I thought, a sensor, controller, and a relay. The process delivered a lot of power to the heater, due to a necessarily short duty cycle (heating in between data points).

Guess how relays fail -- open or closed?

Guess how experiments melt.

The relay failed closed. There was probably an inductive kick in the system because it was fed by a Variac. It got so hot that it melted the solder in the vacuum joints, and set us back a month.

Since then, I have always considered any system where a single fault failure can result in the uncontrolled release of power (electrical, heat, steam, momentum, hydraulic, etc.) to be dangerous.

One of my techniques is to incorporate two controllers with different set points, so the second controller only operates as a backup. I usually wire the second controller so that it shuts down the system altogether if its set point is reached. Another technique is to design the system so it can survive running uncontrolled at full power indefinitely, but that often results in massive over-design.

Now the question: I suggest taking a long hard look at your design, and answer what could happen if: 1) The relay gets stuck in either position. 2) Your code causes the same to happen. A possible measure for the air conditioner is to set its built-in thermostat to a temperature just below your intended operating point. That way, if the relay gets stuck, the a/c will go to a reasonable temperature and just sit there. Even if you conclude that it's safe after all, you will have done a useful analysis that should become a habit.

I don't want to be a wet blanket, but I'm somewhat of a safety freak due to my early experiences.

Also, the specs for that relay don't necessarily apply to inductive loads such as motors.
Considering the rise and fall of RadioShack and talk of the glory days, they probably are both valid.
I am deeply saddened by this news. I remember trying to convince Ezra to join us to help out with CloudFoundry. I, like others, knew Ezra through the Ruby community where he was a larger than life presence. My thoughts are with his son, his family and friends.
A few years ago I fired up IRC for old times sake. I ended up kicked off #unix on EFnet at some point.

My transgression? I claimed that I used IRC in 1993. Which was impossible since, I was informed, IRC had only been around since 2000-something. :)
Current discussion: https://news.ycombinator.com/item?id=8673760 (459 points, 1 day ago, 452 comments)
Warning: These are not beginner books.

"Learning Java" http://chimera.labs.oreilly.com/books/1234000001805/index.ht... seems to be a decent review of the language and ecosystem, although it doesn't cover many of the new technologies in common usage (many of which are mentioned in this thread).
There is site where you can find the latest updates for the mechanism.

http://www.antikythera-mechanism.gr/
> impossible for anyone to make a successful frontal assault on the two core businesses

Well, it's kinda definition of monopoly, which Google of course is.
The Future of Product Management Is #TBPP
It's a stretch to say that Gradle actually uses Groovy. Groovy 1.7 added a "DSL" into its parser whereby we could omit parentheses in function calls. Gradle uses this facility for its CSS-style syntax.

In theory, we can drop out of the DSL to add Groovy code (as you can with Leinengen to add Clojure code, etc etc) but in practise virtually no-one does that. I've checked the Gradle build scripts for some large open source projects, even Groovy's own build scripts, and nowhere have I seen anything other than the DSL syntax used.

Gradle 2 brought the facility where you could configure a build using any JVM language via an API, and now Java 8 has lambdas I suspect this facility will get used more, and Gradle might even replace Groovy with a custom lightweight DSL for builds not requiring extra programming.
eproject[1] by Jonathan Rockway[2] supports project-based grepping.

[1] https://github.com/jrockway/eproject

[2] https://news.ycombinator.com/user?id=jrockway
Interesting enough, Google chose to build upon the Eclipse java compiler instead of Sun/Oracle's javac. I'm guessing this is due to javac being GPL and the Android SDK being Apache License 2.0.

This is strangely reminiscent of Apple's strong backing of LLVM.

More competition and corporate funding in the compiler scene is always a good thing.
I'd love to be able to fully control and test the browser without using my mouse. I try my best to only use the keyboard when editing which makes the switch to 'mouse mode' even more painful.
The article... did you read it?
I have to agree that the whole concept of assessing population trends in "g" is pretty tainted at this point. For some reason, this subject tends to attract a certain kind of person with an axe to grind.
I switched to Emacs for Org mode because I wasn't satisfied with any of the note-taking solutions I had tried (I had hundreds of pages of notes in various file formats). I now have an Org-mode-powered personal wiki that includes a few thousand documents. Even if I were to switch to another editor/IDE for programming (which I can't imagine doing at this point), I'd still use Emacs for note-taking.
> yes

This answered the question.
I usually pick out things that fit in plain neutral colors so I can wear lots of different combinations. When something wears out I often buy exactly the same make/model almost without thinking. When I find something that fits i regularly buy more than one in different colors. My clothes seem to wear out very quickly.

I would definitely let someone do it for me. I don't know a lot about fashion and I'd love to look better.
I'm really excited for this! I always wanted to use Anki but found card creation to be a huge bottleneck. Bringing that to the browser, with citations, is extremely exciting.
The site at groovy.codehaus.org doesn't mention anything about the new site (actually www.groovy-lang.org). Until it does the new site is unofficial and just one of the 5 despots at Codehaus trying to grab control of the product away from the other 4 despots there. That despot has tried other tricks like soliciting for subscribers to his weekly "news mailout" which is mainly links to tweets mentioning Groovy.
Except that there are hundreds, maybe thousands, of niche advertising platforms, markets, middlemen, services, systems, technologies, clearinghouses, inventories, sellers, buyers, brokers, verifiers, subverters ...

The advertising ecosystem is actually very complex and diverse. Nobody is quite sure how big it actually is. But Google definitely has the two biggest chunks of it and nobody else is able to, for example, place keyword-based ads into Google's search results without Google taking their cut.
I know I might downvoted for saying this but this paper is saying what many in favour of eugenics were saying at the beginning of the 20th century.
As also can Clojure though with less bugs.
Sounds like you're looking for the checkpoint/restore functionality that has been in the works for a few years now. Check out http://en.wikipedia.org/wiki/CRIU for more details, seems they have things mostly working now.
You need a cam. Had the same problem on the work PC. Works nice on my nexus 5 though.
A lack of recourse would only be the case if, as you say, 'every employer has gradually done the same thing'.

In an ideal world, all employees are able to be mobile, and would gravitate quickly away from bad employers, incentivising employers to not be bad (basically), and/or removing those employers / organisations from the environment.

I respect we don't live in an ideal world, but equally we don't live in a 100% evil - but somewhere in between the two extremes. So in practice you would see the same things that happen now - employers that aren't evil are able to obtain and retain better employees, in part because they don't engage in the kinds of activities you're describing.
Well, last I checked, the cost for an indirect function call for simple operations was about 5-10x compared to inlining. Each function call constitutes of at least two branches - the call and return. Caller needs to preserve any registers that may be altered by the callee according to ABI conventions. Same for callee.

That is for correctly branch predicted calls.

Far worse for mispredicted calls.

> If the inner loop loops over objects of different class (i.e. you're looping over an array of objects, each can be a different sub-class, and you're calling a virtual method), I don't think there is any way to improve vtable based approach.

Say 90% of the objects are of certain same type and the code generator knows that. Codegen puts the test for this case as first one and inlines the code directly in the loop body. Then you can at least have those 5-10x savings in 90% of cases and have branch mispredicts for the rest of the time. That can still be a significant saving.
Who's "they" that you refer to when you say "they don't tend to respect the blue rule"?
One of the main problems isn't just encoding XML correctly, but the additive mistakes that arise when information is copied and reused, where along the way some part of the chain does a mistake:

- Information scraped from a web page that was in ISO-8859-1

- Stored in a database that is Windows-1252

- Then emitted through an API in UTF-8 by someone who writes strings by ("<tag>" + string concatenatation + "</tag>")

- Then stored in a new database as UTF-8 but not sanity-checked (ie., MySQL instead of Postgres)

- Then emitted as an XML feed

...etc. Along the way someone forgets to encode the "&" and the data contains random spatterings of ISO-8895-1 characters, and you're screwed.

Most parsers I have encountered aren't lenient by default, and will barf on non-conformant input. So now the last link in the chain needs to sanitize and normalize, which is a pain.
Pagerank was indeed a giant leap at the time, but some other things are frequently forgotten with that one-trick pony narrative.

* Ownership structure - Google's founders had the front to IPO with a structure that gave them complete control of the company (10:1 voting rights over ordinary shareholders). That alone is why they can make huge long-term bets, from GMail to Android to robotics, instead of dumping inventory on the last day of each quarter to appease Wall St.

* Ads - Colossal ad revenue wasn't a guaranteed point on the trajectory from Pagerank and should therefore be considered as an independent innovation. They initially monetised with the search appliance for intranets and there was a time when they were considering a charging model for companies to use Google search.

* Superior ops - Google had to scale like crazy. The early crawlers were supposedly using 25% of Stanford's bandwidth after much pleading with admins, and the scaling never ended. Other startups might have partnered with some giant hardware company or bought into various commercial Unix offerings, but Google's early team figured out how to operate and distribute giant data centres on budget.
DOOM 3DO Source Released on GitHub
With cool stuff like this, it makes me wonder about the future of installed apps.

If only Android would support 'installation' of HTML5 apps so there is no browser, shortcut made automatically, ability to 'uninstall'. Easy to do but would compete with their store and they lose control.
I disagree with you (even despite the fact that the author describes himself as a buzzwordy "Enterprise SaaS Executive" -- he writes better than someone with a description like that should be able to).

It's no secret, within Google or without, that Google is not particularly well run. This article cites the sales team (without backing up the talk) but talk to any of the tech folks and most will tell you the same thing. And as the article says, the Street seems to think so too.

What Google _does_ get right are two things. First, they do get the core stuff right: search, search infrastructure, and adsense. That's sine qua non and they aren't bozos! Second, at the other end, the stuff that's flakyest is the stuff that _should_ be flaky: Google X (and as the article says, it's a tiny amount of money).

In between, however, the company isn't great. Not a mess, but mediocre on execution. The article says that the company's killing of products is a sign they are trying to get their house in order. I don't see it, but it could certainly be true.

The good news for Google is that they have a huge cash flow so can actually afford to take their time to fix things. The bad news is that they have a huge cash flow which removes any sense of urgency. Big cash flow covers a multitude of sins.

Big cash flow kills a lot of companies. In such a circumstance hard to do anything new, especially since while it's new it doesn't move the needle on revenue. That's why great, paranoid companies like Intel and Microsoft that had dominant cash flow suddenly struggled when the tide went out. In the case of IBM they had an existential (near death) experience and it forced them to get their act together.

The point of books like these is to be talismanic. The company is successful so others look for the surface gimmicks that made it successful. It almost doesn't matter what is inside them, since the readers generally aren't looking for insight but rather validation (they are the business equivalent of self help books).
Owning more of the toolchain (front and backends) will offer more control and, thus, integration with a more modern development environment. Much like how Apple released Swift this year to replace Objective C in the long run, I imagine Google is positioning itself for a similar evolution with, say, Dart to bridge native and Web app development. If you assume Chrome and Android will eventually be the same thing, certain moves by Google over the last year start to make more sense.
This is where this project was mentioned by a redditor: http://www.reddit.com/r/gifs/comments/2nul0l/people_have_too...

It was on the front-page couple of hours ago. Umm, probably NSFW.
For an even more dramatic example, look at Valve. Great company to work for, no doubt, and open allocation which makes 20% time look like a death march. They can fund this because of the money fountain that is Steam.

But improvements to the Steam client are underwhelming and come at a snail's pace, if they come at all (e.g. Steam has been delaying my shutdowns in Windows now for two years). They are about a year behind now with SteamOS, and have pissed off most of their potential partners with SteamBox delays as well. And, of course, Half Life 3, which should be renamed Half Life Pu-239 based on when we should expect it to be released. (How is episodic gaming working out?)

"Freedom" certainly makes a place nice to work for. It might even get you some really good technology. And it probably can, eventually, indirectly, maybe eventually manage to achieve some of a company's goals. But if it is the most efficient way to do this, I am struggling to come up with any good examples.
Hey, thanks!

Yeah, that's the impression I get. The ability to add functionality to an object in small modules (Components/Behaviours)

However this only works if there is a inherent structure and ability to use components. Most frameworks and libraries I have worked with don't really have that structure.

For instance, SpriteKit (Apples 2d framework) lacks a structure for building components. So most SpriteKit examples tend to have deep hierarchies of class inheritance.

If you'd want to take a look I wrote this https://github.com/seivan/SpriteKitComposition

Documentation is still lacking as I am playing around with function names but it has a test suites that demonstrates usage.
It depends.

Sure if it is sell, sell, sell people will hit the unsubscribe button.

If it is useful information, building a relationship with the reader, maybe the occasional reference to a sold product. Then this may work.
> Just repeating the same thing twice doesn't help with anything.

I completely agree - but not all (or even most) of Java's verbosity is from repetition. The traditional example of `Foo foo = new Foo();` as repetition ignores the fact that `Foo` will not always be repeated as the first will often be an interface (or superclass) and the second will be an implementation, e.g. `Set<String> set = new HashSet<>();`

> What features does Java have that you're saying help code convey more information or lead it to be expressed more clearly?

My comment regarding verbosity wasn't in comparison to Scala, I was thinking of Ruby, Python, Lua, et al (I'm a huge fan of Scala btw, but the post was on the benefits of Java versus dynamic languages). Anyway to answer your question with a few examples:

* Java's method signature gives me a lot of information, looking at `public int doStuff(String foo)` tells me the visibility, what it will return, and exactly what I can pass it - even to someone completely unfamiliar with the language. Looking at `def doStuff foo` tells me nothing other than how many arguments it takes (if you're familiar with Ruby you'll also know the visibility).

* Similarly when you see `return foo` you know (even knowing nothing about Java) that it's returning `foo` and that `foo` is the intended return value.

* Someone who's never read a line of Java in their life can look at `Map<String, Integer> foo = new HashMap<>();` and know that `foo` is a map (and will most likely conclude it has Strings for keys and integers for values). If you've never coded in Lua and you see `foo = {}` you have no idea what that is (if you've seen similar in other languages you can make a good guess, but you don't know).
I'm actually not so surprised, given what the fuzzer does - mutating input to make forward progress in the code. Incremental string comparisons definitely fall under this category since they have a very straightforward definition of "forward progress"; either the byte is correct and we can enter a previously unvisited state, or it's incorrect and execution flows down the unsuccessful path. It's somewhat like the infinite monkey theorem, except the random stream is being filtered such that only a correct subsequence is needed to advance.

On the other hand, I'd be astonished if it managed to fuzz its way through a hash-based comparison (especially one involving crypto like SHA1 or MD5.)
Show HN: Poem in GitHub commits (w/ code and viz)
An issue with the tankless system is that the chimney has to be updated, adding to the cost and complexity of the project.
How would that apply to the woman in the article, Ahlem Saifi? She works at the airport and at a market. A Results-Only Work Environment might work for some knowledge workers, but I don't think it would apply to the majority of the workforce.
I was thinking of something like in F# (disclaimer: I've never used it and copied this from MSDN):

type Shape =
| Rectangle of height : float * width : float
| Circle of radius : float

let matchShape shape =
match shape with
| Rectangle(height = h) -> printfn "Rectangle with length %f" h
| Circle(r) -> printfn "Circle with radius %f" r

Admittedly, this is not too far from a simple `if`, but I believe the language ensures that you handle all cases.

The difference to OOP is that the code is in one place, with the function, instead of distributed, with all objects. It makes it easier to add functions, but harder to add new types. Often, this is the better option, but if you are writing truely extensible code (a library that gets passed custom objects, or an application with add-ins) then you want to go the OOP way.
i have a question to the blogger. i checked out dominus when it was released and its impressive. gj! I've started my first game and cant pull the trigger to get on the meteor bandwagon yet.

have you tried reactJS? especially with meteor, how does it compare and what shortcomings do you see with meteor/react. Or, why do you not use it if you've tried it.

how offputting is typing return Template.instance().myfn.get() all the time?

If you were going to start over would you still use meteor? What additional libs would you pick up, or what libs should you have known before you started the project?

Thanks :)
Privacy itself is a modern invention, to a large extent. Our grandparents lived in communities and extended families that kept a fairly close watch on their members. Of course it was always possible to skip out and start a new life, but few did. The issue is more that those watching us now have different motives than our friends, families and neighbors did a century ago. But even without modern communications technologies, totalitarian regimes had no trouble using us to inform on ourselves.