hacker news with inline top comments    .. more ..    24 Nov 2013 Best
home   ask   best   6 years ago   
High Frequency Dating robrhinehart.com
642 points by Seldaek  2 days ago   182 comments top 37
benjaminwootton 2 days ago 5 replies      
I'm torn on this.

On the one hand high frequency dating is a good thing because it adds liquidity to the market.

On the other, it raises the risk of of increased volatility and flash crashes (when your partner finds out).

timje1 2 days ago 4 replies      
This is simply brilliant. The escalation from a typical nerd's "I've optimised my social life" post to absurdity had me in stitches.
jcarpio 2 days ago 1 reply      
This is fantastic satire. Especially, since I've just read The Circle. Judging by the other comments here, a lot of us were going along believing it was true. Until robot.

And, why not? The pieces were believable: OpenCV, NLTK, some scripting and API twiddling. The virtual assistant wasn't much of a stretch either.

Especially if you're familiar with modern online dating sites now. Still thinking that online dating is like browsing an organized list of potential dates where an online host helps you with searching is naive. Craigslist personals are still like that, stripped down, no profile, anonymous and no algorithms.

OKCupid, like other dating sites, makes money via ad revenue, not by connecting you with a partner, so what's their priority? Who knows if your experience is affected by:- how often you visit the site- if you use an adblocker (they know, and they let you know they know)- if you're on a free account- message response rate- if you use their features (quickmatch, etc.)- how many questions you've answered (at a tech talk recently, Sam Yagan co-founder said answering more than 10 questions was pointless)- your quantcast/cookie/tracker profile- sentiment analysis of your profile/messages

Here's a fun anecdote: As a new user of their iPhone app, I was interested in using the Locals feature (to see who was available on short notice for a date). The first day it worked, let me see those in my vicinity. The next day it was completely removed from the app. No warning. Something (I was a new user) must've decided that that feature wasn't for me.

This goes beyond dark design patterns which attempt to influence your behavior (i.e. on another dating site, you have to pay to send messages, and attractive people send you collect messages, that you have to pay to read.). With dark design, if you're aware, you know what the site wants you to do. If your online dating success is controlled by black box methods without feedback, they silently judge.

So, how soon before hackers decide they're tired of being gamed and start using tools they're familiar with defensively? Could this be the start of a new arms race?

chollida1 2 days ago 3 replies      
EDITI'll leave my post as two people were kind enough to point out that I was just flat out wrong.

I had originally thought that the below post was a parody. I'm told it wasn't, though in my defense it definitely reads like a parody... I mean the perfect cutlery... the most meaningless item in anyone's house??

This reminds me of another parody post here a while ago about someone who said they'd bought the perfect cutlery.

They went a bit further and beat the joke to death talking about the difference between several cutlery sets. It was bit better because it started out with some good points bout optimizing your life and buying the best and then it jumped into how to buy what is probably the least important thing in anyone life...cutlery

I think this hacking your life is starting to jump the shark:)

Here is the other parody post:


wyclif 2 days ago 4 replies      
This is hilarious and as a bonus it induces the warm, smug feeling I get when reminded I'm thankfully out of the dating game and happily married to a beautiful, smart woman. Good luck, kids.
Nursie 2 days ago 2 replies      
I like it!

But I think we can take this further, surely she's into automation too? So he-bot and she-bot are the ones that actually get together.

But then why bother with the physical world if it's all software? The entire exchange can be virtualised and simulated at high speed, then you only need to actually bother the meatspace human if the whole thing has been electronically predetermined to be acceptable to all parties.

That way you can find the perfect match in seconds. Unless, of course, they were a little creative or devious in their parameter settings, but nobody would ever do that, right?

awjr 2 days ago 0 replies      
Beautiful article. Well played sir. I went from "this could work" to "huh" to "W T F" loving every single sweet paragraph. So much win. Thank you :)
loser777 2 days ago 2 replies      
This is a great read. The OpenCV part hit a bit too close to home though: I was stuck for a minute trying to think how he managed to segment faces well enough to compute ratios (not just as a rectangle or a blob) given all of the possible conditions/perspectives of the photos.
grogenaut 2 days ago 1 reply      
This article is a joke but I have a mildly sociopathic friend who does the first section of this. Has an app that just replies to everyone on craigslist / dating site with a standard greeting that he has statically determined over 5 years as being the most successful. It does filter for undesirable terms to him. It also does one round of banter using a trained data set of responses. He says he gets around 30 actual profiles to look at and personally contacts the ones he's interested in.

Must work, guy goes on 2-3 dates a week.

lotsofcows 2 days ago 1 reply      
Up to the fourth paragraph I was going to post something patronising about it being a great way to get a fuck buddy but a bad way to form a relationship.

However, having finished the post, I now think that a long term relationship leading to marriage and children would be possible. Some tweaking might be required. Ideally, a long and meaningful relationship could develop with 0 physical contact.

gadders 2 days ago 3 replies      
The first comment is sort of a buzzkill:

"I guess I see whats supposed to be funny here, Rob, but I dont think everyone will. As the man behind an awfully high-profile startup, I dont think this is likely to attract any beneficial attention to you, and may very well attract some negative attention. Even if this is meant in good fun, Im not sure its in your best interests."

tambourine_man 2 days ago 0 replies      
Not too far from the truth:

Amy Webb: How I hacked online dating


alcari 2 days ago 0 replies      
It seems to me that FABIO could be massively improved upon by offloading the computation to a remote (cloud?) server, allowing the date to continue until screams of pleasure are recorded.

Additionally, the robot self destruct seems like overkill. It would be better to simply wipe them and start over. After all it, it wasn't a hardware failure that resulted in a bad date, but a software problem!

Houshalter 2 days ago 1 reply      
This isn't too implausible. I remember a story about a guy who was fooled into dating a chatbot for 2 months.


pdog 2 days ago 0 replies      
It took me until the Double Robot to realize this was a joke.
drpancake 2 days ago 0 replies      
I'm reminded of a story told by Tim Ferris about outsourcing his dating for a bet:


batiste 2 days ago 0 replies      
This doesn't use MongoDB therefore this is not web scale.
anon4 2 days ago 2 replies      
I think this can work well as a startup. You sign up and create a profile. Then the system matches you up with as many other people as it can and runs several simulated dates based on your profiles. After 3 successful simulated dates, you are both booked a room and given a transcript of your conversation this far, plus a list of fetishes.
napolux 2 days ago 1 reply      
LOL! I just got at the robot part that this was a fiction :P
vdaniuk 2 days ago 0 replies      
First they laugh at the high frequency dating, then they fight it, then it wins.
AsymetricCom 2 days ago 0 replies      
I love the thinly veiled threats from other startup hustlers in the comments. Yeah Rob, you might suffer from some difficulty for deflating our bubble a bit... these people are pathetic excuses for humans, maybe we can replace startup founders with a simple Perl script that uses a simple genetic algorithm to find the best combination of cloud technologies that get investors to part with their money at the highest ratio.
digitalzombie 2 days ago 3 replies      
... Oh it's a joke.

I actually know a few programmers, who are also pick up artists, that do something similar but less complex.. they write scripts that spam msg to girls on dating site and just shot gun approach.

I think I've found my next project...

coldtea 2 days ago 0 replies      
I've tried high frequency dating once, but had to stop when all of my glassware broke.
alexfarran 2 days ago 0 replies      
Tim "4 hour workweek" Ferris actually did something similar using virtual assistants. http://blog.timferriss.com/1/post/2009/07/how-to-tim-ferriss...
cLeEOGPw 2 days ago 3 replies      
Automated bot actually makes sense for a first or maybe even second message. Things would become even more interesting if girls would write their own bots too. Someone should build an API for that.
Houshalter 2 days ago 0 replies      
patrickmclaren 2 days ago 0 replies      
I would be left feeling quite sorry and embarrassed for the partner in the case that they were actually a warm body. They would essentially be interviewing to play the submissive within a hegemony.
jff 2 days ago 0 replies      
It may not have been intended, but it came off as a damn fine parody of the idiot "pick up artists".
ninasaysso 2 days ago 1 reply      
This made me sad, mostly because the base variable is facial attractiveness. Gotta love living in a culture so saturated in image worship that dating sites have nearly boiled off text bios entirely. Have fun chatting with people you have next to nothing in common with!
yohann305 2 days ago 0 replies      
After reading the first 2 paragraphs, I started looking for a "download" button to get the source code! You got me!
danmaz74 2 days ago 0 replies      
Then, at some point, the female starts sending her robot too...
ph0rque 2 days ago 0 replies      
Now, the only improvement left is to set up the same system from the perspective of the "female", and have two robots go on a date, etc.
topbanana 2 days ago 0 replies      
A friend of mine set up a micro to repeatedly click on the thumbs up - and I thought that was bad!
cookingrobot 2 days ago 0 replies      
Ironically, the tinder app is already completely overrun with chatbots.
kimonos 2 days ago 0 replies      
This is an awesome idea!... But I guess this type of dating has its advantages and disadvantages, just saying... (",)
queryly 2 days ago 0 replies      
Who will be regulating it? Government?
Someone just made a $147,239,214 Bitcoin transfer blockchain.info
589 points by a3voices  1 day ago   434 comments top 46
tokenadult 1 day ago 3 replies      
If this was an actual transfer of ownership of Bitcoin at all near that value, this would trigger money-transfer reporting requirements under the laws of most countries,[1] especially if this was an international transfer of ownership. I see that all the other comments here are speculating about what exactly happened here, and one astute comment before this one pointed out that the actual owner of the Bitcoin may still be the same individual person both before and after this blockchain transfer. It will be interesting to see how the regulatory environment keeps up with the implementation of Bitcoin, which so far is a very tiny percentage of the world economy.

There were also statements in some previous comments that this transfer was made for free. It is true enough that a Bitcoin transfer doesn't inherently incur a processing charge from a merchant payment processor, but as merchants learned back in the Middle Ages when charging interest was formally illegal, the price of a transaction can hide financing and processing costs. We don't know what was agreed with whom by whom to make this transfer happen. The transfer may have occurred at a higher than list price for something that was bought, to make up for the ongoing inconvenience of receiving a payment using the new Bitcoin payment mechanism.

[1] One example, among many: http://www.consumerfinance.gov/remittances-transfer-rule-ame...

fragsworth 1 day ago 23 replies      
Consider this: They paid $0.00 for the transfer of $150 million dollars.

A direct (i.e. not based on third party credit, regulations, etc.) transfer of wealth of this magnitude between two entities usually consists of a heavily guarded, insured, physical shipment of cash or gold. Depending how safely you want to make the transfer, and how far the entities are on the globe, it can cost hundreds of thousands to millions of dollars.

Bitcoin has real value. It solves problems on an incredible scale. I wish I realized this months ago.

dmix 1 day ago 2 replies      
aroch 1 day ago 2 replies      
As pointed out on Reddit, this wallet has made several large transactions since September: https://blockchain.info/address/1HBa5ABXb5Yx1YcQsppqwKtaAGFP...
nly 1 day ago 2 replies      
Hardly. If you tried to sell 195,000 coins you'd wipe out all the exchanges and cause a crash.

Talking numbers, you could sell them all on BTC-E right now, bagging you just $7M, and take the price down to ~$36. You can spread that around the exchanges of course, if you're quick, but you're still nowhere near $147M at current market depth.

kmfrk 1 day ago 6 replies      
Should this be regarded as capital gains from currency speculation, when it comes to taxation, or how does something like this look to a tax attorney or accountant?
jluxenberg 1 day ago 1 reply      
Are those editorialized links added by Blockchain.info admins, or are they part of the block chain itself? ("gotcha" and "shit load of money!")
Pxtl 1 day ago 0 replies      
Were any of these previously-thought-lost "dark" bitcoins, or was it all live bitcoin currency?
politician 1 day ago 1 reply      
If you look at the tree view, the lump sum has already been broken down into smaller bits.


Click the yellow circles to expand the tree nodes.

tsaoutourpants 1 day ago 0 replies      
FBI clearing out DPR's accounts?

...or DPR associate moving around his money? ;)

rikacomet 14 hours ago 0 replies      
Here is my analysis:

Time: 17:30 - 1738

roughly 5pm europe time, past the 9-5 general business hours . If all the parties or just the reciepients are based in europe, between legal and illegal.. I would tap this as illegal. It just doesn't make sense.. for someone doing a legal transfer of this size, after business hours, unless.. senders were based in US.

Going through the direct senders (1 step back), the time with least 1k BTC+ transactions was 0200, 0400, 0500.. while with most big transactions were made around 1300, 1500, 2100 .. suggesting that these transaction were roughly either made from US to Europe, if of legal nature.. or within europe.. suggesting something shady. Very very crudely speaking.

Yeah, everything is possible, and the above is not necessarily true, but it appears so, at least to me.

Amount: 194k bitcoins

Multiple connected accounts who sent to the above address seems to have had 220k+ in total recieved and looking at denomination, it didn't seem like lot of normal people were involved. Besides, with this kind of money involved it is wise to have 10 or less people involved who are highly trusted. This appear so also, with how countable no of bitcoin addresses were used to say "bounce" the trace of that money. Skill wise, these are not normal people.. but given HOW this ended up in public domain, they could have done slightly better.

I get the feeling you get from govt hired people doing such things, no offense.. but somewhere below the elite, but above the average joe. It is also possible that a bigger or equal (more likely) sum was also transferred elsewhere.

Movement seem to have stopped.. due to attention it has already garnered or is it the actual resting place? If it would be illegal, one would have had no problem keeping it in multiple bitcoin wallets in smaller amounts. But if it is someone, with legal force on side.. say govt agency, it would not have problem leaving the bitcoins in such limelight, for a long time, as long as they believe that bitcoin is actually 100% and not 99.9999999% impregnable.

Motive, as discussed slightly above, can be mainly either "convenience of centrality" > or > "hiding a bigger sum" .. well I at least won't be putting my money in BTC for my own reasons. I got that feeling today to use it.. but I resisted.

BTC is genuine, but the currently it seems like a pyramid fraud system which is perfectly legal strictly speaking. More people putting in money in BTC system.. already rich getting richer.. tickle down effect :? Well 150 million.. has really left a lot of questions .. or its nature, motive, ownership, moral, etc. Who would answer? No one.. ironically.. thats a big problem as well a big benefit of BTC. I'm sorry.. lot of things I said above are based on feelings, but to tell you the truth, before today, BTC was in a nutshell somewhat easy to understand.. but 150 million.. is a figure that can give any guy a lot of different vibes, speculative as well as wild goose chase type.

davecap1 1 day ago 1 reply      
Must be someone buying a seat on Virgin Galactic
mynameishere 1 day ago 0 replies      
About 0.000028 times as big as daily forex trading.
seabrookmx 1 day ago 1 reply      
> Someone

This is a little misleading. This could be a business etc.

A mining pool or exchange transferring from one wallet to another (ie. to cold storage)?

You wouldn't want a typo in your address for that amount of cash! I'd probably break it up into a bunch of smaller transactions just to be safe.

dcc1 1 day ago 1 reply      
Is that right someone transferred millions with 0 fees? cheapskates :D
altoz 1 day ago 0 replies      
Someone wanted to be on the bitcoin 100 richest list.
shocks 1 day ago 0 replies      
Someone trying to get #1 on http://bitcoinrichlist.com/top100 ?

Seems very reckless. All your eggs in one basket.

mariusz79 1 day ago 8 replies      
Well, this is just another reason why bitcoin will not work - you can track money changing hands.. Certain three letter agencies would have not trouble tracking most of the transfers, all over the world.
eliben 7 hours ago 0 replies      
Is it only me, but such things make Bitcoin seem somwhat... less private... than real money?
ck2 1 day ago 1 reply      
That's nothing, someone owns (owned) six million litecoins:


Titusak 1 day ago 3 replies      
I still dont get how that kind of amount is cashed out.I mean, yeah, there is some brokers, but I dont think they have this kind of cash available...
this_user 1 day ago 1 reply      
If the map is correct, the first node that saw the transaction is located roughly in Frankfurt, Germany which is a major financial centre. The transaction was made at 5:38 local time which is right around the time the Frankfurt exchange closes. Might be this transaction was done by a larger financial institution closing up shop for the week.
penguindev 14 hours ago 1 reply      
My ignorant BTC question is this - does knowing that this 'address' has this much money make it a target for people to crack its key?
downandout 1 day ago 0 replies      
My guess: Bail money for DPR.
bvttf 1 day ago 0 replies      
Anyone know of any genius graphics programmers who have had access to lots of high-end GPUs, who might be retiring soon?
_prometheus 1 day ago 0 replies      
This stage of BTC growth is lovely. If you have a lot of it, you can issue transactions that might increase the total value. Not claiming this was the aim here, but certainly an effect :)

If this same owner splits the holdings up slowly, transfer wallets, and then recombine it again, it might spike up once more. People will definitely catch on, but it might bring up the value a couple hundred dollars in the hype.

Might make millions in the confusion.

mkramlich 1 day ago 0 replies      
... and I go right back to building something to help Bitcoin mitigate risks
fpp 1 day ago 0 replies      
and already on its way back to one of its original walletshttps://blockchain.info/address/1HBa5ABXb5Yx1YcQsppqwKtaAGFP...
Codhisattva 1 day ago 5 replies      
Is it possible to know the actual amount of money that exchanged hands?
Datsundere 22 hours ago 0 replies      
Might be the german govt. They've been advocating open source and linux for a while now. Maybe trying out buttcoins.
hkbarton 1 day ago 0 replies      
wow, 7kb data value 150 million dollars, what a crazy world.
roasbeef 1 day ago 0 replies      
It was Richard Branson..most likely someone paying for their ride to space in BTC.
mswe 1 day ago 0 replies      
Everybody is suddenly a currency expert. Remember the days when everybody was a real estate investor? Yup. I'm gonna enjoy the show from the sidelines.
EGreg 23 hours ago 0 replies      
They couldn't spare even 0.5 for fees?
billions 1 day ago 0 replies      
With a significant number of casual PCs storing bitcoin the virus industry is about to become WAY more lucrative for the bad guys.
bigstueyc22 1 day ago 0 replies      
After recent fluctuations it's very hard to predict what, if any impact this will have on it's value.
bhartzer 1 day ago 1 reply      
Is there not a limit to the amount of money that can be transferred via Bitcoin?
jedicoffee 1 day ago 0 replies      
This was obviously made by someone with very large botnet.
jyf1987 1 day ago 0 replies      
i am worried about sha256

and finally mathematicans could get rid of poor now

squozzer 8 hours ago 0 replies      
Wild-ass guesses:

1) Someone at the NSA2) Barack Hussein Obama3) Me

I hope the national-security apparati have a handle on this -- wouldn't want the evidence of a smoking gun to be a mushroom cloud...

jhhn 1 day ago 0 replies      
OMG... is someone buying a nuke? !!!
neakor 1 day ago 1 reply      
What does the "shit load of money!" mean on the transaction page?
fat0wl 1 day ago 1 reply      
Doesn't anyone find it odd that the price is quoted in USD and not BTC?
chenster 1 day ago 1 reply      
Russian mobs.
dragontamer 1 day ago 1 reply      
OMFG, Bitcoin is so anonymous!
Id Software founder John Carmack resigns polygon.com
539 points by footpath  1 day ago   96 comments top 33
Arjuna 1 day ago 5 replies      
Wow, I'm just now seeing this news. Initially, I had that sinking feeling set in... I mean, like you, I have been impacted by his story, his games (not just the Wolfenstein/Doom/Quake franchises... I'm talking Commander Keen, boys and girls), his code, reading Masters of Doom, etc.

I can see my copy of Michael Abrash's Graphics Programming Black Book Special Edition sitting here, which was such a treat to read when it came out, because it has so many great chapters on the development of Quake and little stories about John's discoveries and thought processes throughout the development of the game.

But, then I thought... wait... this is a new beginning. I wrote about this previously, but, look for gaming to start heading in the direction of VR with technology like Oculus Rift. Also, with someone of the caliber of John Carmack involved (now totally focused on it because of the resignation announcement) with not only his passion and skill, but his ability to work with graphics hardware manufacturers and driver developers to effect change and garner the necessary support and backing, expect to see vibrant, compelling developments in this field.

In case you missed it, check this video out of John discussing some of his VR work. It is from E3 2012:


That momentary sinking feeling has faded away now... great things are ahead!

beloch 1 day ago 0 replies      
This is fantastic news.

I loved Id back in the day. When all it took for a game studio to be great was the most advanced code, Id was king! Then FPS games became more like movies, and Id became a bit like Michael Bay. They still pushed the technology forward, but almost everyone was making FPS's that had better plots, characters, etc.. The technologies Id licenses to other game studios are put to better use by them than in Id's own hands!

VR has been around for decades, but it has always sucked. Low resolution displays and poor head-tracking have historically been problems, but latency has long been a problem that trumped all others. Carmack and Oculus were already working on getting Rift's latency down to levels that would make VR a less nauseating experience for users.

This move just means Carmack is finding his work at Oculus more rewarding than at Id. That means we can probably expect great things from Oculus in the near future.

LandoCalrissian 1 day ago 4 replies      
I think this check had been in the mail for a while. He is clearly far more excited these days about VR and where it can go. I'm sure he has more than enough money too to never have to worry about working again if he wanted.

I really wish him the best of luck, truly one of my favorite people in tech. I hope we still can get his annual keynotes, because they are great to listen to.

aryastark 1 day ago 2 replies      
First Winamp, and now John Carmack leaves id. This has been a brutal week.

On one hand, it's exciting to see John working on VR tech. I really do hope we see something amazing out of it. But it still feels wrong, an id Software without Carmack. Hopefully they can continue on and reclaim some of their former glory as well, and let's hope Carmack keeps in the spotlight.

leoc 1 day ago 3 replies      
Slightly testy tone in that iD statement, isn't there?
untog 1 day ago 0 replies      
Very happy for John - his early days were at the very forefront of PC game development and while iD still does great stuff, video gaming is in a very stable, iterative place right now.

Hopefully chasing this VR dream will take him back to those early pioneering days.

venomsnake 1 day ago 0 replies      
This makes me happy. I have a feeling that iD were dragging John down. He could always make a brilliant tech that they somehow always failed to makes decent game of after q3 arena.

I really hope that he will be able to push the limits of possible about graphics technology once again.

eco 1 day ago 4 replies      
Off topic but why do so many people capitalize "id" as "iD"? I did myself years ago as well but I have no idea why I did. None of their logos use that capitalization and my memory of the early games is too poor to recall where, if anywhere, it was written like that.
melling 1 day ago 0 replies      
Carmack is going full-time and the company is doing a lot of hiring...


I'm not into VR, but this could be one of those "this changes everything" moments.

BuckRogers 2 hours ago 0 replies      
This is a good thing. Carmack said at a recent Quakecon that he didn't let us have a light on any gun in Doom 3 because he didn't want another light source in his rendering..

this is a guy who has no business making games. And none of his games have been good for a long time (and they were always pretty bland, Quake was the peak).

Having Carmack out of id's games is a good thing. Having him geek out on technical problems without being allowed in game design decisions of any sort is also a good thing.

mkramlich 1 day ago 0 replies      
It's a little sad news but exciting as well. I'd rather see John's mind helping push VR/AR and 'cheaper/nimbler/entrepeneurial/hacker-maker/DIY' aerospace forward than churning out yet another 3D FPS game. We have tons of great games/engines of that type already to choose from, and lots of great people continuing to work in that space.
the_mat 1 day ago 1 reply      
This is the end for id.

The only thing id has had going for it are Carmack's engines. In recent years his stuff has been as amazing as ever, but so many commercial engines are only a fraction of a step behind, and the difference hardly matters.

Design-wise id is a complete mess. They're stuck back in the 1990s. RAGE appears to have had no leadership and no vision, and the actual design work that shipped is amateur-hour at best.

macspoofing 10 hours ago 0 replies      
It doesn't seem like an amicable parting. You never want to have a guy like Carmack just leave. He's a giant in your industry, he's popular and highly respected and you gain a lot by having him be associated with your company. So at the very least you give him a honorific title and invite him to all the corporate parties. It didn't seem like this happened here.
endgame 1 day ago 1 reply      
I find it interesting that iD and Carmack are still described in terms of Doom and Quake.
danso 1 day ago 1 reply      
Obligatory mention of "Masters of DOOM", the biography of Johns Carmack and Romero:


Like reading iWoz... a lot of stories of brilliant engineering at an elite level.

_random_ 1 day ago 1 reply      
Basically confirms that VR is in the "Slope of Enlightment".
gagege 1 day ago 2 replies      
It's bittersweet for me. I grew up with id games and John Carmack has just always been there as id's genius programmer guy. Feels like the end of an era.

On the other hand, John Carmack is working full time for Oculus VR!

saturdaysaint 1 day ago 0 replies      
Sounds like good news - I'd rather see him working on core technologies that can benefit all games than working on iD's games, which I'd characterize as merely being "pretty good" (albeit very technically impressive).
nicholassmith 1 day ago 0 replies      
A developers developer taking the opportunity to flex his wings on something new, what a fantastic turn of events for us all.
akurilin 1 day ago 0 replies      
John can make real impact on the videogame industry a second time at Oculus, the same couldn't have been said about id. This is a win for everybody.
10098 1 day ago 0 replies      
I'm not sure how to feel about this... He's always been an inspiration to me. But I don't really care about VR tech, and would much rather see Carmack working on games (at id or any other company). But I wish him success anyway.
benmorris 14 hours ago 0 replies      
Initially this is depressing until you see where he is going. I think Oculus and VR in general will change the gaming industry.
billyjobob 1 day ago 0 replies      
In the early days of PC gaming John Carmack was a genius, and Quake 3 was his masterpiece. I guess he is still a genius, but from an outsider's perspective the advancements he has made since then don't seem to changed the world in the same way.

Graphics get prettier, but gameplay stays the same, or even gets worse because the prettier graphics require higher budgets which require lowest-common-denominator appeal to recoup.

So it's good that he is trying something truly new now, where he has a chance to make a difference again.

blah32497 1 day ago 0 replies      
What a strange move. Maybe he wasn't spending enough time at iD and was forced to leave?

You'd think his having a leg in gaming and a leg in VR would create a wonderful synergy. Knowing all the in's and out of both worlds he could have insured great integration of Doom 4 with the Oculus rift - making sure iD was on the technological forefront while the Oculus would have a great demo from day 1.

(see the Leap Motion for an example of what happens when you don't have a good demo day 1)

atburrow 1 day ago 0 replies      
It will be interesting to see how the future pans out for both companies. John Carmack is a brilliant person and I think that Oculus VR will do very well with him on board full time.
mkramlich 1 day ago 1 reply      
smells like vesting and/or end of golden handcuffs period (in the context of the prior Betheseda -> iD acquisition)
ogreyonder 1 day ago 1 reply      
Am I the only one surprised to find that Carmack was still working for iD? I had thought his taking a position with OculusVR implied his departure months ago.
avoutthere 1 day ago 0 replies      
This is truly the end of an era. John's work has given me countless hours of joy and I look forward to seeing what he produces next.
squozzer 8 hours ago 0 replies      
Ask not for whom the bell tolls.
salient 1 day ago 1 reply      
> John's work on id Tech 5 and the technology for the current development work at id is complete.

So he's leaving just before starting to work on the voxel/polygon id Tech 6 hybrid gaming engine. Darn it!


Hopefully id Software will continue that without him, but I doubt it.

BlackDeath3 1 day ago 0 replies      
Wherever he goes, he shall kick ass. Best wishes, Carmack!
na85 1 day ago 0 replies      
At first I was elated, but then I realized I was confusing Carmack with the egotistical John Romero.
marksands07 1 day ago 0 replies      
I guess I should feel dumb, because I thought Carmack left id when he joined OculusVR.
Machine learning is easier than it looks insideintercom.io
426 points by jasonwatkinspdx  3 days ago   164 comments top 41
xyzzyz 3 days ago 8 replies      
I'd like to chime in here as a mathematician.

Many people here express their feelings that math or computer science papers are very difficult to read. Some even suggest that they're deliberately written this way. The truth is that yes, they in fact are deliberately written this way, but the reason is actually opposite of many HNers impression: authors want to make the papers easier to understand, and not more difficult.

Take for example a page from a paper that's linked in this article. Someone here on HN complains that the paper talks about "p being absolutely continuous with respect to the Lebesque measure on En", hundreds of subscripts and superscripts, and unintuitively named variables, and that it makes paper very difficult to understand, especially without doing multiple passes.

For non-mathematicians, it's very easy to identify with this sentiment. After all, what does it even mean for a measure to be absolutely continuous with respect to Lebesgue measure. Some of these words, like "measure" or "continuous" make some intuitive sense, but how can "measure" be "continuous" with respect to some other measure, and what the hell is Lebesgue measure anyway?

Now, if you're a mathematician, you know that Lebesgue measure in simple cases is just a natural notion of area or volume, but you also know that it's very useful to be able to measure much more complicated sets than just rectangles, polyhedrals, balls, and other similar regular shapes. You know Greeks successfully approximated areas of curved shapes (like a disk) by polygons, so you try to define such measure by inscribing or circumscribing a nice, regular shapes for which the measure is easy to define, but you see it only works for very simple and regular shapes, and is very hard to work with in practice. You learned that Henri Lebesgue constructed a measure that assigns a volume to most sensible sets you can think of (indeed, it's hard to even come up with an example of a non-Lebesgue-measurable set), you've seen the construction of that measure, and you know that it's indeed a cunning and nontrivial work. You also know that any measure on Euclidean space satisfying some natural conditions (like measure of rectangle with sides a, b is equal to product ab, and if you move a set around without changing its shape, its measure shouldn't change) must already be Lebesgue measure. You also worked a lot with Lebesgue measure, it being an arguably most important measure of them all. You have an intimate knowledge of Lebesgue measure. Thus, you see a reason to honor Lebesgue by naming measure constructed by him with his name. Because of all of this, whenever you read or hear about Lebesgue measure, you know precisely what you're dealing with.

You know that a measure p is absolutely continuous with respect to q, if whenever q(S) is zero for some set S, p(S) is also zero. You also know that if you tried to express the concept defined in a previous sentence, but without using names for measures involved, and a notation for a value a measure assigns to some set, the sentence would come out awkward and complicated, because you would have to say that a measure is absolutely continuous with respect to some other measure, if whenever that other measure assigns a zero value to some set, the value assigned to that set by the first measure must be zero as well. You also know, that since you're not a native English speaker (and I am not), your chance of making grammatical error in a sentence riddled with prepositions and conjunctions are very high, and it would make this sentence even more awkward. Your programmer friend suggested that you should use more intuitive and expressive names for your objects, but p and q are just any measures, and apart from the property you're just now trying to define, they don't have any additional interesting properties that would help you find names more sensible than SomeMeasure and SomeOtherMeasure.

But you not only know the definition of absolute continuity of measures: in fact, if that was the only thing you knew about it was the definition, you'd have forgotten it long ago. You know that absolute continuity is important because of a Radon-Nikodym theorem, which states that if p is absolutely continuous with respect to q, then p(A) is in fact integral over A of some function g with respect to measure q (that is, p(A) = int_A g dq). You know that it's important, because it can help you reduce many questions about measure p to the questions about behaviour of function g with respect to measure q (which in our machine learning case is a measure we know very, very well, the Lebesgue measure).

You also know why the hell it's called absolutely continuous: if you think about it for a while, the function g we just mentioned is kind of like a derivative of a measure of measure p with respect to measure q, kind of like dp/dq. Now, if you write p(A) = int_A (dp/dq) dq = int_A p'(q) dq, even though none of the symbols dp/dq or p'(q) make sense, it seems to mean that p is an "integral of its derivative", and you recall that there's a class of real valued functions for which it is true as well, guess what, the class of absolutely continuous functions. If you think about these concepts even harder, you'll see that the latter concept is a special case of our absolutely continuous measures, so all of this makes perfectly sense.

So anyway, you read that "p is absolutely continuous with respect to Lebesgue measure", and instantly tons of associations light up in your memory, you know what they are working with, you have some ideas why they might need it, because you remember doing similar assumption in some similar context to obtain some result (and as you're reading the paper further, you realize you were right). All of what you're reading makes perfect sense, because you are very familiar with the concepts author introduces, with methods of working with them, and with known results about them. Every sentence you read is a clear consequence of the previous one. You feel you're home.


Now, in alternate reality, a nonmathematician-you also tries to read the same paper. As the alternate-you haven't spent months and years internalizing these concept to become vis second nature, ve has to look up every other word, digress into Wikipedia to use DFS to find a connected component containing a concept you just don't yet understand. You spend hours, and after them you feel you learned nothing. You wonder if the mathematicians deliberately try to make everything complicated.

Then you read a blog post which expresses the idea behind this paper very clearly. Wow, you think, these assholes mathematicians are really trying to keep their knowledge in an ivory tower of obscurity. But, since you only made it through the few paragraphs of the paper, you missed an intuitive explanation that's right there on that page from an paper reproduced by that blog post:

Stated informally, the k-means procedure consists of simply starting with k groups each of which consists of a single random point, and thereafter adding each new point to the group whose mean the new point is nearest. After a point is added to a group, the mean of that groups is adjusted in order to take account of that new point

Hey, so there was an intuitive explanation in that paper after all! So, what was all that bullshit about measures and absolute continuity all about?

You try to implement an algorithm from the blog post, and, as you finish, one sentence from blog post catches your attention:

Repeat steps 3-4. Until documents assignments stop changing.

You wonder, but when that actually happens? How can you be sure that they will stop at all at some point? The blog post doesn't mention that. So you grab that paper again...

eof 3 days ago 7 replies      
I feel I'm in a somewhat unique position to talk about easy/hardness of machine learning; I've been working for several months on a project with a machine learning aspect with a well-cited, respected scientist in the field. But I effectively "can't do" machine learning myself. I'm a primarily 'self-trained' hacker; started programming by writing 'proggies' for AOL in middle school in like 1996.

My math starts getting pretty shaky around Calculus; vector calculus is beyond me.

I did about half the machine learning class from coursera, andrew ng's. Machine learning is conceptually much simpler than one would guess; both gradient descent and the shallow-neural network type; and in fact it is actually pretty simple to get basic things to work.

I agree with the author that the notation, etc, can be quite intimidating vs what is "really going on".

however, applied machine learning is still friggin' hard; at least to me; and I consider myself a pretty decent programmer. Naive solutions are just unusable in almost any real application, and the author's use of loops and maps are great for teaching machine learning; but everything needs to be transformed to higher level vector/matrix problems in order to be genuinely useful.

That isn't unattainable by any means; but the fact remains (imho) that without the strong base in vector calculus and idiosyncratic techniques for transforming these problems into more efficient means of computations; usable machine learning is far from "easy".

hooande 3 days ago 3 replies      
Most machine learning concepts are very simple. I agree with the author that mathematical formulae can be unnecessarily confusing in many cases. A lot of the concepts can be expressed very clearly in code or plain english.

For example, a matrix factorization could be explained with two arrays, a and b, that represent objects in the prediction:

  for each example     for each weight w      prediction += a[w] x b[w]    err = (prediction - actual_value)    for each weight w      a[w] += err x small_nuumber      b[w] += err x small_number
It's that simple. Multiply the weights of a by the weights of b, calculate error and adjust weights, repeat.

K-Nearest Neighbor/KMeans are based on an even simpler operation:

  dist = 0  for each weight w: dist += (a[w] - b[w])**2
Then make predictions/build clusters based on the smallest aggregate distance.

There are more advanced concepts. There are some serious mathematics involved in some predictors. But the most basic elements of statistical prediction are dead simple for a trained programmer to understand. Given enough data, 80% solutions can easily be achieved with simple tools.

We should be spreading the word about the simplicity of fundamental prediction algorithms, not telling people that it's hard and a lot of math background is required. Machine learning is very powerful and can improve all of our lives, but only if there is enough data available. Since information tends to be unevenly distributed we need to get the tools into the hands of as many people as possible. It would be much better to focus on the concepts that everyone can understand instead of keeping statistics secrets behind the ivy clad walls of academia.

munificent 3 days ago 4 replies      
This was a great post because I've heard of "k-means" but assumed it required more math than my idle curiosity would be willing to handle. I love algorithms, though, and now I feel like I have a handle on this. That's awesome!

However, the higher level point of the post "ML is easy!" seems more than a little disingenuous. Knowing next to nothing about machine learning, obvious questions still come to mind:

Since you start with random points, are you guaranteed to reach a global maximum? Can it get stuck?

How do you know how many clusters you want? How do I pick K?

This assumes that distance in the vector space strongly correlates to "similarity" in the thing I'm trying to understand. How do I know my vector model actually does that? (For example, how does the author know "has some word" is a useful metric for measuring post similarity?)

I like what I got out of the post a lot, but the "this is easy" part only seems easy because it swept the hard part under the rug.

syllogism 3 days ago 0 replies      
I write academic papers, and I've started writing blog posts about them, and I think this post doesn't cover one of the main reasons that academic papers are less accessible to non-specialists.

When you write an academic paper, it's basically a diff on previous work. It's one of the most important considerations when the paper first comes out. The reviewers and the people up-to-the-minute with the literature need to see which bit is specifically new.

But to understand your algorithm from scratch, someone needs to go back and read the previous four or five papers --- and probably follow false leads, along the way!

It's another reason why academic code is often pretty bad. You really really should write your system to first replicate the previous result, and then write your changes in on top of it, with the a _bare minimum_ branching logic, controlled by a flag, so that the same runtime can provide both results. And you should be able to look at each point where you branch on that flag, and check that your improvements are only exactly what you say they are.

When you start from scratch and implement a good bang-for-buck idea, yes, you can get a very simple implementation with very good results. I wrote a blog post explaining a 200-line POS tagger that's about as good as any around.[1] Non-experts would usually not predict that the code could be so simple, from the original paper, Collins (2002).[2]

I've got a follow-up blog post coming that describes a pretty good parser that comes in at under 500 lines, and performs about as accurately as the Stanford parser. The paper I wrote this year, which adds 0.2% to its accuracy, barely covers the main algorithm --- that's all background. Neither does the paper before me, released late last year, which adds about 2%. Nor the paper before that, which describes the features...etc.

When you put it together and chop out the false-starts, okay, it's simple. But it took a lot of people a lot of years to come up with those 500 lines of Python...And they're almost certainly on the way towards a local maximum! The way forward will probably involve one of the many other methods discussed along the way, which don't help this particular system.

[1] http://honnibal.wordpress.com/2013/09/11/a-good-part-of-spee...

[2] http://acl.ldc.upenn.edu/W/W02/W02-1001.pdf

j2kun 3 days ago 0 replies      
The author clearly didn't read the page of the math paper he posted in trying to argue his point. It says, and I quote:

Stated informally, the k-means procedure consists of simply starting with k groups each of which consists of a single random point, and thereafter adding each new point to the group whose mean the new point is nearest.

Admittedly, it's not the prettiest English sentence over written, but it's just as plain and simply stated as the author of this article.

The article itself is interested in proving asymptotic guarantees of the algorithm (which the author of the article seems to completely ignore, as if it were not part of machine learning at all). Of course you need mathematics for that. If you go down further in the paper, the author reverts to a simple English explanation of the various parameters of the algorithm and how they affect the quality of the output.

So basically the author is cherry-picking his evidence and not even doing a very good job of it.

Daishiman 3 days ago 0 replies      
It's easy until you have to start adjusting parameters, understand the results meaningfully, and tune the algorithms for actual "Bit Data". Try doing most statistical analysis with dense matrices and watch your app go out of memory in two seconds.

It's great that we can stand on the shoulders of giants, but having a certain understanding of what these algorithms are doing is critical for choosing them and the parameters in question.

Also, K-means is relatively easy to understand untuitively. Try doing that with Latent Dirichlet Allocation, Pachinko Allocation, etc. Even Principal Component Analysis and Linear Least Squares have some nontrivial properties that need to be understood.

myth_drannon 3 days ago 2 replies      
On Kaggle"The top 21 performers all have an M.S. or higher: 9 have Ph.D.s and several have multiple degrees (including one member who has two Ph.D.s)."


tptacek 3 days ago 7 replies      
Is k-means really what people are doing in serious production machine-learning settings? In a previous job, we did k-means clustering to identify groups of similar hosts on networks; we didn't call it "machine learning", but rather just "statistical clustering". I had always assumed the anomaly models we worked with were far simpler than what machine learning systems do; they seemed unworthy even of the term "mathematical models".
kephra 3 days ago 0 replies      
The question "do I need hard math for ML" often comes up in #machinelearning at irc.freenode.net

My point here is: You don't need hard math (most of the times) because most machine learning methods are already coded in half a dozen different languages. So its similar to fft. You do not need to understand why fft works, just when and how to apply it.

The typical machine learning workflow is: Data mining -> feature extraction -> applying a ML method.

I often joke that I'm using Weka as a hammer, to check, if I managed to shape the problem into a nail. Now the critical part is feature extraction. Once this is done right, most methods show more or less good results. Just pick the one that fits best in results, time and memory constrains. You might need to recode the method from Java to C to speedup, or to embed it. But this requires nearly no math skills, just code reading, writing and testing skills.

tlarkworthy 3 days ago 2 replies      
I find newbs in ml don't appreciate cross validation. That's the one main trick. Keep some data out of the learning process to test an approaches ability on data it has not seen. With this one trick you can determine which algorithm is best, and the parameters. Advanced stuff like Bayes means you don't need it, but for your own sanity you should still always cross validate. Machine learning is about generalisation to unseen examples, cross validation is the metric to test this. Machine learning is cross validation.
sieisteinmodel 3 days ago 1 reply      
Also: aerodynamics is not really hard, anyone can fold paper planes!Or: programming 3D games is easy, just build new levels for an old game!Or: I don't know what I am doing here, but look, this photoshop effect looks really cool on my holiday photos!


Seriously: The writer would not be able to write anything about K-Means if not for people looking at it from a mathematical view point. This angle is of tremendous importance if you want to know how your algorithm behaves in corner cases.

This does not suffice, if you have an actual application (e.g. a recommendation or a hand tracking or an object recognition engine). These need to work as good as you can make it because every improvement of it will result in $$$.

pallandt 3 days ago 0 replies      
It's actually incredibly hard, especially if you want to achieve better results than with a current 'gold standard' technique/algorithm, applied on your particular problem.

While the article doesn't have this title (why would you even choose one with such a high bias?), I presume the submitter decided upon this title after being encouraged by this affirmation of the article's author: 'This data indicates that the skills necessary to be a data wizard can be learned in disciplines other than computer sciences and mathematics.'.

This is a half-baked conclusion. I'd reason most Kaggle participants are first of all, machine learning fans, either professionals or 'amateurs' with no formal qualifications, having studied it as a hobby. I doubt people with a degree in cognitive sciences or otherwise in the 'other' categories as mentioned in the article learned enough just through their university studies to readily be able to jump into machine learning.

Ihmahr 3 days ago 0 replies      
As a graduate in artificial intelligence and machine learning I can tell you that machine learning IS hard.

Sure, the basic concepts are easy to understand. Sure, you can hack together a program that performs quite well on some tasks. But there are so much (interesting) problems that are not at all easy to solve or understand.

Like structural engineering it is easy to understand the concepts, and it is even easy to build a pillow fort in the living room, but it is not easy to build an actual bridge that is light, strong, etc.

upquark 3 days ago 0 replies      
Math is essential for this field, anyone who tells you otherwise doesn't know what they are talking about. You can hack together something quick and dirty without understanding the underlying math, and you certainly can use existing libraries and tools to do some basic stuff, but you won't get very far.

Machine learning is easy only if you know your linear algebra, calculus, probability and stats, etc. I think this classic paper is a good way to test if you have the right math background to dive deeper into the field: http://www.cs.princeton.edu/~blei/papers/BleiNgJordan2003.pd...

amit_m 3 days ago 1 reply      
tl;dr: (1) Author does not understand the role of research papers (2) Claims mathematical notation is more complicated than code and (3) Thinks ML is easy because you can code the wrong algorithm in 40 lines of code.

I will reply to each of these points:

1. Research papers are meant to be read by researchers who are interested in advancing the state of the art. They are usually pretty bad introductory texts.

In particular, mathematical details regarding whether or not the space is closed, complete, convex, etc. are usually both irrelevant and incomprehensible to a practitioner but are essential to the inner workings of the mathematical proofs.

Practitioners who want to apply the classic algorithms should seek a good book, a wikipedia article, blog post or survey paper. Just about anything OTHER than a research paper would be more helpful.

2. Mathematical notation is difficult if you cannot read it, just like any programming language. Try learning to parse it! It's not that hard, really.

In cases where there is an equivalent piece of code implementing some computation, the mathematical notation is usually much shorter.

3. k-means is very simple, but its the wrong approach to this type of problem. There's an entire field called "recommender systems" with algorithms that would do a much better job here. Some of them are pretty simple too!

apu 3 days ago 0 replies      
For those wanting to get started (or further) in machine learning, I highly recommend the article, "A Few Useful Things to Know About Machine Learning," by Pedro Domingos (a well respected ML researcher): http://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf. It's written in a very accessible style (almost no math); contains a wealth of practical information that everyone in the field "knows", but no one ever bothered to write down in one place, until now; and suggests the best approaches to use for a variety of common problems.

As someone who uses machine learning heavily in my own research, a lot of this seemed like "common sense" to me when I read it, but on reflection I realized that this is precisely the stuff that is most valuable and hardest to find in existing papers and blog posts.

misiti3780 3 days ago 1 reply      
I disagree with this article, although I did find it interesting. Replace k-means with a supervised learning algorithm like an SVM, and use some more complicated features other than binary and this article would be a lot different.

Also - maybe "article recommendation" is "easy" in this context, but other areas such as computer vision, sentiment analysis are not. Some other questions I might ask

How do you know how well this algorithm is performing?

How are you going to compare this model to other models? Which metrics will you use? What statistical tests would you use and why?

What assumptions are you making here ? How do you know you can make them and why?

There are a lot of things that this article fails to address.

Disclaimer: I realize more complex models + features don't always lead to better performance, but you need to know how to verify that to be sure.

rdtsc 3 days ago 0 replies      
A lot of concepts are easier when you know how they work.

CPUs were magical for me before I took a computer architecture course. So was AI and machine learning. Once you see the "trick" so to speak you lose some of the initial awe.

panarky 3 days ago 1 reply      
Sure, some ML concepts are intuitive and accessible without advanced math.

But it would help to highlight some of the fundamental challenges of a simplistic approach.

For example, how is the author computing the distance between points in n-dimensional space?

And does this mean that a one-paragraph post and a ten-paragraph post on the same topic probably wouldn't be clustered together?

pyduan 3 days ago 1 reply      
As someone who works in machine learning, I have mixed feelings about this article. While encouraging people to start learning about ML by demystifying it is a great thing, this article comes off as slightly cocky and dangerous. Programmers who believe they understand ML while only having a simplistic view of it risk not only to create less-than-optimal algorithms, and might instead create downright dangerous models:http://static.squarespace.com/static/5150aec6e4b0e340ec52710...

In the context of fraud detection (one of the main areas I work in these days), a model that is right for the wrong reasons might lead to catastrophic losses when the underlying assumption that made the results valid suddenly ceases to be true.

Aside from the fact the techniques he mentioned are some of the simplest in machine learning (and are hardly those that would immediately come to mind when I think "machine learning"), the top comment on the article is spot on:

> "The academic papers are introducing new algorithms and proving properties about them, youre applying the result. Youre standing on giants shoulders and thinking its easy to see as far as they do."

While understanding how the algorithm works is of course important (and I do agree that they are often more readable when translated to code), understanding why (and when) they work is equally important. Does each K-Means iteration always reach a stable configuration? When can you expect it to converge fast? How do you choose the number of clusters, and how does this affect convergence speed? Does the way you initialize your centroids have a significant effect on the outcome? If yes, which initializations tend to work better in which situations?

These are all questions I might ask in an interview, but more importantly, being able to answer these is often the difference between blindly applying a technique and applying it intelligently. Even for "simple" algorithms such as K-Means, implementing them is often only the tip of the iceberg.

ronaldx 3 days ago 1 reply      
I'm cynical about how machine learning of this type might be used in practice and this is an illustration of why: the stated goal is a "you might also like" section.

There is no reason to believe the results are any better than a random method in respect of the goal (and it's reasonable to believe they may be worse) - we would have to measure this separately by clickthrough rate or user satisfaction survey, perhaps.

I believe you would get far better results by always posting the three most popular articles. If you want to personalise, post personally-unread articles. A lot less technical work, a lot less on-the-fly calculation, a lot more effective. The machine learning tools do not fit the goal.

The most effective real example of a "you might also like" section is the Mail Online's Sidebar of Shame. As best as I can tell, they display their popular articles in a fixed order.

Machine Learning seems to make it easy to answer the wrong question.

aidos 3 days ago 1 reply      
Most of the comments on here are from people in the field of ML saying "this is a toy example, ML is hard."

Maybe that's the case. And maybe the title of the submission ruffled some feathers but the thrust of it is that ML is approachable. I'm sure there's devil in the detail, but it's nice for people who are unfamiliar in a subject to see it presented in a way that's more familiar to them with their current background.

I have a university background in Maths and Comp Sci so I'm not scared of code or mathematical notation. Maybe if I'd read the comments on here I'd get the sense that ML is too vast and difficult to pick up. I'm doing Andrew Ng's coursera course at the moment and so far it's all been very easy to understand. I'm sure it gets harder (I even hope so) and maybe I'll never get to the point where I'm expert at it, but it would be nicer to see more of a nurturing environment on here instead of the knee jerk reactions this seems to have inspired.

mrcactu5 3 days ago 0 replies      
The equations look fine to me - I was a math major in college. Honestly, I get so tired of humanities people -- or programmers, bragging about how much they hate math.



I didn't know k-means clustering was that simple. I am taking notes...

  * pick two centers at random  run 15 times:   * for each post, find the closest center  * take the average point of your two clusters   as your new center
This is cool. It is 2-means clustering and we can extend it to 5 or 13...

We don't need any more math, as long as we don't ask whether this algorithm converges or how quickly

outworlder 3 days ago 1 reply      
I don't get all negative comments.

From my limited text comprehension abilities, the author did not say that the whole field is trivial and that we should sack all academics.

Instead, the argument is that basic Machine Learning techniques are easy and one shouldn't be afraid of applying them.

agibsonccc 3 days ago 0 replies      
Wait till you have to hand craft your algorithms because the off the shelf ones are too slow ;). In the end you can stand on the shoulders of giants all day, but until you actually sit down and write an SVM or even something more cutting edge like stacked deep autoencoders yourself, machine learning isn't "easy".

In the end, libs are there for simpler use cases or educational purposes. Realistically, that's more than good enough for 90% of people.

That being said, it's not impossible to learn. Oversimplifying the statistics, tuning, and work that goes in to these algorithms you're using though? Not a good idea.

BjoernKW 3 days ago 0 replies      
The fundamentals of linear algebra and statistics are indeed quite easy to understand. Common concepts and algorithms such as cosine similarity and k-means are very straightforward.

Seemingly arcane mathematical notation is what frightens off beginners in many cases, though. Once you've understood that - for instance - a sum symbol actually is nothing else but a loop many things become a lot easier.

However, the devil's in the details. Many edge cases and advanced methods of machine learning are really hard to understand. Moreover, when 'good enough' isn't just good enough any more things tend to become very complex very quickly.

samspenc 3 days ago 0 replies      
Upvoted this for an interesting read, but I agree with the sentiments in the comments that (1) ML is in general hard (2) some parts of ML are not that hard, but are likely the minority (3) we are standing on the shoulders of giants, who did the hard work.
hokkos 3 days ago 0 replies      
Matrix multiplication, orthonormal basis, triangular matrix, gradient descent, integrals, Lebesgue mesure, convex, and the mathematical notation in the paper are not harder than the code shown here. It is better to have solid prof of what you are doing is sound and will converge before jumping into the code.
pesenti 3 days ago 0 replies      
Of the two methods described - search vs. clustering - the first one - simpler and not involving ML - is better for this use case. The only reason it seems to give worst results is because it's only used with the titles and not the full body (unlike the clustering approach). So I guess machine learning is easier to mis-use than it looks...
gms 3 days ago 0 replies      
The difficult aspects take centre stage when things go wrong.
Irishsteve 3 days ago 0 replies      
The post does do a good job of showing how easy it is to implement knn.

The post doesn't really go into centroid selection or evaluation, or the fact that clustering on text is going to be painful once you move to a larger dataset.

Toenex 2 days ago 0 replies      
I think this is one of the reasons why it should become standard practise to provide code implementations of described algorithms. It not only provides an executable demonstration of the algorithm but as importantly an alternative description that may be more accessible to other audiences. It can also be used as conformation that was is intended is indeed what is being done.
danialtz 3 days ago 0 replies      
I recently read a book called "Data Smart" [1], where the author does k-means and prediction algorithms literally in Excel. This was quite eye opening as the view to ML is not so enigmatic to enter. However, the translation of your data into a format/model to run ML is another challenge.

[1] http://www.amazon.com/Data-Smart-Science-Transform-Informati...

adammil 3 days ago 5 replies      
It is nice to read about this in plain language. But, can someone explain what the X and Y axis are meant to represent in the graph?
mau 3 days ago 0 replies      
tldr: the ML algorithms look hard reading the papers, while the code looks simpler and shorter, also you can get pretty decent results in a few lines of R/Python/Ruby so ML is not that complex.

I disagree in so many ways:1. complex algorithms are usually very short in practice (e.g. dijkstra's shortest path or edit distance are the firsts that come to mind)2. ML is not just applying ML algorithms: you have to evaluate your results, experiment with features, visualize data, think about what you can exploit and discover patterns that can improve your models.3. If you know the properties of the algorithms you are using then you can have some insights that might help you on improving your results drastically. It's very easy to apply the right algorithms with the wrong normalizations and still get decent results in some tests.

Rickasaurus 3 days ago 0 replies      
It may be easier to do than it looks, but it's also harder to do well.
kamilafsar 2 days ago 0 replies      
Some while back I implemented k-means in JavaScript. It's a really simple, straight forward algorithm which makes sense to me, as a visual thinker and a non-mathematician. Check out the implementation here:


m_ke 3 days ago 0 replies      
This is as valid as someone stating that computer science is easy because they know HTML.
dweinus 3 days ago 0 replies      
They should try using tf-idf to create the initial representation of the keywords per post...also, I find there are many cases where applying machine learning/statistics correctly is harder than it looks, this single case not withstanding.
fexl 3 days ago 1 reply      
I like the simple explanation of K-Means, and I like the contrast with the dense set-theoretic language -- a prime example of "mathematosis" as W.V.O. Quine put it.
Walmart Node.js Memory Leak joyent.com
412 points by btmills  1 day ago   64 comments top 16
davidw 17 hours ago 1 reply      
I looked at node.js for a system I'm involved with creating, but ultimately we went with Erlang just because it's been around a lot longer and is more stable in terms of things like this. We're working on a semi-embedded system that will not always be on-line or accessible for debugging. We also considered Go, which probably would have been more familiar to C++ guys, but it was also deemed a bit immature even if it seems like a very pleasant language to work with.

Cool writeup though!

diminoten 22 hours ago 6 replies      
I'm actually looking into a segfault issue deep in the bowels of a C++ addon we have in node.js (anyone in #node.js will have seen me over the past few weeks ask about it), but what reading this makes me realize is how woefully underequipped I am to hunt for problems of this nature.

My problem is likely in one of our addons, but this kind of debugging, this whole genre of problem solving is entirely beyond me. How do I get to this level? What do I need to learn? To study?

It's just a little depressing to read something like this and see how far the road ahead goes, despite how far I've already traveled...

ambirex 1 day ago 0 replies      
Thank you, I really enjoy detailed write-ups like this. It is fascinating to see how an engineer approaches an elusive problem.
jzwinck 20 hours ago 0 replies      
I'd like to read more about how we can prevent this class of error going forward. Could stronger typing or RAII or some other feature or trick have made the bug apparent at compile time?

I made a very basic Node.js module in C++ with V8 and it was surprisingly difficult to make a good (idiomatic JS behaviour, believably bug-free) wrapper for a straightforward class and factory method. I say this coming from Boost Python and Luabind, where there are some tricky parts to bind complex classes, but simple ones are easy enough, and once written, obviously correct.

aaronbrethorst 20 hours ago 0 replies      
Wonderful blog post; major props for the engineering time expenditure. But, why do you have an Olark chat widget that says "Contact Sales". I don't want to have anything to do with those schlubs! If anything, I want to talk to serious engineers like you!

Perhaps a better call to action would be:

* Talk to us about how we can solve your problems

* Chat with us

* We can help you too

* What's up?

ryanseys 1 day ago 1 reply      
And a one-line fix. Damn that must be satisfying.
city41 23 hours ago 0 replies      
I've been running an extremely simple Node application on 0.10.18 for a while now and it has a very gradual memory leak. My code is just a few dozen lines, and it all seems pretty innocent. I am also using Hapi, so I thought maybe Hapi has a leak in it somewhere. Now I wonder if I have the same leak as Walmart here. I just now upgraded to 0.10.22 and am curious to see where I end up. If the leak goes away then hot damn, I got lucky :)
rcthompson 1 day ago 2 replies      
Ironically, this page hangs Chrome indefinitely when I try to load it. Luckily it only hangs the tab so I can still close it. I guess I'll fire up Firefox to see if I can actually read the article.

Edit: Actually, it loads fine in a private browsing tab, so it must be a bad interaction with some extension. Oh well.

charlieflowers 23 hours ago 0 replies      
FYI, a typo -- "illusive" -> "elusive". (haven't read further yet, just wanted to let you know).
patrickg_zill 23 hours ago 0 replies      
That is pretty impressive - I love how they could use DTrace to scope out what was going on.
batbomb 1 day ago 1 reply      
Can anyone tell me if there is reason for this in bash?


atomical 10 hours ago 1 reply      
I assume that they can restart the server at intervals or use load balancing. A few months of developer timer for something like this seems excessive unless he was working on something else as well.
retr0h 22 hours ago 0 replies      
I've always loved the debugging tools in solaris (smartos or whatever now).
joeblau 13 hours ago 0 replies      
Excellent details on the sleuthing that went on to find this error. I think it's great that there are great tools available to debug errors like this and your write up helps me in learning more about how to go about properly debugging my Node apps.
ilaksh 23 hours ago 3 replies      
I think there are still quite a few C and C++ programmers out there. To me this is a great example of why it is better software engineering to write a server in something like Node.js. Because rather than having a million code bases with potential memory leaks like this one, there is just the Node code. In ordinary JavaScript code its impossible to cause a problem just that.
jokoon 14 hours ago 0 replies      
we know that node.js is a bad piece of software, you don't need to remind us about it all the time

(down vote me)

Magnus Carlsen is World Chess Champion fide.com
409 points by jordanmessina  1 day ago   240 comments top 24
kadabra9 1 day ago 6 replies      
Reading more about this match and Magnus in general, I learned of a measure termed "Nettlesomeness" which has been used to measure which players do the most to make their opponents to make mistakes. Magnus, with his highly creative style of play and unexpected moves, not surprisingly ranks the highest in this measure.

He seems to have this remarkable gift of making moves which aren't just strong, they get inside his opponent's head and cause them to either overthink/break down. I'm interested in the technical details behind this metric. Has anyone heard of it before?

Regardless, congrats Magnus. You are truly a generational talent, and I'm excited to see what your win will do for the game.


realrocker 1 day ago 1 reply      
Congrats Magnus Carlsen! You finally unseated our beloved Vishwanathan Anand and made the beautiful game even more beautiful.

Allow me to go on a tangent to let me tell my personal story with chess. I began playing at age 7 when my elder brother borrowed a chess board from a friend. It was a nice break from the physical altercations between us(read mat fights). My maternal grand ma called it "Satan's Game". And my mother toed the line. Why? I don't know the exact reason, but I guess it was an amazing time sink. Or maybe they both had watched this Hindi movie by Satyajit Ray: The Chess Players(http://www.imdb.com/title/tt0076696/). When the game s between my brother and me became violent(You moved it when I was off to the toilet...) it was banned from our home. But we didn't give up. Our summers were spent playing chess in a nearby mango orchard or the graveyard a mile away. The chess board made out of paper with plastic pieces was the only "toy" we never broke. Those were the best days of my life. And it's still safe 20 years later. With every piece intact. What a game.

sethbannon 1 day ago 3 replies      
I'm super excited to see the impact this will have on our noble game. I think it could see a real surge in popularity in the years ahead. And at the age of 22, Magnus is only just getting started.
anuragramdasan 1 day ago 0 replies      
60 minutes from last year. pretty cool stuff right here http://www.youtube.com/watch?v=Qc_v9mTfhC8
girvo 1 day ago 1 reply      
After spending the last 18-months immersed in the professional StarCraft 2 scene, I can totally appreciate a lot of the meta-stuff around Chess now. I always enjoyed Chess, and was not too bad at it (compared to those around me, certainly nowhere near even an amateur-pro!), but for some reason SC2 "clicks" better for me (I think being addicted to Brood War while spending 6 months in South Korea probably has something to do with it).

The discussion of "mind games" {"nettlesomeness" here) is something that SC2 has an obsession with, and certainly can play a massive part in pro tournaments, and I'd never considered it applying to chess... but now that I think about it, everything in SC2's meta really came from Chess to begin with, only applied in real-time with 300+ actions per minute and hundreds of pieces with few illegal moves. And yet I struggle more with grokking the advanced strategies of Chess than I do for StarCraft!

aaronetz 1 day ago 27 replies      
<blasphemy alert> Does anyone know some good alternatives to chess, as a game that mixes deep thought and aesthetic variety? I tried Go, but found it somewhat boring compared to chess, because of its uniformity (which, on the other hand, has the advantage of beautiful simplicity and symmetry.) On another note: it is unfortunate, in my opinion, that chess has a special standing among board games. I would love to see some more variety in world-class intellectual matches, similar to what exists in physical sports. Something like a "board game Olympics".

Edit: Thank you for all the useful replies! In reply to some of you, I am a complete beginner at Go. Maybe the word 'boring' was not carefully chosen. As a programmer, I should have known better - that things may seem boring (tiresome?) until you become more fluent with them. I should certainly give Go another shot...

McUsr 1 day ago 6 replies      
I am Norwegian and fucking proud of it right now, due to Magnus Carlsen.

He comes from a Nation consisting of 5 mill. people, compared to Anand's billion people.

This is probably the greatest sports achievement our country will ever make, as there are really no comparable sports achievements in the world, not now, anyway.

IMHO: They should knight him the second he gets of the plane when he returns home. Because no other Norwegian has ever accomplished anything close to this, with regards to bring honour to our nation.

Gratuler Magnus!

mattivc 1 day ago 0 replies      
It's quite fun to see the media attention he has gotten here in Norway. For the last few weeks the sport segment of most news show spent as much time devoted to chess as football, which is not something i ever expected to see.

I'm not much a chess player myself but it still very satisfying seeing so much attention brought to a intellectual sport. I hope at least some of it will stick around.

pdknsk 1 day ago 0 replies      
I'm not a particularly good player, but the match was rather boring IMO, other than game 9, which Anand cut short with his blunder. I wonder if the dull first game, described by Anand as a "satisfactory draw with black pieces", set the tune for the remaining games.
ktd 1 day ago 3 replies      
This is actually a good example of why I'm not particularly interested in chess anymore-- a game that's that heavy on draws and where so many of the situations are adaptations of well-known positions simply isn't that thrilling. I really enjoyed chess when I was a kid, but the better I became and the more I learned about it the less I found it a compelling game.
3327 1 day ago 7 replies      
Chess is amazing it blows my mind why simple tools and games like this are not incorporated in some 'fun' way into the education system. By 'fun' I mean that if children were told to play chess they would not. A system would be need to be designed so that they look forward to chess class as they do for PE and art.
jordanmessina 1 day ago 1 reply      
Press conference is live right now for anyone interested: http://chennai2013.fide.com/fide-world-chess-championship-20...
wavesounds 1 day ago 0 replies      
I wish they gave the girl announcer access to the laptop as well so she could describe what she's saying using the screen just like the guy can.
eneveu 1 day ago 0 replies      
It seems like the official commentary is of sub par quality. According to the /r/chess subreddit, this commentary is pretty good and fun: http://www.twitch.tv/chessnetwork/profile/pastBroadcasts
xfax 1 day ago 0 replies      
A well-deserved win. Can't wait to see what else Magnus goes on to accomplish.
JonFish85 1 day ago 0 replies      
But has he played Judah Friedlander?
KedarMhaswade 1 day ago 1 reply      
Brilliant! Magnanimous. I am a Vishy fan, but this match was really one-sided when Vishy faltered at critical moments. Does it mean age matters? Will Vishy rebound? I hope so, but perhaps it's the sad reality that I acknowledge -- better player won and the problem with the chess world (the number 1 elo-rated player was not the WC for so long) got corrected.

Where do we go from here?

rikacomet 1 day ago 3 replies      
Now what the heck happened in the end? Anand gave up a knight advantage, purposedly for a clear cut draw. I have no clue why he did that this time.

He took queen with queen, clearly, knowing it would be lost to king, and then again the pawn with knight. He had a knight, of all things!

reidmain 1 day ago 4 replies      
As someone who played chess as a child but gave up after high school what are some apps that would get me back into the game?
oconnor0 1 day ago 0 replies      
Is the site down for anyone else?
fedvasu 1 day ago 0 replies      
Honest Question : So now Chess will be more fashionable game?
lukekarrys 1 day ago 0 replies      
You can watch IM Danny Rensch & GM Ben Finegold review the game right now on http://www.chess.com/tv
RLC 1 day ago 2 replies      
Magnus seems more like a guy I could invite over for a couple of beers. No offense on Anand he seem to be more like a KOOL-AID type of kid and always a boy scout but a douche!
RLC 1 day ago 3 replies      
Of course he won the name alone speaks for itself "Magnus!" Just fucking HUGE at anything you can think of! Compared to Viswanathan which sounded like a vegtable ready to be consumed or a rubbing oil or even like a dip for your prata.
Why open-office layouts are bad for employees, bosses, and productivity fastcompany.com
401 points by jtoeman  2 days ago   230 comments top 61
pvnick 2 days ago 12 replies      
The best environment I've ever worked in was a combination open office, private space hybrid. You had your desk, whether you wanted a sitting desk or standing desk, you could choose from either, and you were by default in the open office area. However, surrounding this large room were a dozen or so closed offices where you could pop in and have a meeting or do some coding in private.

However, one of the organize-all-the-things guys on the internal operations team once caught me in a coding marathon in one of those offices and sent an email to the entire company "reminding" everyone that those offices were for God-knows-what-he-thought-they-were-for, not for work. So I returned to my ergonomic island and toiled away, surrounded by the noise of a hundred private conversations.

I've always thought since then that if that had panned out, that you could choose at any moment if you wanted to be in the open room or in a private room in the perimeter, that would have been the ideal layout.

pasbesoin 2 days ago 1 reply      
Perhaps the worst aspect of all this, is the purposeful, or even casual, ideologue. An arrangement works for them, or they think it does -- or, BEST PRACTICES dictate that it should... and viola, a dictate.

I am one who needs some control over his environment. In the majority of cases, these means peace and quiet particularly/mostly from human noise, as well as a lack of visual distraction. (Although there are times when I work well -- best even -- in a frenetic environment; however, these are limited in both type and frequency.)

I'm a bit older, and I fell into a generation that was subscribing to and prescribing whole-heartedly the "open", "collaborative" environment.

It did not work for me. Yet I received unrelenting pressure, including from medical professionals, that I was the one who... "simply" needed to learn to adapt.

Well... now we know a bit better. (Although I don't trust society to have truly "learned" this in any permanent fashion.) But the chronic stress of this situation has caused for me major adjustments in career and, eventually, rather run me down.

To put the bottom line at the bottom, here: If a situation is not working for you, IT IS NOT WORKING FOR YOU. TRUST THIS. TRUST YOURSELF!

"Professionals" of varying occupations and levels of training will all -- ALL -- tell you all kinds of crap. Even several years of medical school does not divorce most from their prejudices nor from cultural suasion.

Don't waste your time -- your life -- running yourself down trying to live up to someone else's idea of the "right way".

wbond 2 days ago 9 replies      
My company gives all engineers their own office with a door. Recently four of us petitioned to be able to have an open office together. We collaborate better, feel generally happier, and knowledge sharing happens so much more fluidly.

I was going crazy the first 6 months here because I was holed up in a office by myself with little in-person communication. There was no benefit to being in the office versus working remotely. My first attempt was to get the company a HipChat account for engineers to stay more connected. I even pushed for a couple of monthly engineer events so I would have an opportunity to interact with other engineers.

Open office setups can go horribly wrong. Never allow anyone who spends time on the phone into the open office setup. That stifles all interaction due to the need for silence. Additionally, engineers are forced to listen to a single side of a conversation that likely has nothing directly to do with the engineers. Project and account managers have a valuable job, and engineers should not need to be distracted by work that is not related to what they need to accomplish.

Additionally, I believe an open office for engineers should be reasonably small (4-10 people), and there should be some common responsibilities or projects between the engineers.

Other steps can be taken to give people the appropriate space for the task at hand. I've used a stand-up desk for the past three years. I hardly ever spend a whole day standing. I alternate between sitting and standing as my body gives me signals. Similarly, having quiet space (alternatively headphones, if desired) to crank on certain work can be useful useful. That said, three of the four of us have not used solitary space in the past 2 months.

Basically all of this is to say the issue is not black and white. If you prefer to work in a private office, like more than half of the engineers at my company do, that's fine. If you prefer to work in the company of others, that is fine too. Not everyone wants to work at a startup, and not everyone hates working for big financial companies.

rayiner 2 days ago 1 reply      
I find it hilarious that a bunch of people who work on internet technologies apparently need so much face-to-face communication.

If you want my attention, send me an e-mail. Also: get off my lawn.

at-fates-hands 2 days ago 3 replies      
It's interesting to note most people don't know the history of the cubicle and why it was invented in the first place:


"The office cubicle was created by designer Robert Propst for Herman Miller, and released in 1967 under the name "Action Office II". Although cubicles are often seen as being symbolic of work in a modern office setting due to their uniformity and blandness, they afford the employee a greater degree of privacy and personalization than in previous work environments, which often consisted of desks lined up in rows within an open room.[1][2

Image of an office circa 1937: http://en.wikipedia.org/wiki/File:Photograph_of_the_Division...

I've never liked the open office layouts anyways. The two companies I worked for used it and it was tremendously noisy and so I usually did anything I could to avoid having to work in the office. Either by going to the cafeteria to work, or staying home. It made both of the teams I worked on very inefficient. The exact opposite goal it was meant to address.

macspoofing 2 days ago 3 replies      
Heh. Open layouts were a response to the cubicle system which isolated people and gave the impression that you are nothing but cattle on an assembly line. It also reinforced status (size of cubicle/office/location). Just watch any 80s or 90s movie. Now the pendulum is swinging the other way. Have the original problems with cubicles been solved?

The problem is that people look for ideological purity and look to absolutes because an unambiguous answer seems simple, whereas the reality is quite grey. The reality is that some people work better in cubicles, and some prefer open layouts. To complicate things even further, some situations call for one, others call for the other.

I see a similar debate going on between proponents of traditional schools (rows of desks, and teacher in front) and structure-less/self-pacing schools. Which is better? Well, some kids thrive in one, others thrive in the other. Worse, some kids get absolutely destroyed within the wrong king of system.

There are no simple answers.

abalone 1 day ago 0 replies      
Cornell did a study of open-plan offices for software engineering awhile back. It's well worth a read if you're interested in this subject.

It's definitely not anti-open. They basically found that closed offices benefit individual engineers the most while open plans benefit the team. Interestingly, while noting the need for concentration, they note a whole bunch of ulterior careerist motives for developers wanting to work in private.

They found that the nature of communication was markedly different in each environment. Open was not only more frequent and immediate, it raised the bar for what was considered a frequent amount of team interaction, suggesting greater knowledge-share. The conversations were also shorter and subject to "cues" about whether it was a good time to interrupt someone. And the stronger social bonds encouraged more people to ask for help and bounce crazy ideas around.

They do note that it comes at the cost of distractions, and in the end they call for a balance.


raldi 2 days ago 3 replies      
They had open-office layouts 100 years ago, too. Back then, though, they called them sweatshops.
shubb 2 days ago 6 replies      
In my open office, I currently code next to some project managers, who spend all day on the phone negotiating.

This is a bit bad, but I just wear PPE Ear Defenders all day, on top of in ear headphones. With both of these, I can't hear a thing.

The eerie quiet is great for short bursts of concentration, but it also means I can turn my music up to a normal level without worrying about escaping noise annoying my colleagues.

It looks very nerdy, and people need to email me or wave if they want something (which cuts down interruptions a lot). I take them off about half the time so as to be social, which I guess is like leaving an office door open.

Sort of sad it's necessary though. Hope this helps people with a similar situation.

Ear defenders, buy good ones -> http://goo.gl/NlgnPv

Macsenour 2 days ago 0 replies      
My last company visited a company with open office and took pictures to prove to us how great it is. In the pictures the people are hunched down behind their screens, to avoid the distraction of the person facing them, and 90% have head phones on because of the noise distraction.

Basically, they were in mental cubes when they were lacking physical cubes.

P.S. The company I worked for went with the open office, productivity plummeted and the office is now closed. When I pointed out the above issues in the pictures I was told: "You don't like it? Maybe you need to work somewhere else". Well, now, they all work somewhere else.

wldlyinaccurate 2 days ago 3 replies      
I work in an open office with no dividers. Unfortunately for me I don't have selective hearing, so 95% of the time I'm trying to drown out the buzz by wearing over-ear headphones (usually with no music playing). I also spend a lot of time fending off product managers and testers who just refuse to acknowledge the headphone rule and constantly bug me about trivial things that can be put in an email or an IRC message.

The other 5% of the time is great - as other people have already mentioned, it's really easy to listen in to conversations and get an idea of what everybody is up to.

resu_nimda 2 days ago 1 reply      
I sit in an office with desks with half-height dividers. I enjoy it. A while ago our company expanded into another floor, and my product's team was moved there (dev, QA, product, services, support). Previously the layout was arranged more by department than product.

Pretty much everyone on the team loves it, and has felt a major boost in productivity and team cohesion, as virtually anyone you might need is "right there" in the room with you, and you can tune in to some of the chatter for an organic understanding of what everyone's up to. I imagine if everyone were in offices it would feel dead and empty, and totally kill the team spirit.

I think the only thing we're missing is more ad-hoc space - more conference rooms for breakout groups and individuals seeking temporary escape from the floor.

city41 2 days ago 2 replies      
I currently work in an open office and I really hate it. I've previously had jobs with cubicles and one job where everyone got their own full fledged office. Of the three, I actually think cubicles are the best.

Everyone having their own private office was detrimental in the opposite way. Everyone was closed off and really inaccessible. Knocking on someone's door felt invasive and wrong, so people would avoid doing it.

Cubicles give everyone privacy and space, but not so much that it stops collaboration dead. The impediment to interruptions seems to be at just the right level.

I'm also interested in offices that have open collaborative spaces combined with private offices. I've never had that and I think it could be a good compromise too.

munificent 2 days ago 3 replies      
"Thats what work is: It is a vacillation between collaboration and solitary exploration."

It's weird that the author notes that, but then proposes that the solution to focusing on one half of the vacillation is to just focus on the other half instead. Surely the ideal is to support both.

If I could I would run an experiment like this:

1. Have a large number of small, quiet office-like spaces.2. Have a big open plan area.3. Have a fixed schedule during the day where for a certain number of hours, everyone is required to be in the open plan area.

You can still hack there if you want, but you're expected to be there, and you understand that during that time you're free to interrupt and be interrupted.

The reason for making the open space mandatory is so that people actually go there. If it's optional, then it looks like people only go to the open spaces to not do "real" work. Since no one wants to be seen slacking, the open space just ends up unused.

vacri 2 days ago 1 reply      
An alternate story in favour of open-office layouts. Here in Aus, the Department of Human Services (DoHS, has had many previous names) is responsible for welfare. The old offices were an arrangement with a counter - staff on one side, clients on the other. Aggressive incidents rose and the counters ended up having old-school bank bulletproof windows installed.

Some bright spark changed that - got rid of the counters, and made the offices all open-office plan. You wait off to the side, and when it's your turn for whatever, someone comes and fetches you to their desk in the open-office plan with some space between desks. Instead of shouting your personal issues across a counter, you could discuss it in a normal tone, and if it was private, you could be quieter or more subtle about the topic. Aggressive incidents dropped off a cliff - and there was much less of an 'us-versus-the-gummint' mentality seeded by the demarcation line of a [fortified] counter.

So in this particular use-case, an open-office layout was clearly superior for employees, bosses, productivity, and clients.

nlh 2 days ago 4 replies      
This is great - in theory. Let me bring up something which the article brings up right away but none of the comments seem to discuss.

Look at it from the startup's side of things: The ideal office that we'd all love to work in - that perfect 4-6 person bullpen with private offices surrounding (x number of 4-6 person teams), is _expensive_. Very few companies can afford a build-out like this until much much later in company-life.

If we're talking about an Apple or Google, fine - let's have the debate. But for a vast majority of early-stage startups, this simply isn't a viable discussion to have. Office space is very limited in many parts of the big tech hubs, and often it's a matter of just getting an affordable space in the first place, much less being able to build out the perfect working environment. And the fact of the matter is, most spaces are open and filled with $200 IKEA tables because that's all the company can afford.

So I'm not sure what the answer is. On the one hand, you can say "well, budget more for office space", but we all know it's not that easy. It's not a small expense -- big buildouts for private offices costs tens of thousands of dollars (or more), precious capital for a small business.

rhizome 2 days ago 3 replies      
How many more times is this "open plan is the best!" "open plan is terrible!" cycle going to continue to receive your clicks? This has been an ongoing topic literally all year! These sites are playing the community like a piano, and the comment threads all read exactly the same: anecdotes.

I'm guilty of participating, too, but no more. My assumption will now be that any article with a headline that presents an absolute for a subject that is a matter of preference is garbage. It's all part of growing up, I guess.

ChristianMarks 2 days ago 0 replies      
On my first day on one job, my managers invited me to lunch. I thanked one for assigning me a desk next to a corner in their open office. The other supervisor could not resist chiming in that they could move people around at will. The other manager averted his eyes. I never expressed gratitude for my working conditions again.

Headphones would be too distracting for me--however I am developing tinnitus, which has become a blessing in disguise.Although I find it difficult to listen to music now, I would rather listen to the ringing in my ears than office chatter.

rubiquity 2 days ago 2 replies      
It's all about balance. Open offices work for certain occupations but not for others. When it comes to software development I think you need a combination of open office and cube farm. The best balance I've found is open office with all communication happening in a place it can be persisted (Campfire, HipChat, etc.) for others to see and benefit from. Occasionally the entire team can break into talking in the open office area but this should only be done if the entire team is participating. If the entire team isn't participating then communication should be handled in a chat (preferably) or in a conference room.

If you're trying to build software in an open office where people are constantly talking then I'm sorry, good work will not get done. Decisions to change your office layout should be in the interest of boosting communication, team cohesion and productivity. Cubicles are too restrictive, completely open is too distracting.

maxk42 2 days ago 2 replies      
It may not be for everyone, but for people like me it really boosts productivity. The last office I worked in was a massive open-office in a warehouse which sounds just miserable, but it was great. If I ever had a question, I could just lean over and ask the person I had a question for. No waiting for emails to bounce back and forth or for people to get back to their IMs. If I needed to make a private phone call, I'd just walk out of the office to do it. Plus, having people around me made it easier to focus on work instead of fucking off on Hacker News or Facebook.

Now, as a self-employed individual I rent a seat in a shared open office to maintain that focus. It's far too easy to turn on the TV or play a video game or linger on the phone with a friend when I'm working from home. In a different setting -- with people around: all focused on work -- it's much easier to maintain a focus on work and getting done what's important.

awjr 2 days ago 1 reply      
It's a hard one to solve. In the company I work in I've sat in 3 different places as teams expanded. Given the density of employees you can achieve in an open plan office vs individual offices, it is hard to justify to an employer.

However one thing we do is, that it is perfectly within your right to work from home if you feel you have enough to get on with and people do this often.

As to headphones, we have golden rule, if they are on, the building better be on fire if you disturb somebody. Not quite a sackable offence but damn close. :)

I've also found that sites like www.coffitivity.com offer a 'break' from the music. They can kill any background conversation distraction. ANY. Investigate white noise.

As to socialising, jokey things still get passed around. We're encouraged to use IM, and we also go in groups to the coffee machine which is kept in a cafeteria area, away from workers where you can chat freely and loudly.

I personally hate open plan offices, but in my 20+ years of working, I've only worked in an office once and that still had 4 people in there because they could squeeze that number into it.

Segmentation 2 days ago 0 replies      
Something not brought up often: smell.

I don't work in an open office, but I wonder what it smells like. When in closed meetings or an elevator I can keenly smell people, sometimes good (women's fragrance) but most of the time distracting (perfume, odor). I'd hate to be surrounded by distracting smells all the time.

This can be fixed with proper ventilation (and proper hygiene let's hope), but ventilation can be hard to come by in the non-summer months. (without freezing everyone out)

andrewcooke 2 days ago 0 replies      
peopleware was written 27 years ago. why on earth is this still news?


retrogradeorbit 2 days ago 1 reply      
I think the reason this persists is because everyone is doing it. Thus your open-plan, inefficient office is only competing with other equally open-plan, inefficient offices. We are all in a less-productive equilibrium together.

This of course gives those willing to make offices for everyone (like, say, Fog Creek) a competitive advantage. But your average corporate manager doesn't care about that. They still get their office and get paid.

DanBC 2 days ago 1 reply      
For people working in open plan offices or cubicles: Would small hoods help? (Especially if combined with headphones / earplugs?)

Here's an example. (Ignore the desk, which looks a bit fragile. I'm just asking about the hood.)http://www.designboom.com/design/gamfratesi-the-rewrite-desk...

digisth 2 days ago 0 replies      
The real lesson is that there is no silver bullet. No matter what {office layout, technology} you choose, there's going to be upsides and downsides. There's no one-size-fits-all solution. We had a backlash against separate offices for a reason, and we're having the same sort of backlash now (and will likely have plenty more in the future.)

It's the price paid for what often seems like blind fad-following; rather than analyzing whether X really makes sense given the attributes of the organization (people/culture, type of work, department, etc.), it's adopted, used, and eventually, revolted against. A more thoughtful, situation-specific analysis might produce better results.

RandallBrown 2 days ago 1 reply      
Open office layouts are bad for some employees and some people's productivity.

Having a private office is bad for some employees and some people's productivity.

I went from an open office that I loved to having my own office, which I hate.

I could write this same article saying the opposite things and it would be no less correct.

I hate my office. In the almost 2 years I've been at my current company I feel like less of a team member than I did in 2 months at my last job.

pathy 1 day ago 0 replies      
Open office schemes has been around awhile. The earliest research that, I know about, into them is by Allen & Gerstberger from 1973 [0]

In essence they found that performance was roughly the same as before but the employees preferred the new arrangement and that communication was improved.

Here is part of a summary of the article, made when revising for an exam:

> "The most important and most obvious conclusion that this paper found is that the non-territorial idea works. It not only reduces facilities costs by eliminating the need for rearranging walls, air ducts, etc. every time an area is re-organized, but it also allows for the allocation of space based upon an expected population density at any point in time. More important than the cost savings, however, is the fact that people find it comfortable to work in."

The open plan arrangement is not only to benefit the employees, which it may or may not do, but to reduce costs. Office space isn't exactly cheap in many locations.

[0] http://dspace.mit.edu/bitstream/handle/1721.1/1866/SWP-0653-...

tomphoolery 2 days ago 0 replies      
My company does the open-office thing really well. The building we're in used to basically be all offices so everyone has an "office", but most of us share a room with someone else. This leads to "just enough" exposure, for me, to other people while still leaving me time to get work done. Rarely are people coming into my office to talk about things that don't pertain to me. When that does happen, I happily put on headphones. There's also a large common area with couches and bean bag chairs you can sit on, if you want a larger place to work, and we have a whole wall of ideapaint if we need to do a big meeting of some kind.

This is in sharp contrast to my last job, a fully open office where it was pretty much one gigantic room and everyone was LOUDLY talking over one another. Pretty much had to have the headphones on the whole day just so people wouldn't bother me. I'd even have them on without playing music just to signal to people not to come around...that's how annoying it was. It was truly interruption-driven development at that place.

pbreit 2 days ago 0 replies      
This is such a big, important topic that surely not all tech firms have settled on the "open plan" which intuitively and in my experience is awful.

I think the breakthrough will come when workplace interiors get much more modular and flexible. I'm envisioning different teams getting to choose (within reason) what types of setups they would like from enclosed offices to bullpens to cubes to open desks.

And I can even see planned re-arrangements every 6 months or so to eliminate the moss.

msluyter 2 days ago 2 replies      
One trick I've recently adopted: I use this site:


In particular, the "babble" generator. The babble blends with actual conversations so you can no longer distinguish spoken words and reduces what would otherwise be attention grabbing conversations a to coffee shop level din.

zackbloom 2 days ago 1 reply      
I dig working in an open office. I see my work as very collaborative, so I wouldn't want to be in an environment where I was siloed off. That being said, headphones are critical.
steven2012 2 days ago 0 replies      
During my career, I went from office to cubes, to office and now open layout. I thought I would hate the open layout, but actually I like it a lot. I'm not easily distracted, so it's convenient being able to ask questions directly without having to walk around or knock on a door.

The other thing I enjoy that I didn't expect was the social aspect, where I can chat with everyone in the room before work starts in earnest in the morning, or after 6-ish when we're all ready to leave for home anyway.

mikecaron 2 days ago 0 replies      
We have offices for every developer, if they want one. We also have an open space. I used to have an office (still do, it's just empty now). I work in the open space, but it's not typical. There's only two of us that work in this open area, so it's very quiet as we're both developers. I think it's an unusual setup, but being more extraverted, I feel less lonely as I can see when people are going to the lunch room, I can participate in conversations around the pool table, etc. If there were more than 3 people in this area, I'd head back to my office, but for now, it's a great environment. I also have to mention that our open area isn't very large, and the desks are tripods (three workstations to a pod); again, my pod is just me. I'm also surrounded by windows and sunlight, where as my office only had one window.

Not complaining, just sharing a different situation.

dschiptsov 1 day ago 0 replies      
This is also not very interesting question. It was recognized ages ago that mechanical, manual labor, such as assembly line or McDonald's , should be organized in an open-space, while thinkers must have their private comfort zones (which is very expensive) and occasionally meet in a small groups to share ideas.

The balance is quite subtle, as usual. So-called brain-storming sessions (which in the language of normal people is called a discussion group) could be very effective (only if participants have something to be stormed) while meeting of committees of idiots is always a disaster. The first activity is centered around subjects and goals, while the second is dedicated to the action itself and a sense of self-importance.

In other words, for those who think of software development as an assembly line (which is very wrong) mass-production best practices are quite appropriate, while others, who think of it as a process of writing poetry, the best practices appropriate for a writers and thinkers should be considered.

Unfortunately, idiots dominate the world.

briandear 1 day ago 1 reply      
The best office layout ever is the one that allows me to works from home.
startupstella 2 days ago 0 replies      
There is no one size fits all solution...for me personally, I require a mix of social and private time to maximize my productivity. Working from home half the time, and working in the other half tends to be best...For those who want to talk/meet, knowing I'm only there at certain makes them more likely to think twice about prioritizing meeting time. Also, the quiet of home and lack of distractions (no giggling coworkers or visitors to the office) leads to the best writing/thinking.

You just have to know how you work best, and hope your company can support it. If you're a startup, be flexible about optimizing workers' time...

LordHumungous 2 days ago 0 replies      
At my office I always have someone looking over my shoulder, and to be honest, it keeps me on task. At my last job I had my own space and there were days when I just decided, "welp, not gonna do any work today."
scotty79 2 days ago 0 replies      
Team sized offices for the win. Team office doesn't have to have a door, but it should have small room with door very close for phone calls and longer (or involving more than two people) face to face chats. Short two person chats are initiated by one person getting of his ass, comming to the other persons computer and talking quietly.
munimkazia 1 day ago 0 replies      
It's been one year since I joined my current employer, and we work in a big open floor. There are around 30 people in this big room, and its very distracting and we have no privacy. It is weird as someone who is setting next to me or walking by can just peep and see what I am doing and read my IMs. Since this is my first big office, it has been terribly distracting and has really crashed my productivity. But then again, this is a big company, and office space is pricey. I don't expect them to give us all more personal space of our own.
aaron695 2 days ago 0 replies      
Part 1 certainly is very strawperson in not addressing the real issue, cost.

Everyone knows open offices are worse but they are also far cheaper, if productivity is down 15% but TCO of the office space saves more then that's ok.

Labour is a commodity, it has value but so do many other factors.

Part 2 perhaps will talk on this issue.

grealish 2 days ago 1 reply      
I cannot stand the selfish arrogant thoughtless behavior shown by the few that destroy the productivity of an open office. Your constant sniffing and playing drums with your fingers is not respectful or mindful of others trying to work.

Has anyone thought about doing a study on the effects of people wearing headphones all day to drown out these distractions? I mean ear infections and hearing loss must surely be long term side effects.

End rant.

pnathan 2 days ago 0 replies      
Well, I write this from a quiet corner I escaped to from my open office area so I could have a sustained focus time.

I've worked in open office, half-cube, full cube, shared office, and sole office. Of all of those, sole office was best for concentration and shared office was best for collaboration.

voidlogic 2 days ago 0 replies      
Many good points, but this doesn't touch of the issues of sickdays, lost productivity and how illness burns though open and traditional offices at very different rates.
theklub 1 day ago 0 replies      
I think the amount of time spent talking about this topic is bad for employees, bosses and productivity. Its been beaten to death and the truth is everyone is different so there is no ONE solution.
msoad 2 days ago 1 reply      
It sucks when you want to considerate and someone flies a RC helicopter!
cdmckay 2 days ago 0 replies      
I used to work in an open office and it was super annoying. People would throw stuff around the office and you could hear everything that was going on...
archonjobs 2 days ago 0 replies      
The best tradeoff I've found is1. Open-office layout two (specified) days a week; perfect for collaboration and meetings.2. People work from home three days a week; perfect for those coding marathons.

Obviously you can still code in an open-office and you can still collaborate working from home, but it's sub-optimal. With the setup above, you're in the right environment for the right type of work most of the time, and employees love it.

Lots more about this here:http://www.archonsystems.com/devblog/2013/09/19/open-offices...

hackula1 2 days ago 0 replies      
I share a small office with 1 other dev. This is the absolute max I can handle while coding. I am in meetings a good chunk of the day. I really don't need to be sitting next to 20 coworkers the rest of the time.
c4mden 2 days ago 0 replies      
Never mind the inherent dangers of open lines-of-sight: http://www.theonion.com/articles/open-floor-plan-increases-o...
shmerl 2 days ago 0 replies      
Open office layouts always remind me of factories and conveyors. I don't like these short dividers as well, they aren't conductive for productivity at all.
pdfcollect 2 days ago 0 replies      
In open offices, these are the things that are problematic (when it happens from the person who is sitting next to me):

- cell phones- chats- social networking- random web surfing

(when my neighbor does it)

Maybe I'm not just concentrating enough at work. But perhaps there is a way to solve these problems?

leerodgers 1 day ago 0 replies      
I think it all comes down to the employees and the culture. Some people thrive in these open environments and some down. For large companies a mix probably works but if you are a small shop might as well do what works for you.
ajasmin 2 days ago 0 replies      
Forget these OpenOffice layouts. I think LaTeX is more flexible... oh wait, never mind.
Eye_of_Mordor 1 day ago 0 replies      
I think people should have a choice. Can't stand a quiet office and much prefer it if other people have music playing. Other people can't work with noise. Everyone's different.
erobbins 2 days ago 0 replies      
I miss having an office.

I also miss having 2 30" monitors in my office.

Who would have ever thought that working conditions for engineers would be more comfortable in florida than the bay area? Not me, and boy was I wrong.

jimmytidey 2 days ago 0 replies      
I've worked in all kinds of set ups, and I've never worked anywhere where everyone liked it. One problem with designing an office is having a diverse bunch of people like the same space.
washedup 2 days ago 1 reply      
Different types of people thrive in different types of environments.
sTevo-In-VA 2 days ago 0 replies      
I was in an open office for ten years and I can verify every thing that Jason wrote.
ffrryuu 2 days ago 0 replies      
Bad for health and lifespan too.
codegeek 2 days ago 4 replies      
He is missing the point of Open office plans. Frankly, the blog post comes off as a little entitled when he says "we all deserve office of our own" (paraphrasing). Really ? How about a bed to nap while we are at it (well ok google has the nap pods). The point of open office plan is to try and encourage a culture of equality (in my opinion). I love open office plan because I could be sitting next to a college graduate and an executive director at the same time. Imagine the level of access you have if you have the balls to actually utilize it. With closed doors, even if the person inside is welcoming, it just creates a senseless fear of rejection.

All this point about not being able to focus and getting disturbed all the time is hardly an issue. Most co-workers are respectful of your time whether they are in open office or closed office. The ones that are not respectful will bother you regardless of where you sit. Behind closed door ? No problem, I will give this guy an annoying phone call.

Now is there a binary answer to this ? Of course not. But claiming that Open office plans are completely useless is stretching it a little too far.

HTML5 game written in 0 lines of JS codepen.io
396 points by golergka  1 day ago   115 comments top 35
golergka 1 day ago 3 replies      
Obligatory information:

I'm not the original author. It was posted on russian HN/Reddit clone Habrahabr: http://habrahabr.ru/post/203048/Habrahabr featured translations of "30 LOC of javascript" topics from HN, some people continued it for a bit, and this one was created as an ironic answer to that.

networked 1 day ago 0 replies      
Nice. There are also "games" [1] made with just GLSL shaders in WebGL. There are several of those on Shadertoy but I particularly like https://www.shadertoy.com/view/MsX3Rf.

[1] Edit: "Games" in scare quotes because the lose state doesn't (can't) persist in a way that requires player action.

jayflux 1 day ago 6 replies      
If you leave your ship in the far bottom right corner, you will never get killed
ThePinion 1 day ago 1 reply      
This is brilliant. It makes me really stop and think about how far we've come from the days where HTML4 and CSS2 were everyone's limit.
tfb 1 day ago 1 reply      
This is pretty cool. Although, I'm having trouble clicking on the bonuses and don't see my score. I must be overlooking something and cba to decipher how this works at this hour.

Edit: Managed to make it the whole way through by leaving the ship in the bottom left. And then when the bonuses kept flying by uncontested because the game was "over", I was able to click on them after a few tries. The issue must have been that the cursor wasn't where I thought it was. Still very cool!

idProQuo 1 day ago 0 replies      
Off topic, but I had to make an Android game for my Junior year final project, and I think I used that exact same space ship sprite (it was an Asteroids clone with motion controls).
rplnt 1 day ago 11 replies      
I'd bet that Doom, a much better game, was written in 0 lines of JS as well (in the same sense). I fail to see how is this trend of "doing something the horrible way" interesting. Just because it's unconventional?
Myztiq 6 hours ago 0 replies      
This reminds me of a game I built a long time ago:


I ended up building a generator for the CSS+HTML and at the time I had a PHP script (2+ years ago, I would use Node now) that could allow me to pick the number of lanes, the difficulty etc. Now it's just a single snapshot. I built it in about a week. There is a new bug apparently where the cursor is not changing as expected in chrome.

gprasanth 1 day ago 0 replies      
Hack:Right Click and just move your cursor on the context menu. Now the enemies can't see you + you get to teleport where ever you want! :D
jawr 1 day ago 0 replies      
Awesome. I would have been tempted to call it HTML5 game written in 30 lines of JS and then had some defunct JS code..
chrismorgan 1 day ago 0 replies      
Assigning a tabindex of -1 to the bonus inputs would stop people like me from getting all ten bonuses by repeating {tab, space}.
nollidge 1 day ago 0 replies      
What am I supposed to be seeing here? Chrome 31, Windows 7 x64. Maybe my proxy server is screwing something up, because I mouse over the blue area, and then the scroll bar goes wonky for a bit, and then it turns red and says "game over".

EDIT: yep, definitely proxy, seems all the stuff from http://nojsgame.majorov.su/ is blocked.

lhgaghl 1 day ago 0 replies      
This really illustrates the true power of the web. No construct has a stable definition. If we can't or don't want to use JS to write algorithms, just add new features to CSS until it has the ability. Nobody needs a reliable format to write static documents. We need to keep extending amending extending amending extending amending (while trying to be backwards compatible)!
Aardwolf 1 day ago 0 replies      
Would have funnier if it was in Dart :)
AndrewBissell 1 day ago 3 replies      
Love the tongue-in-cheek title.
ibrahima 1 day ago 0 replies      
How does one do logic and store state in HTML/CSS? DOM elements for state I guess, but logic?
fakeanon 1 day ago 2 replies      
"This Site Totally Doesn't Work Without JavaScript.

Like, at all. Sorry. If you enable it and reload this page you'll be good to go. Need to know how? Go here." Okay, that's funny.When Javascript is on: Ah, Nice little game. Interested how it needs a .js file with just a comment. Can we improve this to remove it?

Edit: oh, so maybe the overall website need JS, not the game(?).

blt 1 day ago 0 replies      
collision detection is based on full bounding boxes. this is especially annoying on the big ships.
DonPellegrino 1 day ago 0 replies      
I find it amusing that the content is served from a .su (Soviet Union) domain.
deletes 1 day ago 0 replies      
Moving the ship with scroll wheel is a feature is suppose.
pearjuice 1 day ago 0 replies      
Technically this is still HTML4.
taopao 1 day ago 1 reply      
If I was a mod, I would relabel these submissions to "extend your e-penis in 0 lines of JS."
nashashmi 1 day ago 0 replies      
I saw the code and a whole lot of -webkit- flags so I tried it in firefox, and it still worked.
msl09 1 day ago 0 replies      
Awesome, the bonus is the this is perhaps the lightest JS game that I have seen in a while.
jpincheira 1 day ago 0 replies      
Haha, it's funnily amazing!
jheriko 1 day ago 0 replies      
that is pretty genius... even if its a rubbish game :)
Pete_D 1 day ago 0 replies      
I'm impressed this is possible in pure CSS. What implications does this have for security/privacy? Should I be blocking CSS in addition to JS now just in case?
BorisMelnik 23 hours ago 0 replies      
if you stay completly on the left side you will avoid all objects
choarham 20 hours ago 0 replies      
This is fucked up :)
adam12 1 day ago 1 reply      
0 lines of JS and 500+ lines of CSS
cauliturtle 1 day ago 0 replies      
wilhil 1 day ago 1 reply      
Technically, there is one line! :P
vinitool76 1 day ago 4 replies      
Time waste.. Wonder why these kind of things come on top of HN. What does this project teaches us? Nothing..
emirozer 1 day ago 1 reply      
hacker news post quality down by %5 by this post , special thanks to the people upped this to number 1
Zurb Foundation 5 Released zurb.com
374 points by mos2  2 days ago   164 comments top 41
pwenzel 2 days ago 5 replies      
Changes of note:

"Interchange uses media queries to dynamically load responsive content that is appropriate for different users' browsers.


Offcanvas Javascript (Originally bolt-on, not bundled)


"Abide is an HTML5 form validation library that supports the native API by using patterns and required attributes."


Zepto support has been removed from Foundation 5.

Docs are continuing to look better, and they still have docs back to Foundation v2.

Thanks Zurb!

baby 2 days ago 2 replies      
Wow, that was fast !

I love Foundation, but I had to switch to Boostrap because I found it... ugly. And Bootstrap is great to quickly create "pretty" prototypes. But I've always found Foundation having better... foundations. I've used both on numerous projects and here's my take :

* The grid system now looks like bootstrap, and I don't like that. You have to choose the type of column you want to use (and I don't want to be bothered by that). so no .six anymore, it's .medium-6 or .large-6 or .small-6... They should call the .small-6 just .six so we know its the default one.

* It does look a bit better, although they removed styling of the radiobox in forms? Why?

* Overall I still prefer bootstrap's theme, I wish Foundation would offer an optional theme like bootstrap 3 does.

* OffCanvas menu is great ! I can already see plenty of applications (but for mobile only)

* The CLI is a nice thing to have but I'm gonna stay away from it. I like the easiness of copypasting files to quickly begin a small project.

* Documentation is hard to go through, doesn't allow to glance at what it offers. It's a huge improvement from F4 or F3 though.

* I use sublime text snippets all the time and this might be a huge addition!

* I like the JS that verifies forms. I usually always use this on my projects so it's nice to have it by default.

Overall I don't really know if I should switch back to Foundation. But I'll definitely use it for my next project to see how good it is.

chrismorgan 2 days ago 4 replies      
I'm puzzled about the switch from camelCase to snake_case for JS as shown in http://foundation.zurb.com/docs/upgrading.html#javascript-va.... The clear convention in JavaScript is camelCase, why switch away from it? (I say this as someone who in normal life using Python and Rust uses and prefers snake_case but who uses camelCase when writing JavaScript.)
chrisblackwell 2 days ago 2 replies      
This framework is so much further along than Bootstrap is, and the team at Zurb seems to iterate much faster then the Bootstrap team.
tnorthcutt 2 days ago 1 reply      
I looked at the project on Github [1] and the latest tagged release is 4.3.2. It seems odd that they'd release 5.0 for download on their website before tagging it on Github; is there a particular reason for that?

1: https://github.com/zurb/foundation

spitfire 2 days ago 5 replies      
So for the HTML deficient are there any template sites for foundation yet? These exist for bootstrap, and for someone who doesn't have even a single bone of design talent in his body they're a godsend.
frakkingcylons 2 days ago 4 replies      
I just finished the redesign of my entire site to use Foundation 4 instead of Bootstrap last night. I'm laughing tears right now...
masklinn 2 days ago 1 reply      
Damn, it's gone completely broken on old firefox engines http://i.imgur.com/HAR8Rjz.png (yeah I'm still using Camino when I can get away with it)
kderbe 2 days ago 0 replies      
Can you explain the benefit of defining media queries with em's rather than pixels? It seems like an unnecessary layer of mental translation for developers, given that you deem it necessary to list px-equivalents in the CSS comments. [1]

Also, the medium/large screen sizes in Interchange don't align with the media query sizes. Interchange says 1024px wide is large, [2] but the media query says 1024px wide is medium. Or is it just a documentation error?

[1] http://foundation.zurb.com/docs/media-queries.html

[2] http://foundation.zurb.com/docs/components/interchange.html#...

te_chris 2 days ago 2 replies      
I'm more curious about this which is mentioned on the page: https://github.com/hcatlin/libsass/ has anyone got it working with rails? Faster SASS compilation would make life much better (especially when bootstrap or compass are involved).
Jgrubb 2 days ago 1 reply      
On the one hand it's never been a better time to be a front end dev, and on the other it's absolutely crazy how fast front end technology is progressing the last couple years. I just caught on to Foundation 4 in the last 4 months or so, and now here's a new release that's way more evolved. Amazing.

Thanks to the Zurb team! I'll definitely be ripping off lots of ideas for my company's tortoise-speed Drupal sites.

hanifvirani 2 days ago 2 replies      
I would just like to say that I love Foundation! Kudos to the team and congrats on the new release. I look forward to exploring the new version. That being said, I am not really digging the new documentation page. The sample code containers should have a non-white background or at least some kind of a border.
fideloper 2 days ago 0 replies      
I think it's worth noting that Bootstrap and Foundation may not be comparing apples to apples.

Bootstrap has more styles so you can...bootstrap. Foundation is meant to be a foundation to build on.

That being said, of course their functionality is very close, but be aware of the core differences in outlook between the 2.

applecore 2 days ago 0 replies      
How does this compare to Bootstrap 3?
andyl 2 days ago 1 reply      
I use Bootstrap, but it looks to me like Foundation5 is a better framework and is making faster progress. Especially I like Foundations use of SASS.

Problem is - some widgets I depend on - like date-pickers and X-Editable - only support Bootstrap.

sergiotapia 2 days ago 2 replies      
I've tried to use Foundation before and it's responsive grid was ghastly. This was the first time I tried anything responsive mind you. So I jumped towards Bootstrap 3 and it's grid was phenomal to use.

Predictable, simple and quick to iterate - everything I wanted.

I'm going to give this release a try. The interchangable items based on device widths looks fantastic! I'm really excited to give Zurb a try. :)

minimaxir 2 days ago 0 replies      
When I was choosing a framework for a redesign for my blog (switching from Bootstrap since it was getting cumbersome), I decided to try out UIkit, since I ended up not needing any of the JavaScript plugins or super-fancy CSS effects.

However, after taking a look at Foundation 5's plugins, I will definitely try using the framework if I need to undertake a website with more ambitious functionality.

antihero 1 day ago 0 replies      
One thing that seems utterly absurd is that now you need to have two ecosystems to build one project - both node and and ruby. Seeing as it is uses libsass to build now, why not ditch the ruby cli and port it to node?
mixmastamyk 2 days ago 1 reply      
What's the recommended way to use this with a python dev environment?

I'd rather not have to install ruby too just to rebuild the css. When one of these is announced I usually find myself navigating the various poorly-maintained python modules that process the source files, get lost, give up, and go back to plain css.

Perhaps I could just add a bit of css to a static build instead? Are there any shortcomings to that?

kclay 2 days ago 0 replies      
The Interchange plugin saved my butt on a recent project. Client wanted to have 5 different images for different sizes, it was a breeze to setup even when having to integrate it with the supersized slider.
mtarnovan 1 day ago 0 replies      
Congrats ! Looks like a big release.

Some pain points from using Foundation (4) in our latest project:* topbar sucks* custom forms are horrible (they seem to have been removed from 5, or maybe justs the docs are missing)

Also, using under_score instead of camelCase in javascript is a questionable choice with no real benefits.

xwowsersx 2 days ago 3 replies      
I don't know why (maybe I'm just not good with css and html in general), but I'm always confused when looking at these grid systems. Trying to use zurb in a project now and I'm kinda lost. Any good resources other than their docs for sort of showing how to use zurb in a full project?
vcherubini 2 days ago 1 reply      
Foundation is without a doubt the nicest CSS framework I have ever used. It really, really helps me, as a programmer, create amazing interfaces without much effort at all. Combined with SASS and it's a winning combination.

Can't wait to start playing with version 5.

jeffpersonified 2 days ago 0 replies      
How is their inclusion of a medium break point not at the top of this thread? This is the most significant and noticeable addition to the Framework IMO.
silviogutierrez 2 days ago 2 replies      
Is Foundation better than Bootstrap? I'm genuinely curious, as they seem functionality equivalent.

Of course, one uses SASS and one uses LESS. I knew LESS, so I picked Bootstrap.

But I'm more than willing to switch.

ultrasandwich 2 days ago 5 replies      
Looks like it dropped support for IE8, which unfortunately eliminates this as an option for a lot of client work. Seems like a solid go-to for more forward-thinking projects though.
ds_ 2 days ago 1 reply      
Can anyone tell me how to make a split button / dropdown that goes upwards (dropup)? This is one thing bootstrap has which I've been missing in foundation.
afriend4lyfe 2 days ago 1 reply      
I'm new to web design and have been experimenting with a few other development environments. Reading through these comments I became excited to learn more about foundation. I went to their site and looked at their site examples. Many of them were broken and didn't seem to work as intended, nor were they very beautiful to the uninitiated. This was on a desktop using chrome. I didn't bother to check with my mobile.

My main platform so far has been extremely buggy too and is not even primarily made to create websites. I've been using Google Web Designer. Take my advice with a grain of salt as I represent hobbyist developers who thought "hey, i'd like to build a site. what tool should I start with?" I would not invest $200 to enroll in your intro course for something that gave me an initial first impression of being flimsy. However, it is equally likely that I am unable to realize the full potential of your product with my limited understanding of web development at first glance.

I'm excited about seeing how Macaw works and am going to begin a new project with Bootstrap soon. While my main focus has been purely static web design I plan to incorporate dynamic applications within my approach very soon.

tszming 2 days ago 0 replies      
The sliding panel's animation is sluggish on Firefox Mobile/Samsung S4
princeverma 2 days ago 0 replies      
Is there a good alternative to Abide for Bootstrap ?
qhoc 2 days ago 0 replies      
I switched from Foundation 4 to Flatstrap (a version of Bootstrap) instead because I like the flat UI. v4 had many problems with JS and especially topbar was never good enough. I ended up creating my own topbar which is not ideal. Also the lack of fixed cols is a big issue for desktop design.
nej 2 days ago 1 reply      
Is clicking on Learn suppose to drop the page like this http://imgur.com/yH9OKB3? Happens on both Chrome and Firefox.
caiob 2 days ago 1 reply      
When will this be available on Rails?
nathanwdavis 2 days ago 2 replies      
The linked web page crashes Safari on iOS 7. Mobile first, eh?
nettletea 2 days ago 1 reply      
Chrome zoomed in at 125% is enough to break the layout on the getting started page, which is a little worrying.
thomasfl 1 day ago 0 replies      
I am switching to today.
michaelbuddy 2 days ago 0 replies      
already foundation 5. I've only just had two dates with foundation 4. Between foundation and Jeet, I'm so stoked to have these to work and collaborate on.
dabernathy89 2 days ago 1 reply      
seems kind of odd to integrate their own CLI instead of just writing a yo generator - and where is the documentation for it?
travelorg 2 days ago 1 reply      
Is Foundation a "Standard" now?
dylandrop 2 days ago 0 replies      
Just asking - Bootstrap and Foundation essentially help you accomplish the same task, so why wouldn't you compare it to Bootstrap?
Segmentation 2 days ago 2 replies      
My only problem with Zurb is that ridiculous mascot that represents it. What is that sky-blue creature? Hipster yeti?
DOJ lied to Supreme Court to avoid judicial review of warrantless surveillance documentcloud.org
335 points by revelation  1 day ago   89 comments top 11
rayiner 1 day ago 5 replies      
Read the questions at the end. The letter isn't fucking around:

"We believe that a formal notification to the Supreme Court of the government'smisrepresentations in the case--both relating to its notice policy and relating to its practice of'about' collection under Section 702 of the FISA Amendments Act--woulcl be an important stepin correcting the public record and would be in the interests of the public as well as of theAdministration and the Supreme Court."

Zikes 1 day ago 3 replies      
This sounds important, but I'm at a loss as to its significance.

What was Clapper v Amnesty?

It sounds like Solicitor General Verrilli made a lie of omission in the court. Is that considered a lie under oath?

What obligation does Solicitor General Verrilli have to the three Senators to answer their questions? What consequences might he face if he choose to ignore the letter?

Realistically, what could this mean for the original Clapper v Amnesty case, and how might it affect the public in general?

w1ntermute 1 day ago 1 reply      
Unless some high-level DoJ and NSA officials are thrown in jail for a couple decades for all this, it's not going to stop.
jstalin 1 day ago 0 replies      
I know the words "ethics" and "lawyers" don't generally enters people's minds at the same time, but the model rules of ethics for lawyers take this sort of thing seriously. If the Senators show that some lawyers did indeed lie to the Supreme Court, the Court itself could take action on those attorneys' licenses. It's also a lawyer's duty to report if they are aware of another attorney's violations of ethical rules.

I know it's doubtful, but one can hope.

fleitz 1 day ago 4 replies      
I wish someone could make a treason case out of perjury in relation to a matter of national security during a time of war for these actions.

This crap would stop pretty fast.

zcarter 1 day ago 0 replies      
Lawyers: What precedent is there for supreme court decisions citing a specific piece of evidence as the basis for their ruling, where that piece of evidence is later shown to be erroneous?
tsaoutourpants 1 day ago 3 replies      
These three Senators have realized that they can capitalize on public sentiment against the NSA.

Good on them... that's what representing the people is about.

mvanga 1 day ago 0 replies      
Would someone be willing to provide the background, interpretation and ramifications of this document for someone not very familiar with this case?
salient 1 day ago 0 replies      
Don't expect Holder the Untouchable to ever be punished for this. At this point I think he's more untouchable than even "Emperor Alexander", the current (and soon former) chief of NSA.
VladRussian2 1 day ago 0 replies      
just to put things in perspective - is is any surprise that people who is ok with torture would lie? Why would someone expect it different?
adultSwim 1 day ago 0 replies      
Warm Regards
Mathematica on Raspberry Pi for free raspberrypi.org
297 points by 2pi  2 days ago   178 comments top 17
jordigh 2 days ago 8 replies      
Timeo Danaos et dona ferentes... I fear the Greeks even when they bring gifts...

I don't get it... Wolfram is a money-hungry egomaniac. For example, unlike the other big Ma competitors (Maple, Matlab, Magma) not a single source line of Mathematica code is exposed. He's litigious, he labels everthing "mine", he endlessly praises himself. He wrote this insulting "don't worry your pretty little head with our source code, it's too complicated for you" piece:


So... gratis Mathematica on Raspbian... what's the catch? Is it to lure us to the cloud?


Edit: To clarify, my guess here is that they want to give people a taste of Mathematica on weak hardware in order to lure them to a subscription model on "the cloud" where much more processing power will be available, just like widespread university site-wide licenses and turning a blind eye to student piracy are great marketing strategies.

Is there any evidence to support my wild theories?

shared4you 2 days ago 3 replies      
This is why Debian does not recommend Raspberry Pi [0]

> Despite the hype it is a more closed platform than many other things you could buy

Claiming to be open, but still encouraging and endorsing non-open-source software.I was startled to read why R.Pi is unsuitable for education [1]

[0]: https://wiki.debian.org/RaspberryPi

[1]: http://whitequark.org/blog/2012/09/25/why-raspberry-pi-is-un...

fidotron 2 days ago 5 replies      
Kudos to Wolfram for this.

I do wonder how much pressure they're feeling from the likes of IPython these days and if that was a motivating factor.

The other part is I don't think I've met a regular Mathematica user that actually likes it, so this may turn out to be a bad idea!

nswanberg 2 days ago 0 replies      
You know who else bundled Mathematica for free?


ISL 2 days ago 0 replies      
It has been my hope for many years that Wolfram would open-source Mathematica one day. I can think of no better way to ensure his legacy.
phonon 2 days ago 0 replies      
You can read Wolfram's post about it here.http://blog.wolfram.com/2013/11/21/putting-the-wolfram-langu...

Note that it includes a beta version of the new Wolfram Language!

tomrod 2 days ago 3 replies      
So all I need for a free mathematica install is to spin a virtual machine with Raspbian?
Create 2 days ago 0 replies      

FriCAS/Axiom running on ARM board (ie. Raspberry Pi) on top of Clozure CL (on Ubuntu/GNU/Linux)

ics 2 days ago 1 reply      
So how many Pis can you cluster together to equal the performance of a standard i3/5/7 laptop (for non-GPU bound calculations)?
thearn4 2 days ago 1 reply      
Cool, but I've been using python+scipy+sympy on a pi for almost a year now. I think Wolfram is a bit behind the curve.
Someone 2 days ago 1 reply      
Does anybody know what license this is released under? For example, can one run it under an emulator? On something more powerful than a Pi? Using an ARM-to-my-CPU jitter (does that work at all, or does Mathematica have its own JIT inboard?)

If one managed to hack the binaries and include them in an iOS app, would Wolfram permit that?

SifJar 2 days ago 3 replies      
seems like buying a Raspberry Pi just became an extremely cheap way to get Mathematica, then.
misframer 2 days ago 3 replies      
ARMv6 doesn't support hard float, right? Why would you want to do calculations on an Pi?
flatfilefan 2 days ago 1 reply      
Mathematica being what it is, what are science intensive problems worth solving on raspberry pi without uploading to a server?I'm thinking along the lines of robototechnics. Something like calculating a ballistic trajectory for autonomous gun turret with statistical analysis of precision via feedback loop. Feedback being the delay of sound of projectile impact for impact distance. Or visual position of a hit. You get the idea. What can you think of for civil use?
mcguire 2 days ago 0 replies      
Interesting marketing strategy: free is good advertising, but (FWIU) the raspi doesn't have the horsepower to compete with Wolfram's actual products.
runn1ng 2 days ago 1 reply      
Wasn't Raspberry Pi supposed to be free software?
chj 1 day ago 0 replies      
Does it mean a 600MB package on the Raspbian image?
25 years ago I hoped we would extend Emacs to do WYSIWG word processing gnu.org
274 points by ics  2 days ago   177 comments top 29
tikhonj 2 days ago 9 replies      
With inline LaTeX previews, we're already surprisingly close. In fact, I'd say that going all the way would be almost a step back. WYSIWYG is ultimately not an ideal editing paradigm: it wins in the short term, being easy to learn, but drags you down in the long term.

I've recently started using Quora a bit more. Unlike StackOverflow, they use a WYSIWYG editor. I've found this significantly less convenient than StackOverflow's markdown. Similarly, switching from Word to LaTeX was an improvement for most tasks once I got used to it.

Unfortunately, LaTeX has a bunch of its own shortcomings not related to it's non-WYSIWYG nature. For common tasks, I think going from markdown to LaTeX is ideal. Markdown itself is far from perfect, but it's the best compromise I've found especially with Pandoc's extensions.

So here's my idea for a great emacs-based document editor: markdown with inline math previews coupled with a full live preview to the side. All the necessary modes for this already exist (like whizzy TeX and AucTeX's previews), so it should be much easier to put together than a full WYSIWYG editor. More productive, too.

gexla 2 days ago 4 replies      
> I don't know how to use Org mode, and don't know what it does (it seems to do so many things), but if it displays through Emacs then there are many formatting features that it can't display in a WYSIWYG fashion like Libre Office.

I can't believe Stallman doesn't know how to use Org mode. If he is interested in selling people on Emacs, then Org mode is one of the killer features for the presentation. I don't expect him to know something he has no use for, but he should know the most popular components in the Emacs ecosystem. Org mode is one of the only reasons I started using Emacs.

Derbasti 2 days ago 2 replies      
Quite simply, explicit markup makes it very easy to see what formatting will be applied to what text.

WYSIWYG only shows you the end result, with no clean way to see how you got there. Was this font introduced because of some theme? Was it applied because of some toolbar button? Is it the result of some template? Was it copied from somewhere else, thereby baking someone else's theming into the copied text?

These are the questions that make WYSIWYG so confusing. These are the things that make explicit markup so straight forward. I don't think you can have WYSIWYG without the confusion or while maintaining the power of explicit markup.

If anything, Markdown or RST or Org provide a compelling middle ground: Markup is still explicit but minimal, and styling tries to come as close as possible to WYSIWYG without sacrificing control.

This, I think, is a far more compelling route to take than WYSIWYG or LaTeX-style explicit markup.

ChuckMcM 2 days ago 2 replies      
This is the epitome of the challenge of open source.

RMS whines : "25 years ago I hoped we would extend Emacs to do WYSIWG word processing. That is why we added text properties and variable width fonts. However, more features are still needed to achieve this.

Could people please start working on the features that are needed?"

And he's 100% accurate, it has been 25 years, and there is an open source WYSIWYG word processor, called Libre Office these days, but that isn't what RMS wants. He wants someone to do the work to make his tool of choice into something which can do what he wants to do in it.

A lot of people go this way, and we see several tools that all do variations on the same thing in their own peculiar way (Vive du choix!) but that means it is really really hard to figure out how to get somethings done when each set of tools rely on their own set of other tools.

The nice thing about Cathedrals is that you know what is expected of you :-)

Zigurd 2 days ago 2 replies      
Is this as staggeringly naive as it looks?

Some of the people responding are steering the discussion to a layout language with a preview window. I don't know if they are doing it because they prefer to work in such a user-hostile mode (I did this for a book, in Eclipse. Ugh.), or if they think this is a more sane goal.

WYSIWYG has its own issues. most users of word processors have no idea that paragraphs are objects in an object model, but the command structure only becomes clear when you realize that. Most users just hack at a document it until it looks right enough. At the really diabolical end of the spectrum I could show you an Ericsson documentation template that manages to manifest dozens of bugs in Word, laying in wait to eat your previous hour's work. I'm sure you have inherited documents like that.

It's all more or less a kludge, and WYSIWYG never is quite, nor is it real direct manipulation. At best it is something like "moderately friendly visual document CAD, if you get the trick behind the slick appearance."

dspillett 2 days ago 1 reply      
I'm hoping this is a joke, otherwise

> Could people please start working on the features that are needed?

sounds far too like the completely detail-less requirements we get through from our clients like "please provide robust MI".

melling 2 days ago 4 replies      
Stallman lacks a coherent vision. He has an end goal but he really doesn't have a great plan to get there. It's really frustrating. Emacs could be a lot better. For instance, it has taken forever to get a high-performance Lisp working inside of Emacs. I think Guile is partly there?

Anyway, since we'll all be long dead before his plan starts to work, I think the better solution is to support inexpensive software. For example, I pay for Sublime Text. Recently I bought PixelMator and Sketch, and I'm planning on learning how to use them soon. :-)

Sure it would be great if Free Software ruled but faster change comes with a paid ecosystem. The real problem was that software was expensive. If it's simply inexpensive, we'll get most of what we need.

adamnemecek 2 days ago 2 replies      
Out of curiosity, what is Stallman a doctor of? Wikipedia says that he did not finish his Ph.D. Or is that one of the honorary doctorates he received?
motters 2 days ago 0 replies      
Personally I think that orgmode is more useful than WYSIWYG
Toenex 2 days ago 4 replies      
I've always felt it was this kind of thinking that puts Emacs at odds with the UNIX philosophy of do one thing well. Unless your one thing is everything-you-can-do-with-text.
mathattack 2 days ago 0 replies      
Could people please start working on the features that are needed?

As someone aware of gnu, but not an active participant, how effective are requests like this? Does "Can people start working on this?" actually get results? I'm curious as this gets to the heart of why they may have trouble finishing things. (You can't toss money at someone to do the dirty work)

I'm coming with an open mind, and would like to hear either side of this.

pkaler 2 days ago 1 reply      
The thing about "What You See Is What You Get" is that you have to define 'where you get it'. You have to define 'it'.

The implementation will look vastly different if you define 'where' as a printer, desktop, tablet, mobile phone, wearable device, etc. It sounds like RMS means his desktop/laptop computer. On the upside, you have a user archetype: Richard Stallman. A good product manager would start building up a list of user stories:

  - As Richard Stallman, I want *goal* so that *benefit*.

daleharvey 2 days ago 6 replies      
I love emacs, and although I have long tried switching to other editors (I am fairly determined to use web based applications only, brackets is getting close) I havent been able to replace it yet.

However its the only application I didnt know how to copy and paste in when I started using it, its still the only application I use that I dont know how to resize the text in.

It would be kinda nice to see people work on those type of things.

joosters 2 days ago 1 reply      
Quick! Someone add emacs bindings to MS Word, change the styling a little bit, and we can get Stallman to unknowingly be using the devil's software :)
zvrba 2 days ago 3 replies      
Is this Stallman-humor?
jmount 2 days ago 0 replies      
We've already run the experiment and seen what happens when people try to collaborate with the Gnu Emacs team (jwz, lemacs, xemacs).
gavinlynch 2 days ago 1 reply      
I wonder what is preventing Stallman from doing it himself? It is, after all, open source.
blisterpeanuts 2 days ago 0 replies      
I like enriched-mode for simple markup purposes, like bolding headers. It's nothing spectacular, but makes an on-screen document that much more readable, and it doesn't add that much bulk to a text file, just a few extra markup directives.

It's easy to use, too. Select the text, ALT-o b = bold, and so forth.

Still, a true WYSIWYG editing mode would be cool once in a while. Although, it's not that much trouble to select text and paste into a nearby LibreOffice window for true formatting.

danielweber 2 days ago 4 replies      
How about making emacs close when I hit the "close window" button on Windows 7?
catmanjan 2 days ago 1 reply      
Neat. Really. I really want to use emacs but I find it hard to justify learning all it's intricacies when I'm only going to use it at certain times while programming.

This kills two birds with one stone, gets me off MS Office and into keybind heaven

petdance 2 days ago 0 replies      
Dear Mr. Stallman,

I don't think that's how open source works, but hey, can't hurt to ask.

jheriko 2 days ago 0 replies      
but we have many great wysiwig editors... isn't emacs specifically for all the people who want a highly configurable weird and wonderful dev tool and care little about wysiwig because they are writing code etc.?

i don't agree with what those kinds want.. but they should be allowed to have it. :)

gnuvince 2 days ago 0 replies      
No thank you; I like Emacs as a text editor, and if I need a word processor, there are alternatives out there. No need to make Emacs even more complex.
callesgg 2 days ago 0 replies      
How are one supose to get usefull wysiwg in the console.You are basicly restricted to bold and a few colors.

I guess that could work but when i want anything useful like larger font size.Then what?

whydo 2 days ago 1 reply      
Why don't we have both: a WYSIWYG Designer, and a Source code editor?

That way you get productive immediately with the designer, yet still have the power to fine-tune every detail using the text editor.

dmead 1 day ago 0 replies      
ironic he recommends regular phone calls which use software that is not free to just using skype
minor_nitwit 2 days ago 0 replies      
I'm surprised there's no shortcut for this.
thatmiddleway 2 days ago 0 replies      
Take a look at asciidocs, really a great solution.
LG TV logging filenames from network folders renney.me
270 points by Amadou  2 days ago   100 comments top 19
noonespecial 2 days ago 4 replies      
The implications are troubling. Your TV collects and broadcasts for the permanent record of anyone who can snoop the cleartext (your neighbors, your ISP, whatever the NSA looks like in your country, etc) all the media it can find on your network.

We used to need firewalls at the edges of our home networks to keep bad actors out. Now we need firewalls that point the other direction to keep the bad actors on our networks in.

Amadou 2 days ago 8 replies      
Can anyone recommend a consumer grade router that has a good GUI for tracking outgoing connections in real-time and setting up rules to control them?

I am imagining some kind of add-on to DD-WRT or derivatives that will put up a real-time graph of devices on my home network and draw lines representing outgoing TCP and UDP connections while also logging them in a tabular format. Both forms would be clickable to drill down for more details (including session packet captures if enabled) as well as set policies like a per device white-list of acceptable IP addresses to connect with.

I know all of this is possible with individual tools like tcpdump or wireshark and ip-tables configs, but that is too painful. I'm looking for a robust GUI on top of all that.

sdfjkl 2 days ago 3 replies      
Seems it's time to put your closed-source consumer devices into a DMZ, with carefully limited access to both the internet and your home network.
cientifico 1 day ago 2 replies      
The only possible way to fix this in some way, is having Open alternatives.

Will love that when you buy a tv, you buy just the monitor. Without the tunning hardware or the crappy ooss. Like when you do with projectors.

Then you buy any chromecast, raspberrypi, or something that you can hack.

I can see for 2014/15 having a lot of startups creating small devices to connect to monitors only that tune internet in the same way they tune digital-tv.

Once you have competition in that market, you can start thinking in security.

munger 2 days ago 2 replies      
Here is the list of domains from the original doctor beets post linked in the this story to block on your router to stop this:







birger 1 day ago 0 replies      
The dutch website tweakers.net contacted LG and confronted them with this behaviour. They replied that it was a left over from some functionality that was never fully implemented and it will be removed in an update.

Most of the commenters there don't buy that story, just like here. Full story (dutch): http://tweakers.net/nieuws/92747/lg-erkent-versturen-privacy...

Wingman4l7 2 days ago 0 replies      
The dangerous precedent set here is inclusion of Terms & Conditions on multipurpose electronic hardware.
ris 6 hours ago 0 replies      
So who's going to be the first to start sending bogus data to LG's endpoints?

Could do some very fun things to their statistics.

vijucat 1 day ago 0 replies      
Also, my LG TV's WiFi password text box doesn't accept anything other than letters and numbers and not more than 8 chars long. What is this? A 10th grade programming assignment?!

Having to change my router's password to something insecure just to accommodate LG's retarded software sealed the deal : I will never buy anything LG again.

kenrose 2 days ago 0 replies      
Previous discussion from the original DoctorBleet finding:


nemik 2 days ago 2 replies      
This was only found because LG was stupid enough to use plain HTTP instead of HTTPS. I wonder how many devices use SSL/TLS for this same thing that just haven't been caught yet.
nathan_long 1 day ago 1 reply      
"Dear LG,

I've really enjoyed using my LG TV/network informant. I'm wondering whether LG has any other exciting products I could use.

Do you happen to sell a camera that monitors my location? What about a vacuum that phones home with my fingerprints? Or perhaps a washing machine that steals my dreams?

Thanks for developing the products of The Future!"

rak 2 days ago 4 replies      
Genuine, question. How does one actually go about sniffing traffic from a device like this? This is really interesting stuff.
nathan_long 1 day ago 0 replies      
What is this even supposed to be doing? Monitoring the user's watching habits is evil but unsurprising. But why do they even want your filenames?
fat0wl 2 days ago 0 replies      
reminds me of the old sony rootkit cd stuff.

But i think a lot of these companies know that it would be legally hairy to get into vigilante DRM justice, so instead they just surreptitiously collect data that will let them plot their next move. maybe that's paranoid, but comeon in this day & age everything is logged. Even if they are serving 404s, it's trivial to log that data anyway (as was pointed out) or maybe it goes straight to server logs and someone in LG analytics says in the future "well, that data is there somewhere... we may as well use it"

it's hard for me to imagine someone at a corporation standing up and going "NO! that's violating our users' privacy". they pretty much consider any info they can get to hit their servers to be their property no questions asked

salient 1 day ago 0 replies      
Isn't Windows 8.1 logging local filenames, too, thanks to the integrated Bing search and advertising platform, so then it can serve you ads based on your local files?
dredwerker 2 days ago 0 replies      
Coming soon to an episode of CSI
philthesong 2 days ago 0 replies      
Great work by Samsung!
shmerl 2 days ago 0 replies      
Did anyone think DRMed systems can ever be trusted? If you are using one, expect stuff like this by default.
When We Lose Antibiotics, Here's Everything Else We'll Lose Too wired.com
255 points by jcklnruns  3 days ago   175 comments top 21
kephra 3 days ago 6 replies      
> Without the drugs that keep livestock healthy in concentrated agriculture, wed lose the ability to raise them that way.

Antibiotics for industrial animal farms are one of the reasons bacteria develop multiple resistances. One should ban antibiotics for animals world wide. Unfortunate this wont happen, till its to late.

"The sheep look up" holds still true.

ChuckMcM 3 days ago 8 replies      
Of the many topics that seem to capture the attention most readily, tales of the apocalypse to come are perhaps the most compelling.

For reasons I don't completely fathom, people gravitate toward stories of impending doom much more readily than stories of impending happiness. History shows that 'good' unexpected things happen just as frequently as 'bad' unexpected things happen, and consequently we get a lot of change but not necessarily all bad change or all good change.

Still you can write a blog post that the economy is near the breaking point, our civilization is mere moments away from collapse, or that some calamity is on the verge of wiping us out, and get all the page views you can monetize.

ck2 3 days ago 1 reply      
Holy hell, antibiotics are used on fruit?

To be honest I was a bit smug because I don't eat meat.

So much for that. Wow we are in trouble.

estebank 2 days ago 0 replies      
I see a lot of people here dismissing this as a non-problem because it wouldn't be of apocalyptic proportions. I don't think anybody with two brain cells to rub together would say losing antibiotics would be an extinction event, that's not the point. The point is that infections will likely become the number one killer, it already is number two[1].

[1]: https://en.wikipedia.org/wiki/List_of_causes_of_death_by_rat...

batbomb 3 days ago 3 replies      
> If we really lost antibiotics to advancing drug resistance and trust me, were not far off

When did journalists become biomedical experts? I don't want to read a story about a serious subject that says "trust me".

clinton_sf 3 days ago 4 replies      
I suspect this problem will self-correct. It's not that we've run out of choices: it's partially that pharmaceutical companies had the narrow view that developing new antibiotic drugs is less profitable than developing drugs for chronic illness (e.g., to control cholesterol); once catastrophe hits due to bacteria being resistant to all current drugs, it will be extremely profitable to work on this class of drugs again. Take a look at this interview with Dr. John Rex M.D., (V.P., Clinical Research, AstraZeneca) [1]

"Dr. JOHN REX: If you need an antibiotic, you need it only briefly. Indeed, thats the thats the correct way to use an antibiotic. You use it only briefly.

And from an economic standpoint of a developer, that means youre not youre not getting the return on the investment youve made because youve spent between $600 million and a billion dollars to bring that new antibiotic to market."

[1] http://www.pbs.org/wgbh/pages/frontline/health-science-techn...

Houshalter 3 days ago 2 replies      
Aren't drug resistant bacteria weaker though? Like reproducing slower, spreading less, being more likely to be defeated by your own immune system?

Also antibiotics would still be good against most bacteria since only some have evolved antibiotic resistance. I know they can sometimes spread to other species of bacteria, but they still would be at a disadvantage outside of places that use antibiotics. If you just got cut or something with random bacteria in it wouldn't you probably be ok?

FollowSteph3 3 days ago 0 replies      
Nothing we do on the human scale compares to the routine use of antibiotics on the agricultural scale, especially when it comes to animals...
josefresco 2 days ago 0 replies      
If you're interested on antibiotics there's a good Frontline piece on "gram negatives".


Their point was that it's not "when" we reach this point ... we already have.

jkbyc 2 days ago 0 replies      
There is a nice simulation game where the goal is to kill all of humanity by evolving a disease:


You can learn a thing or two about the problem space just by playing the game.

smegel 2 days ago 0 replies      
Are we really going to care that heart surgery is no longer viable when deadly pandemics are spreading around the world killing percentiles of the population?
300bps 3 days ago 1 reply      
When We Lose Antibiotics, Heres Everything Else Well Lose Too

Well I guess all hope is lost then. The title isn't, "If We Lose Antibiotics" after all.

So why bring it up at all? There are no (ahem) prescriptions for fixing the problem in the article. Just a clear, terrifying outline of most of the bad things that are going to happen. And a plug for her book that presumably has the cure? I read the Amazon reviews of the book (currently 25) and there isn't much of a mention of what the purpose of reading the book is. In fact the main purpose of reading the book based on the reviews I read is that it is supposed to scare the bejesus out of you. Again, to what purpose?

Should I be advocating against livestock use of antibiotics? Should I be advocating for tighter control of prescribing antibiotics?

This could be the scariest thing in the world but honestly it seems more like sensationalist journalism and an attempt to sell a book than a call to serious action.

sn0v 2 days ago 0 replies      
Unfortunately, by the time there are enough regulations regarding the use of antibiotics (for livestock and agriculture) worldwide, it might just be too late.
wil421 2 days ago 0 replies      
This article is talking as if all bacteria would suddenly become resistant to everything. I doubt it would be so sudden are more of a gradual decline.
kornork 2 days ago 0 replies      
I would love to know the current status of using viruses (bacteriophages) to replace antibiotics.


nlvd 2 days ago 1 reply      
Is this happening actually a bad thing? With vast over population about to occur, it seems like this might be a natural solution to a difficult problem. If all the sick people start dying again as would have originally happened things like plagues/wars will be considerably more devastating.
phryk 2 days ago 0 replies      
> Tattoos.

This triggered my FUD detector.

pgreenwood 2 days ago 1 reply      
There's considerable promise in phage therapies as an alternative to antibiotics. And they may well not suffer the same problems of resistance since phages are targeted to specific bacteria.
riggins 3 days ago 0 replies      
bring on the cricket protein powder
jotm 2 days ago 0 replies      
Well, I've yet to use antibiotics, and I hope I never have to. The only time I've been given some was after a minor surgery.
encephalogram 2 days ago 0 replies      
Mass hysteria and fear mongering, in the name of book sales. Blah, blah, blah. I'm not worried. I believe engineering can solve whatever microbiology and pharmaceuticals can't. But in the spirit of the article...


US blogger fined 8,000 Euros by France for criticizing Socit Gnrale globaleconomicanalysis.blogspot.com
253 points by jstalin  2 days ago   223 comments top 27
epsylon 2 days ago 5 replies      
The comments here are atrocious. I expected more from HN than senseless French-bashing and 'Murica flag-waving.

A few informations for context:

- Two bloggers were fined, one French, and the American one for quoting the French.

- The fine emanated from the Commission des Sanctions (sanction committee) of the AMF (Autorit des Marchs Financiers), the French stock market regulator.

- It's supposed to be independent, but they are notoriously in bed with banks, with most members of the commission being former higher executives of major banks. Therefore, it's no surprise that they will do this kind of stunts in order to protect their interests.

- It's been talked about in several (right-wing) publications like Atlantico or Les chos, where journalists have pointed out that this is one more action that proves the absence of credibility of the AMF.

gnu8 2 days ago 8 replies      
I hereby fine Socit Gnrale 8,000 bitcoins for violating the American constitution (never mind jurisdiction since they don't care for it either), notice duly served by posting this comment in a public forum and witnessed by whoever happens to read this.
camus2 2 days ago 10 replies      
Not surprising, there is no free speech in France.

Especially when it comes to crooked banks or politicians. France is a strange country that likes to give lessons about democracy to the rest of the world, but when you look at things closer, France is closer to a monarchy than a democracy.

Everything is so centralised that information usually comes from an single source of truth, that journalist dont even bother questioning since they are all married with politicians (literally).

declan 2 days ago 2 replies      
This judgment is unenforceable in the United States as a matter of public policy (thanks to our First Amendment). So it's merely an attempt by Socit Gnrale to muzzle critics.

If Mish were a multinational company with operations in France, it would be different. But he's not. So he can gleefully ignore it, as he is, correctly, doing.

csmuk 2 days ago 2 replies      
UK banks are just as bad. A company I worked for previously gave a bank's investment products a high risk rating because of poor investments/compliance and they sent all sorts of nasty shit out.

Every bank has a "send people nasty shit" department by the looks.

The answer is as always: "fuck off".

grecy 2 days ago 4 replies      
The hypocrisy of the comments here is hilarious.

This is exactly the same as the MPAA shutting down websites and fining people all over the world. All the people here crying "they have no jurisdiction!" are really just getting a taste what their own government has been doing to people all around the world for decades.

Never mind 'Murica going around the world enforcing their laws and ideals with their armed forces.

witek 2 days ago 6 replies      
Hilarious. It baffles me how this country continues to operate given the massive public spending/benefits, delightful reforms (e.g. proposed 80% tax rate for high-earners) and pretty xenophobic view on immigration. ALL of my (highly-skilled) French friends do not plan to return in the foreseeable future.
HeXetic 2 days ago 7 replies      
I don't understand how this court system can be so silly as to fail to recognize that it has no jurisdiction over someone. Isn't the question of jurisdiction one of the first steps in any court case?
cinquemb 2 days ago 1 reply      
This might be pretty meta, but from looking at some of these comments makes me wonder how in the age of the internet, which give us a de facto global commons onto exchange ideas/information/currency and securely for those who take the steps to do so, some people still have an an affinity for whichever line drawn around them the sand in which one had no say in personally. Can we form something better through the aforementioned means? And what will it take for more people to start looking outside the box for solutions? More increased hardships of whimsical imposition?
sebkomianos 2 days ago 1 reply      
I would be more happy to read something like "Human blogger fined 8,000 euros by the french justice department for criticizing a bank".

Now it sounds like the people of France decided to fine just an American blogger.

eliteraspberrie 2 days ago 0 replies      
The AFM has no jurisdiction over me, so they won't collect. As a US citizen living in the US, I am not subject to the absurdities of French laws, or French witch hunts. All they get from me is a vow to never go to France.

This was likely the desired outcome: a chilling effect. However, there is no need to be intimidated, Mr. Shedlock can still travel freely to France without worry. There are no debtors prisons, no credit rating agencies, and assets are difficult to seize outside of a criminal conviction for violent crimes. At worst, he will receive more letters in French.

themodelplumber 2 days ago 1 reply      
This coverage is going to get him more than 8KE worth of blog visitors. Particularly the "hey, this little blogger was sharp enough to uncover some real weird stuff on the part of SG" angle. Blog readers eat that up.
agilord 2 days ago 1 reply      
I think Tim O'Reilly or Jeff Jarvis or Clay Shirky (unfortunately I don't have the bookmark anymore) already addressed this:

The case is a prime example that what you write is not only the jurisdiction where you write it, but also the jurisdiction where people read it. (And the jurisdiction where it stored and where it is going through as network traffic.)

xacaxulu 2 days ago 0 replies      
At least Commission des Sanctions didn't send drones to bomb the guys with hellfire missiles. I'd say the US doesn't have much moral authority on extranational law enforcement, fiscal or otherwise.
iSnow 2 days ago 0 replies      
>The AFM has no jurisdiction over me, so they won't collect. As a US citizen living in the US, I am not subject to the absurdities of French laws, or French witch hunts.

Just you wait till the transatlantic free-trade association is in place...

pjc50 1 day ago 0 replies      
Compare American "product defamation" law: http://en.wikipedia.org/wiki/Food_libel_laws and the UK "Trafigura" lawsuit.
Mithaldu 2 days ago 2 replies      
That guy managed to instantly go from slightly above zero respect to negative, when i copy-pasted stuff and noticed that his site saw fit to add spam onto that in the buffer.
nraynaud 2 days ago 0 replies      
Note that this stupidity from a French independent administration didn't end up in droning a whole family and in the end everybody is good for a laugh and life carries on. This case has absolutely no chance of passing any legal test.
lifeisstillgood 2 days ago 0 replies      
"Hey France! you can't possibly borrow more than 27 times your house's value, that's crazy. Look at the US, they only borrow 17 times their houses value - that's prudent fiscal behaviour."

yeah I feel so much happier

amercade 1 day ago 0 replies      
Please stop playing their game. The 1%, or maybe the 0.01%, wants the rest of us to fight stupidly over which country is better. "My laws are better", "your banks are crap" etc

This is a world wide class warfare we are living. Don't play the countries confrontation games. Don't be their pawn.

We the people should be together against the powerful ones and demand our rights everywhere, not just in our country.

We need to globalize justice, not just the economy.

<slightly demagogic and rushed rant/>

PythonicAlpha 2 days ago 0 replies      
I don't see so much difference in France, the US or other countries:

Money has not become king in our society, no! It has become God and the money-people are the priests of our religion! We are not so much better as the middle ages where.

lasermike026 2 days ago 0 replies      
So much for Liberty, Fraternity, and Equality.
salient 2 days ago 1 reply      
Can I just say how much I hate that Google automatically turns blogspot.com into the TLD of your own country? Who the hell wants that?
vernie 2 days ago 0 replies      
I hereby fine Socit Gnrale for overuse of acute accents.
bwb 2 days ago 0 replies      
lol, fuck the french :)

I say that in complete jest, but that is hilarious.

salient 2 days ago 1 reply      
These stupid short-sighted governments are going to ruin the Internet for the rest of us through their greed for money (like in this case) and power (NSA mass surveillance).
ffrryuu 2 days ago 0 replies      
Freedom is dead.
Free vector icons piotrkwiatkowski.co.uk
241 points by Ashuu  2 days ago   38 comments top 11
Breefield 2 days ago 1 reply      
Every single SVG icon in the .zip contains every icon in the whole set...Show 4 different icons on your site? Load the whole set 4 times...
thatthatis 2 days ago 1 reply      
It's worth noting that these come with a free commercial license, not a FOSS license.

That said, for what I'd use them for free commercial is far preferable to GPL.

ogreyonder 2 days ago 2 replies      
Wow! I was just looking for something like this. Thanks for sharing.

I especially like the permissive license -- commercial or non-commercial use with modifications allowed and no attribution requirements. Basically, you just can't sell the icons as your own work.

That means I can actually have nice icons in this project I'm doing for work. Good stuff.

ChrisArchitect 2 days ago 1 reply      
inspired by Batch or what? http://adamwhitcroft.com/batch/
legulere 2 days ago 0 replies      
The JPEG artifacts here really hurt. A png would also have been smaller probably.
runn1ng 2 days ago 2 replies      
I am not sure about the icons in the last two rows. I would bet they are certainly trademarks of other companies.
davexunit 2 days ago 1 reply      
Windows icon, Apple icon, no GNU or Linux icon.

Also, the license doesn't seem to be a free culture license. Lame.

Chromozon 2 days ago 2 replies      
Are the company specific icons on the bottom (Facebook, Twitter, Skype, Google+, etc.) not copyrighted?
justncase80 2 days ago 0 replies      
This is great, I hope he makes more. I'd especially like to see the +,-,x overlays as separate icons. Though that's easy enough to do on your own if you needed to. Still, I love this.
Spone 2 days ago 2 replies      
a webfont format would be perfect :)
jpamorgan 2 days ago 0 replies      
Google Account Recovery Vulnerability orenh.com
235 points by adamnemecek  2 days ago   27 comments top 8
oneeyedpigeon 1 day ago 3 replies      
Recently, I decided to follow-up one of the many emails I receive from a company I've never heard of, implying I have an account with them. I usually assume they are spam, but this looked like a genuine case of someone accidentally using my email address and the service not verifying it. Long story short: via their password recovery, I now have the user's plaintext password, and several personal details including address, age, phone number, and mother's maiden name.

I emailed the company (a US mobile phone company I haven't heard of; I'm based in the UK) and their response was along the lines of "call us (at your expense) and tell us your phone number and we'll sort it out". In the end, out of sheer frustration, I reset the account's email address to that of the company's WHOIS technical contact; that was the safest way I could think of getting my email address off the account.

Google, of course, handle this kind of thing properly. But for every google, there are thousands of companies who will give your personal data away without a care in the world.

WestCoastJustin 2 days ago 1 reply      
Nice write up. While checking to see if Google's "Hall of Fame" [1] was updated yet, I noticed that their reward program is actually really active. Here are some stats compiled about the Reward Recipients and Honorable Mention pages, based off these numbers, they are dolling out a cash reward roughly every 1.8 days!

  2013    197  Reward Recipients [1]    168  Honorable Mention [2]  2012    191  Reward Recipients [1]    147  Honorable Mention [2]      2011    121  Reward Recipients [1]     68  Honorable Mention [2]
[0] http://www.google.com/about/appsecurity/hall-of-fame/

[1] http://www.google.com/about/appsecurity/hall-of-fame/reward/

[2] http://www.google.com/about/appsecurity/hall-of-fame/distinc...

rallison 1 day ago 1 reply      
I always love reading writeups of these vulnerabilities.

On a related note, I love that bug bounty programs are becoming more popular. Still too rare, but great. That said, the majority of companies out there still make reporting vulnerabilities tough. I've reported a number of vulnerabilities, and all but a few companies had no security@ email address nor a security contact under Contact Us. The tech/admin contact of the DNS record often does the trick, but doesn't always work.

Please, companies, make it easier for us to report security vulnerabilities!

aabalkan 1 day ago 4 replies      
> Google security team acted really fast. This issue was fixed in 10 days.

Wow I couldn't imagine how long a 'slower' response cloud be.

yeukhon 2 days ago 1 reply      
Very interesting.

> If you rely on CAPTCHA's as CSRF protection, make it consistent.

This was discussed at today AppSecUSA [1] that it is rarely ever seen anyone use CAPTCHA as CSRF protection.

[1]: http://appsecusa2013.sched.org/event/10d6389173e14b246720d83...

nilsjuenemann 1 day ago 0 replies      
Vulnerability Reward Programs are getting more and more popular. @homakov and @bef0rd made a script for collecting all people listed in a security "Hall of Fame":


talles 1 day ago 0 replies      
Congrats to the guy that found out. Good job.
lhgaghl 1 day ago 0 replies      
such sophisticated recovery process

very bend over to customer who loses pass

so fuck user who retains pass and cares about security

much credible company

cloud wow

2013 very XSS

Node.js Tools for Visual Studio hanselman.com
217 points by ambuj  2 days ago   85 comments top 19
gum_ina_package 2 days ago 7 replies      
Seeing things like this gives me hope that one day Windows will be a first class os for web development. Now if I could just maximize the command prompt window....
smortaz 2 days ago 0 replies      
thanks ambuj for submitting. i work on the team & will be around for a couple of hours in case folks have any questions. would love to hear your feedback... cheers.
corysama 2 days ago 1 reply      
I'm a big fan of Python Tools for Visual Studio (https://pytools.codeplex.com/). Assuming Njs4VS lives up to it's predecessor, it could be a truly wonderful tool.
jbigelow76 2 days ago 1 reply      
I like this. I smuggled Node into our company to suplant a very difficult to test/debug WCF process and it's slowly been creeping out into bigger use cases. I've tried using VS for managing my Node scripts but it just wasn't a very elegant fit given VS's concept of projects and solutions so I kept falling back to Sublime. I'm excited to see if I can finally maintain just a single editor for both my .NET and Node code.
talles 2 days ago 1 reply      
This is a BIG step to make me switch to Windows. Debugging Node.js just like C# is really awesome (no brainer breakpoints and inspection: https://www.youtube.com/watch?v=W_1_UqUDx2s).

This plus a decent shell would definitely make me switch (I hate PowerShell).

blahbl4hblahtoo 2 days ago 2 replies      
Wow, for an alpha release that's pretty impressive. Node seems to be really taking off at MS...parts of Azure are built with it...some really large parts of Azure.

It's awesome that they didn't screw with Node either to make it run on Chakra...

joshguthrie 2 days ago 1 reply      
This is the kind of thing that makes me want to switch back to Windows.

I like VS since I've been using it to develop a C# app these last two months. I miss a lot of things because I'm too deep in CLI usage (like git...help me...), but had I had it when I tried to play with Ruby on Windows 7 three years ago and discovered the pain of the windows CLI, maybe I would've stayed there.

These Node.js tools are especially great. I spend a lot of time on CLI running my app, installing a module, watching my dev logs,... I couldn't ever imagine anyone using node.js on windows. Now I can and it looks great.

LeafyGreenbriar 2 days ago 0 replies      
For Mac or Linux noders who would prefer an IDE to a simple editor + command line tools, IntelliJ with the Node plugin is pretty good. It has code assist and debugging built in, and IntelliJ is just generally a very good IDE.

Edit: WebStorm from the same company (JetBrains) is cheaper if you don't need all the java tools support.

mmgutz 2 days ago 0 replies      
I'll admit I'm one of those who whined about nodeJS targeting Windows. Windows is starting to look more and more like a first-tier nodeJS platform with help from Microsoft! Can't wait to try this out.

How about a little golang love in Visual Studio?

Touche 2 days ago 1 reply      
Very nice, will help Node break into the enterprise.
MilesTeg 2 days ago 1 reply      
This looks really cool. Is there a way to have Node.js tools work with TypeScript?
Xdes 2 days ago 1 reply      
I wonder how this compares to the Visual Node[1] plugin by Redgate.

[1] http://www.visualnode.info/

polskibus 2 days ago 1 reply      
Great, I wonder when will they release the standalone version!
fro 2 days ago 6 replies      
Seems like overkill. Part of why Node is great and so easy to get started with is that all you need is a browser, a text editor, and the terminal. I suppose for people that already use VS this is good, but maybe we should encourage them to write Node apps outside of that environment instead of shoving Node into a giant IDE.
tehsuck 2 days ago 0 replies      
Have fun using npm with MAX_PATH.
evanmoran 2 days ago 1 reply      
This seems useful for the profiling alone.
legacy2013 2 days ago 0 replies      
This is great, I've been playing around with node and express recently and just using notepad++, I'll be integrating it into my VS environment when I get home
jayvanguard 2 days ago 0 replies      
Here's a nickel, kid. Get yourself a real OS.
jokoon 2 days ago 0 replies      

(downvote me)

Why I Turned Down $5 Million in VC Funding groovehq.com
216 points by ph0rque  2 days ago   110 comments top 27
ernestipark 2 days ago 4 replies      
Well written article. In my brief stint with YC and other startup circles, I think one big takeaway I've had is that most (or at least many) people who want to start a startup or hit it big with a startup actually really want a lifestyle business. Hyper growth isn't the goal of the founders. Their goal is to create a good product that helps people and allows the founders to live comfortably and be happy with their work. Raising VC funding is not counter to many of those goals, but it's not the only (or best) path to them in most cases.
waterlion 2 days ago 4 replies      
I just see a HUGE ad asking for my email address and a passive-aggressive "No thanks, I don't want to grow my business", the rest of the page blacked out. I can tell there's content underneath but screw that, I'm not reading it after that.
danielweber 2 days ago 2 replies      
> Importantly, with eight months of runway, Groove didnt need the money.

Geeze, stop right there.

If you need the money, IT IS TOO LATE.

You get money because you can use it, not because you need it.

Sorry if this comes off as a rant. I was at a dysfunctional start-up once and I guess it comes out at odd times.

codegeek 2 days ago 1 reply      
I really like reading groovehq's blog. The writings are very specific with lot of actual details. This one is no exception and great piece of writing. The actual customer email screenshots are a gem.Just one suggestion: To get rid of the pop up that comes up first time when you visit the page, you have to click the cutesy "No Thanks I don't want to grow my business". This even though is trying to be different does not look professional enough to me. I would just re-word it to "No Thanks, take me back to the page where I was".

EDIT: Found one typo in the blog where it says "4) How Much are You Willing to Get Dilluted?". Should be Diluted right ?

EDIT 2: Typo has been fixed.

ChuckMcM 2 days ago 2 replies      
During the dot com boom it was a always an issue if your company took too much VC money. Having a fat bank account balance can make you lazy, you can spend on things you don't need (Aeron Chairs for Everyone!) and you don't "sweat the details." but a lot of the things startup teams need to learn how to do are the exact opposite, spend only when necessary, sweat all the details, understand where every dollar of your monthly burn is going and ask yourself every month "Did that dollar work as hard for me as it should have?" With too much money it is easy to lose the discipline to keep the business at the forefront of your thoughts.
pytrin 2 days ago 0 replies      
Ultimately, this is a decision every founder must make for themselves. Without knowing the specifics of the offer, it's also hard to really know what went behind it.

Having said that, the rule of thumb is that you want at least 12 months of runway, and that's at the rate you want to go at. It takes typically around 6 months (if things go well) to raise VC money (unless they come to you - which is pretty rare).

From what I understood, Groove had 8 months at the current runway - before hiring the additional people they want to bring on board. That's typically when you start raising before you go into the danger zone with your runway. Also, considering the current perceived drought of Series-A funding, a $5M offer for a business generating $16k monthly is an outlier.

Of course, I hope Groove does well and never needs this money. Also, it's possible the deal terms were not favorable, though it's not mentioned specifically in the post. If that was not the case, in my opinion they had a chance to significantly derisk their business and they choose not to take it. Time would tell if their gamble pays off or not.

jc4p 2 days ago 1 reply      
I loved the post and was not done reading your concluding statements before I got a giant pop-up that asked me to give you my e-mail to read the exact same post I was reading. I understand pop-ups like that work for making mailing lists but can you at least make it come at the bottom of the page not in the middle of the last paragraph? That combined with clicking the "No thanks, I don't want to grow my business" button being the only way to get out of it made me leave the page without even finishing your article.
mrgreenfur 2 days ago 1 reply      
Between this and the recently reading about the Expensify team taking a month trip every year, I have this question: how do people get jobs at these well-meaning, intelligently planned companies? Seems like every startup I've worked at is more of the "OMG GRAB ALL THE CASH ASAP" kind, not the "Lets build happy users for a quality product".
jasonkolb 2 days ago 4 replies      
So here's a question... with the new rules around fund-raising, why wouldn't he just throw up a box to this side of this article that says something like:

"By the way... now that you've seen our numbers, if you're interested in a buying a small piece of equity in our company, leave your email address and we'll let you know terms."

Is there any downside to an approach like this? Setting your own terms and then selling equity if you find people interested?

howeyc 2 days ago 6 replies      
Probably off-topic, but something I've never understood reading these things:

How does this funding actually work? From what little I know (the stock market) you'd sell an equity stake in your company for a certain amount and you have money in your personal bank account.

But it sounds to me like all these funds somehow go back into the company?? how?? what am I missing?

frankdenbow 2 days ago 0 replies      
Great post, love the series on groove.

Question on convertible notes: doesnt a 1M seed round on a note suggest that a second round needs to happen? How do the investors feel about not having a second round to set the price and convert to equity?

inthewoods 2 days ago 0 replies      
One element that this misses is the fact that it isn't always clear what size business (or something even what business) you have at the beginning. Meaning, you might take $5m thinking you've got a high growth business only to discover, a long way in, that you've really got a slower growth business. I've seen this happen multiple times where the founders say things like "I love this business - if I was just running it myself, I'd really love it, but the funding makes it a constant fight." Truth is, high growth, highly scalable businesses are probably a bit rarer than we'd all like to admit.
PMan74 2 days ago 0 replies      
> Are you taking funding for the sake of taking funding, or do you actually need the money?

"Needing the money" probably needs to be defined here. If you're going to the VCs because you "need the money" as in the lights will go out pretty soon, unbutton your slacks and bend over because you are in no position to negotiate.

On the other hand if you "need the money" because, in spite of the fact that your runway looks very very healthy, you can foresee a point well down the line where you will actually need the money then that's a much better scenario to be going to a VC.

yesimahuman 2 days ago 0 replies      
I'm excited by companies like this. I think you actually get the ability to do something that transcends just making a product and selling it. You get a chance to change what it means to grow and run a business. Groove might end up being very influential and meaningful beyond just customer support, like 37signals has. That's hard to do if you are shooting for an exit in 3-5 years just to be swallowed up by a big company.
yetanotherphd 2 days ago 0 replies      
The only point that didn't ring true was on scaling. I think it makes more sense to scale while you have the money, and use that same money to deal with the issues that arise as you do so. Otherwise, you are leaving customers without your product for longer than you have to. And that could be their loss, not just yours.
smoyer 2 days ago 0 replies      
This series is great but I wish it had the number for each part of the series somewhere in the URL. Or perhaps a sidebar (ruining a really clean site) with the series listed in order.

Of course, my best recourse is to read each one as soon as the announcement shows up in my e-mail client's inbox!

sheetjs 2 days ago 0 replies      
> Importantly, with eight months of runway, Groove didnt need the money. There were great arguments to be made about how we could use the money, but werent running out of cash.

No other reason is needed. If you don't need the money, and if you believe in the business, you don't need to justify turning down external investment. In fact, I'd argue that turning down money is harder than accepting it

juskrey 1 day ago 0 replies      
I think that VC funding principle is an upside for VC funders and downside for majority of fundraisers. What VC funders basically do is a transferring of economic fragility to fundraisers, while hunting for positive "tail events".
not_that_noob 2 days ago 0 replies      
Great stuff. It's hard not to buy into the standard startup myth of raising money and going big. 'Lifestyle business' is not a positive term. So I for one salute your courage.
Codhisattva 2 days ago 0 replies      
Worth while read. It's great to see an entrepreneur want to build a company instead of a product to sell to investors.

Go Groove!

misterparker 2 days ago 0 replies      
Great writeup. I'm so sick of hearing about VC funding, growth-hacking, hock-sticks, and user-acquisition and all in the name of an exit strategy. I hope to see more and more companies take this more bootstrap-ish approach to building sustainable businesses, solving a real problem for real people.
nhangen 2 days ago 2 replies      

I turned down 5 million so that I could practically name the investor, get attention for my startup, and still make page 1 of HN.


I wonder how investors feel about posts like this. If you are an investor, would it change the way you feel about the CEO or the company?

xfax 2 days ago 0 replies      
First rule of taking VC funding - be aware that you're on someone else's schedule once you do.
grosbisou 2 days ago 1 reply      
I find this so refreshing compared to all the "super todo app raises $30m" news.

And I love these blog posts. So much information and facts about how they try to grow. Please keep going.

dblacc 2 days ago 1 reply      
I started the article: He's a mad man.I ended the article: Hmm.. I never looked at it that way.

Refreshing read.

mswe 2 days ago 0 replies      
Funding is overrated.
georgiecasey 2 days ago 1 reply      
These huge rounds are crazy, a $5 million exit would be life-changing for most founders.
Building a Crystal Clear Whiteboard hackaday.com
203 points by hepha1979  1 day ago   44 comments top 13
WestCoastJustin 1 day ago 0 replies      
Example of the board in action @ http://peshkin.mech.northwestern.edu/233/056_RCcircuits2.htm...

Lightboard: construction, electronics, lighting, parts list, and improvements @ https://sites.google.com/site/northwesternlightboard/home

The setup will cost about $10-15k along with some elbow grease, which probably isn't that much in this type of setting, especially if you are creating high quality videos which are timeless.

rwmj 1 day ago 5 replies      
Everything hes writing is backwards. Thats not actually a problem in this case as [Michael] uses flip teaching.

But flip teaching is nothing to do with writing backwards, or at least not according to the linked Wikipedia article. So he is actually writing backwards?

Edit: Ah I see, the whole scene is mirrored, including him. I guess that could work, although then diagrams really have to be drawn backwards (assuming western L->R convention), and any computer generated text will have to be projected backwards on the whiteboard.

ChuckMcM 1 day ago 1 reply      
This is so cool. I realize that it doesn't look quite that cool in person but am definitely interested in seeing about building one.

I'm now wondering if we could add LED lighting to the top of our sliding glass door by drilling holes down to the edge of the glass and installing 1W LEDs.

Raphmedia 1 day ago 4 replies      
" In order to get the text to read the correct way he just bounces the camera off of a mirror. "

... couldn't he simply flip the output?

angersock 1 day ago 2 replies      
There's also the classic DIY whiteboard recipe for those of us who are very cheap/not yet funded:

Get a 4x8 sheet of shower board from Home Depot. It's basically just a thin piece of melamine, and should be like 8 bucks.

Get a 4x8 sheet of really low grade 3/8" or 1/2" cedar chipboard (like that used in flooring), again maybe 3-4 bucks.

Glue the former onto the latter with Liquid Nails, probably 2-3 bucks a tube.

Works great, erases, and when it finally gets too gross to use (in about a year), you replace it for another fifteen bucks.

bgraves 1 day ago 0 replies      
Many example videos of this Lightboard in use by its creator.


lnanek2 1 day ago 1 reply      
Some silliness going on here. OK, it's clear, he can look through it and see his students reactions as he writes, OK. The writing is backwards so no one can read it direct, it is shown by camera flipped. Then there's no point in all the extra stuff to make the lines fluoresce since it is unreadable unaltered anyway. He just needed a clear touch surface, which is common anyway since we slap them on top of LCDs in countless products. Making the unreadable lines bright is actually a disadvantage, since they are unreadable and they are blocking the sight between the parties.
i386 21 hours ago 0 replies      
I hate writing on glass whiteboards. If the markers are not strong enough, you can't see what you are writing over the glare of the lights.
dmritard96 1 day ago 0 replies      
totally one of my favorite profs in school - made the synthesis of cs/electronics/mechanics seamless in students heads
beachstartup 1 day ago 2 replies      
wait... did anyone catch how he superimposed the powerpoint slide onto the screen/glass/whatever? it's not in the video or the page text.
mseidl 1 day ago 0 replies      
I made one for myself, just spent 45$, 40$ for a desk protector from ikea, and some mirror mounts, and mounted it to my wall.
critium 1 day ago 0 replies      
Just add a kinect and you have your minority report interface!
jcutrell 1 day ago 0 replies      
I did this with an Ikea tabletop and some shelf hangers while I was at GaTech. The shelf hangers framed the glass tabletop on a concrete wall. Albeit not a standalone board, it also had the ikea led strip. It worked well for me to map out ideas on, and fit nicely on my wall at home.

I think I came out of the project at around 150 bucks.

How to design a class stackoverflow.com
198 points by SandB0x  1 day ago   65 comments top 16
azov 1 day ago 5 replies      
Let's try this advice. Say, we're solving Hanoi Towers [1]. So, we're going to have rods, and disks, and rods are going to have the number of disks on them, and disks are going to have size, and probably a reference to the disk underneath, and a reference to the disk on top, and maybe also weight and color... and by the end of the day instead of a 10-line snippet [2] we're going to have Enterprise Java Beans.

No, it doesn't mean that OOP is awful - it just means that this particular way of modeling a problem is a recipe for over-engineering.

Start with the simplest thing that works. That thing will probably be just a function. Grow it from there. If it gets too big, split it. If you find that you pass the same 12 parameters to a bunch of functions - factor out a class. If you do the same thing in a bunch of classes - abstract it out. Keep it DRY [3]. Keep it SOLID [4]. Rinse and repeat. This way you end up with a useful class hierarchy - and OOP won't be awful.

[1] http://en.wikipedia.org/wiki/Tower_of_Hanoi

[2] http://rosettacode.org/wiki/Towers_of_Hanoi

[3] http://en.wikipedia.org/wiki/Don't_repeat_yourself

[4] http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

rayiner 1 day ago 7 replies      
Object oriented programming is awful, and this answer describes why. It shifts focus from algorithms to objects. As a result, you get these over-designed programs with lots of objects that have lots of methods, and the algorithm gets totally obscured.

See: http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom....

asveikau 1 day ago 1 reply      
I think this seems a little too existential. What is more important, that you classified the right nouns and verbs in your Paws and Dogs, or that your code works?

In my view OOP is all about sane interfaces between components. In your internal code however, you should feel free to let your implementation details and data structures drive the flow, and not con yourself into writing OO spaghetti, that type of code written by inexperienced types who "heard somewhere to use classes" and can only think in classes, and the abstraction serves to obfuscate rather than clarify.

ismarc 1 day ago 0 replies      
When I first used oop, or any object orientation, it was in the early days of the public internet. There wasn't nearly the resources available now, especially for a hobbyist. So when I learned the syntax (I believe it was early c++), I had nothing else to go on. I naturally leapt to using objects to describe and build new data types. It made me think about what data I needed, then how the data needed to be operated on. It wasn't until I started taking courses that I heard the noun approach... And it just seems completely backwards. It isn't about modeling your data, it's about the conceptual items you're working on. I still think oop is a good approach if you ignore all of the 'best practices' and instead use it to build custom data types that simplify your algorithms. It's part of what I really like about Erlang records (even though they're a bit annoying to use) and Scala in general. You can build custom data types without having to just compose lists and maps but you get a lot of the benefits from functional programming.

I really don't understand why so much of the programming classes, tutorials, guides and common wisdom aren't 'data first' style design.

jamesli 1 day ago 0 replies      
It is utterly ill-advised. Software design is about abstraction, to make code modular, flexible, and extensible. It doesn't matter it is OOP or FP. Both approaches have their own advantages and limitations.

The dogmatic answer is misleading. It might be ok to introduce OOP to new programmers, to open a door for programmers who are only familiar with procedural programming. For any experienced programmers, if they don't believe in this dogma, I have to say this is not a right career for them.

ExpiredLink 1 day ago 0 replies      
Actually, only #1 and #2, "simple statements about what these objects will be doing", are relevant. The 'nouns' points are misleading at best. OO is all about behavior ('services'), not about data. A class doesn't encapsulate data, it encapsulates state. That's a big difference that many OO aficionados don't realize.Another source of confusion is that in some OO languages 'everything' has to be a class. A Java class in many cases isn't a class in terms of OO. Java Beans e.g. certainly are not OO classes.
spion 1 day ago 0 replies      
1. First, write some use case scenarios/specs in order to get a better understanding of the problem (for libraries this is README.md, for user-facing programs its the user's problem and the solution's workflow)

2. Write the code the way you would ideally want it to work, top-down. Imagine that you're in fantasy land. Don't worry about it being wrong or impossible to do that way. That will be corrected later.

Use classes to express blueprints for tiny worker machines that work on data, not the data itself. Use classes to simulate entities.

A user is not the user's personal information - thats a data structure. A user class makes sense in a testing framework where you want to simulate the process of a user visiting a website.

A button is a worker machine that can detect a set of inputs and call attached functions. A list is a worker machine that can keep items and update the screen based on its scroll position. A stream is a worker that can be customized to process incomming data packets in a certain way, and its output can be connected to another stream.

Think of classes as tiny single-purpose computers or simulators.

3. Express details about the desired outputs of that top-down code as tests.

4. This is a good time to write all the data structures to represent your data. You can use relational modeling here even if you're not using a relational database (or any kind of database), but you can also use pointers/references instead of foreign keys.

Model the data structures for all data (including computed data), not just input or stored data.

You can also do this before step 2. but in that case you will be tempted to write your code to operate directly on the lowest level data structures, instead of making it look clean and simple.

5. Try to make the tests pass.

6. If its impossible to implement or you realize its not a good idea to implement it that way, tweak the test a bit then change your code and data structures as you get a better understanding of the problem.

7. Once you're satisfied with the test, you can stop.

8. If the future of the program requires you to adapt it, keep working like that over the existing code. The tests give you some reasonable assurance that it still solves the old variant of the problem, while new tests will ensure that the code sanely solves newer problems too.

Jare 1 day ago 0 replies      
This is almost word by word what I was taught about OOP in Introduction to Programming back in 89. We used Modula-2, but it was already easy to connect with the way we had been writing games in assembler. Later on, languages built for OOP like C++ or Java, with all the complexity and new features, shifted the focus of teaching programming from the problem domain (what I need my code to solve) to the language domain (what code I can write), and then Patterns arrived, and things quickly got hairy and over-engineered and big.
yetanotherphd 11 hours ago 0 replies      
The advice being given is more applicable to problems which have some real state inherent in the problem, e.g. network connections, UI state or databases.

In numerical programming, state is less obvious because it depends on how you do the calculation.

In numerical programming, I tend to use a functional style that makes use of objects. E.g. instead of

  y = f(params, x)
I would write

  y = my_object.f(x)
where my_object encapsulates params. This makes sense as the only function that needs to access params is f. On the other hand Python has no private members anyway so I would probably use the first way for Python anyway.

jofer 1 day ago 1 reply      
And another one of Ivo's set of dog paw questions randomly become popular! The guy has a knack for asking good questions and getting good answers.
zwieback 1 day ago 0 replies      
It's interesting to note that the question was "how to design a class", which to me sounds like a question about static structure, e.g. what data members and methods will the class have. Most of the discussion on this and the SO page mixes in OOD, OOP with the original question and then throws in some inappropriate OO vs. FP tangents.

It's important to remember that there's a lot of, for lack of a better word, "class-oriented design" which typically tries to model the static structure of the physical world or some artefacts of the programming environment.

In a completely separate world there's what I would call OO design and programming which is more concerned about the interaction of actual objects aka. instances of classes. Coming from the statically typed world the distinction is often unclear but for the original Smalltalkers and other OO purists object orientation was never about classes.

odonnellryan 1 day ago 2 replies      
I liked this a lot, but do we think all those steps are needed? I feel like it can definitely be simplified, and that this is even scary for people new to Python and OOP.
blahbl4hblahtoo 1 day ago 0 replies      
I really enjoyed this...the upvoted answer was really helpful. I'm going to use it tonight when I get home and can work on a personal project.
xtr 1 day ago 0 replies      
Thanks, I also found this very beneficial.
djvu9 23 hours ago 0 replies      
At first sight I thought it is sarcasm...
talles 1 day ago 1 reply      
Surprisingly not marked as 'too abroad' or something like that on SO...

I guess on 2010 people were more light on that

Cosmic Sans Neue Mono: Programming Font github.com
196 points by etler  3 days ago   117 comments top 27
crazygringo 3 days ago 3 replies      
Wow. It look really, really nice. And the "irregular" handwriting effect is just subtle enough that it adds just a bit of nice "texture". A friendly-looking monospaced font is not something I ever expected to see! The spacing and balance is perfect.

It looks great, I'm tremendously impressed, and could easily see this become a standard font for showing code excerpts in blogs etc., especially.

Plus, pretty hilarious name. :)

kennywinker 3 days ago 13 replies      
Every time programming fonts comes up, I always have to plug using proportional fonts. For me, anyway, it increases readability in any language that isn't super symbol-heavy (Obj-C, for example).

Xcode theme using Times New Roman: http://31.media.tumblr.com/tumblr_kweyqtEkg41qzsc93o1_500.pn...

Download link: https://gist.github.com/coryalder/811771

Not for everyone, of course, and definitely not for all langauges, but still worth mentioning.

kapitalx 3 days ago 3 replies      
"coSmic sans" for everyone else who also read it as 'comic'
MartinCron 3 days ago 2 replies      
I totally appreciate diversity and choice in fonts ("programming" or otherwise) but I just can't get over the fussy lowercase k. It draws my eye to it and I can't see anything else.
gaoshan 2 days ago 0 replies      
Since we're talking fonts (and I don't especially care for this one) how about Menlo? Based on Bitstream Vera Sans Mono, it's available on Mac. No Mac? Check out the nearly identical DejaVu Sans Mono. Here is a cool visual comparison[1] of the two.


MichaelGG 2 days ago 1 reply      
Doesn't seem to render well on Windows:


Same results in Word and in VS using a non-dark theme at 10 and 11pt. At 12, the extra pixel at the top of the a goes away, but is back at 14.

Also, VS doesn't bold it in the drop-down, which I think means it doesn't detect it as a monospaced font.

Any suggestions?

chrissnell 3 days ago 0 replies      
The lower-case "m" is just too much for me to handle:

See line 7, "summary":


It doesn't match the rest of the characters and it's just too smushed-up for my tastes.

nahname 3 days ago 11 replies      
Nothing beats Inconsolata, IMO.
carlesfe 2 days ago 1 reply      
Since everybody else is plugging in their monospaced fonts, here's mine: DOS/EGA[1]

It's a ttf font which simulates the old DOS font which, in my opinion, is the crispest and nicest looking font for a terminal. Try it out! (Just remember to turn antialiasing off)

[1] http://www.viste-family.net/mateusz/dos/en/dosega.htm

OedipusRex 3 days ago 1 reply      
I get the idea but the "wibbly-wobbly handwriting-like fuzziness that makes it unassumingly cool" part makes me wonder why?

If you wanted to go for that "cool" look set your background to black and your font color to greed.

jhprks 3 days ago 1 reply      
the title of this post is: "Comic Sans Neue Mono: Programming Font (github.com)" for sec i really thought this was a new variant of comic sans font but for programming, it turns out its actual name is cosmic sans.
jimktrains2 3 days ago 2 replies      
Do you think it's wise to advertise this as a programming font when 0 (zero) and O (cap oh) look so much alike? At least l (lower ell) and 1 (one)seem to be different enough.
vinhnx 2 days ago 0 replies      
Love the font! I've been using Inconsolata-g for my Objective-C development for a while now, but will try this.

Also, worth mentioning, here's the list of best programming fonts for those who're interested : http://www.slant.co/topics/67/~what-are-the-best-programming...

Pitarou 2 days ago 0 replies      
Can anyone tell me why the designer thought all those extra hooks and loops were a good idea? (Check out the i, g, and k.)

To my eyes, they're just visual noise. Do they confer any benefit in long-term use, or are they just whimsy?

sharmi 2 days ago 1 reply      
The letters are too squashed together for my taste. I used to use inconsolata but now switched to http://pcaro.es/p/hermit/ . It is a clean font with some personality thrown in. Does anyone else use hermit?
Bjorkbat 3 days ago 0 replies      
Ah, coSmic sans.

For a moment I thought this was going to be some sort of parody, kinda like that enterprise version of fizzbuzz someone wrote a while back.

I'm actually rather fond of this font given the first impression its bestowed upon me.

10098 3 days ago 1 reply      
What's wrong with good old Courier New?
dangayle 2 days ago 0 replies      
Well, if that isn't disappointing. If you're going to name your font after the greatest of all fonts, the incredible and nuanced Comic Sans MS, then you had better deliver.
theandrewbailey 2 days ago 0 replies      
Here's a plug for Cousine. I haven't liked another monospace font better, and I go out of my way to set it up on every system I use.


gcr 2 days ago 0 replies      
I misread this as "Comic Sans" and thought this was a joke submission.

Boy was I wrong.

talles 2 days ago 0 replies      
Hey.... I like it.

Might try for a bit.

kunai 3 days ago 2 replies      
I don't know about you guys, but I use Helvetica Mono: http://www.linotype.com/1824-31635/helveticamonospaced.html

Yes, it's probably the most characterless, bland, insipid, and uninspired font out there... but it's also the most perfect-looking. And, it's readable and takes up less space than most others.

I'm surprised not more people use it.

ragsagar 2 days ago 0 replies      
Giving a break to Inconsolata, trying Cosmic Sans Neue for a change.
jokoon 2 days ago 0 replies      
each time I see a new font, it can hardly compete with consolas or menlo

even the old lucida console is better than all those free fonts.

brainburn 2 days ago 0 replies      
It's pretty nice, save for the 'k'.
jrochkind1 3 days ago 0 replies      
gorgeous font.
bcheung 3 days ago 1 reply      
dear god, why?
AngularJS from an Ember.js perspective docs.google.com
184 points by tomdale  2 days ago   62 comments top 13
gregwebs 2 days ago 3 replies      
This is the only intelligent comparison I have seen of Ember & Angular (or actually of Angular with any other modern framework). Thanks!

I am wondering if the uniform access principle is mostly a dynamic language issue: you end up screwing up whether you need a parentheses invocation and you don't know until runtime. If you type everything with TypeScript then you know at compile time if you messed it up. Relatedly, Ember's get/set is more difficult to make strongly typed. In the TypeScript definitions I am looking at, property access is only typed as a string. One could define an enum for each object to be used in place of the string, but overall there is a price to pay with set/get since it isn't baked into the language (like Ruby).

sailfast 2 days ago 2 replies      
Having just dug into Angular while wondering if I really wanted to be working with Ember, this was a great comparison. It's obvious to me now I have to look at both frameworks. While done by an Ember.js creator I found the presentation also provided me with a much deeper knowledge of Angular at the same time - well done.

As for the Google popularity, one could snidely remark that Angular's documentation and taxonomy requires significant amounts of searching to solve the problems you are after. While the community is active, it's quite difficult to find examples of the right solution or effective documentation for newbies at times.

tomphoolery 2 days ago 0 replies      
I really liked this. Although I prefer to work with Ember.js, Emblem and EmberScript (as the latter addresses some of Ember's syntactical faults), Angular seems very interesting when you view it as more of a toolset for building your own framework than a "complete" framework in and of itself.

When you bring the entire Ember toolchain into the mix, outside of the already-complete framework, it begins to smooth Ember's rough edges in development. It's just the same with Rails, I'm a Ruby developer and we're used to dealing with dependencies already, so it's not really a huge leap outside the box for us to be using tools that will compile down to HTML/CSS/JavaScript to build the frontend to a Rails backend API application.

I still understand Angular as a toolchain/framework/whatever for people who do not understand JS to the point where they want to begin extending it. Angular is a "safe zone", something that frankly JavaScript as a language (without Ember's additions to the object model and such) needs right now. When you write apps in Ember, I feel like a deeper understanding of how JS is working is necessary before you begin to abstract that portion away. Is this still a correct assumption to have? I'm not trying to insult anyone, frankly JS is a pretty screwed up language so I feel like it's a natural tendency to want to just get what you need out of it quickly and safely and then move on to more fun projects. In my opinion, it's simply a different way of doing things, not better and not worse.

Bognar 2 days ago 6 replies      
I hate that Google Docs modifies your history when you go to the next slide. This presentation clocks in at 57 slides and Firefox history defaults to truncating after 50 entries, meaning I can only go back to slide 7 and not back to HN.

Is it really better that I can use my browser forward and back buttons to navigate slides? Especially when there are forward/back buttons on the presentation anyway?

wereHamster 1 day ago 0 replies      
People really like googling angular

That could also be because angular has horrible documentation!

hpvic03 2 days ago 0 replies      
I've been working with Ember for a while now, and I love it. Convention over configuration is a big deal, and the Ember team has done it right. I think if you like Rails then you'll like Ember.
virtualwhys 1 day ago 0 replies      
That was a really informative comparison, kudos to the Ember author for injecting minimal bias.

I've been on the fence about switching from jQuery + Coffeescript to Angular/Ember/etc.

Still am, bit of a server-side luddite here, AJAX, client-side form validation, some jQuery effects for dropdown menus, show/hide layers, etc. is as far as I go.

chidevguy 2 days ago 7 replies      
One thing that I like about Knockout is that you can easily drop it into a legacy site, allowing you to have some pages that use it and others that don't. Forgive my naivete, but is this something that is easy to do with Ember or Angular as well?
paulftw 2 days ago 0 replies      
Kudos to the author - I am impressed how well Alex Matchneer understands Angular.

Few thoughts of my own:- Ember is a long term relationship with one particular way of doing web FE, a way invented by someone else for you. Ember philosophy is "one size fits all".- On directives and transclusion - it's like Lisp's dotted pair.these new concepts may be hard to understand, but experiments like that often fascinate programmers, and for a good reason - one day those experiments will revolutionize the way we build software.

The debate of a small set of flexible tools vs one tightly integrated system is not new. We had Linux vs Windows, Django vs Flask, etc. It's funny to see it pop up in yet another area.

Thank you for this great write up and raising a bar of this long going discusiion on Ember vs Angular.

atjoslin 2 days ago 0 replies      
I use angular a ton, and just learned more about Ember from this. thanks. I'll have to check it out someday. Ember looks like it has good testing now too :-)
dsego 2 days ago 1 reply      
This format sucks, I can't click on jsfiddle links or even copy them.
Banzai10 2 days ago 1 reply      
So technically what the presentation is trying to say is that you should use Angular to build Ember like framework. hahah

I personally like Angular, the Google support and the community are strong points to it. The documentation used to be hard to find, but now, specially with StackOverflow, finding what you need is easy.

Bahamut 2 days ago 0 replies      
I enjoyed reading this, as a heavy Angular user & someone interested in trying out Ember sometime. Thanks!
Surveillance is not about protecting us. It's about control. rubbingalcoholic.com
183 points by rubbingalcohol  3 days ago   73 comments top 14
suprgeek 2 days ago 3 replies      
How about this....

Every Senator or Congressman that votes to continue this Metadata BS program release all of THEIR Metadata. If you have nothing to hide why not release all of the following:

Every Phone number they called in the past 5 years with a date and time-stamp attached from their Home, Office and Cell numbers.

Every email-recipient they ever sent e-mail to in the past 5 years from all their addresses - personal address, Official address etc

Every website visited from their Home IP, Smart phone, Office and desk computer.

IF even ONE of the 535 US esteemed legislators in both houses agrees to this...lets say that Swine would be airborne in record numbers.

steven2012 3 days ago 1 reply      
This summer, I was working with a Harvard Computer Science student who also said "I don't care, I have nothing to hide." This worried me to no end, that extremely smart kids could be so naive like this.

I challenged him to send texts to one of his buddies, where he would simulate planning of a terrorist attack. He was going to, but then I stopped him, because I would have felt too guilty if he actually went through with it and got into trouble with the law, which I honestly believe he would have.

andyl 3 days ago 0 replies      
Surveillance is not about protecting us. Its about control.

Bingo. Mass surveillance is a tool to protect the oligarchs from its citizens. The terrorist threat is theatrical misdirection.

dilap 3 days ago 6 replies      
I think a lot of people are OK with mass surveillance given a basically benign, good government (which many people tend to think our government is, currently).

The problem is that once all of this machinery is in place, it can be used by any government that happens to come to power -- it makes it too easy for a non-benign, dictatorial government to say in power, egregiously abusing the ability to spy on arbitrary citizens.

robertfw 3 days ago 3 replies      
I have increased the amount of chatter I put out, trying to raise awareness with friends and family, but I feel myself evaluating each and every post - what flags is this raising? How might this be used against me in the future? I am travelling to the US from Canada for Thanksgiving, and that fact alone gives me pause when I say things critical of the political system.

I warm my chilled self by holding onto the thought that recognizing our self-censorship is the first step to fighting against it.

papa_bear 3 days ago 4 replies      
This part is a little weird to me:

"Lets be extremely generous and say that, on average,3,000 Americans die every year from terror attacks [...]

The government has yet to prove one credible example of a legitimate terror plot that was prevented thanks to mass surveillance. If they want to insist that spying makes us safer, this would be good information to know."

Is that not evidence that to some degree, the surveillance works to keep terrorism down? One of the biggest deterrents to committing a crime is the certainty of getting caught. I realize that people have blogged about how to circumvent a lot of the security making it seem pointless, but I assume even the appearance of security would make it seem like less of an appealing idea to a would-be terrorist.

EDIT: I should say "interesting" rather than "weird." This post is assuming the psychology of a terrorist is similar to a white collar or petty criminal, which obviously isn't always the case. But maybe it's not too much of a stretch to say it doesn't stop senseless violence or serial killers from committing similar acts of terror.

bkirwi 3 days ago 2 replies      
In case anyone else missed it on the first pass: the article mentions that the FBI "went so far as to come up with assassination plans on Occupy Wall Street leaders," but the linked source[0] describes the FBI uncovering an assassination plot, not making one themselves.

[0] http://www.dailykos.com/story/2013/06/30/1220039/-FBI-Kept-Q...

DanBC 3 days ago 0 replies      
Isn't it more banal and just people using budgets and extending their influence within the community that decides the funding? Bad metrics create weird outcomes, etc.

Pick any government agency at random. You'll find weird spending, baffling ideas, inefficiencies, power struggles with other agencies, etc. That agency will try to define their role in a way that maximises the money they need to do that job and that claims authority for that particular area.

I imagine the NSA feels fine about what they do. They probably have a bunch of techniques that they've rejected as being too intrusive or too constitution-violating. Something about "Overton Window" fits here - you hear about Guantanomo and you think "Hey, we're not torturing people like they do there, so we're better".

Add weak oversight, and a favourable exploitable atmosphere about a bogeyman ("THE COMMUNISTS!" "TERRORISTS!" "DRUGS!") and it's easy to see how an agency ends up going too far.

Going too far if you regulate children's play areas or the size of holes in fishnets doesn't mean much. Obviously, going too far when you're NSA ends up with a really bad situation.

thatinstant 3 days ago 1 reply      
Of course the surveillance is about control... It seems so obvious to me that I don't even give it much thought, but I think there are far too many variables affecting the current state of affairs, regarding the NSA, surveillance, etc. It wasn't just one event, one government administration, one legislative change or one technological advancement that got us into this mess. Several factors have converged to create the current police state, but I ask: Why are people suddenly so upset about finding out that the NSA has found an efficient means to surveil the populous when so many organizations have been doing this for years?

Nobody was getting upset when Google was reading your emails; Facebook was reading your private messages; Verizon, AT&T, T-Mobile were tracking your calls and geo-locations... All for the sake of more efficiently marketing to you. Advertisement is just another form of control. They don't tell you or force you to do or not do something, they just efficiently convince people to part with their money and make those people think that it was their own idea to do so all along.

All these concerns come down to whether we collectively think these practices are right or wrong, and it is becoming more difficult to make these judgements without a bias and it's difficult to continually evaluate whether your bias has been externally affected by these business practices.

The reason why nothing is truly being done about this massive theft of privacy is because people are complacent with the idea. We can't truly get upset that our governments are taking away our privacy when we have been giving it away to private corporations and religious organizations for so long.

xacaxulu 3 days ago 0 replies      
Remember the birthday hats on surveillance cameras? http://www.theverge.com/2013/7/4/4490058/front404-orwells-bi...
vermontdevil 3 days ago 0 replies      
I think it's more about money. Wherever there's an opportunity to do the following: 1) make money and 2) keep control of the flow of money, there are people who would do it at the expense of others.

I see this in Congress and a lot of government leaders not just within NSA.

Look at Treasury, DEA, etc for examples.

bnolsen 3 days ago 2 replies      
it's also called a police state which is totally against the US constitution.
ThomPete 3 days ago 1 reply      
Case in point. There are things I don't dare post on Facebook because I am afraid it will affect my Visa situation.
jakeogh 3 days ago 0 replies      
Cui bono?
Sudden Progress on Prime Number Problem Has Mathematicians Buzzing wired.com
182 points by lelf  1 day ago   71 comments top 13
hawkharris 1 day ago 0 replies      
When I ordered a set of three foot-long chicken parmesan sandwiches from Subway a few weeks ago, the guy behind the counter said, "Because prime numbers are fundamentally connected with multiplication, understanding their additive properties can be tricky."

I was confused at the time, but it makes sense now.

throwaway1979 15 hours ago 6 replies      
Two points:

- In math, an innovative "attack" (such as a technique to approach a problem) can result in years of subsequent research that progresses a field. Zhang deserves a lot of credit for his accomplishment!

- He shouldn't have had to work at subway. If only our society held intelligent people in the same regard as athletes. What we have right now (hoops to get tenure, publish or perish culture, etc.) is a joke. I review papers for some notable conferences in my subfield in CS. This week I read about a dozen papers. The ones that pained me the most were written by very smart people solving made up and artificial problems. But hey ... you need to publish this crap to graduate/get tenure/get next grant/whatever. How about a basic income for everybody with a PhD?

chrisfarms 1 day ago 2 replies      
> There are a lot of chances in your career, but the important thing is to keep thinking

I hope this quote gets picked up and cited throughout future history

taspeotis 1 day ago 1 reply      
jostmey 1 day ago 1 reply      
Not being able to understand the intricacies of this proof, I can take away but one message. Genius can come from anywhere, even from an academic who was only able to find a job working at a Subway diner. So be open to good ideas - they can come from anybody, anywhere.
abuehrle 1 day ago 1 reply      
I'm confused by the "Admissible Combs" sidebar. Can someone help me understand?

"Roughly speaking, a comb is admissible if there is no obvious reason why its teeth couldnt point entirely to primes infinitely often as you move it along the number line"

Then: "A much more audacious conjecture called the prime k-tuple conjecture ... posits that any admissible comb will point entirely to primes infinitely often."

Isn't this just saying the prime-tuple conjecture states that admissible combs are admissible?

coldcode 1 day ago 0 replies      
Since counting numbers are so regular I've always wondered why finding primes is so hard. Then again I have no hair so using combs is a mystery.
Xeoncross 1 day ago 5 replies      
Does this mean as much as I think it does? Aren't most of our current cryptography schemes based on prime numbers taking time to calculate?
danielharan 10 hours ago 0 replies      
What I find surprising is that there's an online tool for math collaboration (github for maths?), and that it turns out to be rather useful.
Houshalter 22 hours ago 1 reply      
Related questions, what are the open problems with prime numbers? Not that I'd ever solve them, but I was having fun using machine learning algorithms try to predict the next prime number in a sequence and it was kind of interesting.
charlieflowers 23 hours ago 1 reply      
Are they still at 600?
dmak 10 hours ago 2 replies      
Could someone explain this in layman's terms? What does it mean to have infinitely many pairs of primes separated by 600?
Carlsen wins game 9, only needs 1 draw in 3 remaining games fide.com
180 points by pdknsk  2 days ago   150 comments top 20
kadabra9 2 days ago 2 replies      
What's really scary about Carlsen is I don't think he's close to reaching his full potential yet. He's rapidly approaching the level of dominance in elite chess not seen since Fischer or Kasparov, and he's only 22. I can't think of anyone in the next Candidate's Tournament that would be a serious threat to take Carlsen's title, aside from maybe Kramnik.

I'm also really interested to see the impact Carlsen winning the World Championship has on the game's popularity worldwide. He's a very marketable champion, young with good looks and modelling contracts. Both of the former champions, Kramnik and Anand, are obviously very popular in chess circles (and Anand is immensely popular in India), but maintained generally lower profiles in the media.

The next couple of years should be really interesting for chess. My hope as an American is that Nakamura can eventually qualify for the Candidate's Tournament and set up a dream title match down the road.

pdknsk 2 days ago 2 replies      
Skip to 13:47:30 when the commentators realise Anand made a huge blunder (and resigns on the next move).


trycatch 2 days ago 5 replies      
By the way, there is a very interesting tournament going on currently -- TCEC, unofficial computer chess championship [1]. The main intrigue of the tournament is the fight between Stockfish and Komodo. Houdini, dominating engine in the last few years, already lost any chances to go into the superfinal -- two very strong challengers, Komodo and Stockfish, in the last few months were able to eat huge advantage of Houdini. The author of Komodo, Don Dailey, is terminally ill, according to his wife he has just a few days to live, so it's possible that he will not know if his engine will win or not. It's really heartbreaking, he was very active in the chat of TCEC just a few days ago, commenting games, discussing computer chess and so on. Stockfish is an open-source engine that uses distributed testing framework, so anybody can participate in its development donating CPU time [2]. Both engines are very strong and have relatively equal strength.

[1] http://tcec.chessdom.com/[2] http://tests.stockfishchess.org/

simfoo 2 days ago 1 reply      
If you're interested in the match go watch Jerry on his channel on Youtube [0]. He's uploaded some great videos so far. He also livestreams the games on Twitch btw.

[0] https://www.youtube.com/user/ChessNetwork/videos

po 2 days ago 2 replies      
During the press questioning the computer they were using froze up a bit and Anand became frustrated and rattled through his thinking out loud instead.

The commentator then asks Anand something along the lines of "did you think through all of these complications?" and his response was a curt "no, I was thinking of what to eat tonight."

"Yeah so, do we have questions to the players?"

oof... such high stakes and he just missed the move. Really gotta feel for him.

auctiontheory 2 days ago 1 reply      
Carlsen is the best/only hope for chess to clean up its act (reinventing FIDE and the Candidates process), and market itself to the broader Western public, much as poker has been marketed. Keeping my fingers crossed.
S4M 2 days ago 2 replies      
Anand's last move was a huge mistake. I am pretty sure it's because of the tension, because even I (fide rating 1900+) wouldn't have made it.
PhasmaFelis 2 days ago 0 replies      
I sometimes feel like I'm really missing out by not getting chess. It's such a rich source of metaphor.
Peroni 2 days ago 7 replies      
I'm an experienced poker player however I'm an absolute chess novice. Aside from the obvious "just practice" advice, what are the best resources to fall back on in terms of books, videos etc if I wanted to learn the game in significant depth?
medell 2 days ago 0 replies      
My stupid marketing brain couldn't help but notice there is no mention of the word "chess". Must stop keyword optimizing as I read...
deletes 2 days ago 0 replies      
This is a video recording of the match with live commentary and analysis.


cdelsolar 2 days ago 1 reply      
Reminds me a bit of this guy's dominance:


Winning 4 national championships in a row is one of the most amazingly dominant feats in anything, especially given a game that has a significant luck factor.

A top tournament player in a Scrabble Facebook group just said this about him:

"I'm pretty sure what he's doing is not capable by most human brains tbh, he plays better than any computer with seemingly a very small amount of tilt. You will never be as good as him, no matter how hard you try. Makes the game pointless (said this a million times b4). As a sidenote, his existence in scrabble is terrible for the game"

jc123 1 day ago 0 replies      
Haven't paid attention for a while, but the reduction of games from the classical best of 24 series, seems far too short. Anand had to take this risk because there were only 4 games left and he needed to win 2 which is super tough. Another 12 games would have been interesting. So if the next game is a draw, which is highly likely, would the championship only have 10 games?Classical championship should allow for more battles; there are other tournaments where speed can be the focus.
rikacomet 2 days ago 5 replies      
The worst part about that match is, Anand spent 50+ minute on one move, to loose all the time advantage he had pushed carlsen into.

First I thought, it was to make Carlsen loose his nerve, but he lost his own nerve, by moving Qe4, instead of slow push hh4. That was the turning point :( He went from winning position to a clear loss.

Also, I don't get the point of resigning, on this level, it should be a fight till the end, no matter how shameful.

denysonique 2 days ago 2 replies      
Hopefully Carlsen's becoming the FIDE World Champion will be loud in the media and will bring back the popularity of chess into our times.
xfax 2 days ago 0 replies      
If you haven't already seen it, I highly recommend the 60 minutes segment on it. Just Google it.
ibsathish 2 days ago 2 replies      
Clearly shows a paradigm shift with the new generation taking over. Anand is around 44 years now and it's quite obvious that his mental reflexes would have slowed down while Carlsen is just half his age.

Welcome Magnus, you are a prodigy. A real one.

jkarni 2 days ago 0 replies      
Pity. 27. Ne2 looked really fun. If 27...Bf5, 28. Nf4! b1=Q? 29. Rxb1 Bxb1 30.Nd5 +-. If 27...Qa5, 28. Nf4 also. Strangely, the move didn't get mentioned in the Chessbase analysis, or the official commentary.
Wingman4l7 2 days ago 0 replies      
This headline sorely needs a qualifier to explain what it's about -- even something simple like "[chess]" would be sufficient.
novalis78 2 days ago 0 replies      
Magnus Carlsen plays like he invented the game.
Basic Data Structures and Algorithms in the Linux Kernel stackexchange.com
183 points by jackhammer2022  6 hours ago   13 comments top 9
incision 30 minutes ago 1 reply      
Very nice summary.

I encountered many of these while reading through Understanding The Linux Kernel [0] and The Linux Programming Interface [1].

Both are great books which are primarily about the "how" of the kernel, but cover a lot of the "why" of the design and algorithms as well.

0: http://www.amazon.com/dp/0596005652

1: http://www.amazon.com/dp/1593272200

bcjordan 33 minutes ago 0 replies      
A Coding for Interviews [1] group member mentioned that reading through the Java collections library [2] was the most valuable step he took while preparing for his Google interviews.

In addition to getting a better understanding the standard data structures, hearing a candidate say "well the Java collections library uses this strategy..." is a strong positive signal.

[1]: http://codingforinterviews.com

[2]: He suggested reading the libraries here: http://www.docjar.com/html/api/java/util/HashMap.java.html

eshvk 4 hours ago 0 replies      
The stack exchange comment was amazing. You can't get a better raison d'etre for why studying algorithms is important.
aceperry 44 minutes ago 0 replies      
Excellent, I love reading this stuff. Very helpful and informative for those of us who are interested in computer science but studied in a different field.
almosnow 36 minutes ago 0 replies      
Amazing answer!, unfortunately 'this is not a good fit for our Q&A format'.
chintanp 5 hours ago 0 replies      
My favorite algorithm has been the linked list implementation, pretty useful for implementing list on embedded platforms.
blahbl4hblahtoo 3 hours ago 0 replies      
Wow. That's so cool.
timsally 4 hours ago 2 replies      
Great material, but it's been directly taken from the source material (http://cstheory.stackexchange.com/questions/19759/core-algor...) with no added content. I imagine Vijay (the author of the source material) put a lot of work into assembling this information. Vijay's CS Theory answer should replaced as the URL for this HN submission.

EDIT: Removed part of my comment, per the blog author's response below.

jackhammer2022 4 hours ago 1 reply      
More implementations listed at: http://cstheory.stackexchange.com/a/19773
Ansible 1.4 released github.com
172 points by matthiasv  2 days ago   57 comments top 20
mattjaynes 2 days ago 2 replies      
For a higher-level overview of this release, see the blog post: http://blog.ansibleworks.com/2013/11/21/ansible-1-4-released...

A lot of great new features in this release - very excited to see the tool become more and more powerful.

I only came across Ansible this summer, but it really blew my mind. I've been doing systems contracting for a few years now and Ansible is the most valuable tool I've come across for systems management so far. Now, rather than have to use (and train my clients on) multiple tools, I can have them just learn one solid tool that can handle orchestration, deployment, configuration management, server inventory, etc. I can now do a systems project in days when before the same project would take weeks. Expect to hear a lot more about Ansible in the future.

Ansible isn't awesome because of a feature-list. It's awesome because it saves me time and gives me a lot of power for very little investment. Whether you're setting up a single server or 10,000 nodes, you can use this tool to give you a ton of leverage without having to spend weeks learning complex tools.

That's why I've been focusing on it so much in the last few months.

Shameless (but highly relevant!) plugs:

For weekly community updates and cowsay jokes, sign up for Ansible Weekly: http://devopsu.com/newsletters/ansible-weekly-newsletter.htm...

For a comparison of Ansible with other configuration management tools (implementing an identical project in each tool), see my book on the subject: http://devopsu.com/books/taste-test-puppet-chef-salt-stack-a...

For a brief introduction to Ansible in comparison to Shell Scripts, see: http://devopsu.com/blog/ansible-vs-shell-scripts/

gtaylor 2 days ago 3 replies      
Ansible has worked really well for us at Pathwright. We initially played a lot with Chef and Puppet, as they're two really safe bets. This is kind of petty, but we're a Python shop, so the Rubyisms were a bit jarring. Both were also a bit harder to pick up while short on time. This new thing (at the time) called Ansible caught our eye, and it only took a few days to see that it was a great fit for us.

While Ansible is developed in Python, it doesn't leak through to the UI and the playbooks. It's all just YAML. Learn a little Jinja2, grok the directory structure, and you're set.

The playbook format is simple, and even people without any Ansible experience can pick through and get a basic idea of what's going on. Pythonistas, Rubyists, whatever. It's just YAML.

My only criticism is that the documentation isn't organized very well just yet. This is common with projects that are rapidly growing/improving, and I expect it to get better. In particular, I think the doc index needs to be trimmed a LOT, with more content being delegated to sub-sections: http://www.ansibleworks.com/docs/

Overall, great utility, very helpful community, loads of potential.

pilif 1 day ago 0 replies      
Last year, I have deployed ~20 machines with puppet (some virtual, some physical) which also was my first attempt into automatic configuration (better late than never I guess).

I'm reasonably happy with the outcome and it has certainly paid off the learning effort.

But when I learned about Ansible a few months ago and after reading the documentation, I was blown away when I've seen Ansible practically fixing all my gripes I have with puppet.

Audible really feels like the perfect piece of Software for my use case:

For one, I don't have that many machines and the amount of them changes very rarely, so I don't really get much benefit from the central puppet server. It is however one additional piece if software to maintain.

Then, by being able to push a config from everywhere with Ansible, I could get rid of a few scripts that now update the puppet master from git checkouts and then tell the other machines to fetch the config (the clients are not running the agent in daemon mode because I like to have full control over when the deployment of configs happens)

Next, Ansible has a very cool facility to do one-off things across multiple machines. Yes, that's probably a dangerous shoot-yourself-in-the-foot feature, but sometimes, my feet need shooting at and I'm happy if the tool provides the gun instead of myself having to build the gun myself if you pardon the metaphor.

Next, I love the feature that managed clients practically need nothing installed on them to be able to manage them. And: Ansible brings everything it needs to bootstrap a new client. That' say other script I would not have needed to write.

Finally, I like the much bigger library of included modules as that would keep the repository I have to keep smaller and constrained to just the actual configuration of my machines rather than infrastructure to just be able to express the configuration.

Now if only I had time to convert our puppet setup.

sandGorgon 2 days ago 1 reply      
Ansible has way too few examples and documentation going around it. The supplied examples are way too simplistic and do not mirror any real life application at all.

I really hope that the authors create a non trivial project (like hadoop on EC2) which exercises a lot of parts of Ansible, document it throughly and structure it to match real life workflows. It's really, really hard to go around hunting for documentation.For example, I did not even know after reading the Ansible-EC2 documentation for a few hours that you need to periodically run "python ec2.py" to keep refreshing your inventory in a cache on your disk. I somehow thought (or intuitively expected) all that happened in the background on running the playbook, and just take a few minutes longer - it's not as if any time is saved, since you have to run the inventory script anyway.

Single playbooks that launch an EC2 instance, print hello and shut it down are not the typical use case.

qznc 1 day ago 1 reply      
In all this talk about Ansible, Puppet, Chef, I wonder why nobody mentions cfengine. When I explored configuration systems my conclusions were Ansible for small systems (<100 nodes) and cfengine3 for larger systems. cfengine has very little dependencies (no Python/Ruby/etc) and a solid theoretic foundation (Promise theory etc).
habitue 2 days ago 1 reply      
I see that it's licensed GPL, but then the "pricing" page says the open source version can be used on up to 10 boxes. Is this a code restriction (which could be circumvented) or is it an additional license restriction (which the GPL expressly disallows) ?
ddispaltro 2 days ago 0 replies      
I feel like for years we've bastardized chef to execute like fabric, using littlechef, custom attribute smashers, and git. Now with ansible this a first class experience, very cool guys!
shiven 2 days ago 0 replies      
Ansible has so far been the best software I have ever used for system administration. Love it!

After the nightmare (for me) that was chef/puppet, Ansible is heaven!!

nphase 2 days ago 0 replies      
These Van Halen song release names are hilarious!
pas256 2 days ago 0 replies      
Ansible is so good, than even Ansible playbooks win awards:



pekk 2 days ago 1 reply      
Too bad Ansible will not support Python 3
analytically 2 days ago 0 replies      
Check out my Ansible Playbook that installs a Hadoop cluster (running on Java 7), with Ganglia, Fluentd, ElasticSearch and Kibana 3 for monitoring and centralized log indexing. https://github.com/analytically/hadoop-ansible
xfax 2 days ago 2 replies      
I'm looking for a configuration management system since our VPSs are getting a bit crazy to manage manually.

Been looking at Chef and Ansible primarily. Anyone have a good comparison between the two?

CraigJPerry 2 days ago 2 replies      
How do others test their playbooks?

I've been wrapping up playbooks in python unittests[1] but i'd like to find something a bit more expressive and less wordy. I could shoogle my wee testing framework a bit more into shape but keen to see how others tackle.

Maybe i can steal some inspiration!

[1] https://github.com/CraigJPerry/home-network/blob/master/test...

tszming 1 day ago 0 replies      
More and more people are moving from projects like chef to ansible because people need a way to manage servers without the need of too much server dependencies, it is so obvious and I really can't understand why chef developers can't see the needs here.
HeyImAlex 2 days ago 0 replies      
Woo for roles search path configurability! I'd been symlinking a devops folder into all of my projects and doing relative imports from it.
ermintrude 1 day ago 1 reply      
I'm working on a large project running on AWS. We're building an n-tier architecture with many roles in auto-scaling groups.

We wasted the first couple of months writing wrappers around SSH to let us provision servers with salt, which if we'd been using ansible would have been completely unnecessary. We did evaluate ansible at the start of the year, but at that time it didn't look quite as mature so we went with salt.

I've used ansible myself and it's far simpler than salt, and quicker to get started with. Admittedly I haven't used it to deploy the same complex software as we are doing with salt, where orchestration is fiddly. Overall, the thing that lets salt down is its appalling documentation, poor support (the IRC channel has been practically useless) and complex terminology (what's the difference between a module and a state? Who knows...).

Salt does have one thing in its favour though - the ability to run things in parallel. For example a new node can request itself to be configured which is very useful when running in auto-scaling groups. I think this is coming in ansible, but it wasn't at the same level as in salt last I checked.

With salt, when a new node comes up (in an auto-scaling group for example), it can request itself to be configured. Once finished it can fire an event to the saltmaster which can trigger it to reconfigure other nodes. This, for example, means when a new web server comes up, the app can be deployed to it and the node can then instruct the saltmaster to update the load balancer configs to send traffic to it. This event system is powerful because it lets multiple tasks take place in parallel, but it is complicated.

If ansible had an intuitive way of running tasks in parallel (with locks through critical sections, the ability to target a subset of matched nodes (to back up a single server in a pool for example), etc.), then I think it'd beat salt hands down.

For the majority of cases I'd definitely recommend ansible over salt. And as for chef/puppet after using them both on earlier projects, we started looking for something else that could do orchestrations as well as provisioning and that had saner authentication when running in the cloud.

Good work ansible team!

jeffnappi 2 days ago 0 replies      
Ansible is fantastic - congrats to Michael Dehaan and the rest of the team! We love ansible at iAcquire :)
misterparker 2 days ago 0 replies      
Will this allow me to talk with the buggers?
mackwic 2 days ago 3 replies      
I am not convinced by the advantages of the web gui for deployment against our good old fabric/buildbot/deploy, does someone has a feedback with that tool ?

Anyway, I am always very happy to see OSS projects like that making a living of paid services (or the opposite, whatever ;) ).

ClojureScript Koans: Learn ClojureScript from inside your browser clojurescriptkoans.com
167 points by lazerwalker  1 day ago   36 comments top 14
MBlume 1 day ago 0 replies      
There are some good criticisms here about some of the discontinuities in difficulty, but first and foremost I really want to congratulate OP for doing something to address the instant gratification problem in learning to program. You can open this site in your browser and immediately start interacting with code rather than trying to get your java environment/editor/etc. set up, and that's fantastic, we really need more tools like this.
resu_nimda 1 day ago 3 replies      
I like this, but it seems too cryptic for a true novice to actually learn from, especially if they've never been exposed to Lisp syntax. Who is the intended audience?

I see that it's something of a port of the Clojure Koans, has there been much feedback on that as to whether people are able to truly learn the language this way? I'm intrigued by new methods of instruction, but this seems like it would be a very frustrating trial-and-error game to a beginner, as there is virtually zero actual teaching. We're supposed to be making programming more accessible, not less. It seems like this kind of thing ends up as a fun toy/experiment for people who already know most of it.

It is very nice though.

terhechte 1 day ago 4 replies      
This goes from easy/novice up to advanced level in a short amount of time. I did some koans until I arrived at functions/9 which is:

(= 25 ( ___ (fn [n] (* n n))))

I found this one to be not so trivial, granted I'm still a novice clojure user, but I still think that it went up rather steeply here.

I think if they really want to introduce new people to ClojureScript, then the koans need a friendly help system and the ability to show the solution and have it explained to you.

It should also have a short introduction in Lisp that explains prefix notation / s-expressions. I think that would make things a lot easier.

michaelsbradley 1 day ago 1 reply      
Very nice!

Would like to see it feature a ToC so one can easily move between the koan categories.

__float 1 day ago 1 reply      
This reminds me of http://4clojure.com with a simpler [nicer?] (but less featureful) UI.

I want to add a slightly off-topic remark, but 4clojure actually runs the tests in a sandbox on the server. This is compiling to ClojureScript, and I have to wonder if it's "good enough" or whether down the line some koans might run into problems being ClojureScript instead of the real Clojure on the JVM.

nemo1618 1 day ago 0 replies      
I chuckled when I realized you could just copy and paste the expression and it will pass the equality test. Obviously you don't learn anything this way, but I'll admit I used it once or twice when I got stumped.
krcz 1 day ago 2 replies      
#5 in sequence comprehensions part doesn't seem to work for me. I've checked my solution in console clojure interpreter and it evaluates to true there.
agentultra 1 day ago 0 replies      
Interesting... I would second adding some hints after n failed attempts. You could just expect the user to go off to google but it'd be a nice touch to get a small hint in-place.
tonetheman 1 day ago 0 replies      
Really interesting way to learn. I made it into vectors and then got completely stuck on subslice. Maybe a hint text or something or a way to skip it or get the answer if I have not got it after a few tries.

I might be typical but once I hit that screen and could not go further I closed it.

Still really good work!

graue 1 day ago 1 reply      
Awesome site!

Having done a few Clojure projects lately, I got most of these right immediately, but there were a few I messed up. It would be cool if you could go through these flashcard-style: one try for each koan in a category, then re-show the ones you got wrong, and repeat until you get them all right.

TallboyOne 1 day ago 0 replies      
blossoms 1 day ago 1 reply      
http://clojurescriptkoans.com/#higher-order-functions/10 got me good. Why is it one needs to use `(count a) (count b)` instead of just `a b` like worked when comparing string lengths in a previous ClojureScript Koan?
koanita 1 day ago 0 replies      
I was playing with this, but is a little long and I wanted to know if the end is near, so add a percentage bar also it would be useful to have an index of topics.
gotofritz 12 hours ago 0 replies      
Nice, but needs help / clues
PostgreSQL: Don't use CHAR or VARCHAR jonanin.com
167 points by Jonanin  3 days ago   79 comments top 16
susi22 3 days ago 11 replies      
I have to disagree. You should always put limits on everything, as said nicely here [1]:

"Put a limit on everything. Everything that can happen repeatedly put a high limit on it and raise or lower the limit as needed. Block users if the limit is passed. This protects the service. Example is uploading files of logos for subreddits. Users figured out they could upload really big files and harm the system. Dont accept huge text blobs either. Someone will figure out how to send you 5GB of text."

Sure, you should ideally do this in your application code. But if there is multiple interfaces (such as a REST api etc) to your database then you have to remember to put them in place everywhere. I don't see a good reason to make a username field to be TEXT instead of a generous VARCHAR(300). If somebody wants to choose a longer username than that, he's probably malicious. It protects you with zero cost and allows you to make some user input sanitation mistakes (we're all humans) in your application code.

[1] http://highscalability.com/blog/2013/8/26/reddit-lessons-lea...

rosser 3 days ago 0 replies      

If you want to change the max length to be larger, postgres will have to rewrite the table, which can take a long time and requires an exclusive table lock for the entirety of the operation.

As of (IIRC) 9.2, this is no longer true. If you alter a varchar column to be narrower than it currently is, you'll rewrite the table. If you make it wider, or convert from varchar(n) to text, you won't.

EDIT: And if you're willing to hack the system catalogs instead of using an ALTER TABLE, you can even get around the rewrite to narrow a varchar(n) column. See: http://stackoverflow.com/a/7732880

dragonwriter 3 days ago 1 reply      
A few observations:

1. While the linked blog post is new today, its mostly a link back to a different 2010 blog post.

2. The linked blogged post and the 2010 blog post basically discuss performance considerations that have been documented clearly in the PostgreSQL documentation for character data types since version 8.3 (and less completely for several versions before that) regarding the performance considerations ( CHAR(X) worse than VARCHAR(X) worse than VARCHAR and TEXT.)

3. The linked blog post says "don't use CHAR or VARCHAR", but really, it should be "don't use CHAR(x) or VARCHAR(x)". VARCHAR is pretty much identical to TEXT.

DrJokepu 3 days ago 2 replies      
Couldnt agree more. Database constraints should be thought of as the last line of defence against madness rather than as means to validate input. Database constraints are not really suitable to defend against attackers. Constraints might stops users from creating extremely large records but they won't stop users from creating an extremely large number of records etc. You need to sanitise your input thoroughly in the application layer.
hmottestad 2 days ago 2 replies      
From my database course I learnt that nothing is slow in a database until you can't fit your join operation in memory. Having to do a a join operation on varchar(300) is predictable. Having to do one on text is unpredictable and can slow your system to a crawl if the operation needs to be done on disk rather than in memory.

FWIK the article did not talk about joins at all. I would love if someone has a good article comparing what happens when you do a join on varchar vs text.

EDIT: One question remains, how is the "text" stored when doing a join. For varchar you just make an array, because all values are the same length. With "text" do you first find the longest text and use that as the default array element size? This may not seem important with in memory operations, but seeking on disk is considerably faster when all your elements have the same size.

DharmaPolice 2 days ago 0 replies      
As someone who regularly has to write SQL in 7 different dialects I much prefer VARCHAR to TEXT as the former is handled much more consistently across platforms. A TEXT column in MS SQL Server is an entirely different proposition to a VARCHAR column. VARCHAR on the other hand is treated with relative similarity between most of the systems I regularly use.

Additionally, one of the key benefits of more explicit datatypes is documentation. Knowing that a column is 30 characters wide is useful information to have at hand (without having to check check constraints) and often reflects a business rule. Where joins have to be performed on character columns it also helps to know if both sides of the join are both (say) CHAR(8). If every text column is TEXT then that's much less clear. Check constraints help but you don't always know if they've been applied to all current data (some platforms allow for constraints to ignore current data). If I know a column is VARCHAR(50) then I am 100% certain that there will be no value longer than 50 in it.

zzzeek 3 days ago 3 replies      
use VARCHAR because constraints are a good thing, and use CHAR if you are storing strings of a fixed length, because semantics are a good thing. The point about padding being wasteful for variable-length data in CHAR is moot because CHAR is for storing fixed-size strings like state codes.

As the PG docs say, there is virtually no performance difference at all between all three, so stick with standard practices.

mariusz79 3 days ago 3 replies      
What if the performance changes? What if you decide to migrate to a different db at a later time? What if your software determines field types and sizes in the gui based on the database schema? IMHO always use the right field for the job..
steven2012 3 days ago 3 replies      
That's interesting. So can you put an index on a TEXT column in PG? From what I know, you can't do that in SQL Server/Oracle, you can only use full text searching (I think).
kevrone 13 hours ago 0 replies      
I've used PostgresSQL quite successfully for the past few years at rather large scales and I can tell you, using TEXT everywhere is sooooooooo much easier on everyone involved. Especially on large teams (hundreds of developers) where migrations are a big deal. And especially when the business teams are essentially dictating the use cases. Those people change their minds ALL THE TIME ("Yeah, I know we agreed that we only need about 20 characters for the description here, but we now think 25 will really make the whole thing pop, ya know?").

And as far as the argument for keeping schemas in strict SQL so that some future database switch can be made more smoothly...I mean c'mon. Even if you actually do that (who does that?) you're going to have more annoying things to do than replacing some TEXT columns to VARCHAR.

nness 3 days ago 1 reply      
Uh, shouldn't you use the most appropriate type available to describe your data, since that will simplify the process if you ever need to migrate to a different DBMS?
znowi 2 days ago 0 replies      
I wish more articles had tl;drs like this one. Very helpful. Often you have to skim through preludes and side stories with jokes to piece the gist together.
etler 2 days ago 0 replies      
So is there actually any benefit to using text over varchar when the constraint is actually 0 to X, or instead of char when your input actually needs to be exactly X characters? It seems the real point of the article is make sure that these are really the constraints you want.
rsynnott 3 days ago 1 reply      
Clearly, this is an evil plot to make peoples' schemas break entertainingly in case they ever try to move to MySQL :)
hobs 3 days ago 1 reply      
Does pg have the concept of a clustered index? If so, for frequent inserts/updates it could actually matter.
poissonpie 2 days ago 0 replies      
I'm of the opinion that your data structure should model your data. If your piece of data is best represented by char or varchar, then use it. I'm not super familiar with Postgres, but among other things, modelling your data correctly helps when another developer has to step in and maintain your app. They can easily get a sense of how the presentation layer should look if you've done so.
       cached 24 November 2013 05:11:01 GMT