skysight-inc/HackerNews huggingface dataset:
Magic Happens in the Real World- Bringing Online Communities to Life
hey pushmatrix, thanks for replying.

does batman.js have anything like angular's custom directives? are there any other features/advantages a possible adopter should know about besides the similarity to a Rails API?

EDIT: or perhaps phrased a slightly different way: why did you guys decide to create this instead of just using angular or one of the other existing options? or was this created before those options existed or had reached a mature state?
When the story is told of our history, people will be amazed that such a great nation was dismantled with barely a notice.

And no one will recall the exact hour: a little freedom here...a few rights there...another bit of privacy given over to our government...
Obligatory link to my own article on the topic:

http://swombat.com/2011/1/13/how-to-get-your-startup-on-hack...

It will answer all your questions...
Yeah, the camera.
Let's get tea.
Are there no good vim extensions for IntelliJ or Eclipse?
Put another way. . it's hard sometimes to recognize - and accept - the influence of all the other stakeholders in the project, around and above you. And sometimes it's hard to deal with the 80/20 rule and stop polishing the apple. . .the apple might not be shiny enough for you, but other people don't even the apple that you are continually shining.
"It's too easy to write something crap, be forced to write several layers of crap on top of that, shout "LEAN STARTUP" at anyone who questions you and make a shamble for the exit."

This. I hear "Lean Startup" way too often as an excuse to do something shit. I'm so over it.

Doing something shit is easy.

Every situation is different but i'm generally of the opinion that you should do the absolute minimum required to achieve your objective but just do it well. If your trying to get to market asap so you don't die a horrible death i'll give you a temporary pass on the quality... unless quality is one of your core value propositions.
> I assume you mean "needless complexity".

It's useful, needed complexity, if your language is strongly typed to start off with. Which JavaScript is not.

Of course all complexity comes with cost, and the costs multiply, (a new feature of the type system interacts with all the existing features) even if the complexity is needed it becomes harder to use and understand the more features are added. JavaScript does away with all of that. It has loads of other flaws, but the basic design philosophy is not one that suggests the addition of generics to improve the language.
Is there such a need to actively sort the people of the world?

Certainly a person will end up taking their experiences with another person into account over time, but I don't see that it is particularly problematic to usually give people the benefit of the doubt (sure, if you don't know a person and they are screaming "fire", maybe still take a second to look for smoke before jumping off the bridge, and so on).
So, some languages demand some tools and other languages demand more complicated tools?

I'd rather have a language that didn't demand lots of tooling. Lots of tooling is expensive, unreliable and a time sink.

Which is why I like vim (and have used it for 16 years) :)
The disconnect is indeed quite remarkable.

The US governments will likely hit a wall soon - further tax increases on the rich will possibly yield little/no new revenues. Many suspect that a VAT and higher taxes on the poor/middle class - where 66% of the income is after all - is inevitable.

It's rather hard to run an aggressive modern welfare state by leaning heavily upon those whom earn 33% of the income!
The tutorial that helped me is "sed" based: http://www.gentoo.org/doc/en/articles/l-sed1.xml

Also, an online regex tester may be helpful:
http://regexpal.com/
What would you recommend as the best tools for accomplishing this?
So in other words: it is not the speed, it is the latency. I can agree with that.

As an aside...I always sucked at the speed part. I have always been a 2, maybe 3 finger typer, throwing in a pinky for CTRL and a thumb for the space bar. While my vimming is pretty fast, typing long segments is embarrassingly slow. Have any of you overcome this after > 10 years of bad habits? How did you do it?
Link to the GitHub repo: http://fmtvp.github.com/tal/
Put all you knives in the knife drawer, reach in there with caution.
Most of these books are neither free nor have anything to do with programming.
Manage your DbContext lifetime the right way
Exactly. This is _not_ Javascript. It's Typescript, which compiles into Javascript, but adds in guarantees that, for instance, what I'm getting _is_ a dog.
There's a good one for IntelliJ called IdeaVim.

I tried solutions for Eclipse back when I used it, but I couldn't find one that I liked.
Grow up Bringing vertical farming to London
Growup are bringing vertical farming to London.

"Aquaponics is a re-circulating system that combines two very efficient food growing technologies..."

http://bit.ly/14o5Wqc
I'd love it even if only for notifications. What about e-ink?
This is much better than my half-baked response.
I agree with this. We are hired to be technical experts. Though management doesn't want to hear our suggestions if it doesn't line up with their business model, or what customers are yelling about. They hear the people who pay them money over the people they pay money to all day.

It's a difficult situation to try and stand up to an employer who is telling you to do one thing when you know it's the worst possible decision they can make. It's a great idea to think we should stand up for our knowledge better, but chances are the arrogance and determination of the employer is going to stomp you right back into place, or even worse, out of a job.

If you're in a position to comfortably take a stand in this fashion, congratulations, you must be very well off. I consider myself lucky to have a boss that listens and understands when we have a concern. That doesn't mean the rest of the company does, but to have one layer between me and the real decision makers that will listen to what I have to say and protect my job in the process is a blessing.

That said, until developers are the ones with all the cash and say-so, it's going to be difficult to take this stand.
Bringing vertical farming to London
Growup are bringing vertical farming to London.

"Aquaponics is a re-circulating system that combines two very efficient food growing technologies..."

http://bit.ly/14o5Wqc
Flashy? The trend for bigger and bigger watches is going strong for a few years now. (Nixon is one brand that has those, IIRC... young people seem to love them).
> Spamhaus, one of the most prominent groups tracking spammers on the Internet, uses volunteers to identify spammers and has been described as an online vigilante group.

The authors of this article have absolutely no idea what they're talking about - and what's worse is they sprinkle this kind of crap throughout the article.

>Mr. Kamphuis said Cyberbunker was retaliating against Spamhaus for “abusing their influence.”

>“Nobody ever deputized Spamhaus to determine what goes and does not go on the Internet,” Mr. Kamphuis said. “They worked themselves into that position by pretending to fight spam.”

And this goes unchallenged? Honestly I can't believe they printed such bullshit! Everyone configures their MTA to use Spamhaus because it WORKS - nobody is forcing MTA admins to use it.
I don't think the problem are the managers per se, but our lack of confidence on the negotiation process.
The real power of vim is its proven staying power. It is worth the investment to learn it. It's been around for a long time and is likely to be around for much longer. Newer, hip editors that depend on one person or small company to make a living maintaining their product cannot provide such assurances. Some have suggested open sourcing the application, but I am not sure that has worked for Text-Mate 2.

Vim has been around, will be around, and is available pretty much every where and has a giant community. That's the point.
I understand that, and I'm not saying that there aren't several issues in Django (but some are getting better)

What I'm saying is that with PgBouncer you have Django <> PgBouncer <> Postgresql, right?

So what PgBouncer is doing (dealing with several open/close connections) maybe could be done better inside PostgreSQL
How does Amazon accomplish their free 3G with the Kindle and why aren't they selling this service? http://client0.cellmaps.com/tabs.html#cellmaps_intl_tab
One advantage to not having good refactoring support is that it encourages automated testing.
It was much easier to get started to CoffeeScript for me, and learning it made me much more comfortable with writing JavaScript directly straight after.
No reason you couldn't change it now. :-)
In the world of Big Data, nothing is for free
I think that you'll find Dashing very flexible. You can fetch whatever data you need, and display it however you like.

At its core, Dashing is just a promise that all your data makes it to all your dashboards.
Ah, too many letters and too little coffee on my part. Thanks.
I was lucky enough that the first project I worked on professionally actually shipped. One guy on the team had been a professional developer for 12 years and it was the first product he ever had ship. The web changed that somewhat, I guess, but non-web stuff is probably still like that.

On the other hand, that first product I worked on is still in service, over 15 years later.
The Massive Shift In The Way We Build Social Products
I'm going to try and resist the potential pun chain here.
Unfortunately, in most of the environments you describe,the engineers are viewed as interchangeable cogs, quite adept at catching the shit rolling down the hill towards them. Sometimes it seems that the best you can do is not look up, with your mouth open, when you know it's about to happen.
The are all good arguments, and again I want to point out that we are considering them. But there is a big security concern with DNS spoofing (and DNSSEC is not quite easy yet.) So it's not an obvious decision.
I understand the premise of the article, and I think that one should take pride in creating great work. However, this kind of absolutism makes people difficult to work with. I've worked with absolutist engineers and things rarely ship and the team hates themselves by the end. Lighten up, make things work when the chips are down and move on with life. You have to take pride in the imperfect because all software is flawed, some of the flaws just haven't been discovered yet.
Wait, you guys dropped the price of dialups for customers by 75% nation-wide and you're still disappointed?
It was better this morning. It seems people are adding non-free e-books since the submission.
The 17-Year-Old That Yahoo Paid $30M Was Licensing His Startup's Core Technology
That is the funniest thing I've seen all week. One girl even posted a picture of her ID next to her debit card!!
Smith "created capitalism"? Per Wikipedia (http://en.wikipedia.org/wiki/Capitalism): "The term capitalism, in its modern sense, comes from the writings of Karl Marx." You may want to read its section "Etymology and early usage" for more perspective. Then look up Adam Smith and "The Wealth of Nations".
I would LOVE to find out this whole iWatch thing is a huge fakeout from Apple to get the competition distracted.
Great article highlighting some common areas for attention -- especially when first moving from vanilla jQuery to something like Backbone ... but important for any basic Model/View layer separation.

For what it's worth, all 5 of these points are addressed by the Backbone docs, and there are some further nuances worth mentioning:

1. listenTo() is great when you're connecting from an object (frequently a View) that will be removed long before the object that its observing is removed. But when the two (the observer, and the observed) tend to live and die together in the same cycles, no special care is needed, as garbage collection will simply remove both together.

2. An easier way to avoid multiple DOM reflows when rendering collections, is to simply use a less granular template instead of a document fragment. You can even render the "item" template directly within the optimized "collection" template (remember, a template is just a function that takes data and returns HTML). For example:

<div class="books-collection">
<% books.each(function(book) { %>
<%= templates.bookItem({model: book}) %>
<% }); %>
</div>

3. Absolutely. Addressed in the FAQ: http://backbonejs.org/#FAQ-bootstrap. While bootstrapping models, be careful that you don't inject arbitrary user JSON into the page without properly escaping it first -- if there's any data shared publicly between different users of your app. Otherwise they can throw a "</script>" into their post, and ruin your day.

4. All of Backbone's "save" calls are optimistic by default. If you'd rather a specific call be pessimistic instead, just pass "{wait: true}", in order to wait for the server to respond with a 200 OK before emitting the change on the client.

5. Yep. Instead of putting further model changes in a "success" callback, simply have a listener waiting for the "change" event. Then Ajax is out of the equation, and whenever the model state is considered to be "change"'d on the client-side, that change propagates appropriately through the system.
I lack the capacity to resist.
It might be good to add some description to the site. I'm not going to watch a demo video, and I'm unlikely to click the App Store link when I don't really understand what the app actually does.
This make sense. They initially only had bank data from EU, since that was an easier political target to go at. That meant that the first step went through without any issues, so they can now go and expand the scope.

It doesn't make it right, but it follow some well known roads in how database systems over people get created.
It's actually quite handy. I wish a lot more places would use it.

For example, when flying to Germany I had the Lufthansa app. An hour before the flight it popped up on my home screen and stuck there. (As in, no cancel.)

Then when I go to the airport, I swiped it and the lady just scanned it in - and me and my girlfriend both had our tickets printed.
Dashing contributor here: That's great, the default style isn't supposed to be a one-size-fits-all solution, and it's definitely not trying to dictate design decisions.

The real meat of the project is the underlying messaging that passes your data from the server to multiple clients.

You write a job that calls send_data, and Dashing takes care of the rest. There's room for as much customization as you like on the front end.
All good fun problems - and some less well-known as well as the old favourites.
That said, calling these the "12 most controversial facts in mathematics" is like calling the truth of the moon landings the most controversial fact in astronautics. But I suppose "The Most Unintuitive Mathematical Results That Laymen Can Be Made To Understand" is not quite so catchy.
On Finding Founders
Ask HN: What code-editor do you use?
I have been using Coda for a while and like it but it has its limitations. Just curious what editor is popular among coders today.

Extra credit if you also tell me your favorite language.
I am not really trying to dismiss people how care more about solving users problems. In that case, product is your thing, and I love love love to work with a product person who is passionate about solving user problems. But I doubt I would enjoy maintaining the code written by product person who doesn't care that much about "pretty code".
"...or at least no company has integrated into Passbook yet..."

Huh? I have tons of apps that use Passbook? I use Passbook daily for rewards cards and loyalty cards? Here is a link to a huge list of apps integrated into Passbook: http://en.wikipedia.org/wiki/Passbook_(application)

I have personally used it tons of times with my Starbucks card, Walgreens card, and for tickets to get into concerts.
Security Awareness Training
This is awesome. GH: leourbina
After several bouts of not programming due to perfectionism driven fear of failure, making 'crap' beats perfection.
Funny story from the Hosting company[1]:

"Before the break of dawn on a morning in April, a full SWAT team was sent to execute a search warrant on CyberBunker's property."

"It must not have occurred to the officers that the blast doors were designed to withstand a 20 megaton nuclear explosion from close range. When the SWAT team realized that the door was not being opened for them, they throw flashbangs and take other actions to draw attention."

---

And from the NYT article:

“Dutch authorities and the police have made several attempts to enter the bunker by force,” the site said. “None of these attempts were successful.”

Haha, this is too funny.

More detailed article on NYT[2]

---

[1]http://cyberbunker.com/web/swat.php

[2]http://www.nytimes.com/2013/03/27/technology/internet/online...
Call for Developers to participate to Open Hardware Event in NYC
I fucking hate you all. All of you equally. :)
Provided that your insurance is LAMal. I have Uniqa and private hospitals can charge me whatever they feel like. Uniqa has agreements with some private hospitals, so in the end it's not that bad.
Note that you'll need to change (def base-url "http://news.ycombinator.com/) to (def base-url "https://news.ycombinator.com/) in the first example in order for it to work properly.
Both of those are in my use case outright impossible given the dynamicity/duck-typing-ness level of the code I operate with (Python, Ruby), where the editor has no freezing chance in hell of guessing what might come out of this variable (unless maybe if the editor is the runtime and everything is live... smalltalk!)

This is why for me "free-form refactoring without relying on fixed-form refactoring routines and plugins (i.e not just a glorified search and replace)."[0] (which is a comment by myself made 6 days ago, that actually makes the same point as TFA) is extremely important.

As for discovery through autocompletion, I find my need for it has been greatly reduced these last years, with a growing number of APIs that "make sense", hence discovery happens in your head, not on the screen. If the API is obtuse to the point it doesn't fit in my head, then I usually need the doc so I'll have it open nearby anyway.

[0]: https://news.ycombinator.com/item?id=5414050
I learned to code on a broke-down Apple II, which crashed every 10 to 20 minutes. The advantage of coding on a broke-down Apple II is that it encourages you to save and back up as frequently as possible.
The listening is obviously a part of the package. Before I can say, "You're doing it wrong" in good conscience, I have to make sure that you are doing wrong.

I know it must seem like I get off on pointing out Wrongness, but there's this thankless and time-consuming process of finding the Wrongness. It's exhausting work. Y'all just see the fun part.
2013 State of DevOps Report
> "have been done in the past and only need polish."

That's the truly hilarious part. If someone delivers a smartwatch that might work, it'll be derided as being "lesser" than the preceding products. [1]

If they deliver something that throws the kitchen sink at the watch form-factor, it will be derided because people have been doing that (unsuccessfully) for years now.

If you ask me, the killer approach for a 'smartwatch' is fuelband/fitbit-style passive data collection [2] paired with proximity based two-factor authentication for smartphones and computers. [3] You can throw in notifications with swipe-to-dismiss. [4] But much more than that is just never going to work well enough to be worthwhile. [5]

The very idea of prolonged interaction with a watch is silly. It's going to be too fiddly to be faster than just pulling your phone out. So why would anyone even bother?

But the tech press would trash such a device.

[1] polish will almost certainly include stripping away functionality that's currently present on watch-phones, just as tablets had to shed desktop OSes.

[2] just go hog-wild with sensors. the biggest value-add will be in providing more/better data to apps and services accessed on other devices.

[3] e.g. you step up to your PC in the morning, it asks your password. For the rest of the day, when you walk away it auto-locks and when you come back, it unlocks. Similarly your phone only asks for an unlock code once every 4 or 8 hours and in between treats the presence of the watch as a sufficient token.

[4] Also: "swipe to open this on my phone". So one doesn't see a notification on their watch, see something that deserves attention and then have to re-navigate to that notification or app to act upon it.

[5] And, no, no-one wants to talk on a watch-phone like Dick Tracy. And bluetooth headsets & earPod-style headphone/mic combos already have buttons you can press to answer calls without grabbing your phone.
side project. side language... I think mine might be ocaml--can't stop looking at it, though I've tried I know there's no application other than a side project. Something has to have a bit of soul...

look at softpanorama regarding lots of years, it just gets frustrating.
"Brownian Management"? What does that mean? I couldn't find a definition online.
Optimizing the new Google Universal Analytics JavaScript snippet
Over the past weeks, Google sent me 1 mail per day containing 1 single result. So I will definitely try out this alternative
A VP on Wall St. is a mid-level position, like senior engineer. The dude is well-off but not loaded nor connected.
I'd say 9/11 is as likely a candidate as any for "the exact hour"
> You don't actually care that it's a Dog BTW, just that it has a method called Bark(), if that's what you call on it.

This is exactly where TypeScript helps.

With the way TypeScript interfaces work, you can define an interface

interface Barker {
Bark();
}

And have an array of Barkers where each object's class doesn't have to explicitly say that it implements Barker. Ex.

class Dog {
Bark() {console.log('woof');}
}

class Cat {
Meow() {console.log('meow');}
}
var barkers: Barker[]; // array of Barkers

barkers.push(new Dog()); // compiles
barkers.push(new Cat()); // won't compile

Here Dog doesn't have to explicitly declare that it implements Barker. The TypeScript compiler automatically verifies that it does by the fact that it has a Bark() method.

In TypeScript, Arrays already support this level of type checking. With generics, the static type checking will be able to cover a lot more code so that you don't have to depend on writing tests.
Thanks for the comments, valid points. regarding #2, it gets tricky when the model subviews do more than just render the template (listen on model changes and/or DOM events from their element).

Regarding #4, I totally agree. This is why I'm talking explicitly about the "success" callback - it is often misused.
> I was also forcing myself into improving my usage.

I can understand that people "force" themselves to go to the gym because there are obvious benefits to it, but I keep wondering why developers "force" themselves to use Vim. It's like playing and mastering a very hard videogame, except it's not a game and it's not that much fun to learn.