hacker news with inline top comments    .. more ..    17 Dec 2015 Best
home   ask   best   2 years ago   
The first person to hack the iPhone is building a self-driving car bloomberg.com
834 points by bcg1  13 hours ago   403 comments top 55
jpfr 10 hours ago 21 replies      
Prototypical case of the 80/20 rule. He has implemented the happy case. But that system is nothing people realistically would want to drive their cars.

What he did is impressive. But the results are not that outlandish for a talented person.

1) Hook up a computer to the CAN-Bus network of the car [1] and attach a bunch of sensor peripherals.

2) Drive around for some time and record everything to disk.

3) Implement some of the recent ideas from deep reinforcement learing [2,3]. For training, feed the system with the oberservations from test drives and reward actions that mimick the reactions of actual drivers.

In 2k lines of code he probably does not have a car model that can be used for path planning [4] (with tire slippage, etc.). So his system will make errors in emergency situations. Especially since the neural net has never experienced most emergencies and could not learn the appropriate reactions.

And guess what, emergency situations are the hard part. Driving on a freeway with visible lane markings is easy. German research projects autonomously drove on the Autobahn since the 80s [5]. Neural networks were used for the task since about the same time [6].

[1] http://www.instructables.com/id/Hack-your-vehicle-CAN-BUS-wi...

[2] http://arxiv.org/abs/1509.02971

[3] http://arxiv.org/abs/1504.00702

[4] http://www.rem2030.de/rem2030-wAssets/docs/downloads/07_Konf...

[5] https://en.wikipedia.org/wiki/Eureka_Prometheus_Project

[6] http://repository.cmu.edu/cgi/viewcontent.cgi?article=2874&c...

thedz 11 hours ago 16 replies      
> I understand the state-of-the-art papers, he says. The math is simple. For the first time in my life, Im like, I know everything there is to know.

Yep, he's still in his twenties.

1024core 8 hours ago 1 reply      
Like most hard problems, it's easy to pick off the low-hanging fruit and claim that you have solution.

Self-driving cars (in some form or the other, under some loose definition of "self" and "driving") have been around since the 20s. But it still remains a vexing problem.

It is quite easy to program a car to stay between 2 cars and follow the car in front. It is quite another to have the same car drive on (a) a road without lane markings; (b) in adverse weather conditions (snow, anybody? Hotz should take the car to Tahoe); (c) in traffic anomalies (ambulance/cop approaching from behind; accident/debris in front; etc. etc.); and so on.

No offense to GeoHot, but I'd love to see his system work in rush-hour 101 traffic; or cross the Bay Bridge, where (coming to SF) the lanes merge arbitrarily.

The key challenges are not only to drive when there's traffic; but to also drive when there's NO traffic, because lane markings, etc. are practically nonexistent in many places.

Having said all that, I still admire his enthusiasm and drive(no pun intended). Tinker on!

paragpatelone 10 hours ago 4 replies      
"His self-funded experiment could end with Hotz humbly going back to knock on Googles door for a job."

The biggest thing here IMO is this is self-funded. Any startup trying to do what he is doing in this environment would have raised $50 Million, hired 100's of engineers from top notch schools, become accepted in YC, and have Marc Andreessen, Paul Graham, Sam Altman and all singing their praises.

Kudos to him for being self-funded.

ixtli 8 hours ago 1 reply      
It's somewhat frustrating that he continues to get the credit for "hacking the iphone" when he was neither the first nor the only person on the project. The "iPhone Dev Team" was a group of five to ten people who built tools to jailbreak the phone and unlock the radio. If anything, the first person was a guy called Nightwatch who was also associated with various .tif exploits to unlock the PSP. As near as I could tell at the time he worked in some capacity for a South American university. Geohot worked only on the baseband unlock and was forced out of the closed discussions when he released exploits before everyone had time to prepare. This is important because some peoples participation in the project could have potentially affected their employment. Luckily I don't know that anything bad happened, but suffice it to say the kid is not a team player.
pjc50 11 hours ago 2 replies      
The 21" monitor portrait-style in the car is fantastic.

The testing of a hacked-together system on the public road is not. He probably won't kill anyone, but if he were to I suspect he'd get the book thrown at him in the way that everyday death-by-DUI drivers don't.

Actually I'll go futher with this criticism: we've just seen drones being FAA regulated because users were unable to refrain from doing dangerous or nuisance things with them, such as flying near airports. DIY self-driving car research is similarly likely to damage the concept if it goes wrong.

reneherse 10 hours ago 0 replies      
For comparison, a similar hacker spirit underpins Tesla Motors propulsion tech: Back in the early 2000's, there was a young engineer driving around Palo Alto in a brilliantly hacked electric Porsche 944, which would do about 130mph on the highway.

His name was JB Straubel, and nowadays he's Tesla's CTO.

Best of luck to Hotz!

jaybosamiya 10 hours ago 7 replies      
> The last people with jobs will be AI programmers

Geohotz makes a decent point. The way the industrial revolution reduced manual labour, and made thinkers and tinkerers much more valuable, the advent of AI (true AI, mind you, not the tiny stuff that we currently assume) might actually make us obsolete. It is a peaceful and yet terrifying thought.

rhema 11 hours ago 2 replies      
> Amazed, I ask Hotz what it felt like the first time he got the car to work.

>Dude, he says, the first time it worked was this morning.

I can't tell if this is a joke or unbridled hubris. Either way, self driving cars seem like a new hacker space.

deftnerd 9 hours ago 1 reply      
@imgeohot - Before launch, you should look into a communications protocol between the vehicles. It appears to me that the new LiFi standard might be perfect. You might be able to use the laser range finders themselves to communicate between vehicles.

What to communicate? I'm not sure, to be honest. Road conditions or notifications of the position of obstacles is one obvious thing. Advertising the current version of the software and pushing signed OS upgrade binaries is another. Voice/Video chat with other vehicles in range would be cool, as is media syncing and discovery.

Building in some kind of Bitcoin based payment protocol would be fun too. You could load your cars Bitcoin wallet with some funds and tip cars around you all over the LiFi.

I'm not saying you need to build all that stuff, just put in a good hackable messaging protocol into the system before wide release :-)

Great work man. Good to see people with a good hacker ethos accomplish really cool things.

antoniuschan99 10 hours ago 1 reply      
He seems like a pretty cool and level headed person. If you watch the video, they're working on phase 3 of car automation which is basically when you're on the highway (or on the smaller roads) and the car takes over for you. It seems like google is working on phase 4, which I feel is basically too far off (no reason for us to need cars that can drive themselves without anyone in it). Also, Tesla, Mercedes, those are all phase 3 (Autosteer).

Also pretty cool he's working in his garage :P.

hamhamed 11 hours ago 3 replies      
> Frankly, I think you should just work at Tesla, Musk wrote to Hotz in an e-mail. Im happy to work out a multimillion-dollar bonus with a longer time horizon that pays out as soon as we discontinue Mobileye.

> I appreciate the offer, Hotz replied, but like Ive said, Im not looking for a job. Ill ping you when I crush Mobileye.

> Musk simply answered, OK.

I have to agree with Elon here, Hotz is such a good fit there. But Hotz knows best, if he thinks he can take down Mobileye then he did the right decision, sucks that Tesla wouldn't back it. I'm sure other car companies would buy Hotz's software

iblaine 11 hours ago 2 replies      
>The smartest people I knew were in high school, and I was so let down by the people in college.

He seems like a good person to get into business with. He's so non-judgmental. Reminds me of myself and all the stupid things I said to VCs in my 20s.

hellofunk 8 hours ago 1 reply      
I don't know what's going to happen with this project of his, but this certainly is an interesting article:

>Sitting cross-legged on a dirty, formerly cream-colored couch in his garage, Hotz philosophizes about AI and the advancement of humanity. Slavery did not end because everyone became moral, he says. The reason slavery ended is because we had an industrial revolution that made mans muscles obsolete. For the last 150 years, the economy has been based on mans mind. Capitalism, it turns out, works better when people are chasing a carrot rather than being hit with a stick. Were on the brink of another industrial revolution now. The entire Internet at the moment has about 10 brains worth of computing power, but that wont always be the case.

tmalsburg2 8 hours ago 2 replies      
Surprised that no one else commented on this: It is completely mad and irresponsible to test a self-driving car on a public highway especially since the one who has built it admits that he has no idea what it is doing. Hotz is putting other people's lives in grave danger and everyone is applauding him for that.
blinkingled 11 hours ago 1 reply      
>At Google, he found very smart developers who were often assigned mundane tasks like fixing bugs in a Web browser; at Facebook, brainy coders toiled away trying to figure out how to make users click on ads.

I'm not sure those two are equally horrible though - fixing complex bugs requires using lot of skills and the high you get when you finally nail it is nothing to miss.

Getting people to click on ads though - that's genuinely depressing.

hias 11 hours ago 4 replies      
Sorry, but how can this be legal?With his homemade solution, he is not only endangering himself but all the other people in the cars around him.

Usually before you are allowed to use something like this on a public road your stuff has to be tested and approved by the state. At least this is how it is in Europe, does this not matter in the states?

ericjang 9 hours ago 0 replies      
During my internship at Google I watched Hotz give a talk on QIRA and his Pwnium exploit.

George Hotz working his magic on the computer is the most fucking legit thing I have seen in my life.

nojvek 1 hour ago 0 replies      
I really like his 4 stage definition of self driving car. I don't really care about the fully autonomous like the google car. I've driven the adaptive cruise control VW in europe and that was an amazing experience. The only thing missing was lane control which this guy has done. Personally, where self driving really shines is long trips on the highway. All I really want is smarter cruise control that can stay on one lane and not bump into anything, and ideally send an alarm if it thinks it needs help.
dangirsh 9 hours ago 0 replies      
I met Hotz at SpaceX, and can assure you he's not as cocky as this article makes him out to be.
pyoung 6 hours ago 0 replies      
Looks like the car he is using already comes with adaptive cruise control and lane keeping assist[1]. Can someone with more knowledge on the subject chime in on how/what he is doing that improves upon those?

[1] http://www.acura.com/Features.aspx?model=MDX&modelYear=2016&...

erjjones 9 hours ago 0 replies      
Self-Driving cars are very exciting but we know it can be done - super cool that Hotz got this working. Now he could really impress the community if he could solve 6 additional concepts http://gizmodo.com/6-simple-things-googles-self-driving-car-...
dkns 4 hours ago 0 replies      
Absolutely exciting stuff. Imagine if you have 100, 1000 or 10000 cars each with deep learning software on board. Have them all upload data after each drive to central repository and download updates from other cars. You might start without stuff like 'react to that deer that just jumped on the road' but when you have 10 000 or 100 000 cars that learn and share their knowledge between them you'll quickly learn a lot of corner cases.
mandeepj 1 hour ago 0 replies      
> In the coming weeks, Hotz intends to start driving for Uber so he can rack up a lot of training miles for the car.

Really? I did not expected this from him. Why don't he put his sensors\cameras\kit on few other hundred\thousand cars and pay them some money or get some early adopters.

michael_h 10 hours ago 3 replies      

 He thinks machines will take care of much of the work tied to producing food and other necessities. Humans will then be free to plug into their computers and get lost in virtual reality.
Well, that's an astronomically depressing future.

tragomaskhalos 9 hours ago 0 replies      
"Hold this, he says, dumping a wireless keyboard in my lap before backing out of the garage. But dont touch any buttons, or well die."


edward 8 hours ago 0 replies      
hcrisp 9 hours ago 0 replies      
I dont care about money, he says. I want power. Not power over people, but power over nature and the destiny of technology."

This has echoes of J.R.R. Tolkien:

Anyway all this stuff is mainly concerned with Fall, Mortality, and the Machine. By the last I intend all use of external plans or devices (apparatus) instead of development of the inherent inner powers or talents -- or even the use of these talents with the corrupted motive of dominating: bulldozing the real world, or coercing other wills. The Machine is our more obvious modern form though more closely related to Magic than is usually recognised. . . . The Enemy in successive forms is always 'naturally' concerned with sheer Domination, and so the Lord of magic and machines.

dvh 12 hours ago 1 reply      
I always thought default Ubuntu WM is only used by the people who don't know how to change it.
jacquesm 2 hours ago 0 replies      
> I know everything there is to know.

Except the law when it comes to exceptions for being in control of your vehicle at all times. Somebody take this guys license before he kills someone due to a divide-by-zero. Testing this in an abandoned parking lot would be ok with me (probably still against the law but fine). In traffic is a definite no.

Wonnk13 9 hours ago 0 replies      
Can anyone recommend a AI/economics book regarding the implications of a population where jobs are no longer necessary?
SuperKlaus 10 hours ago 0 replies      
"George Hotz will be a panelist at Bloomberg Businessweek Design 2016 on April 11, 2016."
RIMR 9 hours ago 1 reply      
This the same guy that Sony wanted to put in prison for figuring out how to run code on the PS3...

That stunt is also what lead to a coordinated attack against PSN that took the service down for more than a month.

pfista 9 hours ago 0 replies      
Is it really the best approach to only train from real world scenarios without any programmed constraints? Most humans are terrible drivers and there's a reason so many people die every year in car accidents. It seems like his approach might be more organic but it'd also be really hard to provide training data around emergency situations as others have mentioned here.
samlittlewood 6 hours ago 1 reply      
Interesting to see an nvidia shield box on his shelves [0] - I've been playing with one, and the Tegra X1 SoC in there is an absolute beast. Nvidia are pushing this chip for automotive, supported by freely available learning and vision toolkits.

I'd not be surprised to see some interest and support from nvidia on this (if not, then they should REALLY look into it).

[0] http://www.bloomberg.com/features/2015-george-hotz-self-driv...

politician 10 hours ago 1 reply      
If a self-driving car is designed around neural networks, then does that remove the liability dilemma introduced when such a car is involved in an accident? The car panicked and crashed.

If we could move the liability to the car itself, then maybe we could just add the car to its own insurance policy, you know, as if it were a dependent, like a teenage driver.

pakled_engineer 8 hours ago 0 replies      
His AI strategy that doesn't use IF statements sounds influenced from the Sussman & Radul paper the Art of the Propagator. In this related course you also learn how to program AI decisions based on pattern matching like him giving space to a cyclist and the AI later doing the same https://groups.csail.mit.edu/mac/users/gjs/6.945/
quantumgoo 10 hours ago 1 reply      
If it passes the written and driving tests at the local DMV, should the car be given a driver's license?
giancarlostoro 9 hours ago 0 replies      
He does a bit of interesting projects, hacking the iPhone, Android and even the PS3 to the point of being sued by Sony [1]. Geohot has potential, so it will be interesting what we see him accomplish, hopefully some company doesn't swoop in and ruin his progress.

[1]: https://www.youtube.com/watch?v=9iUvuaChDEg

devy 9 hours ago 0 replies      
The article mentioned Elon's delaying tactic. I wonder what would happen if Hotz's idea/project was bought out by Tesla.
bparsons 4 hours ago 0 replies      
Good to see smart people working on something actually useful, and not another group chat or instagram clone app.
lavezzi 11 hours ago 1 reply      
Probably best that he's working on his own, doesn't seem like the kind of guy you'd want to work alongside.
Grazester 12 hours ago 1 reply      
Geo Hotz amazes me!!With that said, can he be prosecuted for using his driverless car on public roads without a license to do so?
J0-onas 11 hours ago 1 reply      
So how does his technology/software react on dangers? The video only shows how he keeps his lane...
daemonk 11 hours ago 0 replies      
It looks like he has various sensors for gathering driving data. But how do you really know when you have gathered enough dimensions of data in this situation? How do you train for edge cases?

I imagine there will still have to be some hard rules in case the AI encounters edge cases.

JustSomeNobody 11 hours ago 3 replies      
So its more a fancy autopilot than a self driving car.
dominotw 10 hours ago 0 replies      
Would be interesting to see demo that is not just car self-driving in a straight(ish) line.
et2o 10 hours ago 0 replies      
I love this guy's personality.
ginsmar 8 hours ago 0 replies      
kevando 7 hours ago 0 replies      
> 99%
ck2 9 hours ago 1 reply      
I really liked Hotz until he went to work for the dark side (google's android security) and decided to make smartphones harder to root instead of easier.
frik 9 hours ago 2 replies      
He must have rich patents or a sponsor. The Lidar isn't cheap (50k).
samfisher83 11 hours ago 0 replies      
The guys hacked the PS3. That guy can build a self driving car.
mschuster91 8 hours ago 0 replies      
The fuck. Hotz is awesome... The only coder with a skillset so diverse yet immersive I know is Fabrice Bellard. I'd love to see them on a team together... probably will invent true AI O.o
myztic 3 hours ago 1 reply      
(This is completely Off-Topic but it's been bothering me for such a long time now and I never got sufficient answers)

Why am I seeing Ubuntu on Screens of developers, experts, et cetera in Cover Stories such as these, most of the time with the 100% plain Ubuntu Desktop with all the craziness that comes with it?It feels like this is the case 90% of the time. Two more (recent) examples I can remember:

1) Fyodor (Guy behind nmap) running plain Ubuntu on a Notebook while giving a speech at a conference

2) Developers at Honda (Video was an Asimo promotional video) running plain Ubuntu

Since in my personal opinion Ubuntu is not the technically superior choice in these cases (though that can be debated), it can not simply be explained with it being backed by a company, there being support you can buy for the system if you need it.

What motivates technically extremely skilled people to use "Plain Ubuntu" instead of one of the many alternatives?

I really don't understand, please enlighten me!

(I actually think it's worth "spending" some Karma on this if I for once get a satisfying answer)

Philips Hue blocks 3rd party lights home-assistant.io
560 points by cstuder  2 days ago   290 comments top 33
mdip 2 days ago 13 replies      
I'll never understand why companies make such customer hostile decisions. I can't see any upside to this and I can't imagine what the discussion looked like when implementing this decision. My (admittedly cynical) guess is that it was one part "We're fielding a lot of support questions on products that aren't ours and our malfunctioning" and two parts "Our customers will be more motivated to buy Philips Hue products since they're already invested in the existing system".

The first argument is out the door because now they'll just get a lot of support questions around many more products that don't work. The second might happen for existing customers, but I'm now going to avoid this product as a future customer because compatibility is a feature, and for me, and I'd think anyone who is looking to purchase a tool that manages lighting/small electrics around the home, compatibility is easily the #1 or #2 feature. If there were a choice between a lightswitch that worked with a wide array of lightbulbs, and one that worked with only one company's bulbs, guess which one I'm buying?

underbluewaters 2 days ago 2 replies      
I've been a hue user for the past year.

1) Their lights/bridge are by far the most reliable IoT product I've used. A 9/10 where other products (Wink, GE, Lutron) are at best 3/10.

2) While 3rd party bulbs were sort of supported, it wasn't advertised. I've never seen it described as a interoperable Zigbee Light Link device.

3) My attempts at getting a GE bulb working were inconsistent, and even when it did work the brightness range and responsiveness were worse than the hue bulbs. I had constant disconnections where I had to re-add the bulb as well. I imagine many people blamed philips when in fact the problem was with the cheap 15.00 bulb. This is probably the reason for discontinuing unofficial support.

I don't like the fact that there's not a thriving range of interoperable, cheap, and high quality zigbee light link devices out there. I'm happy the Philips is focused on delivering a product that actually works, however. All of my other home automation purchases have ended with many wasted hours and eventual returns.

dperfect 2 days ago 2 replies      
This problem isn't unique to Philips Hue, and I'm not sure Philips is necessarily a bad actor here. They are, after all, just acting in their best interest (and contrary to common belief, companies are self-interested; the customer's interests are important only so much as they serve the company's interests - for better or for worse).

Perhaps the problem is more related to the ZigBee standard, or more specifically, what ZigBee doesn't cover. As I understand it, the fact that Hue products conform to the ZigBee standard only applies to the protocol between the hub and lights; it says nothing about communication between control interfaces and the hub.

With that in mind, I feel that anyone who expected to use the Hue hub for controlling anything other than Hue lights had incorrect expectations. I certainly don't remember seeing Philips advertising any kind of third-party interoperability with the product.

Of course, it would be awesome for consumers if Philips did make that guarantee of interoperability, but from a business standpoint, once you start going down that road, you effectively have to support everyone else's products (whether or not they conform to the spec), and any failing of another product then reflects poorly on Philips' brand - even if they aren't the ones at fault.

So maybe if we put more pressure on these companies to adopt a common home automation control standard (not Apple's, not Google's, but something vendor-neutral), then we might start to see home automation interoperability in a consumer-friendly way.

mschuster91 2 days ago 0 replies      
Having had the pleasure of developing ZigBee stuff (NDA, so cannot name specifics), I can understand Philips' position of blocking 3rd party stuff.

Zigbee is nasty enough to develop for even if you HAVE all the relevant docs and everything, without adding stuff developed by others into the mix. The only thing why this crap ended upon users is because it's less power hungry than WiFi will be and has a bigger range than Bluetooth.

jcromartie 2 days ago 4 replies      
Are there grounds for a lawsuit when a manufacturer pushes out an update to a product that intentionally degrades its feature set like this? This is no longer the same product that these users bought, it's effectively damaged by the update.
throwaway420 2 days ago 3 replies      
I was literally about to make a purchase but now I'll be considering other options. Good timing on your part hue.

Do these idiot companies not learn anything from backlashes against Keurig and others?

PinguTS 1 day ago 0 replies      
When I read this statement[1] from Philips, that third party that is assigned will continue to work and only commissioning is blocked, then the reason for that seems to be as simple as the Master Key for commissioning got released[2].

So, Philips just started to issue a new Master key that now has to be implemented in all those third party devices. But Philips will issue that Master key probably only under very strict NDA with selling your first child and such things.

[1] http://www.developers.meethue.com/documentation/friends-hue-...

[2] https://news.ycombinator.com/item?id=9249753

someotheracct7 2 days ago 3 replies      
This is odd, but not catastrophic. If I understand right, Zigbee is open, so what's to stop the bulbs working with a third-party controller hub? Say, a Raspberry Pi with a Zigbee interface?

Wonder if this is still relevant?http://www.everyhue.com/vanilla/discussion/141/getting-hue-t...

That thread suggests it's possible to have Hue bulbs join third-party ZigBee networks.

kefka 2 days ago 1 reply      
I've ranted about this and the IoT and how we've came to it.

IoT is awesome, and super, as long as you don't buy products that require to beg for your data from some website API.

What makes more sense?Local device ->Internet ->Someone else's server(cloud) ->API ->Your cell/computer


Local Device ->Local controller

I extensively use Node-Red and Apache NiFi both. Node-Red is built on Node.js and is a graphical flowchart programming in the browser. It makes chaining together complex interactions easy and also makes many things no-code at all.

I use Node-Red for my home automation. It's open source, it works, and just makes sense.

Now, what should you use for the light bulbs? Unfortunately not Phillips Hue. This however opens up the market for others to come in and snipe business away. And that's a good thing. And whatever takes away the power of "other peoples' servers" cloud-crap, the better. It's just used as a way to control and extract more money.

Animats 2 days ago 1 reply      
Can you dump Hue and use Wink? Wink can supposedly control both GE and Phillips bulbs.[1] GE uses Wink as their main control system, and GE is big enough to argue with Phillips.

[1] http://www.wink.com/help/products/philips-hue-lighting-start...

gregmac 2 days ago 8 replies      
This is the Philips controller software (app) that is refusing to talk to or control 3rd party light bulbs.

I don't really see this as being a problem. It's not the nicest thing, perhaps, but neither is 3rd party companies building bulbs (presumably by ripping off the design and protocol of Philip's bulbs), and then relying on Philips to build the software so they can actually be used. In other words, Philips is refusing to build software, for free, to control their competitors' and/or counterfeit products.

Do the Philips bulbs (still?) work without the Philips Hue software/app? If so, non-issue: you just have to use 3rd party software to control everything. If not, well, that's why you shouldn't buy into closed, walled-garden products.

dmritard96 2 days ago 1 reply      
We are building some related home control products and have forgone radio level integrations instead favoring integrating with anyone over http, providing an open api, and shortly after launch an sdk. Radio integrations in theory are fine but in practice it's a matter of picking sides, allowing third party devices to dictate your access to the Internet and interop, for a few features, offline (local http should be an option with any hub, nest etc but isnt) and lower latency operation as probably the biggest features. Not controlling your own products' access to the Internet is a scary proposition not to mention range/interference issues with 2.4ghz if you don't have aa critical mass. Building IoTs right now is as much an alignment excercise as a technical one and while it's a bummer that they have chosen to remove/prevent compatibility, consumers aren't really choosing subscription models for devices and cloud backed services hence the economics of customer acquisition, support, margins etc aren't realities that can be wished away.
bottled_poe 2 days ago 0 replies      
I'm not convinced this was a hostile decision by Philips. It would be reasonable for the company to want to advance their own technology which would often entail a changing interface. If the third-party products are implementing an older interface, how is that the fault of Philips? The moral thing to do would be to standardise and publicise the interface...perhaps this is the situation already...?
cubano 2 days ago 1 reply      
Creating a new compatible hub now sounds like an ideal Kickstarter project, no?

Also, I can't help but wonder if UL issues may have influenced the decision too...just look at the current hoverboard fire issues with cheap Chinese manufacturing and I can at least speculate that they might be.

rythie 2 days ago 4 replies      
Surely with the Pi Zero selling at $5 there has got to be way to do this without Philip's locked in, expensive system?
bradyd 2 days ago 0 replies      
daveguy 2 days ago 0 replies      
Here is the amazon product page for the hue starter pack with the reviews listed -- most recent first. Even if you haven't purchased this yet you can let everyone know these new reviews rolling in about the product are helpful:


ultimoo 2 days ago 1 reply      
I have been consistently disappointed by Philips Hue ever since I purchased the $200 starter kit a year and a half ago.Numerous iOS app updates have rendered the system useless (lack of basic QA), slow to adopt HomeKit and price gouging for it (they want users to buy an entirely new Hub for $60).
endgame 2 days ago 1 reply      
Defective by design.
josteink 1 day ago 0 replies      
Worth quoting in this context is Doctorow's law:

 "Anytime someone puts a lock on something you own, against your wishes, and doesn't give you the key, they're not doing it for your benefit."

xutopia 2 days ago 13 replies      
So what would you recommend we use instead?
Roritharr 2 days ago 1 reply      
What a horrible bait and switch.

Sadly I'm too lazy to go through the hassle of asking for my money back. :(

746F7475 1 day ago 2 replies      
Am I only one who doesn't see a problem here? Sure it would be nice if company X allowed me to use cheaper Chinese knock-offs with their product, but to me, they are well within their rights to decide: "hey, we don't want competitors to benefit from our product(s)"

In essense Phillips put money into R&D and marketing and if you are to believe the linked article into making smart lightbulbs mainstream. That shit is not cheap so why would they give money for their competitors? This move forces others to build their own base system and what not, which is fair.

I am sure you can find open{source|hardware} alternative if you don't wish to support Phillips anymore.

squar1sm 1 day ago 0 replies      
I've been using neopixels to great success in combination with particle.io chips. They have cloud events and you can send whatever data to them. I'm sending a payload like `{ "color":"blue" }` and then all listening LEDs change. Plus they are individually addressable and are reusable for other projects. It's not the same level of brightness I'm guessing.

Adafruit has a 24 neopixel ring with a particle slot. It's like $45 for everything for one. No hub.

SEJeff 2 days ago 0 replies      
In slightly related news, the open source project, Home Assistant, that this blog post references, is an excellent open source "hub" for controlling the smart things.
Someone1234 2 days ago 1 reply      
I always wondered about smart bulbs... How much, per year, do they cost to run idle? Since they appear to use wireless to operate, so there must be at least the draw for that.
reiichiroh 2 days ago 0 replies      
I didn't even know there were 3rd party lights compatible with the Hue ecosystem. Can someone point me to some brands and models?
spdustin 2 days ago 0 replies      
I have three neighbors, all of whom are non-technical, that use Hue lights in their home. I asked them if they used any other "smart bulbs" with their Hue bridge. The universal reply, averaged out to a representative quote:

"I didn't even think that was a thing, I only use Hue bulbs with the Hue bridge."

mmaunder 2 days ago 0 replies      
They're going for vendor lock-in. Someone peered over Apple's garden wall and liked what they saw.
llamataboot 2 days ago 1 reply      
Damn. I just bought my first Hues a week ago - a little spendy but worth every penny to have a super easy install into my living room lamps and be able to be controlling my lights from a ruby script in 5 minutes. Hopefully, someone will release a crack sometime soon.
djhworld 2 days ago 2 replies      
Why have they done this? Is it because the 3rd party bulbs were cheaper?
KerrickStaley 1 day ago 0 replies      
What are good Hue alternatives I should check out?
kevindeasis 2 days ago 0 replies      
Keurig is that you?
Philips reverses decision to close the Hue Platform meethue.com
429 points by alaaf  15 hours ago   157 comments top 18
mdip 13 hours ago 10 replies      
A point brought up in the replies to their forum post warrants repeating: They claim that they were concerned about the quality of their brand being eroded by third-party bulbs that didn't reproduce the same quality experience that first-party/certified bulbs did.

They had the solution available to them from day one. Since they can clearly identify third-party bulbs, they could have simply presented a warning along the lines of "We've detected you're using bulbs that are not certified by Philips. For best results, we recommend using only certified bulbs (link to purchase here) and cannot guarantee a quality experience with the bulbs you've purchased. Click "OK" to continue."

mdip 13 hours ago 1 reply      
I'm glad to see they've reversed the decision. It was the only reasonable choice they had with such an immature market that could have them dethroned as the leader very quickly. Their reasons for lock-in made no sense. For a product like this compatibility is a feature and many people chose the Philips products because of the ecosystem of compatible products available, the ZigBee protocol and third-party light bulbs.

I'm sure that third-party products were causing problems, however, wholesale blocking of them via software update is a terrible solution. They, literally, turned out the lights on their customers. Meanwhile, I'd be willing to bet support costs immediately spiked -- people call support when things don't work and they just pushed out a solution that increased rather than decreased that.

Unfortunately, I think they've bruised their reputation quite a bit with this move. It's now delayed my purchase of such a product until I am convinced that they have a solid third-party certification program in place (with very low licensing fees) or (even better) a guarantee with the product that they won't try this again when the market is more mature and they have the option of ignoring complaining customers.

Their competitors could see a rise in sales by taking advantage of this blunder and committing to open protocols. I haven't looked at the landscape in this category, yet, and had just assumed I'd be buying the Philips Hue eventually, but they've motivated me to do more research.

themartorana 14 hours ago 2 replies      
Wow. Most companies are deaf to user outrage. The original decision wasn't fantastic, but I understand the whole "Friends of..." certification route.

At least in the future they'll be able to stick to "if it's not certified by us..." for customer support, which was likely the original impetus (along with a desire to cut off cheap alternatives to their devices).

I'm not mad at this at all.

HarryHirsch 12 hours ago 4 replies      
Compare this with Ethernet. You plug it in - and it just works. No 3com/Realtek/Intel certification required. As a user I may be shielded, but I believe there are no interoperability issues between Cisco/Juniper/Brocade switchgear either.

With this as the background, it's surprising to see a large crowd defending the equivalent of Ford-branded gasoline.

DiabloD3 14 hours ago 5 replies      
The thing is, to me, the fact that they ever decided to do this in the first place means I will never buy Philips smart home products ever.

They have proven they can't be trusted with this sort of power, and that is a one way trip. You don't come back from that, you don't get back off my list.

anc84 13 hours ago 1 reply      
They can still control it and reverse the reversal in the future. You are at their whim. It is not user-friendly unless it is free software (and hardware). Amazon can still remotely remove books and no one bats an eye. This is just an issue because at the moment these kinds of home automation are per-dominantly "nerd" territory while e-book readers are already mainstream.
sismoc 14 hours ago 2 replies      
I won't be so quick to "roll-back" my decision to boycott their products.
nichochar 11 hours ago 0 replies      
I really respect philips for having the humility to come back on a decision like this. As someone who already owns hue and has bought into the ecosystem, this makes me want to promote their brand further, and I will.

Hat down to whoever made this happen over there! The world is better when things are open.

ohitsdom 14 hours ago 3 replies      
"We underestimated the impact this would have upon the small number of our customers"

Do they really believe it is a small number of customers that use non-Philips light bulbs? I mean, good for them in reversing the decision, but the damage is already done (check out Amazon reviews for one) and it should have been easily foreseen.

tomlongson 8 hours ago 0 replies      
I wonder if this had anything to do with the flood of negative comments to their Amazon product pages?

3/5 stars: http://www.amazon.com/Philips-455303-White-Starter-Generatio...

4/5 stars (previously 4.5/5): http://www.amazon.com/Philips-456210-Ambiance-Starter-Genera...

gedrap 5 hours ago 0 replies      
A lot of the people are talking about how important integration and interoperability is. I agree with it, however, a lot of work has to be done to achieve it.

In order to do it properly, there should be standards that major providers agree upon making integration much easier and predictable. That takes plenty of time.

Then you probably need some walled garden to control the experience. Approved apps, approved 3rd party providers, etc. If some crappy app is released, regular users won't blame the developer but the platform, as it was discussed in great details in other threads. We need to get out of the HN bubble. Seriously. We forget that a computer is a device to watch porn and browse facebook and that's about it for A LOT of people. Chances are, it will cause a wave of anger in communities such as this one (where there's a strong sentiment for open systems).

This work has to be done be a number of large providers (read: long processes) and followed by startups popping up and disappearing now and then. This stuff always takes time.

donkeyd 14 hours ago 1 reply      
Second large company this week to rollback a change after public outcry, with Valve rolling back a change in CS:GO. I hope their marketing people take a lesson out of this.
vilts 7 hours ago 0 replies      
Sounds exactly like the FTDI FT232 "serial killer" saga all over again.

They got many people very pissed off and probably never buying or building products with their chips again.

toppy 12 hours ago 0 replies      
How many developers does it take to change Philips lightbulb?
sneak 14 hours ago 3 replies      
The funny part is that they claim to have broken their customers' previously working functionality in good faith.

Who writes these things, and why do their supervisors allow them to keep working there?!?

josscrowcroft 6 hours ago 0 replies      
"We fucked up, but we don't want to admit it."
Nilef 10 hours ago 1 reply      
Any recommendations for third-party lights?
revelation 12 hours ago 3 replies      
Not sure why people are screaming "boycott". Philips never advertised their system as being compatible with third-party lights. The fact that they use an open protocol to communicate with their own lights doesn't change this.

It's like connecting to your office chat with an IRC client because you figured out that's what they are using under the hood. Why would you scream bloody murder when one day your IRC client stops being compatible with it? They never advertised this to begin with!

You can't exactly demand functionality that you were never sold.

How Product Hunt really works medium.com
665 points by brw12  1 day ago   216 comments top 51
phantom_oracle 1 day ago 4 replies      
Nothing can hurt a well-meaning first-time founder of some useful side-project business then to learn that a non-entity like Product Hunt is a rigged game where the inner circle are simply gaming the system for their friends and people whom they benefit from and will benefit.

From "top 3% of coders" to "your product will get 1st spot if you scratch our back with a small slice of the pie or counter-promote our product with yours" to "we will only invest in you if you get referred through an acquittance of ours", the game surely does feel more rigged each day.

The upper echelons of tech sure does share more similarities with high-finance then they would like to admit...

minimaxir 1 day ago 6 replies      
Speaking of "PH is rigged by insiders," it's worth noting that a "top user" is selling a book on how to best pander to the PH userbase: http://www.amazon.com/gp/aw/d/B00TP3MFHE/ref=mp_s_a_1_5?qid=...

This is an odd racket, to say the least.

Re/code wrote a relevant article a few months back (http://recode.net/2015/06/18/product-hunt-the-startup-kingma...) about Product Hunt elitism, which I was interviewed for and the response from the PH team to the article was essentially "haters gonna hate." It's disappointing that nothing has changed since then, and arguably, things have gotten worse.

birken 1 day ago 8 replies      
Hacker News is a long-running, open, inclusive startup community that is subsidized by a related business, doesn't sell anything, and has proven time and again to do things good for the entire startup community.

Product Hunt is a new, closed, exclusive startup community run by a for-profit company that will eventually have to start selling you something.

Not sure why people complain about PH so much... just don't use it. There already is a perfectly good community of startup people out there that has much more incentive to stay "pure" than a for-profit one. Sure, HN isn't perfect, but fundamentally it is always going to be better than any for-profit communities.

(And also this obligatory comment: If you want to build a successful company, stop wasting your time browsing startup communities and spend your time talking with users and building your product)

OoTheNigerian 1 day ago 0 replies      
Below is a mail I sent in response to a Recode article in June about Product Hunt. Summary : horribly elitist and what the Valley should avoid becoming.

I'm almost never harsh to a fellow founder but I thank God Ryan Hoover doesn't weild much influence. Wrong hands to expect equity or fairness.


Hi Carmel,

I'm following up with you about your post on PH.


There is insane bias towards outsiders of the club. Here is my case in point.

I submitted my startup https://callbase.co up to FIVE times and it was never approved. However aircall.io a competitor has made the front page TWICE in that period.

Of course having a handle @OoTheNigerian does not help :D

As at the time my second submission was being rejected, Mattermark's Newsletter was making the front-page as a product (1 of 5 http://www.producthunt.com/tech/mattermark-4#!/s/posts/matte...). Yup, ridiculous. (i have absolutely nothing against the great work Danielle is doing).

This is one of several.

I sent Ryan (copied) a stongly worded email after several ignored ones and he "offered" to allow mine through on a weekend. Lol.

This is just a case in point how hard outsiders (I live in Lagos, Nigeria) find it in the quest for success. Silicon Valley is a meritocracy but you have to be seen first to be considered. No?

Of course, it is his platform and can do whatever he wants with it. However, it should be clear to him what he is doing. Perpetuating the cycle of the powerful being more powerful.

It would be nice to see the demographic representation of his all powerful voting clique.

After reading this Ryan may (or not after seeing this) now go posting about us when we may be asleep or not ready.

Great write up BTW!

brw12 1 day ago 3 replies      
Interested in your thoughts, HN. I tried to write from a place of compassion and not be all haterating.
mootothemax 1 day ago 3 replies      
Surely if your app's sole source of success is a spending a short amount of time on some website's front page, you have bigger issues with your business strategy?

Go back a few years and everyone used to talk about their struggles getting featured on TechCrunch; I didn't believe it was make-or-break back then either.

sparkzilla 1 day ago 2 replies      
I am so happy to read this article and I commend Ben Wheeler on bringing it to light. I had written a similar article in July but did not publish it as I was promoting a new version of my site. I was afraid to speak out because I believed it would hurt my chances of getting funded. I should have gone with my convictions. I have now published it. [1]

Ryan Hoover has not only outsourced VC product discovery, he has outsourced its class system too. It's incredibly disheartening to be outside the loop, trying to get your product noticed, and submitting it to what you think is a free system only to have other products by well-connected insiders block it out.

When I saw Hoover and Jason Calacanis congratulating each other on Twitter I knew immediately what was going on. Despite multiple emails, Hoover wouldn't even give me access so I could comment on competing products. I'm glad this is coming back to bite him and his investors too -- they went along with it.

I don't expect anything to change because sites are a reflection of the personality of the people who run them and Hoover has already shown he is completely corrupt. Meet the new boss, same as the old boss.


tptacek 1 day ago 4 replies      
The only time I ever hear about Product Hunt is in the once- in- a- blue- moon posts like this I see about it on HN.

Do people take PH seriously?

throwaway415 1 day ago 0 replies      
I was initially really excited to learn about Product Hunt and what it meant to the existing ecosystem: Diversity.

An independent contender in the war for eyeballs/voice in the hacking/tech/entrepreneurship community -- how exciting! I would imagine while their motivations might be similar to what YC wants with HN (distribution, influence), they could possibly open up and serve new members in the ecosystem that aren't, can't, or don't want to be a part of the HN/YC pipeline.

Building a working group of heterogenous independent sources to serve new and exciting topics is important to breaking out of the echo chamber we so often create for ourselves within tech. I was hoping Product Hunt could bootstrap the entire venture, stay clean, and true to the spirit of a meritocracy.

Then they went through YC, and now I see the same "influencers" there as I do here, with the same system in place to promote their own vested interests. It just makes me slightly sad that the pressures of succeeding create collusion among players in this market, thereby perhaps obscuring the potential for new/interesting/different emergent technologies/startups to thrive.

Among my peers, over time PH has become less of a community set out to serve the good of the people, and instead has become more of a pipeline for quick sales or testing new ideas, leaving a feeling of what can only be described previously as the "Tech Crunch of Initiation".

Product Hunt has essentially supplanted Tech Crunch in the YC/TC relationship of yesteryear, albeit to an even more perilous extent. Products are no longer vetted by working professional journalists, whose obligation should be to the consumer and not the producer, but rather by the very product's investors, advisors, and "insiders".

We therefore must ask what is the value-add here? Is it truly a wonder that it proves marginal, and perhaps even detrimental, to the long term success of the startup community as a whole?

odbol 7 hours ago 0 replies      
Not to mention that Product Hunt violates their own rules all the time: I see plenty of posts for big companies like Microsoft announcing products that arent available yet (e.g. Hololens, Windows 10 before it came out, etc), even though their FAQ explicitly states that the product has to be available to the public at the time of posting.

Really what should tip people off even more is the inability to comment. If the viewers of the site cant actually interact, since commenting is only allowed for approved" users, they should realize that the whole thing is just a scam.

See any ads on Product Hunt? See any monetization strategies? Oh wait, the whole website is an ad, and only those in the know or those who pay will get featured.

sagivo 1 day ago 0 replies      
I got to be #2 in product hunt featured list few weeks ago. a random dude saw my post here at HN about launching a beta and published it there. no inside connections, no promotions, and unfortunately - no preparations. we got ~5000 visits in a day and didn't really used the spike for anything special. we lost most of the momentum the next few days and when we were ready to better UI/Flow it was too late.
sharkweek 1 day ago 1 reply      
I don't visit Product Hunt much, but I do follow their founder on Twitter.

He seems like a super well-intentioned person, so I'm surprised to read all of the commentary here on HN. Am I being duped by some Product Hunt scam that I'm completely oblivious to?

wuliwong 1 day ago 0 replies      
I had a similar experience and I guess I am naive because I did let it bother me.

Someone submitted my site to PH a couple months ago, it got up-voted 20+ times in that "upcoming" area but never was moved to the front page. I believe it ended that first day with more up-votes than some of the products that were featured.

I reached out to the PH guys on twitter and they told me to get more people to vote for it or something to that effect. I noticed a few of products jumping straight to the front page without the upcoming purgatory.

I have read a number of comments writing these issues off to the fact that PH is a "for profit" company. I think that is a bit too jaded an opinion to have no expectations for this to ever be different. My understanding is that Reddit does not suffer these same issues. I think a for-profit venture could actually benefit greatly by being transparent. I think it would take founders that are looking further down the road than the PH guys appear to be and not getting caught up in the immediate gratification of glad-handing and being part of an 'inner elite.'

Full disclosure, I still look at PH pretty regularly. :-p

ryanSrich 1 day ago 4 replies      
It always surprises me when people get bent out of shape when they learn that blogs and forums are rigged to favor a certain group of people. There's A LOT of money to be had and if you think places like Product Hunt, Reddit, HN, etc. aren't all being rigged in some way, you're naive.
onewaystreet 1 day ago 0 replies      
Startup founders care way too much about getting featured on HN, PH, TechCrunch etc. If you look at the successful startups of that last few years (http://techcrunch.com/unicorn-leaderboard/) many of them were successful before they were even noticed by the technorati. Unless your product is specifically targeted to these people, you are wasting your time.
exolymph 1 day ago 1 reply      
Apparently I'm not cynical enough, because I was surprised by this. Does Reddit's front page work the same way?
cromwellian 1 day ago 1 reply      
I think Product Hunt merely reflects the way things work in SV. SV is not a "meritocracy". Really shitty ideas get funded and acqui-hired all the time based on insider connections. You think Marissa bought Polyvore for $230 million because it was a rocket ship?
joshmn 21 hours ago 0 replies      
I've had three products I wanted to push on PH and since I'm not in anyone's inner-circle / e-friend I was promptly told I had to find someone who was in order to gain access.

It's like a boy's club where they pass around the neighborhood bike for everyone to ride, only to find another one after they're all done riding it.

Even more so, I've seen more "here's a landing page, we haven't even a git repo yet, just trying to validate the idea, so give us your email" shit on PH than I would on Reddit.

marshray 1 day ago 0 replies      
I had never heard of Product Hunt. If I had heard of it, in the absence of information to the contrary, I would have assumed it was corrupt.

It appears in this instance my general cynicism of all-things-Marketed is confirmed.

But what would an alternative world look like? Is the industry trapped in some product placement local minimum?

What if we could trust online reviews by default? Would the same industry make more money or less, or would it just go to different people?

Often, defenders of invasive advertising say "it informs people of products which are relevant to their interests". Shouldn't then advertisers promote integrity in their other Marketing venues as well?

michaelbuckbee 1 day ago 2 replies      
PH is more like a collaboratively edited magazine where the founders have selected a large group of friends to act as a top level filtration system for "products".

Mostly what they're selecting for is "is this of interest to our audience" - of which said audience is currently mostly free tech / designery / social type things (even as they start to add more categories).

While it's nice to be featured, it's quite unlikely to bring you a large amount of traffic and/or signups. A submission to a decent sized sub-reddit will likely drive 2x the traffic that ProductHunt will, a submission to BetaList more signups and a front page HN post 10x.

If there's a reason to get featured it's to try and get some feedback from the community (if they're your audience) as they tend to be quite helpful.

nl 18 hours ago 0 replies      
What someone should do is create a ProductHunt competitor, and geo-block California. Nothing like faux-exclusivity to encourage adoption ;)
zenlikethat 1 day ago 0 replies      
The solution to this is easy. Don't visit Product Hunt or treat it as having so much value. It won't make or break a product.
kilimchoi 20 hours ago 1 reply      
One thing this article fails to mention is that YC startups automatically get featured on Product Hunt. This probably has to do with the fact that YC invested in Product Hunt.
volaski 1 day ago 1 reply      
In my experience, the OP is correct about one thing, it's waste of time to post on upcoming on PH. However this is nothing compared to how opaque Hacker News is. If your product is novel enough and reach out to these "insiders" beforehand (or even afterhand), I don't think you have trouble getting to the front page on PH, whereas on HN I see tons of people reaching front page by asking for upvotes from friends. The only difference is PH is--ironically--transparent about its opaqueness, whereas HN is opaque about its transparentness. To elaborate, on hacker news everything looks transparent, and to certain degree it is (you can find the raw stream under "new" tab), but the ones that reach the front page are not always there because 100% of the community decided so, there are many hidden things going on in the background that most people don't even know. Whereas all you need to do to get featured on PH is to reach out to these "insiders", to guarantee you reach front page on HN you need to get people to upvote you. I feel that PH is much more democratic than HN since everyone gets same chance whereas on HN the people with already existing audience wins.
lsniddy 1 day ago 5 replies      
One of my products was featured on product hunt in it's early days (no idea who submitted it). I remember thinking then - "well, cool, but people looking for new products are not really my target market."

Has anyone seen any value come from PH?

aagha 20 hours ago 0 replies      
It's interesting to read all these comments about PH over a year after previous posts (0,1) about PH's transparency. @rrhoover's comments are especially interesting as they indicate that PH is interested in moving to a more open and democratic (and diverse) promotion platform. Over two years later, it seems its still moving in the wrong direction.

0 - https://news.ycombinator.com/item?id=7980403

1 - https://news.ycombinator.com/item?id=8047647

stahlkopf 8 hours ago 0 replies      
I've always imagined sites like these are run by a small circle of insiders, who essentially sponsor or promote specific products. I find it hard to believe the promotional buzz and hierarchy of an entry into a site like this completely natural.
nodesocket 1 day ago 1 reply      
This really feeds into my cynical attitude and sentiment that we are part of a rigged system. I've been trying to stay positive about technology and startups, but honestly it is everywhere. Tech news, advertising, fundraising, hiring.

Finance and the stock market is rigged the same way. A select few (the rich) get inside info, reporters and analyst write and give positive/negative spin on companies and profit, traders screw their customers, it is everywhere. Different market, same behavior.

nedwin 1 day ago 1 reply      
Hoover et al can build their product however they want, just be honest and consistent.

Looking through old threads I found this cracker of a post in reply to Ryan about their "anti voter ring policy" - which his tweet seems to counteract. https://news.ycombinator.com/item?id=9932641

brw12 10 hours ago 0 replies      
Follow-up: Open letter by the fictional "Liam Cooper", or how @ProductHunt might respond to recent criticism.


AndrewKemendo 1 day ago 0 replies      
So in other words, the same way everything in the "startup" world works: It's who you know.
tomasien 1 day ago 2 replies      
Startup advisors regularly take stakes in the full %'s? Since when? We have tons of advisors none of them have ever asked for a stake.
hoodoof 1 day ago 0 replies      
I feel like its a mistake to hide content behind "see all" and arrow right buttons. I feel like people look at what is shown to them and they are willing to scroll down but far fewer people are likely to go to the trouble of pressing a right arrow or "see all" button.
jbob2000 1 day ago 2 replies      
This is how I think Shark Tank and Dragon's Den work too. The "sharks" all parade their new products on TV under the guise of entertainment, and throw in a couple silly/heartwarming ideas and people.
sixQuarks 1 day ago 0 replies      
The "products" that appear in the top placements of Product hunt these days are laughable. They're mostly features, not products.
dilap 23 hours ago 0 replies      
Yeah, Product Hunt is a curated platform. I think it's always been pretty transparent about this?
chanux 22 hours ago 0 replies      
Does anybody know how to delete a product hunt account?

PS: Apparently you have to email hello@producthunt.com

callmeed 1 day ago 0 replies      
> That first submission is it ... it will end up on an internal list of products ineligible for future consideration.

This can't be entirely true. I see featured posts on PH that are nothing more than "Version 2" of some previously featured "products". But the links go to the same place.

altonzheng 22 hours ago 0 replies      
How effective is posting something to product hunt really though? I mean, you are basically sharing it to the same silicon valley tech community who live a life very divorced from the majority of people.
hoodoof 1 day ago 0 replies      
The worst thing about Product Hunt is that I just don't find many of the products very interesting.

Oops having read the article - wow - Payola Hunt! https://en.wikipedia.org/wiki/Payola

Angostura 13 hours ago 0 replies      
The parallels with the whole Digg v4 debacle seem quite pronounced.
quintin 1 day ago 0 replies      
The fact that not many readers will Recommend this article on Medium but has 146 upvotes on HN speaks of the circle that Ryan has and pros of the anonymity that HN provides.
aagha 20 hours ago 0 replies      
A lot of anger here for PH, but why not the people that back it? The Angel investors are listed on their site [0].

Are some of these folks so powerful that if you tweeted at them that they're backing a corrupt bro-club you'd lose any chance of funding?

0 - https://www.producthunt.com/about

varunjuice 1 day ago 0 replies      
Product hunt is native advertising.
pbreit 1 day ago 0 replies      
So it's not perfect and helps to know someone. Welcome to the real world!
artur_makly 11 hours ago 0 replies      
How Meta is this?
chinathrow 1 day ago 0 replies      
TL;DR: it's mostly rigged by some users with privileges.
api 1 day ago 2 replies      
PH strikes me as a vanity metric. Does it really get you noticed that much?
forrestthewoods 1 day ago 0 replies      
I've been visiting HN daily for 4 years. I've never heard of Product Hunt. Is it actually that big of a deal? I'm sure it's been on the front page here and I've missed it. But apparently not all that often?

Or maybe this is a case where now that I know the name I'll see it everywhere. Funny how that works sometimes...

anon8418 1 day ago 1 reply      
I feel the point of PH is not to create a real business in the sense of earning money by selling you a product or service, but rather to establish personal brand equity and influencing power of the management team.

This can be useful for future projects (such as finding funding), to increase their standing in the SV community, and to establish themselves as marquee valley power brokers.

In this sense, it doesn't make much sense to add more transparency and voting control to ordinary users.

This is pure speculation and assumes the worst. So take this with a grain of salt.

intrasight 1 day ago 0 replies      
And since not I nor anybody that I know has ever heard of or used Product Hunt - why do I care?
Plan to throw one away garethrees.org
486 points by AndrewDucker  2 days ago   79 comments top 15
normac 1 day ago 3 replies      
Interestingly, Tcl was parsed the same way all the way up until Tcl 8.0 introduced a bytecode system in 1997. Each line was parsed right before execution with no separate parsing stage--your code could crash in the middle of executing from a syntax error.

Tcl is now about as fast as a typical scripting language and its implementation is regarded as a model of high-quality readable code. I wonder if John Ousterhout (the creator of Tcl) knew he was building a rough first system that he would need to rewrite later, or he really thought it was the right way to do things at the time.

(To be fair, Tcl is a whole lot simpler to parse than JavaScript and Ousterhout is a good coder, so even the pre-8.0 versions were fast enough to be practical for everyday scripting tasks.)

loopbit 2 days ago 3 replies      
Cool read, however, I feel the need to point out that 20 years ago, javascript in the server wasn't "too soon", it already existed.

In 1995 Netscape had the Netscape Enterprise Server[0] that ran javascript for server-side scripting. Actually, the two books I used, back in the day, to learn Javascript was the client- and the server-side javascript guides published by Netscape.

[0] https://en.wikipedia.org/wiki/Netscape_Enterprise_Server

t0rb3n 1 day ago 2 replies      
This is precisely not what Brooks meant by 'plan to throw one away'. Brooks point is, that you gather information while writing your prototype and incorporate the new-found knowledge into your second, hopefully sound, design.

Rees never learned anything new from the first system (what could he learn anyway, what he described sounds like a nightmare), but proceeded to implement it from scratch.

Funny thing, I'm reading 'The Mythical Man-Month' right now :D

mcv 1 day ago 4 replies      
I would like to know how the CTO responded to the idea of throwing away the code he'd been slaving on at the very last minute, and replacing it with something that someone cobbled together in two weeks (but worked).
jsjohnst 1 day ago 2 replies      
I find the dates a bit suspect (referenced ECMA script standard was June 1997, book was late 1996, so how did this all happen twenty years ago, just months following the official release of JavaScript in May 95?), but guess that's not the point. Maybe I'm alone, but implausible details distract me from an otherwise great story that can teach a lesson many should learn.
jaytaylor 2 days ago 10 replies      
Are Lex and Yacc still the state of the art 20 years later?
curiousGambler 2 days ago 2 replies      
This makes me want to write a JS interpreter... Sweet read!
kazinator 2 days ago 1 reply      
> The failure to store a represention of the parsed code was disastrous because it meant that in order to evaluate an expression or statement for a second time, the engine had to parse it a second time.

Ha! They must have learned how to write an interpreter from Herbert Schildt:

http://www.drdobbs.com/cpp/building-your-own-c-interpreter/1... [1989]

In this piece of amusement, the Little C program is a giant null-terminated string, and the "instruction pointer" is of type char * . You get the picture.

> When I did come to write a garbage collector I used the mark-and-sweep algorithm. But something puzzled me, and I couldnt find an answer in any of the textbooks I looked at: how was I supposed to schedule the collections? In a classic description of a garbage collector, you wait until memory runs out and then you collect the world. But this leads to bad behaviour on modern systems, because of swapping, and because other processes need memory too. You need to schedule collections well before memory is full. But when exactly? I still dont know of a comprehensive solution to this problem.

In a nutshell, you let your run-time pretend that it's running in a small machine, until it is too close to huffing and puffing too hard and then you say "hey I lied, you're actually in a bigger machine: have some breathing room". This rubbery constraint keeps it behaving reasonably nicely, rather than "Wee, I have 4GB of free RAM to stomp over with strings and cons cells before ever calling GC!"

What you have to do is pick some heap size (that is typically substantially smaller than the amount of RAM). You let the GC whack against this artificial threshold, and if that gets too excessive, according to some measure, you increase it. E.g. if after a full GC you have less than some fudge threshold free, call the OS for more memory to integrate into the object heap.

The threshold is calculated in some way that the image doesn't have to execute numerous frequent GC's before it triggers the request for more space (it doesn't have to whack too hard and wastefully against the artificial limit).

Also, ephemeral GC will help, and ephemeral GC can have its own threshold against frequent ephemeral GC's. When not enough space is liberated by ephemeral, you schedule a full. Then if that doesn't liberate enough space, add more. Since ephemeral is fast (doesn't scan the full heap), you can work a bit closer to the heap limit (since you can suffer frequent ephemeral GC's better than frequent full GC's).

And, of course, the parameters controlling these behaviors are exposed in some way so users can tweak them. Command line arguments, env vars, local config file, system config file, run time global variable/API, ...

frabcus 1 day ago 0 replies      
As an aside, but I think relevant to Hacker News, the author of this blog post also wrote the classic mid-1990s text adventure game Christminster http://garethrees.org/1995/08/08/christminster/
jhallenworld 1 day ago 0 replies      
>One thing that I had not had time to do was to write a garbage collector.

Cheat: use Hans Bhoem's conservative collector for C/C++: http://www.hboehm.info/gc/

SixSigma 1 day ago 0 replies      
"Plan to throw one away, you will anyhow." -- Fred Brooks

"If you plan to throw one away, you will throw away two." -- Craig Zerouni

dagw 1 day ago 0 replies      
Of course the opposite problem also exists. You plan to throw away that quick, ugly hack you threw together for a demo as soon as the demo is done, and somehow it sticks around in production for years to come.
dandare 1 day ago 2 replies      
This adage is fairly old, aren't today's programming and management techniques rendering it obsolete?
hinkley 1 day ago 2 replies      
As a corollary:


You can replace all the parts of your crappy v1.0 code and still call it the same code base. That's what the smart ones go around doing quietly.

legulere 1 day ago 2 replies      
Wow, this seems quite idiotic to me. Sure, recursive descent parsers have some theoretically inferior properties to other techniques, but in reality they're much better because you can actually handle errors in a user-friendly way. That's why basically every bigger compiler uses handwritten recursive descent parsers.
Move Fast and Fix Things githubengineering.com
516 points by samlambert  1 day ago   90 comments top 20
jerf 1 day ago 8 replies      
I'll highlight something I've learned in both succeeding and failing at this metric: When rewriting something, you should generally strive for a drop-in replacement that does the same thing, in some cases, even matching bug-for-bug, or, as in the article, taking a very close look at the new vs. the old bugs.

It's tempting to throw away the old thing and write a brand new bright shiny thing with a new API and a new data models and generally NEW ALL THE THINGS!, but that is a high-risk approach that is usually without correspondingly high payoffs. The closer you can get to drop-in replacement, the happier you will be. You can then separate the risks of deployment vs. the new shiny features/bug fixes you want to deploy, and since risks tend to multiply rather than add, anything you can do to cut risks into two halves is still almost always a big win even if the "total risk" is still in some sense the same.

Took me a lot of years to learn this. (Currently paying for the fact that I just sorta failed to do a correct drop-in replacement because I was drop-in replacing a system with no test coverage, official semantics, or even necessarily agreement by all consumers what it was and how it works, let alone how it should work.)

cantlin 1 day ago 2 replies      
The strategy of proxying real usage to a second code path is incredibly effective. For months before the relaunch of theguardian.com, we ran traffic to the old site against the new stack to understand how it could be expected to perform in the real world. Later of course we moved real users, as incrementally as we possibly could.

The hardest risk to mitigate is that users just won't like your new thing. But taking bugs and performance bottlenecks out of the picture ahead of time certainly ups your chances.

mwcampbell 1 day ago 3 replies      
This is tangential, but given the increasing functionality and maturity of libgit2, I wonder if it would yet be feasible to replace the Git command-line program with a new one based on libgit2, and written to be as portable as libgit2. Then there would be just one Git implementation, across the command line, GUIs, and web-based services like GitHub. Also, the new CLI could run natively on Windows, without MSYS.
rcthompson 1 day ago 2 replies      
How does Scientist work with code that produces side effects? In the example, presumably both the new and old each create a merge commit. Maybe these two merge commits are done in in-memory copies of the repo so that the test result can just be discarded, but what about in the general case where a function produces an output file or some other external effect?
smg 1 day ago 5 replies      
I am trying to understand why the new merge method needed to be tested online via experiment. Both correctness and performance of the new merge method could have been tested offline working with snapshots (backups) of repos. Could a github engineer shed more light here?
clebio 1 day ago 0 replies      
Seems like the biggest takeaway is "have good tooling and instrumentation". I'm working with a complicated legacy production system, trying to rebuild pieces of it, and we have little or no instrumentation. Even _introducing_ such tooling is a potentially breaking change to production systems. Ach schade.
daveguy 1 day ago 0 replies      
Very cool. I like this parallel execution of the original version and the update with comparisons between the two. They use a ruby package developed in house that has been made open source, Scientist. Does anyone know if there is an similar type package for python (preferably 2.7) development? It seems like an interesting area in between unit tests and A/B tests.
eric_h 1 day ago 1 reply      
> Finally, we removed the old implementation which frankly is the most gratifying part of this whole process.

On average, I get much more satisfaction from removing code than I do from adding new code. Admittedly, on occasion I'm very satisfied with new code, but on average, it's the removing that wins my heart.

_yosefk 1 day ago 0 replies      
TIL that github used to merge files differently than git because it used its own merge implementation based on git's code, to make it work on bare repos. Showcases a benefit of open formats and open source, showcases a downside as well (I'd never guess it might merge differently.)

It's a good thing nobody contributes to my github repos since noone had the chance to run into the issue...

danielsamuels 1 day ago 1 reply      
I wish they would add the ability to fast-forward merge from pull requests. I know many large projects (including Django) accept pull requests but don't merge them on Github simply because of the mess it makes of the history.
nod 1 day ago 1 reply      
This is inspiring reading. One may not actually need the ability to deploy 60 times a day in order to refactor and experiment this effectively, but it's clearly a culture that will keep velocity high for the long-term.
netghost 1 day ago 2 replies      
For operations that don't have any side effects, I can definitely see how you could use the Science library.

I'm curious though if there are any strategies folks use for experiments that do have side effects like updating a database or modifying files on disk.

blt 1 day ago 0 replies      
Github sounds like a great place to work.
abritishguy 1 day ago 2 replies      
Wow, strange that people weren't reporting these merge issues when they were clearly impacting people.
openfuture 18 hours ago 0 replies      
Humans will always reverberate around truths like this.

The emphasis shift on breaking vs fixing looks like a good example of how fashion trends in tech create artificial struggles that help new people understand the "boundaries" of $things.

Fashion's like a tool for teaching via discussion

Edit: I'm just commenting on what I percieve as a fashionable title not the article.

__jal 1 day ago 0 replies      
Nothing really to contribute or ask, other than to say that I really enjoyed the writeup. Although I have nothing coming up that would use the code, the new library sounds really neat. Kudos!
dlib 1 day ago 0 replies      
Very interesting, definitely gonna try this out as I have seen similar use-cases.

Any change Github is at anytime going to show the specific merge-conflicts for a PR that cannot be merged?

jcchee88 1 day ago 2 replies      
When running with Scientist enabled, doesn't that mean you will add both the runtime of the old/new implementation instead of just one implementation?

I could see this begin ok in most cases where speed is not a concern, but I wonder what we can do if we do care about speed?

cmrx64 1 day ago 4 replies      
Does anyone know what an "O(n) issue" is? I can think of a few possible meanings in the usage here, but I've never heard it before and they all seem wrong.
yarrel 1 day ago 0 replies      
The word "debt" is not just a financial term. There are debts of gratitude, debts to society, debts of honour, and so there are also technical debts.

Objecting to the name "technical debt" on the basis that it is not the correct financial use of the term is like objecting to the name "work day" on the basis that it isn't measured in joules. It's a category error.

Bullshit Startup Experiences totalgarb.tumblr.com
527 points by supjeff  3 days ago   284 comments top 45
ditonal 3 days ago 6 replies      
Feel free to steal mine:


me: the candidate seemed pretty good, even if he made some mistakes.

CEO: a false negative is better than a false positive! Better to reject and err on the side of caution!


CEO: we can't find people! There's a shortage! It's a crisis!


CEO: we only hire the best, smartest people in the world!

me: OK I found one! He wants a high salary.

CEO: welllll, average market salary is only $, but since "we're a startup" we can't even do that....

bflesch 3 days ago 3 replies      
This is a great and depressing read, and as the CTO of a soon-out-of-cash startup I can only say that we receive this bullshit on a founder <-> investor level day in and out.

I've actively thought about creating something like this where you could anonymously tie those stories to the real names of VCs because some of these guys are totally out of their mind.

As a EU-based startup raising a moderate seed round I could tell you two hours about the incestuous and unprofessional VC scene here. People lie into your face, VCs forward confidential information directly to competitors' management, suddenly 5 emails into a conversation people stop from replying for three weeks, etc.

I can tell you that Greg from Boxgroup, New York, has done by far more leads and intros for our shitty EU-based startup than any of those Mr. fancypants German mega-VCs (or so they see themselves).

We have had several cases where we sent the phone # of a very rich business angel to our VCs after they asked for an intro to him in order to take part in (his, kind of) round. They not once called him.

So depressing, but yet so absurd that you can't keep from laughing manically for what kind of high-paid job people are doing there sometimes.

sijoe 3 days ago 6 replies      
Been thinking about doing the customer version of this.

[after a long indepth technical discussion with a qualified opportunity, quoting, resources allocated, ready to pull the trigger on a large project]

me: So we are ready to go, waiting on the PO

them: Sure, just working through our process

(falls off internets, doesn't respond to phone calls/emails/rejects visits)

Months go by

them: We set up an RFP and bought from someone else.

me: Er ... you used our confidential material (marked as such) to set up a public RFP, that you didn't even invite us to, or respond to our queries? Seriously?

them: Yes.

[bangs head on table, but it gets better ... no ... the other thing]

them: the system we bought (not yours), isn't performing nearly as well as your system that we POCed on.

me: So? Why not call your vendor and have them help you?

them: they aren't able to. They don't know this stuff as well as you do.

me: So, let me get this right ... you want me to provide consulting services to help a competitor of ours ... compete ... with us?

them: Not so much consulting, as free advice and guidance. Like you did during the POC.

[resumes banging head on table]

them: hello? whats that noise?

[years pass]

them: we need to rethink our strategy, it was an order of magnitude slower than your unit at about 2-3x the cost.

me: no kidding Sherlock

them: we want to start this process again ....

me: (fits of laughter) uh ... no.

Roritharr 3 days ago 3 replies      
My favourite:

Founder Institute

- run by international group of millionaire magazine-cover entrepreneurs

- doesnt invest a penny in its companies

- charges founders thousands of dollars for mentorship

- well-regarded startup accelerator


I was once offered the position to head the local chapter, after having a private phonecall with Adeo, I declined as I couldn't see the value offered. The next person took it, and as expected, the local chapter failed spectacularly and the people founding it were out of a lot of work and didn't get anything in return.

It's still a mistery to me why that organization has credibility.

leroy_masochist 3 days ago 9 replies      
> me: hi i'm here about the lead developer position

> CEO: cool man lets grab a couple beers

> me: (over beers) hi i'm here for the lead developer position

> CEO: yeah dude but are you any good at foosball?

> me: (over foosball) i'm here for the lead developer position

This is surprisingly common and not just for hiring technical roles. I find it especially odd when founders do it in the process of hiring their first few employees....it's like dude, you don't even have a culture yet, why do you care about culture fit?

It would be impossible to quantify but I wonder how many good ideas tackled by good founders never got off the ground because they were overly fixated on getting the first 10 hires EXACTLY right.

rcurry 3 days ago 1 reply      
Startup: We need an experienced Foo programmer.

Me: Those are easy to find.

Startup: Our lead developer keeps shooting them down because they don't know (obscure keyword).

Me: How long would it take an experienced programmer to learn (obscure keyword)?

Startup: I don't know, maybe an hour?

Me: How long have you been hiring for this position?

Startup: About six months.

Me: Would it help if I sent you a transcript of this call?

Startup: What?

Me: Never mind...

adeadb2bcompany 3 days ago 3 replies      
Hi, so this is all happening at the startup I work at:


CEO: We just closed a XX million dollar Series C funding round!

-- later at an a company wide meeting ---

CEO: we have zero revenue. if we asked our customers to pay us, they would drop our product in a second... so, uh, we really don't have product market fit yet.

me: ...

CEO: no worries. we are attacking such a large market. surely we'll find something. and when we do it will be HUGE... it'll be... it'll be... it's so huge I'm having trouble even describing it!


-- at an important weekly product meeting --

CEO: okay it's been ten minutes. where is [cofounder]

CTO: oh he's in china for the week.

CEO: ...

CTO: On vacation.

everyone else: ... (your cofounder didn't tell you that?)


me: your company name "cadabra" sounds like cadaver.

ceo: nah, dude.

me: you had to spell it out when I asked you to pronounce it.

ceo: nah, we just need to hire more marketing people.


wannabe designer: so tell me how you approach design.

me: well I really like being apart of the process from start to finish, since I've also done UX wor--

designer: great, let me tell you how we do design here. i draw up the stuff and you do it, unless there's a technical problem. you can argue and you will be wrong, ha ha.

me: you're joking right?

designer: * proceeds to create barely passable UIs *

And the list goes on. I have plenty of more stories to share but I am currently busy seeking employment elsewhere.

Shameless plug:If you're looking for an American android developer (10,000+ install base on play store), or a front end web developer ( Tech Giant), a back python/java developer ( past startups ), let's talk shop at snarkyhackernewsuser@gmail.com.

ninkendo 3 days ago 2 replies      
--me: sits through yet another mandatory hours-long meeting where the loudest two developers one-up each other to find the best hypothetical solution to the most convoluted problem they can imagine as it relates to the urgent, critical problem we currently face whose simple, plain solution goes entirely ignored and where no decision is made.--

I have trouble laughing at what I know is supposed to be humor, because of how tragically true this is and how much this affects me on a regular basis.

But I don't work for a startup! I thought it was supposed to be different in that world.

Perhaps some problems are just universal.

bsdpython 3 days ago 3 replies      
A lot of these anecdotes are the frustration with dealing with people that waste your time. I guess it's not limited to just the startup space but one thing I've learned is that there is an unlimited number of people that are willing to waste your time and boy is it frustrating.
tdaltonc 3 days ago 4 replies      
> married hetero male founders: we're thinking of getting an intern

> me: okay but I don't see what we could offer. You know we're on a really tight

> married hetero male founders: we're getting an intern.

> intern: (beautiful 18yo girl)

Young male intern --> Everyone assumes you're a Wunderkind.

Young female intern --> Everyone assumes that the CEO is having sex with you.


tonecluster 3 days ago 0 replies      
So many... so many.

me: (up all night fixing bugs in production due to technical debt and mistakes from overworked and tired devs. Sleep from 5am to 9am, show up to office at 10am)

CEO (sales background), walking by as he sees me enter the office: "Hey tone, I want butts in seats, including yours. We have a culture of hard work here. Set an example."


CTO: "We don't need to hire expensive devs. Just hire from overseas and promise them an H1B. They'll work for the minimum."

me: "That's not only unsustainable, it's unethical. H1B is a lottery, we can't promise that!"

CTO: "I don't expect them to know that, and you're not going to tell them! Get them on-boarded and working a.s.a.p."

me: (goes home, writes resignation email)

sohcahtoa 3 days ago 3 replies      
Interviewer: We need someone with [describes soft skill set for my dream job]

Me: Great career opportunity, I'd certainly be willing to move across country for this

Interviewer, day 1: Here's your desk, now I'm going to assign you a ticket off the backlog. Let me know when you're done and I'll assign you another one. [pats me on the head and walks away]

Bait'n'switch, and I fell for it. I think it's the only way they can get people to come to this no-good podunk town, with not a sushi bar for miles, and 19th century development practices. And yes, I am preparing my awesome flameout exit. I hope to hear the lamentation of their womenfolk.

nlh 3 days ago 2 replies      
A lot of these appear to stem from inexperience -- the founder/CEO/CTO doing and saying what they think they're supposed to do or because "that's what successful people do."

I'm going to be slightly reverse-ageist for a moment: I'm at a startup where the average age is over 40, the founder is deeply experienced as both an engineer and a manager, and I can honestly say that NONE of this stuff happens. I took my reading these anecdotes to appreciate how nice (and apparently rare?) this is.

meesterdude 3 days ago 2 replies      
I loved these! I certainly have been through some of that nonsense.

i would add:

job offer: salary range $100-$130k

interviewer: the max for this position is $80K

interviewer: hello?

padobson 3 days ago 2 replies      
Based on my experience, there doesn't seem to be much overlap between the type of charismatic pitch founder capable of raising money and getting people to work for less than their market rate, and the bean counter-oversight founder capable of running an efficient business. But it's the former type that is able to raise money, so they find themselves in a position to have conversations like these.
hwstar 3 days ago 0 replies      
Problems are not just limited to startups. Here's some of the shenanigans which went on in the last company I worked for:

Company is constantly on credit hold. Engineers receive calls from suppliers stating that they haven't been paid and no one in accounts payable is returning their calls.

Company does layoffs on a recurring basis, and then hires different people for a new project. In one case they hired back the same people they laid off a year ago and paid them signing bonuses.

CEO shows gross indifference when someone leaves the company. Just shrugs it off.

CEO walks into VP of HR's office with someone and states that you're fired, and this is your replacement.

CEO constantly worrying about getting delisted from NASDAQ.

CEO and VP Engineering "chum" thinking they know the price of components and stating that that should cost $5, when everyone supplying stated item is asking $15.

supjeff 3 days ago 4 replies      
I've worked for startups as a full-stack dev for about 5 years, and spent the last year trying to land a position in as a technical manager. This specific pursuit has lead to some of the most bullshit encounters I've had with startups. What are some of your bullshit experiences?
Jean-Philipe 3 days ago 2 replies      
I had this:

young male intern: talks a lot but is not workingyoung female intern: does all the work of the male intern, gets half the pay

me: why?ceo: because the male intern is from some important school!

smcl 3 days ago 5 replies      
The "less than half for cash" one is something I used to see from customers all the time when working in a bar. You'd say "10.50, please" and they'd reply "10 for cash?" as if I'd happily chip in 50p myself (till shortages need covered somehow) instead of having to accept a card payment. I never understood the mentality - it costs x, so pay x or go away
doctorpangloss 3 days ago 0 replies      
It's probably unfair to pin all the sexism stuff on startups. If you've ever been to a big company, you'd know that the pink collar workforce idea is way worse. There are a lot of women in junior or administrative positions who can only really interact with their bosses and immediate peers professionally but whom the entire organization, from CEO to lowly PA, tries to hit on.
eitland 3 days ago 0 replies      
Three of mine:

Recruiting company: Someone needs a php developer for work in X industry.

I work on the industry, take the test they give me, get a perfect score, never hear a word, no interview.

Big company : I travel across the mountains to an interview, 15 minutes before arriving I get a call, "we can't meet you today, we will come back with another time".

Startup: we need someone with strong cognitive skills and php and javascript experience (8 y ago, before everyone had 10 y javascript experience). In interview: you are one of two qualified, the otherone is from <other country, more than two hours away, by plane>, -goes on to advertise the position again, then after realizing there are no other goes on to offer me below market rates. I go on to learn Java in a better paid job with better well - everything.

tonecluster 3 days ago 1 reply      
Here's one (not solely experienced in startups, however):

manager: "Since you're single, can you work through the holidays and cover the systems/push this feature/go the extra mile so that the people with families can spend time with them?"

cinquemb 3 days ago 0 replies      
After a round of interviews/ in person with a public software company in Boston (who just acquired last pass):

Company recruiting lead: The team enjoyed meeting you. They felt you are very smart and personable. [VP of engineering] liked your work with machine learning. At this time, they feel you are a bit junior for the team.

I had to laugh, glad I dogged a bullet.

htaunay 2 days ago 0 replies      
CEO: We gonna need to do some crunch time the next 2/3 weeks. Unfortunately, we fell behind schedule and we can't let this next delivery be late. We can't pay any of you overtime because we are already on a tight budget, as you know, but to raise moral after we deliver the company is going to take everyone out to this great restaurant + drinks to raise our morale and toast of the future of this great and promising business!

The team: Ok. Not what we expected, but we have some equity, its a tough market, and we have been working on this for a while. Let's hope it pays off in the future.

Three weeks - working from Sunday to Sunday - later...

The Team: Yes! I can't believe we delivered! We are more motivated than ever! Now let's celebrate!

CEO: Yeah, sorry, no time for that. Here's a $40 dollar check for each of you to go out and grab a bite. Oh, and by the look of our roadmap we might need to crunch some more next month.

The Team: [starts quitting one by one]

randycupertino 2 days ago 2 replies      
My first startup's CEO practiced "The Game" and used to bring the dev team out in SF to practice peacocking, negging and other ridiculous seduction techniques on unsuspecting women. I'm in an ltr and dreaded having to go, but didn't want to be left out so I would tag along. It was horrible.
spinlock 3 days ago 0 replies      
Am I the only one who would have really appreciated a trigger warning?
kelukelugames 3 days ago 3 replies      
YC helps young founders because of stereotypes against them. I wouldn't imply that someone lacks merit because she is 18 and attractive. There needs to be more context for that post.
junkilo 3 days ago 2 replies      
one from the devops/sre trenches...

> (devops guy) hi, im here for the lead devops role> (CTO) awesome, you'd be a great fit here. can you write a sudoku solver in ruby real quick?> (devops guy) [writes solver in ruby]> (CTO) wow looks great... when can you start? do you have any questions for me?> (devops guy) I do have a question: how do you shard your bigdata installations and what is it built on?> (CTO) oh I wrote my own, we call it redisbigtable -- its the worlds first CAP compliant data store. oh, and we shard by customer.> (devops guy) thank you for your time.

kevinthew 3 days ago 0 replies      
happened to be recently:

Manager: Hey you're here for the xx position right? You know, you sound like you'd be a really good fit for this new job that opened up, I just fired this guy, millennials amirite, so let's talk about that for the next hour.

Jemaclus 3 days ago 0 replies      
me: I'm here for the engineering manager position

them: great, can you come in for a front-end developer interview at 2?

me: I'm here for the engineering manager position

them: here's an offer for a front-end position making below-average $

me: thanks for your time

them: ???????

CEO: Why won't anyone work for us?

them: we offered them a job!

giis 3 days ago 0 replies      
>Would you sign something saying you'll give me $250k in cash one year from now if I work for the company?

this is classic ! :)

fny 1 day ago 0 replies      
COO: We need to crush the MVP, so unfortunately we'll be working weekends now.

Designer: ...

COO: Don't worry everything will cool down after Thanksgiving!

Designer: Fine...

(Week before Thanksgiving)

COO: Finish everything? Like is X, Y, Z all good to go?

Designer: Yep, everything's finished!

COO: Awesome! Unfortunately, we're going to have to let you go...

pyb 3 days ago 0 replies      
I've had 2 of these exact interactions, in the London local startup scene, and that was just last week.
eecks 3 days ago 3 replies      
Are these just made up or are they coming from somewhere?
giis 3 days ago 1 reply      

During interview with founder:

me : I believe 'honesty is the best policy'

founder: Great! we need like-minded people like you.

(after few months)

founder: He creates negative environment within the team!

mrbill 3 days ago 0 replies      
Reminds me a lot of


pbreit 3 days ago 3 replies      
Many/most seem more an indictment on engineer lack of understanding what it takes to get a startup off the ground.
the_cat_kittles 3 days ago 0 replies      
love the equity one. imagine asking "what is the expected value of the equity?", getting a number, and then saying "ok, pay me that when it vests instead of giving me the equity".
b123400 2 days ago 0 replies      
We are working in a coworking space, but the CTO doesn't seems to like this idea at all, he keeps asking people in the common area to shut up.
bsg75 3 days ago 1 reply      
Has anyone done the math to show if your odds are better at the typical startup vs the typical craps table?

Equivalents of time and money, and the odds of wasting it all on chance?

velox_io 3 days ago 0 replies      
It's quite scary how many startups treat Lean Startup as the gospel and follow it word for word.
Giorgi 3 days ago 3 replies      
It's beyond me why would anyone would want to give away part of his/her company just because of some shitty development work, and most of developers do just that - write shitty code because they don't give a crap about quality

As a founder you are better of paying some random developer do have viable product and then if it works - hire someone.


michaeloblak 2 days ago 0 replies      
This is so true! Awesome (and sad)!
mrcrassic 3 days ago 0 replies      
this is amazing.
cft 3 days ago 2 replies      
Somebody who dedicates his time to publicly spew this toxic attitude will likely not archive success that is pleasant for him.
Files Are Hard danluu.com
450 points by pyb  3 days ago   151 comments top 32
notacoward 3 days ago 1 reply      
Pretty much spot on. Local in-kernel file systems are hard, partly because of their essential nature and partly because of their history. A lot of the codebases involved still show their origins on single-core systems and pre-NCQ SATA disks, and the development/testing methods are from the same era. The developers always have time to improve the numbers on some ancient micro-benchmark, but new features often get pushed to the LVM layer (snapshots), languish for ages (unions/overlays), or are simply ignored (anything alternative to the fsync sledgehammer).

The only way a distributed file system such as I work on can provide sane behavior and decent performance to our users is to use local file systems only for course-grain space allocation and caching. Sometimes those magic incantations from ten-year-old LKML posts don't really work, because they were never really tested for more than a couple of simple cases. Other times they have unexpected impacts on performance or space consumption. Usually it's easier and/or safer just to do as much as possible ourselves. Databases - both local and distributed - are in pretty much the same boat.

Some day, I hope, all of this scattered and repeated effort will be combined into a common library that Does All The Right Things (which change over time) and adds features with a common API. It's not quite as good as if the stuff in the kernel had been done right, but I think it's the best we can hope for at this point.

psi-squared 3 days ago 1 reply      
AIUI, ZFS was explicitly designed to deal with this sort of data corruption - one of the descriptions of the design I've heard is "read() will return either the contents of a previous successful write() or an error". That would (in principle) prevent the file containing "a boo" or "a far" at any point.

It looks like one of the authors cited in this article has written a paper analysing ZFS - though they admittedly don't test its behaviour on crashes. Citation here, in PDF form:


(edited to add: This only deals with the second part of this article. The first part would still be important even on ZFS)

needs 3 days ago 2 replies      
There is an easy way to write data without corruption. First copy your file-to-be-changed as a temporary file or create a temporary file. Then modify the temporary file and write whatever you want in it. Finally, use rename() to atomically replace the old file by the temporary one.

The same logic also apply to directories, although you will have to use links or symlinks to have something really atomic.

It may not work on strangely configured systems, like if your files are spread over different devices over the network (or maybe with NFS). But in those cases you will be able to detect it if you catch errors of rename() and co (and you should catch them of course). So no silver bullet here, but still a good shot.

tehwalrus 3 days ago 2 replies      
"How is it that desktop mail clients are less reliable than gmail...?"

Made me chuckle. I've been told off by a former Googler colleague enough times now to have learned that Gmail is more complex than anyone imagines on a first guess, in order to be "reliable".

cellularmitosis 3 days ago 0 replies      
I've recently been playing with nbdkit, which is basically FUSE but for block devices rather than file systems.

I was shocked to discover that mke2fs doesn't check the return value of its final fsync call. This is compounded by the fact that pwrite calls don't fail across NBD (the writes are cached, so the caller's stack is long gone by the time the get flushed across the network and fails...)

As a test, I created an nbdkit plugin which simply throws away every write. Guess what? mke2fs will happily create a file system on such a block device and not report failure. You only discover a problem when you try to mount the file system.

kentonv 3 days ago 1 reply      
The article's table of filesystem semantics is missing at least one X: Appends on ext4-ordered are not atomic. When you append to a file, the file size (metadata) and content (data) must both be updated. Metadata is flushed every 5 seconds or so, data can sit in cache for more like 30. So the file size update may hit disk 25s before the data does, and if you crash during that time, then on recovery you'll find the data has a bunch of zero bytes appended instead of what you expected.

(I like to test my storage code by running it on top of a network block device and then simulating power failure by cutting the connection randomly. This is one problem I found while doing that.)

steven2012 3 days ago 3 replies      
I worked at a storage company and the scariest thing I learned is that your data can be corrupt even though the drive itself says that the data was written correctly. The only way to really be sure is to check your files after writing them that they match. Now whenever I do a backup, I always go through them one more time and do a byte-by-byte comparison before being assured that it's okay.
nickpsecurity 3 days ago 1 reply      
Great write-up and probably explains some issues in my apps a while back. Like that my long-time favorite, XFS, totally kicks ass in the comparisons. I agree on using static analysis and other techniques as I regularly push that here. What threw me is this line:

"that when they came up with threads, locks, and conditional variables at PARC, they thought that they were creating a programming model that anyone could use, but that theres now decades of evidence that they were wrong. Weve accumulated a lot of evidence that humans are very bad at reasoning at these kinds of problems, which are very similar to the problems you have when writing correct code to interact with current filesystems."

There were quite a few ways of organizing systems, including objects and functions, that the old guard came up with. UNIX's popularity and organization style of some others pushed the file-oriented approach from mainstream into outright dominance. However, many of us long argued it was a bad idea and alternatives exist that just need work on the implementation side. We actually saw some of those old ideas put into practice in data warehousing, NoSQL, "the cloud," and so on. Just gotta do more as we don't have a technical reason for dealing with the non-sense in the write-up: just avoiding getting our hands dirty with the replacements.

SixSigma 3 days ago 1 reply      
In plan9 mailbox files, like many others, are append only.

All files are periodically (default daily) written to a block coalescing worm drive and you can rewind the state of the file system to any date on a per process basis, handy for diffing your codebase etc.

For a while the removal of the "rm" command was considered to underline the permanence of files but the removal of temporary data during the daytime hours turned out to be more pragmatic.

orf 3 days ago 1 reply      
Surely filesystems are going to go through a massive change when SSDs push standard spinning disks into the history books? They must carry a lot of baggage for dealing with actual spinning disks, much of which is just overhead for super-fast solid state drives. Hopefully this will allow interesting features not possible on spinning disks, like better atomic operations.
vog 3 days ago 5 replies      
I wonder how this approach (single file + log) compares to the other usual approach (write second file, move over first):

1. Write changed the data into a temporary file in the same directory (don't touch the original file)

2. Move new file over old file

Does this lead to a simpler strategy that is easier to reason about, where it is less likely for programmer to get it wrong? At least I see this strategy being applied more often than the "single file + log" approach.

The obvious downside is that this temporarily uses twice the size of the dataset. However, that is usually mitigated by splitting the data into multiple files, and/or applying this only to applications that don't need to store gigabytes in the first place.

cmurf 3 days ago 2 replies      
The article makes me wonder whether there's enough abstraction being done via the VFS layer, because all this fsync business that application developers seem to have to do can be so workload and file system specific. And I think that's asking too much from application developers. You might have to fsync the parent dir? That's annoying.

I wonder if the article and papers its based on account for how the VFS actually behaves, and then if someone wanting to do more research in this area could investigate this accounting for the recent VFS changes. On Linux in particular I think this is a bigger issue because there are so many file systems the user or distro could have picked, totally unbeknownst to and outside the control of the app developer.

quesera 3 days ago 4 replies      
This is an interesting article but the examples given are seriously dated:

Mail servers and clients (MTAs and MUAs) have been using Maildir format to escape this problem since 1996.

Filesystems have evolved. ZFS has been available for ten years.

If you take your data seriously, you do need to make informed choices. But this article isn't targeted at people who won't know about Maildir and ZFS.

The section about relative data loss failures between various applications is great. Again, careful choices: SQLite and Postgres.

alkonaut 3 days ago 1 reply      
The article only mentions Linux/Posix systems, are the same problems also present in Windows/NTFS? I was under the impression that, for example, renames on ntfs were crash safe and atomic, which would make the "write temp file then rename to target" work even if the power is cut?
toolslive 3 days ago 0 replies      
One of the naive assumptions that most of us make is that if there's a power failure none of the data that was fsynced successfully before will be corrupted.

Unfortunately, this is not the case for SSDs.

rikkus 3 days ago 0 replies      
This issue is completely fixed by Maildir and was many years ago. Many clients, including Mutt, for example, support Maildir boxes
david-given 3 days ago 2 replies      
One thing I've always wanted to try and never had time is to build SQlite as a kernel module, talking directly to the block device layer, and then implement a POSIX file system on top of it.

It wouldn't solve problems with the block device layer itself, but it'd be interesting to see how robust and/or fast it was in real life.

mtanski 3 days ago 0 replies      
While I experienced this pain first hand I'm not sure that the FS deserved a 100% of the blame. There is enough to blame to go around for the userspace, filesytems, block device layer and disk controllers, hardware & firmware.

If you start at the bottom of the stack you have all sorts of issues with drives, their firmware and controllers doing their own levels of caching & re-ordering. Over the years the upper layer developers (block layer / fs) had to deal with hardware that simply lies about what happened or is just plain buggy.

stevoski 3 days ago 1 reply      
This article sheds some light on a problem I've had for years:

The software product I develop stores its data in a local database using H2, stored in a single file. Users tend to have databases gigabytes in size.

After reading this article, I start to understand why my users occasionally get corrupted databases. A hard problem to solve.

scotty79 3 days ago 1 reply      
It appears that sqlite could be good basis for decrapified filesystem.
hmottestad 3 days ago 2 replies      
I don't program much in C, or use direct system calls for files. Mostly I use Java.

Does anyone know if any of this applies to Java's IO operations. I'm sure you can force some of this behaviour, but for instance: The flush method on OutputStream, will it ensure proper sync, or is that again dependent on the OS and file system as described in the article for syscalls?

Sami_Lehtinen 3 days ago 0 replies      
I do agree with you, this is my story about the usual stuff:http://www.sami-lehtinen.net/blog/chaos-monkey-bit-me-a-shor...As well as this classic from SQLite3 guys:https://www.sqlite.org/howtocorrupt.html - As you can see, there are multiple ways to ruin your day.
lamontcg 3 days ago 0 replies      
Ah, fond memories of async ext2 corrupting root filesystems beyond recognition... I think we 'invented' 'disposable infrastructure' back in 2002 because the filesystem forced us to... The MegaRAID cards that would eat their configuration along will all your data didn't help either..

Can't remember if we switched to ext3 in ordered or data-journaled mode but it made an immense difference...

Qantourisc 3 days ago 1 reply      
IIRC I have seen this discussion before. And the answer was do a fsync. But for sakes of performance we want to be able to issue write-barriers to a group of file handles. So we know the commands will be ran in order, and no other order.
derefr 3 days ago 0 replies      
I think it's mostly a "why are you telling us? The author of the article might not ever even visit HN. Email them." reaction.
oxplot 3 days ago 1 reply      
Isn't block level duplication/checksumming like RAID supposed to solve this hardware unreliability? I understand that by default RAID is not used on end user desktops.
leephillips 3 days ago 1 reply      
Good article. You have a typo: looks like you're using Pandoc or something similar, and left out the closing parenthesis in the link after [undo log].
Animats 3 days ago 0 replies      
This problem can be fixed. We need to rethink file system semantics. Here's an approach:

Files are of one of the following types:

Unit files

For a unit file, the unit of consistency is the entire file. Unit files can be created or replaced, but not modified. Opening a unit file for writing means creating a new file. When the new file is closed successfully, the new version replaces the old version atomically. If anything goes wrong, including a system crash, between create and successful close, including program abort, the old version remains and the new version is deleted. File systems are required to maintain that guarantee.

Opens for read while updating is in progress reference the old version. Thus, all readers always see a consistent version.

They're never modified in place once written. It's easy for a file system to implement unit file semantics. The file system can cache or defer writes. There's no need to journal. The main requirement is that the close operation must block until all writes have committed to disk, then return a success status only if nothing went wrong.

In practice, most files are unit files. Much effort goes into trying to get unit file semantics - ".part" files, elaborate file renaming rituals to try to get an atomic rename (different for each OS and file system), and such. It would be easier to just provide unit file semantics. That's usually what you want.

Log files

Log files are append-only. The unit of consistency is one write. The file system is required to guarantee that, after a program abort or crash, the file will end cleanly at the end of a write. A "fsync" type operation adds the guarantee that the file is consistent to the last write. A log file can be read while being written if opened read-only. Readers can seek, but writers cannot. Append is always at the end of the file, even if multiple processes are writing the same file.

This, of course, is what you want for log files.

Temporary files

Temporary files disappear in a crash. There's no journaling or recovery. Random read/write access is allowed. You're guaranteed that after a crash, they're gone.

Managed files

Managed files are for databases and programs that care about exactly when data is committed. A "write" API is provided which returns a status when the write is accepted, and then makes an asynchronous callback when the write is committed and safely on disk. This allows the database program to know which operations the file system has completed, but doesn't impose an ordering restriction on the file system.

This is what a database implementor needs - solid info about if and when a write has committed. If writes have to be ordered, the database program can wait for the first write to be committed before starting the second one. If something goes wrong after a write request was submitted, the caller gets status info in the callback.

This would be much better than the present situation of trying to decide when a call to "fsync" is necessary. It's less restrictive in terms of synchronization - "fsync" waits for everything to commit, which is often more than is needed just to finish one operation.

This could be retrofitted to POSIX-type systems. If you start with "creat" and "O_CREAT" you get a unit file by default, unless you specify "O_APPEND", in which case you get a log file. Files in /tmp are temporary files. Managed files have to be created with some new flag. Only a small number of programs use managed files, and they usually know who they are.

This would solve most of the problems mentioned in the original post.

achille 2 days ago 1 reply      
Does anyone know if there's a recording of the usenix talk given? (Referenced slides)
throwaway848 3 days ago 9 replies      
PG was quite proud of having just used the file system as a database with Viaweb, claiming that "The Unix file system is pretty good at not losing your data, especially if you put the files on a Netapp." His entire response is worth reading in light of the above article, if only to get a taste of how simultaneously arrogant and clueless PG can be: http://www.paulgraham.com/vwfaq.html

PG and company still think this is a great idea, because the software this forum runs on apparently also does the file system-as-database thing.

No wonder Viaweb was rewritten in C++.

EDIT: to those downvoting, my characterization of PG's response is correct. Its arrogance is undeniable, with its air of "look how smart I am; I see through the marketing hype everyone else falls for," as is its cluelessness, with PG advocating practices that will cause data loss. Viaweb was probably a buggy, unstable mess that needed a rewrite.

repiret 3 days ago 0 replies      
purpled_haze 3 days ago 1 reply      
All of this is great, except the first two sentences:

> I havent used a desktop email client in years. None of them could handle the volume of email I get without at least occasionally corrupting my mailbox.

If I were to get so many emails that it was corrupt my mailbox, I'd first ask myself why, and how to stop that.

Koel: A personal music streaming server github.com
497 points by vive-la-liberte  2 days ago   246 comments top 28
mentos 2 days ago 11 replies      
Anyone else find that in this new streaming age they listen to a lot less music? It may just be a function of my age, but I feel like if I had a device with all of my songs on it again I would listen to much more.

I think there could be another iPod age.

Imagine a device with 10Tb of flash memory, an E-Ink display and 2.5 million songs.

snthd 2 days ago 1 reply      
I couldn't compile it on Debian yet, but tomahawk (https://www.tomahawk-player.org/) looks interesting.

You could set up a music NAS with beets (http://beets.radbox.org/) as one of several sources (also you could have spotify, youtube, soundcloud) then have playlists that include stuff from a combination of them.

A last.fm type service for tomahawk is in beta at https://hatchet.is

unixhero 2 days ago 7 replies      
I have been using Subsonic.org on my servers since 2009. It has and still is serving me very well.
amelius 2 days ago 22 replies      
What I'm looking for is better music discovery. This would require some form of machine learning/statistics/collaborative filtering, but basically, if I like a number of songs, I'd want the system to automatically recommend new songs/artists.
acoleman616 2 days ago 1 reply      
I'm happy to see Laravel being used for more and more projects and getting the credit it deserves as truly first-class framework -- regardless of language.
archseer 2 days ago 1 reply      
I've been working on something similar, just for fun (gave me an excuse to mess with Elixir and Ember). Still highly unstable though, I've spent maybe a week total on this. It's a rewrite of an older sinatra-based project I did back when html5 audio became stable enough (on my github as well).


edent 2 days ago 5 replies      
Will be interesting to see how this compares with http://ampache.org/ which, while great, still hasn't solved the mobile access problem.
addict3d 2 days ago 0 replies      
This looks great, could you please integrate youtube and soundcloud search for streaming?

EDIT: https://github.com/embedly/player.js may save you some time!

mrmondo 2 days ago 0 replies      
Was excited to see this, I did hit a lot of composer and npm problems (as I somewhat expected) here's hoping the bug reports I've filed can be easily resolved. At the moment I'm using groovebasin but that needs some serious improvement around it's installation dependencies.
pierrec 2 days ago 2 replies      
I've been looking through online playlist servers and wondering: Why shouldn't I host something like this as a static website? After looking around and not finding any tool that generates this, I'm considering making it myself, shouldn't be too hard.

I don't really need any features that require server-side processing, and static hosting would essentially reduce the cost to zero, for the amount of storage and bandwidth I would make of it (as well as possibly making it a bit faster).

sphildreth 1 day ago 0 replies      
I also started a project on my own; mostly to accommodate my 80k music collection and partly to get better with Python: https://github.com/sphildreth/roadie
ohblahitsme 2 days ago 0 replies      
This is awesome! I'm gonna set up my R-Pi at home to run this and merge my brother's and my music libraries. Thanks for this!
addict3d 2 days ago 1 reply      
Holy, cow! I was working on a node-webkit/cordova angularJS app very similar to this until I got bored of angular. It pulls music from Soundcloud and YouTube.

Here's a screenshot if anyone's interestedhttp://i.imgur.com/uSBNSeE.png

benkaiser 2 days ago 0 replies      
for a node.js based Google Play Music clone (with android sync application included)+ youtube downloading built in (with playlists)+ soundcloud downloading built in (with playlists)see my project Node Music Player: https://github.com/benkaiser/node-music-player

I've been working on it for the last few years with a few pull requests from awesome members of the community and I'm about to launch auto-generated mixes that allow you to explore music in a way similar to Google Play Music and Spotify (using lastfm api and youtube: here's the module for it https://www.npmjs.com/package/similar-songs )

dannyrosen 2 days ago 5 replies      
One of the features I've long sought after has been multiroom streaming (ala Sonos)
joeyspn 2 days ago 0 replies      
Docker image for y'all incoming...



ascagnel_ 2 days ago 0 replies      
This is interesting, but how would it compare against something like Plex (that handles video and transcoding as well as music, but not open source) or Boombox (just music and also open source).
oxguy3 2 days ago 0 replies      
oh my god yes thank you, i've wanted this exact piece of software for so long, and just was too lazy to program it myself. this is EXACTLY what i wanted.
pwenzel 2 days ago 0 replies      
I wonder if one could drop Koel on a webserver and use a cloud service like Box.com, Dropbox, Google Drive/Nearline to serve the MP3 files?
methyl 2 days ago 1 reply      
Plex is also very good alternative to Spotify, if you share your server on public IP.
brandonmenc 2 days ago 0 replies      
If this lets you cache music locally, it will replace iTunes for me.
mkj 2 days ago 3 replies      
Does it have 30 million tracks?
sneak 2 days ago 4 replies      
Subsonic is a similar project, and has a mature ecosystem of client apps. (Added bonus: no PHP.)
johansch 2 days ago 1 reply      
Having your own stash of pirated mp3 tracks is so 1997.
danpalmer 2 days ago 8 replies      
I find it interesting that this is described as a Spotify clone. To me, Spotify is a large music library that I can pay a subscription to access, with advanced (arguably) discovery features. This on the other hand is a web based player and streaming server. I wouldn't describe them as the same at all.

Is this really how people view Spotify?

Edit: interestingly, the product itself doesn't mention Spotify anywhere.

gedrap 2 days ago 4 replies      
The project looks cool, however, I find using 'Spotify' in the title very very clickbaity. It's just a music streaming service + player. There's nothing wrong with that, I am not saying that the project sucks or anything, it's just uncool to use a popular brand to attract clicks and call it a clone when it's something totally different.

It's like calling VLC self-hosted netflix clone.

callumlocke 2 days ago 2 replies      
Weird that everyone is nitpicking the HN submission title. Using the word clone is just an honest admission that the UI design is ripped off. It's fairly obvious that a "self-hosted Spotify clone" would require you to bring your own music.
xena 2 days ago 1 reply      
I wish that people would write stuff like this in languages other than PHP.
Fed Ends Zero-Rate Era bloomberg.com
379 points by lpage  8 hours ago   288 comments top 26
roymurdock 7 hours ago 17 replies      
Fed raising interest rates 0.25% and setting a goal of "normal" 2% by 2018 means little to nothing. Market already priced the miniscule rate hike in as the move was widely expected, and move did nothing to assure markets that the Fed is in control, or set credible, measurable goals for future hikes.

Fed can continue to push on the supply side of money at the bank/institutional level all it wants. We need the Federal government to stimulate aggregate demand at the consumer level. How? Investing tax dollars in a smarter manner. Not raising the interest paid out on short term bonds so that institutions are incentivized to keep even more money in bonds rather than putting them to work in the economy.

Monetary policy needs to work hand in hand w/ fiscal policy. I feel bad for the Fed...its decisions are largely restricted and inconsequential when gov spending is broken, yet it receives all the attention and the blame.

randomname2 4 hours ago 4 replies      
Analysis from TD on how banks (Wells Fargo, US Bankcorp, JPMorgan, M&T, PNC, Citi) rushed to hike the prime rate to 3.50%, and forgot to increase the deposit rate:

As CNBC reported [1], "a change in the federal funds rate will have no impact on the interest rates on existing fixed-rate mortgage and other fixed-rate consumer loans, a Wells Fargo representative told CNBC. Existing home equity lines of credit, credit cards and other consumer loans with variable interest rates tied to the prime rate will be impacted if the prime rate rises, the person said."

The good news: the rates on mortgages, auto loans or college tuition aren't expected to jump anytime soon, according to AP, although in time those will rise as well unless the long-end of the curve flattens even more than the 25 bps increase on the short end.

What about the other end of the question: the interest banks pay on deposits? Well, no rush there:

"We won't automatically change deposit rates because they aren't tied directly to the prime," a JPMorgan Chase spokesperson told CNBC. "We'll continue to monitor the market to make sure we stay competitive."

Bottom line: for those who carry a balance on their credit cards, their interest payment is about to increase. Meanwhile, those who have savings at US banks, please don't hold your breath to see any increase on the meager interest said deposits earn: after all banks are still flooded with about $2.5 trillion in excess reserves, which means that the last thing banks care about is being competitive when attracting deposits.

[1] http://www.cnbc.com/2015/12/16/wells-fargo-bank-announced-we...

chollida1 7 hours ago 3 replies      
Nanex, an account that follow market micro-structure, had an interesting tweet that showed how the liquidity on 10 year Treasuries just dried up prior to the announcement.


I'm surprised this story has gotten so many votes so fast. This rate hike was widely predicted, as intentionally as the fed could by law so that they don't impact the markets too much.

Alot of people think this is the first of a few small rate hikes we'll see in the next 12 months.

IMHO, this is good news for the US economy,

- it will help give the the fed some wiggle room/ammunition to soften the fall when the next recession hits

- a slowly raising rate could stimulate the economy by convincing companies to spend now on large projects rather than wait, ditto for housing/consumers

Having said all that, keep in mind the rate hike is only 0.25% upping the overnight rate to 0.3% so this is likely to have an almost negligible impact on the every day consumer.

SeoxyS 7 hours ago 4 replies      
This could have wide implications for the startup community. A lot of people think that the current really high late-stage startup valuations, and the money pouring into the seed stage is an effect of the low interest rates. With no way to get any decent yields with these rates; it incentivizes institutional money to chase returns in alternative investment classes.
noname123 7 hours ago 1 reply      
Curious if anyone knows what is the average VC fund return for the time-span of 2010-2015 for the past five years?

Suppose if Fed plan to gradually raise interest rates to 2.0% to 2016 year's end; and with that corporate investment bonds, municipal bonds yield also rising to match and go beyond that baseline.

Then, how attractive would VC funds be for mutual and pension funds in relation to other investment alternatives: a) bonds, b) publicly-traded companies following general market trends, c) REITs, d) commodities and precious metals?

For comparison, major Internet IPO's since inception:

GRPN (-87.97%)

TWTR (-42.23%)

FB (+176.6%)

BABA (-10.02%)

ETF Tracking since ETF inception:

SOCL (ETF for Global X Social Media) (-38.8%) vs. SPY (+62.93%) vs.TLT (+1.85%);

FDN (ETF for DJIA Internet Fund, but distorted to contain established Internet companies; GOOG) (+267%) vs. SPY(+65.62%) vs. TLT (+44.18%)

downandout 6 hours ago 2 replies      
This will have an impact on the flow of money to VC's, which will have an impact on the flow of burnable cash to unprofitable startups. No more $1.5 million rounds for apps like Yo [1] (the investor community should be embarrassed and horrified that this kind of thing was getting financed anyway).

Winter is indeed coming for those that don't have a business model, and that's a good thing.

[1] http://www.businessinsider.com/yo-raises-15-million-at-a-5-1...

lpage 7 hours ago 1 reply      
This was very much in line with expectations, ergo the muted reaction in the markets. It's worth noting that the Fed used gradual in lieu of measured to describe the increase. Measured implies a steady series of increases (announced every few meetings until the target rate is reached) versus a gradual approach in which there's a long term number in mind but no strict mandate on getting there - a dovish tone.
myth_buster 7 hours ago 2 replies      
Would this end up being the pivotal moment of this decade? There is already speculation of recession in the 12-18 month time frame[0] and the energy sector [1] is going downhill since April. I'm seeing some cities and suburbs expanding unlike anything in a while but how much of that could be sustained?

To word it differently, did the Fed blink or are the underlying indicators where they want it to be?

[0] Given the cyclic nature of recessions, we seem to have artificially delayed it a bit.

[1] https://www.google.com/finance?catid=us-TRBC%3A50&ei=jLpxVtG...

irln 7 hours ago 1 reply      
It will also be interesting to see how much of the FED Assets [1] will need to be sold directly or indirectly in open market action to get to their target rate.

[1] http://www.federalreserve.gov/releases/h41/Current/

nkassis 3 hours ago 0 replies      
I was thinking about this earlier and I have a question about inflation. Could increasing the interest rate cause inflation to rise a bit in the near term?

My reasoning for this is that given that banks were borrowing at near zero, could they have had no real reason to put all the borrowed money to work since it wasn't costing them anything to hold it in reserve for later when the rates did increase? Now that the rates are increasing would they not have to use the money a bit to ensure they stay ahead of the interest rates. I was also thinking that there is a threshold at which banks wouldn't have any more money that is just sitting there and having to borrow at higher rates reduces their demand for new funds from the fed thus undoing this initial effect to the hike.

Hopefully this isn't completely naive. Please let me know if I'm misunderstanding how the fed and banks relationship works.

javiayala 7 hours ago 7 replies      
Hi HN, can someone please explain what are the implications here for the average-Joe?
huac 6 hours ago 0 replies      
Markets predicting and 'pricing-in' Fed actions is not evidence that this rate hike is meaningless.

But if you want to feel pessimistic about the hike, here's the corresponding Zerohedge 'article': http://www.zerohedge.com/news/2015-12-16/fed-hikes-rates-unl...

johnz133 7 hours ago 2 replies      
It'll be interesting to see how this affects the lending models spawned from low interest rates.
jayess 7 hours ago 0 replies      
Markets are cheering central planning and price fixing. Yay!
randyrand 4 hours ago 0 replies      
So this helps people with savings in certain types of investments, right?
seansmccullough 7 hours ago 1 reply      
Finally! In 2-3 years bonds will actually yield something.
narrator 6 hours ago 1 reply      
What is this going to do to interest payments on the national debt? Will this put a squeeze on spending? Cause tax increases? Or will it be business as usual and the fed buy as many bonds as needed?

In the latter case, I think that will cause inflation to pick up unless we can export it all out the trade deficit.

enahs-sf 5 hours ago 1 reply      
Does this mean that buying a home in San Francisco, where 1/4 of the homes sold are all cash, just got a little bit more difficult?
marcusgarvey 6 hours ago 0 replies      
Keep an eye on emerging market bonds and high-yield bonds. The latter was already looking a little shaky prior to today.
carsongross 6 hours ago 0 replies      
To modify Andrew Jackson: "The Fed has raised its funds rate; now lets see them enforce it."
panglott 6 hours ago 1 reply      
Why can't we just have a boom?
peignoir 4 hours ago 0 replies      
making some reserves for the next crisis?
joe-mccann 7 hours ago 1 reply      
Sell volatility (VIX)
daodedickinson 4 hours ago 0 replies      
Need is the construction of the world order; satiety is the universal conflagration. (Kahn translating Heraclitus) If you want to stoke consumer demand in a country where the poor have massive televisions and cable, maybe notch up the bullying of people wearing cheaper brands and carrying fake designer brands and charge 30 grand for VR headsets but advertise them during the Super Bowl? I dunno. I've never even had a real job and there aren't any gadgets I want and I want to get more crap out of my house than I want to add. Eliting schooling for hypothetical kids I'll probably never have is the only big ticket purchase I can seem to summon strong desire for.
chad_strategic 6 hours ago 1 reply      
Unicorns can't exist in ZIRP. (Zero Interest Rate Policy)
gotchange 6 hours ago 1 reply      
Fed => Wall St. Bankers => Private Eguity/Venture Capital => Silicon Valley => Start-ups (disruption in labor market & layoffs) => leaner corporations and more profits $$$ => Wall St. Bankers => PE/VC ad infinitum

You get the picture by now where's the Fed's loyalty lies in this reverse Robin Hood wealth redistribution scheme. Isn't capitalism wonderful?

I included emoji in my password and now I can't log in to my Account on Yosemite stackexchange.com
380 points by gdeglin  22 hours ago   143 comments top 18
Twisell 14 hours ago 4 replies      
And this is a perfect reminder that you should never try some crazy things on your only administrator account on your production machine.

Had he test his point on a dummy account : delete account = problem solved

OSButler 19 hours ago 4 replies      
A client once had an issue where his account got compromised and everything pointed to having his actual login details leaked.His password was something like his username plus an assortment of random characters. It turned out that the system his account was on basically ignored everything after the 8th character, so that you were able to login with the username as the password.

Also, during the early days of inline password generators, there were cases where the suggested password was incompatible with the associated system.

bhaak 18 hours ago 3 replies      
Such problems are the reason why I never use anything but ASCII letters as passwords (if the system doesn't enforce arbitrary password policies). I'd rather have a longer ASCII-only password than a shorter one I might not be able to input.

There's also the issue that often you are not sure what keyboard layout is current enabled and even such unsuspicious characters like ! or # are on completely different locations on different keyboard layouts (then there's the z-y swap on German derived keyboards and have you ever had a look at a French keyboard layout?).

You can never be sure if a system locks you out after failed attempts, so I want to be sure that there are as few error sources as possible.

minikomi 18 hours ago 1 reply      
Hmm. Not really related, but now that it seems to be fixed - I discovered that using an equals sign in your name was enough to be "locked out" of Airbnb - it wrecked the cookie & every page would return 403. No bug bounty though haha. Guess it wasn't enough of an "attack vector" to try and convince someone to change their name.
Johnny_Brahms 19 hours ago 4 replies      
I have had something similar bite me, although mine was easily fixed. I used swedish () characters for my disk encryption password. This worked fine, until I did a dist-upgrade and had my boot keyboard reset to US QWERTY (using a custom swedish version of capewell-dvorak).

The solution for me was to stick on LTS distros.

golergka 18 hours ago 0 replies      
On one hand, I want to leave a witty comment in the line of "play stupid games, win stupid prizes".

On the other hand, I'm sad that I didn't try to do that myself.

grapeshot 7 hours ago 0 replies      
The Chrome password manager still crashes the entire browser when trying to save any password with emoji in it on Windows. Firefox works perfectly fine.
paines 18 hours ago 0 replies      
Many Linux installers suffered for years the situation that you would enter you password in the setup process with a different keymap than the one you got once the system then loaded, e.g. y-z were mismatched cause I was using QWERTZ instead of QWERTY. I think I saw something similar lately with on of the OSX'es.
msftie 7 hours ago 0 replies      
In college I worked at an Apple store. One day while on break in the back of the store, I changed my company account password to a lengthy sentence, something at least 30+ characters. The system accepted the change.

When I tried to log in to the timeclock application again using the password, it threw Null Pointer Exceptions (it was a Java app, incidentally). In order to get back on the clock and get paid again, I had to reset my password -- but entering my current password into the "old password" field caused the system to throw more Null Pointer Exceptions.

I called Apple IT to do a manual reset of my password, and after explaining my situation, the response a very cold, concise and condescending "why would you do this..."

socket0 19 hours ago 0 replies      
Well, the account is now secure. Objective achieved?
r00fus 18 hours ago 0 replies      
Reminds me of a time in France when someone at a customer site complained they were locked out of their laptop - his Win NT4 laptop had a QWERTY keyboard but he put his password in french using the keyboard switcher in the OS. Back then Windows didn't allow you to change keyboard type at the login screen - it kept what you were using when you logged off...
TazeTSchnitzel 6 hours ago 0 replies      
I used as my password during (what Americans would call) middle school. Alt+numpad works on the Windows XP login screen. It never caused me any trouble.
RUG3Y 8 hours ago 0 replies      
This is the funniest thing I've read in a while.
BorisMelnik 19 hours ago 1 reply      
Was really surprised to see such a great solution and walkthrough. I had no idea Mac's had "unicode text input" software on default machines. I wonder why Window's hasn't upgraded charmap.exe over the years?

Ok and hear me out on this: a startup idea based on emoji passwords that encodes/decodes emojis into their hex/binary equivalent. takers?

nkrisc 12 hours ago 0 replies      
Sure it's a silly thing to try, but this is entirely an oversight on Apple's part and is squarely their fault. They had the power to make this situation impossible and they didn't.
coldtea 15 hours ago 0 replies      
You try to make things idiot-proof and they bring in better idiots.

1) The user tried to see if emoji can be used for the password.

2) Without checking on the web/forums/etc first.

3) On their main user account (not a disposable one).

4) With FileVault turned on.

I can't even...

DonHopkins 14 hours ago 1 reply      
You can use Emoji characters in Wifi network names. My network name is [POOP]. See what kind of fun you can have at the airport by making an ad-hoc network called [AIRPLANE][BOMB].
drdeca 19 hours ago 0 replies      
I had problems when I set my admin username on my windows laptop to when setting it up for the first time. It wouldn't let me do things which required admin, iirc.
Can't sign in to Google calendar on my Samsung refrigerator productforums.google.com
451 points by lelf  2 days ago   289 comments top 49
codemac 2 days ago 11 replies      
The problem here is not the refrigerator, or the software on it.

I repeat.

The problem here is not the refrigerator!

We're building a shitty internet, not an internet of shitty things. If integrating with an online calendar means having to have a software team at the ready at all times for the whim's of some service's API updates.. we have failed society in a deep way.

The API that Google should be releasing for Google calendar is CalDAV, because it's a standard that people can depend on. Google - by choosing to not use that standard AND to not get a different one standardized with their peers, shows they don't want to be part of an Internet.

VMG 2 days ago 2 replies      
Ubik, 1969

> From the drawer beside the sink Joe Chip got a stainless steel knife; with it he began systematically to unscrew the bolt assembly of his apt's money-gulping door.

> "I'll sue you," the door said as the first screw fell out. Joe Chip said, "I've never been sued by a door. But I guess I can live through it.

makecheck 2 days ago 11 replies      
I remember seeing a commercial for those things where they drafted the Top Chef brothers, and even in the commercial it looked extremely awkward to use. "Oh, let's just look up something...(walk over...bend down...glance at screen...slowly punch things in...)."

Even if it were the best thing ever, I know technology and I know that fridges last years longer than any gadget ever has. Any choice of touchscreen, OS or even network connection technology would probably be a "bad idea" in 5-10 years.

begriffs 2 days ago 3 replies      
I guess we know our place socially don't we?

"The upper-class kitchen, designed to be entered only by servants, is identifiable at once: it's beat-up, inconvenient, and out-of-date, with lots of wood, no Formica whatever, and a minimum of accessories and labor-saving appliances like dishwashers and garbage disposals. Why tolerate these noisy things when you can have a silent servant do precisely what they do? The upper-class kitchen does have a refrigerator, but so antique that it has rounded corners and a big white coil on top. Neatness and modernity enter as we move down toward the middle class, and the more your kitchen resembles a lab, the worse for you socially." -- Class, a Guide to the American Status System

atestu 2 days ago 2 replies      
If you like this, you should check out http://twitter.com/internetofshit I am not the author
ohitsdom 2 days ago 3 replies      
"Samsung support only advised to restart the refrigerator and check timezone..."

What a time to be alive.

h00k 2 days ago 2 replies      
"I bought the fridge so my wife could keep up with my calendar. I hope this gets fixed soon. That is a lot of wasted money if no one can use this anymore."

If only there were other ways of checking or sharing an electronic calendar! The future is now.

vvpan 2 days ago 4 replies      
I have a feeling that internet of things is going to be a disaster...
vkou 2 days ago 1 reply      
Welcome to the internet of things that don't work.

My apartment's fridge looks to be at least a decade old - somehow, it's not clear to me that spotty integration with AltaVista Calendars, or whatever it is we used back in the dark days of 2005 would be any kind of value add.

gjkood 2 days ago 2 replies      
I believe we need to measure ourselves on how close we are to the imaginings of the The Jetsons[1].

Do we need to create a universal standard to measure how close/far we are to/from The Jetsons?

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

pjc50 2 days ago 0 replies      
Coincidentally I just saw this on twitter: https://www.techdirt.com/articles/20151214/07452133070/light...

"The lights are going out all over Europe; we shall not see them go on again in our lifetime. Or until we jailbreak the firmware."

Eric_WVGG 2 days ago 2 replies      
I was impressed and a little amazed by how deadpan and serious the messages in the discussion are nobody stops to reflect on the sheer insanity that were all giggling at over here.

I assume, anyway, eventually my attention wandered and I skipped to the end, where a charming young lad does indeed go unhinged over samsucks and heroin-addicted mothers.

ihsw 2 days ago 2 replies      
Refurbished/used home appliances -- yet another way to leak credentials.

I look forward to a day when the internal components of home appliances are salvaged on the off-chance that a user's credentials could be found in them.

You can bet that off-brand devices will ask for a username/password and store it locally in plaintext.

exelius 2 days ago 3 replies      
I have a Samsung refrigerator that is supposed to be Internet-connectible. I wasted about 5 minutes on it before giving up. The shoddy quality of the software combined with the low marginal utility of having my refrigerator connected to the Internet just didn't make it worth more than 5 minutes of my time.
cbsmith 2 days ago 0 replies      
We really are living the dream of first world problems.

That said, integration with calendaring software in particular is way harder than it should be.

djhworld 2 days ago 0 replies      
This is why I hate proprietary systems like this, too many options for failure, you're at the whim of the manufacturer.
ed_blackburn 2 days ago 0 replies      
I am surprised Samsung don't point them at their own service. Said service can then redirect to google and act as an anti-corruption layer. No doubt they could also find out how many devices are online and wether people are updating.
nkrisc 2 days ago 0 replies      
What's sort of funny is that the only people who could raise a real stink in the right place, the technologically literate, would probably never buy such a fridge. Meanwhile, purchasing this looks like a good idea to the technologically illiterate, and when it doesn't work they complain to Google instead of Samsung. Winning strategy for Samsung!
AdmiralAsshat 2 days ago 0 replies      
This highlights my biggest concern about the Internet of Things: security. If you can't update it, you can't patch it in the event of security holes. Most of these companies can't even be bothered to patch their routers. How am I possibly going to trust a company to patch their refrigerator?
tdkl 2 days ago 0 replies      
"bickerdyke Top Contributor250 Best Answers

Sounds like your fridge needs a software update to use the new API version."

> Samsung

> software update

Seems someone needs a new fridge.

wklauss 2 days ago 0 replies      
This is actually a very good example to have around every time we go into the IoT discussions. We need new interaction models and new platforms that solve the issue with updating several things in the house. I have 6 or 7 devices that I now update frequently (computer, tablet, phone, set top box, watch,..) and it's starting to be a really annoying and time consuming process. Soon I'll have to add my car and who knows what else.
ArekDymalski 2 days ago 2 replies      
"Very anxious to get this fixed as this is how my young daughter knows her daily schedule."

This comment terrifies me. It sounds like that I kind of future I've read about in dystopian literature.

CptMouse 2 days ago 0 replies      
I'm shocked -shocked, I tell you- to hear that Samsung is absolute trash. Yet people fall for their bullshit over and over again, despite them openly not giving a fuck about customers, laws, competition, or common sense and basic decency. Yet try to argue with the average user who will keep praising their new Crapsung phone, while in the same sentence telling you how it was being repaired for 3 weeks because of a random hardware failure* . It's hard to contain my frustration towards people who buy Samsung (and thus "encouraging" them) when they should know better. I draw some consolation from their eventual inevitable fall into irrelevance (despite their ties to the corrupt SK government) - the shared fate of most inane, incompetent, and evil behemoths.

TL;DR fuck Samsung; stop keeping those assholes in business

* admittedly a bad example, but whatever you choose it will fail to convey their true awfulness anyway

yk 2 days ago 1 reply      
And this is, why there sits a Linux PC next to my "smart tv" in my living room. The thing about "smart tvs" and I imagine freezers is, that the friendly easy to use interface creates problems that were solved in the early 80ies for computers, and it interfaces with a ridiculously underpowered processor.
sophiedeziel 2 days ago 0 replies      
IoT problems...I fear that some hacker groups from communist states DDoS smart thermostats. Well call it Cold War 2.0
rconti 2 days ago 0 replies      
I bought a Samsung fridge last year. The documentation referenced internet features that my fridge did not have.

As I posted on Facebook at the time: "I'm not sure if I'm more appalled that there are fridges with WiFi, or upset that mine doesn't have it."

SixSigma 2 days ago 0 replies      
Welcome to the Internet of Things

20 November 2014 - problem reported on fridges costing in excess of $2,000


23 Feb 2015 - problem on some models resolved


4 June 2014 - original poster from 20 Nov has working fridge


Dec 2015 - still not fixed for all fridges

daigoba66 2 days ago 1 reply      
It's cheaper, and probably a better UX, to duct tape a tablet to the fridge door.
rasz_pl 2 days ago 0 replies      
Samsung employs tens of thousands of software engineers, all working in small isolated groups. One hand has no clue what the other is doing. Hardcoded, outdated, proprietary and broken are just a few selling points!

TV that lets your neighbour remotely enable buildin webcam in the middle of the night? Wifi enabled digital camera running ancient linux emailing pictures in the clear? Thats Samsung.

gvb 2 days ago 0 replies      
Oh my, "Rawson" is really Eliza! https://en.wikipedia.org/wiki/ELIZA

Rawson: I see that you are facing issues with the calendar app.


Rawson: I understand that must make you feel upset.

Rawson: If there was any other option, I would have definetely provided you with that. I hope you understand.

Keverw 1 day ago 0 replies      
Wow surprised it took them about 3 months to update it... On another note, I was looking at their smart fridge page and if you click the video thumbnail, it opens a video and they used music from Audiojungle with the audio watermark still in it... Guess they didn't bother licensing that track for their ad. http://www.samsung.com/us/appliances/refrigerators/RF28HMELB...
sliverstorm 2 days ago 3 replies      
Well, at least a calendar is fitting for a refrigerator, as opposed to a twitter client or whatever.
daveguy 2 days ago 1 reply      
What's scary is there are hundreds of messages from people seriously trying to resolve this. I expect to see a bunch of snarky "first world problems" comments, but its mostly "me too! my many $,$$$ fridge isn't working!"
ksk 2 days ago 0 replies      
More and more software development is becoming a constant update treadmill (especially on web/mobile), with companies having no sense of software reliability or stability. "Move fast and break things".. way to go! /s
wooptoo 2 days ago 0 replies      
This underlines that the level of newly launched and already abandoned hardware is alarming.

I'm looking at companies like Motorola who almost stopped (if it weren't for a very vocal user base) updating Moto E about half a year after launching.

And many other phone OEMs who just don't care about updating their software.

Companies came to expect fidelity from customers while providing the minimum of commitment in return.

OEMs should stop wasting money on crappy addonware and invest in quality (and timely) software updates, and better customer relationship.

jkrp 2 days ago 0 replies      
"Samsung support advised...to restart the refrigerator and check timezone"
drvc33 2 days ago 0 replies      
Thanks for this thread. Totally made my day.

Waiting for future slew of news stories regarding "rogue fridges"... some goof drives by a house, jacks the wifi, compromises the fridge.

mikerg87 2 days ago 0 replies      
I think this tells me that web api's and their versions are going to need to live much, much longer. Far longer than anyone realizes or is currently planning for.
izzydata 2 days ago 0 replies      
Smart refrigerators exist? I don't know why I'm surprised. Even more so that people rely on said refrigerators for their daily workflow.
AndrewKemendo 2 days ago 0 replies      
Sounds like your fridge needs a software update

What a time to be alive

smegel 2 days ago 0 replies      
If ever there was a headline made for Daring Fireball...
vicfcs 2 days ago 0 replies      
did you reboot your refrigerator ? maybe you need a firmware upgrade.
andrewvijay 2 days ago 1 reply      
First world problems
unixhero 2 days ago 0 replies      
JustSomeNobody 2 days ago 2 replies      
Really? You don't think <insert popular black, asian, latino, etc name here> is rockin' a fridge that speaks internet?
smoreilly 2 days ago 1 reply      
carterh062 2 days ago 0 replies      
This is the kind of stuff that should be number on HN everyday.
Flint, MI: So much lead in childrens blood, state of emergency declared washingtonpost.com
402 points by uptown  1 day ago   319 comments top 21
rickdale 1 day ago 9 replies      
I'm glad to see this on HN. Flint is often a forgot about place in the world. I grew up there and now live outside of Flint. My dad was murdered there.

But I always think Flint is prime for opportunity. The people need basic essentials, water, food, shelter. But the infrastructure to build factories is there. Power, train lines, the whole deal. It's really a shame. The sad part is, the people are still hell bent on supporting the companies that destroyed the town. Michigan in general is like this, its why they don't allow Tesla vehicle sales.

Growing up my family owned a junkyard and the Flint river ran behind it. It was disgusting. Some of the guys would wade through it on their way two and from work. It was a shortcut, but you had to be a true animal to go that route.

russdill 1 day ago 3 replies      
The one thing I don't see is the lead levels of the water supply. Doesn't the EPA have limits on that and isn't it an easy thing to test?

It is true that different water supplies will have different levels of contaminants (lead, arsenic, etc) but can all be within EPA limits. Switching to a water supply with a higher level of contamination will increase exposure. The medical study seems to look at the percentage of children below 5g/dL before and after the switch. It goes from 2% to 4%. So with the old water supply, a certain percentage of children were already being exposed to elevated levels of lead. Switching to a water source with higher lead levels will push more children who are being exposed to lead through other sources to above the 5g/dL mark. However, this would seem to indicate that the primary source of lead for these children above 5g/dL is something other than the water.

yummyfajitas 1 day ago 7 replies      
So Flint has failed to govern itself - hardly the first time - and now children are poisoned. The city apparently now expects the rest of the country to pick up the tab for the cleanup of their mess.

At some point it should become necessary to recognize and acknowledge that self-government has failed and must end. I'd suggest some form of a city death penalty - declare the city dead and give the locals a one-time offer of relocation assistance to an approved list of better places. The city government, and anyone who remains, are officially on their own.

We've known Flint (and many similar cities) are doomed for decades. Why do we keep them alive as zombies rather than just help the humans and let the municipalities die?

a3n 1 day ago 4 replies      
> Through continued demonstrations by Flint residents and mounting scientific evidence of the waters toxins, city and state officials offered various solutions from asking residents to boil their water to providing them with water filters in an attempt to work around the need to reconnect to the Detroit system.

Can you boil lead out of water, or does it just become more concentrated?

nashashmi 1 day ago 4 replies      
I just took a look at the Map of Michigan. I realized after zooming into Flint to try to understand where the water was coming from that Michigan has many, many bodies of water scattered all around the place. Plus they are right next to the world's biggest lakes.

And yet they never took care of their water supply? The one state with so much fresh water has little regulation on keeping water protected.

I keep wondering why its been prophecied that the world in the end will wage war over water, not oil. And now I am beginning to understand.

ionforce 1 day ago 4 replies      
What institutional failure led to this? It seems like this has been a long time coming. Why has the leadership of the area allowed this to happen?
golergka 1 day ago 1 reply      
The fact that this kind of isse will generate publicity after just a year, and that citizens will actually care enough to fight for their rights, and that mayor will feel fallout because of that it makes me feel so jealous of US.

Americans that cry about how the system "doesn't work" really don't have a clue about how this would turn out in other countries.

artlogic 1 day ago 0 replies      
If you are interested in a detailed breakdown of everything that's been happening over the past year or so, I would suggest reading Michigan Radio's excellent coverage: http://michiganradio.org/term/flint-water

Full disclosure: my wife works as a reporter Michigan Radio, but generally doesn't cover Flint.

jhallenworld 1 day ago 0 replies      
I've been trying to understand what the heck happened, since pH management has been standard part of water treatment forever. I mean did they not bother to consult with any water supply engineers first?

It all looks like a game between Emergency Managers appointed by the governor to see who can save the most money fastest.


jostmey 1 day ago 2 replies      
Someday Silicon Valley may be left in the same disarray and disrepair. Jobs can be outsourced and bright people lured away to work on new things.
usefulcat 1 day ago 1 reply      
Was looking at a map of Flint and noticed that the City of Flint Water Plant is right next to three metal scrap yards.


cakes 1 day ago 0 replies      
This story has been building up and up for a while now, Michigan Radio has several stories/reports/etc.


elorant 1 day ago 6 replies      
The article failed to explain how the river got so toxic in the first place.
cowardlydragon 1 day ago 0 replies      
So... Flint is the new libertarian dreamland where no regulation exists?
rayiner 1 day ago 5 replies      
What led to this particular situation was apparently rate hikes in the Detroit water system, which caused Flint to switch to using the Flint river as their water source last year. Beyond that, water systems all over the country are in bad shape. Because water rates are subject to public control, they are far too low and there is a huge under-investment in water systems:http://www.infrastructurereportcard.org/a/#p/drinking-water/...
whitehat2k9 1 day ago 0 replies      
Hmm, so in addition to their existing problems with acute lead poisoning, they now have to deal with chronic lead poisoning.
purephase 1 day ago 1 reply      
Does anyone know the extent that the surrounding townships would be impacted by this? My parents live just outside of Flint, but the article only mentions that Flint is impacted.
JuanaMango 1 day ago 0 replies      
If what they say about lead levels decreasing IQ is true not there is not much left for Flint to do.
paulajohnson 1 day ago 1 reply      
So in ten years time someone is going to kill someone and blame it on the lead he was poisoned with when he was a kid. What would the just result be in such a case?
EliRivers 1 day ago 3 replies      
I particularly like the comments to that article stating that only "liberals" believe the water supply is heaving with lead. The ridiculous political bun-fight infects everything, it seems. It's a mental disease.
twoquestions 1 day ago 1 reply      
Why should the Michigan state government care about this? Flint is a bunch of liberals, and the State government is Republican.

The Snyder administration will certainly pay a heavy price for "giving free handouts" to the Democrats in Flint, all to remedy a problem that many Republicans don't believe exists.

EDIT: wording

Angular 2 Beta released angularjs.blogspot.com
413 points by javajoshw  1 day ago   253 comments top 36
DigitalSea 1 day ago 6 replies      
Congratulations to the Angular 2 team on shipping before Christmas. The estimate was originally somewhere around early 2016, so this is a huge deal for them to get this out before the year was up. Unfortunately, Angular 2 launched into beta too late. In the amount of time that Angular 2 has taken to get to beta, ReactJS has slaughtered the front-end market share (in a good way) and completely taken developers by storm with its simplistic component based approach.

Unlike React, Google does not really treat Angular as a first-class citizen because they have such split focus and conflicting React like library for web components called Polymer. They provide some resources, but nowhere near the amount of resources that Facebook throws behind React and React Native.

Now lets talk about the fact that the Angular 2 project got off to a shaky start and I know they actually rewrote various parts from scratch more than once (hence why it took so long to reach beta, approximately 2 years). That horrible templating syntax needs to be mentioned, the decision to use square and rounded brackets for binding events/data and using things like asterisks in my opinion makes Angular 2 fall into the same trap that Angular 1 did in regards to developer accessibility.

I am really loving TypeScript these days and I think the decision to support it as a first-class citizen out-of-the-box was a good one (the partnership with Microsoft definitely paid off). But with that said, I think Rob Eisenberg (of Durandal fame) beat the Angular 2 team to the punch in the small space of a year in releasing his framework Aurelia (http://aurelia.io). It is what Angular 2 should have been in my opinion. Nice syntax, convention over configuration and a breeze to use.

segphault 1 day ago 0 replies      
Angular 2 addresses a lot of the serious shortcomings in Angular 1.x. The Angular 2 approach to components and encapsulation feels cleaner and less complicated than the previous mess of services, factories, and directives.

Though initially skeptical of Typescript, I've found that Angular 2 really benefits from the advantages of having a coherent object model and optional type safety. Typescript never gets in the way, you can selectively use type declarations only where you want to use them. It's often helpful to leave them out while prototyping and then add them later when you want more robustness and easier debugging while you are working on writing the glue code and application logic that connects your various components.

As other posters have noted, you're still saddled with a lot of the artificial complexity and odd terminology that is pervasive in Angular 1.x. There are also bits and pieces of the library ecosystem, particularly the routing engine, that are over-engineered and painful to work with in practice. But, in general, I find version 2 much more intuitive and easier to reason about than version 1.x. Key features like data binding are much saner and behave more predictably.

I've never particularly liked Angular or React (my personal preference right now is for Vue or Polymer), but I think Angular 2 is a solid improvement over its predecessor. More significantly, I think the improvement is substantial enough to justify the team's decision to do a clean break.

sjclemmy 1 day ago 2 replies      
I've just started working on an app using Angular 2 and Ionic 2.:

1. TypeScript - It's really nice to be able to use a typed version of JS, although it does feel like I'm writing C# sometimes! It supports lambda syntax / ES6 which is great.

2. Annotations seem a bit clunky, not really sure what the point of them is.

3. Absolutely love the functional reactive / RxJS stuff they've incorporated - it's going to make it VERY easy to write really powerful apps.

4. It's a million times easier to develop with than angular 1. $scope.apply anyone?

yonibot 1 day ago 7 replies      
When people point out that Google is behind Angular, they fail to mention that the level of investment is nowhere near that of Facebook in React.

I've been loving using React. Building in components is fantastic, and it just feels like writing Javascript. That's a win in my books.

morley 1 day ago 6 replies      
I'm curious what Angular 2 is like for developers who normally write React? I hear 2 is a lot better than 1, but I'm still turned off by the amount of Angular-specific terminology, whereas most of React terminology is not necessarily React-specific.
paublyrne 1 day ago 4 replies      
I am in Germany and this link forces a redirect to angularjs.blogspot.de because of my location (which is a version of the blog in German, which I don't read).

No simple way around this, and no link I can see to go to .com instead. That's quite frustrating.

interdrift 1 day ago 2 replies      
I'm a C# developer. I have been patiently waiting for angular 2.0 with the hopes of switching my stack to TS.Node + Angular and I'm really excited about trying this!
estsauver 1 day ago 4 replies      
I had a really painful time trying to contribute to the angular 2 project. I get the impression that the developers actively working on this are working with discussion mostly internal to Google.

It's a shame, because it does seem like both a very powerful and nice approach to building SPAs that I would love to contribute to.

cdnsteve 1 day ago 9 replies      
How many Angular folks are sticking with native ES6 and babel vs TypeScript? Angular is clearly directing folks to TypeScript. I don't want to have to use TypeScript on front-end and ES6 + Babel in Node. Trying to pick one.
javajoshw 1 day ago 0 replies      
Video of the team announcing the Beta release. https://www.youtube.com/watch?v=WitNPCLSZr0
haxa 1 day ago 2 replies      
Anyone has the experience working with NativeScript and Angular 2? How's it compared with React Native? And is there any chance this will evolve to a viable alternative to developing native apps using web technology?
dtm5011 1 day ago 0 replies      
The incremental upgrade path is disappointing.

Step 1: Include the Angular 2 and ng-upgrade libraries with your existing application

Is anyone with a serious application actually considering this? It would have been nice to include only the pieces of Angular 2 that you actually use. Instead, we have to ship both libraries, our application code and an additional plugin down the wire? I don't see this upgrade path as a legitimate option for anyone who cares about page load times.

_alexander_ 1 day ago 1 reply      
Looks promising... But personally I dislike TS., and I know that it not required for Angular 2..., Now I prefer ES6 + babel, maybe in future I'll change my attitude to TS.
KuhlMensch 16 hours ago 0 replies      
I've played around with Angular 2 quite a bit the last few weeks. These are my (early) views for anyone interested:

* Templating syntax is intuitive after an hour or two

* Decorators are great! (sidenote: Warning Babel6 decided to remove them until the spec settles down)

* Typescript I'm undecided about. Its a bit of a pain to work with and tooling is still early days e.g. if you want to import a single js file/lib, you create a Type definition file (.tds) just for that. And if you don't want to document every interface in that .tds, then you can give it an "Ambient" aka "whatevs" definition. But in that case it will not be retain its semantics.

* The new component router wasn't ready for prime time 2 weeks ago. I doubt that has changed. And frankly, I feel a bit uncomfortable with how magical it is. That could change though, I know allot of effort is going into it.

* One of the best things is losing many of the hacky artifacts of Angular1 (pseudo-modules system, 9 types of component, config phases etc etc)

* IMHO the lack of opinion built into the framework will still cause allot of foot-shooting around the globe, especially compared to Ember or Aurelia.

That said, if I was going to start a large enterprise project right now, I'd SERIOUSLY consider the core being written in Angular 2 + Redux. I'd have to revisit Ember before I had that decision though, its been over two years ...

thoughtpalette 1 day ago 0 replies      
Excited to finally start playing around with this.
doczoidberg 1 day ago 0 replies      
I recommend Angular CLI for new users: https://github.com/angular/angular-cli

It is based on ember CLI and helps a lot scaffolding new projects.

polysaturate 1 day ago 2 replies      
The only thing I haven't really seen on their 'Quick Start' and 'Guides' site is any examples that show retrieving data from an API. Are those out there and I didn't see them?
blisterpeanuts 1 day ago 0 replies      
This looks pretty cool. I've just been learning about Angular 1, so I guess the thing to do is start using Angular 2 as soon as it's available and not bother with the ngForward tool?

I'm looking for tools that will help me create web apps with rich client experiences. I've read the critiques of AngularJS here and it sounds like it does have some limitations, but still a very good framework for corporate web apps with moderate user base and small # of browsers.

nikon 1 day ago 1 reply      
Anyone have an upgrade plan for 1.x?

I work on a rather large Angular 1.4 codebase daily and while this is good news, I'm not sure how we'd ever upgrade to be honest.

knes 1 day ago 0 replies      
We had a look at Angular 2 at Pusher since a lot of our customers are using Angular to build app. If you want to check out a quick tutorial and see some actual working angular 2 code in action , you can go to https://blog.pusher.com/real-time-apps-angular-2/
Omnipresent 1 day ago 2 replies      
Resources for learning Angular2?
_alexander_ 1 day ago 3 replies      
Angular size really impressive:

angular2.min.js - 568K

Version 1.4.*

angular.min.js - 148K

File size really increased (Angular1 * 4 == Angular2), if compared with first version. Something went wrong.

danpeddle 1 day ago 1 reply      
Server side rendering is mentioned in the post - for me, angular 1.x was a dead end because it did not run on the server (disregarding the confusion around services, factories etc, and all the horror in templating logic, debugging it etc) - can anyone give some insights into what this is like?

I've previously written & been part of teams for a few non-trivial 'full stack' js apps that run both on the client and server, and react's abstraction from the DOM is perfect for such things. Wondering what the 2.x approach is here.

As an aside, seems to me that the days of running JS purely in the client are coming to an end, for projects when developers can have a free hand on the tech stack.

rsuelzer 20 hours ago 0 replies      
I use both react and angular. At work we lean toward angular because of the overhead of having to train design teams with no real JavaScript backgrounds how to work with jsx.

That being said, I use both react and angular. Angular is a full library that solves all of my problems, even if the solution isn't what I would consider ideal. React forces me to do a lot more work to get something running as it is not a framework. It is a tradeoff of time versus flexibility.

chvid 23 hours ago 1 reply      
Angular2 wants dependency injection and for that to work well it needs named interfaces and thus ends up with TypeScript as its first citizen language.

This is fair choice but it shows the background of the designers of Angular and that they in some sense really don't grok JavaScript.

Here is a blog from mr. Ruby-on-Rails explaining why DI is a stranger in the Ruby world:


With some parallels I think.

SureshG 1 day ago 0 replies      
For those of you who are using Dart, https://github.com/ng2-dart-samples has many Angular 2 demos and samples and it's pretty nice ;-)
snickmy 1 day ago 1 reply      
Angular 2 is late to the party. The user base of Angular 1.x has already moved on.

I wish the success of a web framework was a bit more about the technology nature of it rather than the market adoption and hype.

moogly 1 day ago 1 reply      
Trying to find info on their packaging story. Last I heard the official tooling seemed to be moving off systemjs+jspm in favour of WebPack, but I don't see any clear info on this; does anyone know?

We've started experimenting with systemjs and really like it (though support is a bit limited right now, plus it not really liking PhantomJS/karma), and we want to modernize our Angular 1.x app packaging/loading/bundling, but don't really want to do needless work if we have to move to another solution for Angular 2.x.

nezo 18 hours ago 1 reply      
The whole angular.io documentation is telling me "well f*ck you vanilla JS user, go learn TypeScript and come back"
Halienja 16 hours ago 0 replies      
New Project - Angular2 OR React and why?
halayli 1 day ago 0 replies      
Any suggestions for a good material UI framework that works well with Angular 2? Unfortunately, angular's material framework only works on 1.x so far.
noahjcz 1 day ago 0 replies      
Maybe I'm reading wrong, but Rx.js seems to be 70k minified. Seems like a giant dependency for a mobile-focused framework...
awqrre 1 day ago 0 replies      
I probably will get down-voted seeing all pro-Google comments but what I don't like about frameworks like Angular is that it obfuscates HTML...
revelation 1 day ago 4 replies      
That's Google for you, having to present your exciting MVW toolkit on the crash accident of a website that is Blogspot.

Right now, there is a massive cookie consent form blocking my view of the actual article.

rw2 1 day ago 10 replies      
Uh did Angular not get the memo that people hate the new syntax and typescript?

This is how you turn the most popular javascript MVC framework to nothing.

tvararu 1 day ago 0 replies      
> While you can upgrade apps in a "big bang" approach where you halt production until everything is rewritten

That is some very unsound advice. I find it worthy of ridicule that it's being suggested as a possibility.

The upgrade path was very necessary to address the huge amount of breaking changes.

Anki a program which makes remembering things easy ankisrs.net
396 points by sonabinu  3 days ago   209 comments top 35
gjcourt 3 days ago 12 replies      
A friend and I decided to build an Anki replacement a few years ago, it's now located at https://www.memorangapp.com and has a loyal following of 10s of thousands of users. Anki is a great tool and has a wide variety of content on Ankiweb, however the ecosystem doesn't allow for any collaboration or the ability to keep content up to date (aside from manually editing decks, but where for example can you suggest a correction?).

Memorang was designed from the ground up to be the next generation adaptive learning platform. In fact many hard-core Anki users have switched over to our platform and love it! The main difference is in the ease of use of both creating and consuming content. Anki has the underpinnings of supermemo, which is designed for the ideal learner. In a couple of experiments that we've done partnered with large institutions, one still underway, we have shown that most students are not "ideal learners" in that most still cram right before big exams or deadlines. The original study focused on efficacy, you can find the slides we did for an NSF sponsored presentation here http://www.slideshare.net/gjcourt/memorang-nsf-mooc-2014. The latest study is still in the works, but will involve significantly more data.

Anki is a fantastic program and many people love and use it everyday. If you have loved and used Anki as much as we have, then give Memorang a try and see what you think! (or come help us improve the future of learning https://www.memorangapp.com/jobs)

Edit: Read about our data-model here http://blog.memorangapp.com/post/108094496626/tags-more-how-...

cblop 3 days ago 14 replies      
I used Anki for 30 minutes to an hour each day for about a year to memorise around 1500 Japanese characters and their readings, with the aid of a mnemonic technique. So long as you have an hour a day to dedicate to the flashcards without fail, you will retain the memorised information.

My problem was that a job and location change altered my daily routine entirely, so I stopped reviewing the cards. One year later, I have forgotten most of the characters I knew. However, the characters I learned while living in Japan, in context, are still fresh in my mind.

I think that spaced repetition isn't the memory panacea it's always touted to be. It's a great tool for cramming, but soon becomes a pain when you have hundreds of cards to review every day. I've heard good things about the goldlist method, a much more low-tech pen and paper approach. Does anyone have any experience with this technique? It claims to be better for long-term memory: http://huliganov.tv/goldlist-eu/

tormeh 3 days ago 4 replies      
>It's highly recommended that you install Anki from this package instead of relying on the version distributed with your OS, as the packages in the official repo are often very out of date.

Why is this still a problem in Linux-land? Why can't we just make some but not all packages rolling-release? Making Anki rolling-release won't make the distro unstable by any sensible meaning of the word.

jhund 3 days ago 2 replies      
Anki is great. I've used it to learn the 100 most common Clojure expressions. You can get the Anki file by signing up for the newsletter at http://www.lispcast.com/100-most-used-clojure-expressions
reinhardt1053 3 days ago 1 reply      
I would like to recommend Memrise [1] as alternative to Anki.

[1] http://www.memrise.com/

sandGorgon 3 days ago 1 reply      
Anki is great - the original Supermemo algorithm on which Anki is based[2], makes for fascinating reading [1]

However, I daresay that this is a usecase that is tailormade for the mobile rather than the desktop in any which way.

I wonder why the core team is spending effort behind a desktop app, rather than go full mobile.

[1] https://archive.wired.com/medtech/health/magazine/16-05/ff_w...

[2] https://www.supermemo.com/help/smalg.htm#Anki_will_work_grea...

syntiux 3 days ago 0 replies      
Anki is great. I have been using it to prepare for my exams. Creating flashcards on my laptop and learning with them on my Android phone / tablet works like a charm. Also, the Android app just got updated. The only limitation I've found is that there is currently no way to self-host flashcards which can be accessed by the mobile app. If you're only using the desktop version you might want to look at https://github.com/dsnopek/anki-sync-server in order to self-host your flashcards.
markbao 3 days ago 0 replies      
I use Anki as a part of my college strategy (http://markbao.com/notes/college-strategies) by using the Cornell notetaking method to write up questions and answers for my notes and piping those 'cues' into Anki. Turns out self-testing is one of the best ways to learn, so this combination is surprisingly effective.

It's no replacement for actually learning the concepts, but they help in drilling down the foundational knowledge that helps me understand the bigger-picture concepts better.

omarish 3 days ago 0 replies      
I've been using Anki on my iPhone for the past 3 years and it's been quite effective. Highly recommend it for anybody who has a lot of content to learn. It's really useful if you can make time for it on a daily basis.
markm248 3 days ago 2 replies      
Remember that you read it here first, there will be a unicorn built on the concept of SRS. I use Anki daily and love the application but there's a learning curve and you have to build your own workflow to make it work. Someone is going to take the concept and make it accessible to the masses.
dorfsmay 3 days ago 0 replies      
I'm surprised there's no mention of Super Memo and P. Woniak's studies on spaced repetition in this thread:



Shank 3 days ago 0 replies      
I've used AnkiSRS and recommended them, but I still don't have a good solution to catch up on decks that you're behind on. It's very good for keeping memory in tact with lots of info.

Gwern has an excellent overview of spatial repetition software too: http://www.gwern.net/Spaced%20repetition

EvanL 3 days ago 1 reply      
Someone please create a browser extension that automatically adds every word you "Look Up" to an Anki stack. My vocabulary would be vastly improved if I had this, I always find myself looking up the definition of the same complex words over and over again that are for whatever reason slippery for me to remember.
hammerbrostime 2 days ago 0 replies      
I love Anki, been using it for the last year.What has been most powerful for me, is that I no longer take standard notes when trying to learn a new topic. Instead, all of my notes are in "question" form, so that I can keep on top of it over time. The spaced repetition keeps my learning efforts efficient and keeps things from leaking out of my wetware memory.

The synchronization feature between devices has also proven to be very useful, as I use my laptop usually to put in new questions, but use the iPhone app to quiz myself whenever I have a few spare minutes during the day (waiting in line, walking to work, etc).

UI is a little wonky at times, but its features and flexibility more than makes up for it for a dedicated student.

bigethan 3 days ago 1 reply      
I'm loving learning Arabic with http://orangeorapple.com/Flashcards/

The website looks underwhelming, but the app is amazing. The more I use it, the more it's flexibility impresses me. There are lots of options to review the cards, and it'll use card data to make quizzes, etc for you.

xavi 3 days ago 1 reply      
Anki has many features but I found it too complicated and I didn't like the UI, nor having to sync across devices. So I decided to develop a basic, simpler alternative, a web app that can also be installed in the home screen of an iOS or Android device, https://omnimemory.com
tangled_zans 3 days ago 1 reply      
Ask HN: What's the coolest thing you've used Anki for?
mtau 3 days ago 0 replies      
I would like to recommend Mnemosyne [1] as an alternative to Anki. It uses a very similar algorithm for spaced repetition (based on SM2), but has a simpler and cleaner UI.

[1] http://mnemosyne-proj.org/

aeris 3 days ago 0 replies      
There's also a web interface


antoaravinth 2 days ago 0 replies      
Anki is an great tool. I used to read javascript Coercion algorithm from JS Specs using this little tool. It have immensely helped me to remember almost everything!
stewbrew 3 days ago 3 replies      
The problem with every app like this is the lack of good quality material. For language learning, I prefer learning whole sentences as examples of an appropriate context. But creating good lists of sentences & translations is cumbersome and just throwing a tool at the "crowd" doesn't automatically get you quality content.

That said from all these tools I prefer anki since it has a web-based UI and an android app.

currentoor 3 days ago 0 replies      
I've been working on a similar concept after using Anki for a year. http://www.looprecall.com/

I wanted to have a more modern UI and plan on adding the ability to share decks between users. I would welcome any feed back! :-)

a-dub 3 days ago 0 replies      
I used this for foreign language vocabulary when I was in school. Did it work? I honestly don't remember...
kiba 3 days ago 0 replies      
I spent using Anki, and all I have to say is that my graphs actually dovetail neatly.

Space repetition just works.

roflmyeggo 3 days ago 1 reply      
I've been using the Anki iOS application for a while now. I'm considering moving my stack over to org-drill.el to minimze context switching. Anyone made a similar switch or can compare the two at all?
sriram_malhar 2 days ago 0 replies      
I couldn't get past the awful UI, written using a generic portable UI toolkit which makes it uniformly terribly looking on all platforms.
ixtli 3 days ago 0 replies      
Anki is a very impressive project if for no other reason than its constant development. It basically got me a degree in Japanese seven years ago and it's still being polished.
746F7475 3 days ago 1 reply      
I remember trying to use this for school stuff, but I didn't find it all that useful. There is after all very little you have to remember that isn't about schedules
wahnfrieden 3 days ago 3 replies      
The iPhone app came years after the free and open source desktop one; the boat had long since sailed on charging on the desktop. The Android one is unofficial.

I recall reading that because they didn't make the app friendly to casual newcomers, they didn't pick too low a price-point that would attract them and their support load.

That said, complaining about an app's price on HN is pretty disappointing. Though they might have found more success with a recurring/IAP approach that makes payments more palatable.

Seems development has largely stalled on the iPhone app though.

thewhitetulip 2 days ago 0 replies      
Anki has a nice android app too by the way
outlace 3 days ago 0 replies      
Anki is what's getting me through med school
pmoriarty 3 days ago 0 replies      
Also see the mentat wiki:


asimjalis 3 days ago 0 replies      
A simple screenshot on the landing page would make this a lot easier to immediately understand.
meesterdude 3 days ago 2 replies      
This is really great! I'm building a SaaS that is similar to this, but I was feeling bummed about not releasing it as open source; but now I can just point people to this if they want to run their own. awesome!
GeorgeMatthews 3 days ago 0 replies      
That's what everyone needs in a busy schedule
Netflix socks detect when you've dozed off and pause your TV show netflix.com
336 points by ChrisArchitect  7 hours ago   153 comments top 31
floatrock 5 hours ago 7 replies      
I RTFA, I know this an arduino-based DIY hobby project. But if something like this ever comes out for real, the ability to doze off and pause your TV show will be a trojan horse...

You've seen those charts where people use their smart watch to record their heart rate during the game of thrones finale? (No? Here you go: http://blogs.wsj.com/digits/2015/08/13/what-game-of-thrones-... )

Sure, downloading the Netflix pause-your-stream-when-you-fall-asleep app is comfortable, but it also provides a treasure trove of audience response data. Forget focus groups, now you have the real-time emotional response of many thousands of people A/B testing your original content in real environments.

And this ain't old-media Nielson, this is biggest-user-of-AWS technology-first Netflix.

bpicolo 7 hours ago 4 replies      
I'm mostly sad that Netflix detects nothing and pauses my show anyway after a couple episodes. : (
JeffreyKaine 6 hours ago 4 replies      
But let's be serious here... WHO WEARS SOCKS TO BED?!
cafard 6 hours ago 0 replies      
In Thomas Pynchon's novel V, there is a fellow who has a switch on his skin that detects whether or not he is awake (by the resistance? I forget), and so controls the TV. Judging by the Wikipedia article, this is Fergus Mizolydian; I don't have a copy lying around the office.
cwt 6 hours ago 1 reply      
Most of the people I know who watch Netflix at night want it to keep playing after they fall asleep.
emerongi 6 hours ago 2 replies      
Instead of flashing an LED, the socks could warm up. That way, if the socks start getting warm and you're still awake, you can react to that, but if you're asleep, your feetsies will be nice and warm.

But this would be hard as a DIY project.

OJFord 7 hours ago 0 replies      
By IR? So this is for 'smart TV's' or bluray players etc. with Netflix on them - and those with IR.

Hmm. I was too hopeful for a Sock API.

dheera 4 hours ago 0 replies      
I suspect something more accessible to the general public could be done with the heart rate sensors and accelerometers already in Android watches, Apple watches, and Fitbits.
entilzha 5 hours ago 1 reply      
My cheap/effective solution is doing a

 $ sleep x && pkill Chrome
if I think I might fall asleep after x seconds.

11thEarlOfMar 6 hours ago 1 reply      
I thought NFLX was up today due to the Fed raise. Glad to know it was the socks.
Animats 1 hour ago 1 reply      
Aren't there systems for that already? Vizio's connected TV watches you, with a camera. Kinect watches you, with cameras and LIDAR.

Orwell saw this coming. Winston Smith watches his exercise program: "6079 Smith W! Bend lower! You're not trying."

CaseyM 6 hours ago 5 replies      
What about socks for truck drivers to detect if they are dozing? Have them set off a phone alarm, etc. Better yet, can FitBit, etc. detect dozing and use the vibrating alarm to alert?
emeraldd 6 hours ago 1 reply      
Ok ... so how do you wash them without blowing the electronics?
ubercow 7 hours ago 1 reply      
Was sad to read that there's nothing Netflix specific here. The hidden requirement is your box running Netflix has to support receiving IR signals.

For example, I use an Xbox One, which to my knowledge doesn't have an IR receiver.

matt_heimer 4 hours ago 0 replies      
The website, http://makeit.netflix.com/ asks for us to submit our own ideas. Most of the things I think would be cool to do with Netflix involve having some form of API access to its catalog or apps. IR socks are not Netflix socks.
pingou 6 hours ago 4 replies      
It's cute, but is it a joke or something more serious ?

I don't see any use for it, except perhaps saving bandwidth.

Surely it must takes some time for the device to find out that you're actually sleeping, then you anyway have to rewind back to the point you stopped watching, so I don't think it makes a big difference to go 10 minutes or 1 hour back.

ljw1001 2 hours ago 0 replies      
Who says Silicon Valley isn't solving the really important problems any more.
TeMPOraL 5 hours ago 0 replies      
They refer to the method used as "actigraphy", which apparently is commonly done with wrist-watch packages. Sounds like an idea for a Pebble watchapp!

[0] - https://en.wikipedia.org/wiki/Actigraphy

marshray 2 hours ago 1 reply      
I found this part rather ominous:

However, there are ways to increase your socks accuracy. More on this later.

potassiumk 2 hours ago 0 replies      
lazy-ass first world problemsGood lord, what hackers have become...
schwap 7 hours ago 0 replies      
Maybe netflix could consider partnering with SparkFun for some of this stuff... the colours even match already.
jchendy 4 hours ago 0 replies      
Are these instructions thorough enough for somebody with no hardware experience? How long might this project take for such a person?
markm248 1 hour ago 0 replies      
Your move Slack.
Zekio 7 hours ago 1 reply      
This is pretty damn awesome!
peterwwillis 1 hour ago 0 replies      
This is clearly overengineering. All you need to do is hack your kinect to look for eyeballs; no eyeballs for a minute? Pause the show.

Might not work if you have cats.

mesozoic 6 hours ago 0 replies      
Great invention for narcoleptics.
whacker 6 hours ago 0 replies      
webcam + motion detection would be a way to do this without additional hardware.
potassiumk 2 hours ago 0 replies      
first world problems....
idop 6 hours ago 0 replies      
Featuring auto pause and nail fungus.
joncp 7 hours ago 1 reply      
Or Netflix could just prompt the viewer to continue to the next episode.

...but then they wouldn't be able to sell you special socks.

anonymfus 5 hours ago 4 replies      
Please don't use Netflix and other paid streaming services. By doing this you support Digital Restrictions Management development and finance copyright lobby.


If you want to watch their shows too much, download them illegally via file sharing services. They can arrest a very limited number of people, and by engaging in such activity you lower other people's chances to be persecuted.

How I wrote a self-hosting C compiler in 40 days sigbus.info
426 points by rui314  2 days ago   116 comments top 18
bad-joke 2 days ago 2 replies      
I really enjoyed reading this. It's informative, fun, and has a refreshingly honest tone. Too often, stories passed around by computer scientists entail clever solutions and elegant insight striking the protagonist like lightning in the hour of need. Rarely does the programmer express regret, make self-corrections, and confront fear and doubt along the way:

>I should have written beautiful code from the beginning, but because I needed to learn by writing a working code, the rewriting was unavoidable.

>I should probably change my mind to implement all the features from end to end. I may find it fun as I'm approaching the goal. Sometimes, I have to write more code than I want to write in order to achieve a goal.

>In a tough situation like this, I probably should recall the fact that the compiler was just in one file, to see how much progress I've made in a month. It just reads an integer with scanf() and prints it out with printf(). Really, I made so much progress in one month. Yeah, I think I can do this.

jaybosamiya 2 days ago 1 reply      
> I suspect that he [Dennis Ritchie] invented a syntax, wrote code for it, which turned out to be more complicated than he had expected. And that was eventually standardized by the ANSI committee. It's hard to implement a standardized language because you have to get everything right. It's rather easy to write your own toy language.

Love those lines

draugadrotten 2 days ago 0 replies      
Interesting, and quite funny to read with a sense of humour that reminds me of the movie PI. The author of the compiler goes from rational to something more... spiritual.

"Day 52

I was looking for a mysterious bug for three days: ..."


tomcam 2 days ago 1 reply      
I was a little surprised that the author was able to manage both C11 and the preprocessor in that time. The preprocessor is hard. But there was existing code from a previous version of it, which makes sense. Still, a fantastic achievement! Congrats to the author!
sdegutis 2 days ago 4 replies      
Thought this was going to be an inspiration to me to continue with my pet project of writing my own little programming language. But it starts off on day 8 with him already having written a basic compiler, with no explanation of how he did any of the basics. Still interesting, just not what I thought it was.
xigency 2 days ago 2 replies      
Honestly, the most difficult, time consuming, and mundane aspect to this project would have to be the parser, which was apparently written in C by hand. So bravo.

Getting to some of the final notes:

> ... I'd choose a different design than that if I were to write it again. Particularly, I'd use yacc instead of writing a parser by hand and introduce an intermediate language early on.

That's why I found the LALRPOP post by one of the Rust developers interesting. Writing your own parser generator is actually much easier than writing a parser by-hand (depending on the complexity of the language, here not that complex and still difficult), and I think it's more instructive than using a free or open parser-generator or compiler compiler. The downside is that it is less practical, because almost none of the important aspects of language implementation involve the parser.

peterkelly 2 days ago 6 replies      
For anyone interested in compiler writing and looking for a good resource to start, probably one of the best is the "Dragon Book":


I highly recommend it, but it's heavy stuff. There are probably simpler guides out there that just cover the basics.

yeison 2 days ago 3 replies      
What does it mean to be 'self-hosting' here? Does it just mean that it's a compiler that can compile itself?
jlappi 2 days ago 0 replies      
This is really interesting, and I was glad to see the author go beyond just the stated 40 days and give insight into where they went after it was 'self-hosting.'
peter303 2 days ago 6 replies      
Long ago UNIX had compiler writing tools like yacc and lex. I wonder if they are useful for exercises like this.
joe563323 19 hours ago 0 replies      
This is awesome. I wish more of top coders post their flow of thoughts so the betas can learn from it.
pagade 2 days ago 1 reply      
Anyone tried using it? How do I use it to generate executable (as per the code it should fork the 'as')?

Getting following error:[ERROR] main.c:144: (null): One of -a, -c, -E or -S must be specified

-c, -E and -S are working fine. Couldn't figure out from code what -a does.

sabujp 2 days ago 1 reply      
1) write compiler2) get a job at google..4) profit
allannienhuis 2 days ago 0 replies      
> I have a mixed feeling I learned a new stuff, but I could have learned that without spending this much time.

Story of my life!

andrewchambers 2 days ago 0 replies      
rui314, thanks for posting this, you really were such a big inspiration to me writing my own. You were really quick!
pskocik 2 days ago 2 replies      
Now repeat for C++.
andrewvijay 2 days ago 0 replies      
Unbelievable Jeff!
pinn4242 2 days ago 1 reply      
Self-hosting is pointless. Go has it--who cares. I wrote a program 1000x faster than the ruby one (at work) with zero bugs in Go, but I still don't want to use it(Go). Java is fine. Do I care if Java is self-hosting? No. I'll do (another) language in Javacc (my first one is still awesome) or ANTLR.
Slack Platform Launch slackhq.com
362 points by thejosh  1 day ago   214 comments top 35
cromwellian 19 hours ago 11 replies      
Facebook F8 all over again in the sense of startups throwing the success or failure of their company onto a proprietary centralized system that can block or cut them off for any reason.

Or rather, another incarnation of IRC chat bots, email listservs, and stuff that's been around forever as commodity autoresponders, only now it's worth millions in investments to write the equivalent of a weekend hack IRC bot because of artificial scarcity imposed by a non-open platform.

abrkn 23 hours ago 4 replies      
Every program attempts to expand until it has an app store. Those programs which cannot so expand are replaced by ones which can.
chuhnk 1 day ago 10 replies      
I feel like the world has lost it's mind slightly. When a 2 year old startup launches an $80m fund. I mean I understand they want to be a platform and can see the strength in funding projects that will empower a platform model but still. This is the point at which I think we're really in a boom heading in that bubble direction, and I was never one to fall in to the trap of calling it a bubble before. Love slack, love the platform play, but my God this is getting crazy.
thatindiandude 21 hours ago 1 reply      
I don't think it's reasonable to say we're in a bubble because of a $80M fund around developing for a new platform. Few companies truly become platforms, and it's a misnomer to call it a bubble if this only happens to one company. It takes a lot of money or momentum to develop one. Facebook had by far the most compelling one in the last ten years, and the obvious incentive there was it's >300M users at the time. The case is less compelling for a B2B platform like Slack, but it makes sense as many of these investors also invest in B2B startups that can gain huge visibility through the Slack platform.

By having six investors in the fund, each fund can mitigate risk of Slack's platform not getting traction while lowering the barrier for developers to enter. This slideshow by A16Z outlines why the venture capitalists (including some on the list of Slack fund contributors) are tightening their belts around investing and telling companies like Slack to generate reliable business models rather than IPO prematurely.

This premature IPO behavior was the reason for the last bubble, and I think this investment fund is proof that we are NOT in a bubble. The new strategy for these investment funds is to allow their startups to generate revenue on a much more stable basis without the need to go public (and get cash for equity) for this to happen. Most B2B companies would eventually benefit from a recurring-fees model built around the Slack platform, and this enables smaller, fledging companies to scale much more quickly towards long-term cashflow positivity.

In all, the kings of tech companies are those that find some sort of platform or natural monopoly. Slack may be next in line to follow Airbnb, Uber, Twitter, Facebook, and Google respectively. Overall, by allowing a method to build these platforms while not going public, investors increase returns for their companies in the short AND LONG term while maintaining a course of innovation!

martin-adams 17 hours ago 0 replies      
So if I build something on top of this that actually turns out to be popular and turns a good profit, what is to protect me from Slack then building it in the core product that cutting me out or shutting me down?

Not much I guess. Twitpic anyone? [1].

1. https://blog.twitpic.com/2014/09/twitpic-is-shutting-down/

nubela 23 hours ago 5 replies      
Please guys, no. Don't build your startup on top of another platform. Remember Facebook? Remember Twitter? That 80M is a farce by the VCs that actually re-contributes back into Slack, not so much for you.
adamseabrook 22 hours ago 2 replies      
No need to build your entire startup on Slack but a solid integration can drive serious initial revenue for your startup especially if you do not get a lot of direct traffic. "One click install" is what helped Woocommerce and others get massive growth on the back of Wordpress through top exposure in the plugin directory.

Slack is still very much at the bottom of the growth curve. I have seen electrical contractors who need a way to chat with onsite workers at various projects switch from using WhatsApp/SMS to Slack. If one click job scheduling apps start appearing in the Slack App Store they will be quickly adopted by these businesses. I would be surprised if Slack or something like it has not completely wiped out internal email in 5 years.

jaksmit 23 hours ago 0 replies      
Kind of funny for people to say that a new startup launching a fund means there's a bubble. That's exactly what Twilio have been doing even since 2010: https://gigaom.com/2010/09/23/got-a-twilio-based-app-get-som...


pkrumins 23 hours ago 3 replies      
Does anyone know how you can apply for a Slack Fund grant?

I'd love to create a Browserling integration. Browserling (www.browserling.com) is a live interactive cross-browser testing service and this integration would let you embed a live browser directly in Slack.

Use case: Let's say a user reports a bug in IE10 on Windows 7 in your webapp. You just use `/browserling windows7 ie10 URL` command in Slack and that will embed a real interactive IE 10 on Win7 that runs your webapp at `URL` directly in Slack.

altonzheng 22 hours ago 1 reply      
Slack is great and all, but I personally don't feel like it's revolutionary. It's just an iterative improvement over a chat client, nothing groundbreaking there.
fideloper 22 hours ago 2 replies      
2 points:

1. Remember when Dropbox was dumb, because rsync? (Bunch of naysayers here citing fee alternatives).

From what I'm seeing, bots and integrations are great and here to stay.

Businesses will gladly pay money in exchange for time and complexity not spent rolling your own.

2. This seems like a boon for us happy slack users!

raymondgh 19 hours ago 0 replies      
That's 80M against the commoditization of hosted chat. Smart way to put up barriers to entry.
spdustin 21 hours ago 0 replies      
Their dev blog post [0] mentions an AWS Lambda Blueprint to go along with a chatbot framework (BotKit) and an "Add to Slack" workflow. This (AWS Lambda) is a smart move; it reduces the friction of writing a quick integration with Slack considerably, making it almost a commodity-level feature. This bet on AWS Lambda will likely be a big deal for general AWS Lambda adoption, given how insanely popular Slack integrations are.

[0]: https://medium.com/slack-developer-blog/launch-platform-1147...

chopete 18 hours ago 1 reply      
It is yammer all over againhttp://i.imgur.com/DKODqy3.png

I can't help but post this based on my experience pitching to vendorsto join an app store.

Slack CEO: Yammer made $1.2B. We need to make $12B. For that I need to makea hit song with 10,000 background dancers with me on the stage.

Board: How much can you pay each dancer?.

CEO: $10/hr

Board: Ok. Announce an App Store.

You are already a hero and there are hundreds of them to jump on stageto dance with you in that 5 minute song.

CEO: Now you are talking!

anonfunction 23 hours ago 2 replies      
Really like the announcement of botkit[1], I was just looking at adding a vote bot to our slack and only found a really old example that ended up not working.

1. https://github.com/howdyai/botkit/

brightball 13 hours ago 1 reply      
I summarize Slack this way generally:

- If you've never used Hipchat, Slack is completely revolutionary.- If you've used Hipchat, Slack is still cool...and then you see the price comparison and ponder...WHY?

asbromberg 13 hours ago 0 replies      
Interesting, could this be the beginning of something like WeChat for businesses, where every business function you think of can just be completed on Slack? I doubt there's anything about the U.S. market that makes these non-open / corporation controlled platforms undesirable (as some other comments suggest); after all, Windows dominates the business landscape. Its just a question of whether Slack can go from convincing start ups x,y and z to use these apps, to convincing Fortune 500 companies to take the plunge.
thallukrish 13 hours ago 0 replies      
I feel an App ecosystem definitely helps to expand the functions. However I also feel it is opposite of a nimble app which does one thing clean. In general we have always had this conflict and it is difficult to choose to stay lean and simple especially when you decide to grow and scale to engulf everything. Its almost like 'Let me grab as much as I can before some one comes' sort of thinking. Only the market can prove if this is the right thinking in the long run. But when you see it in the short span, you do not have much choice.
ihuman 13 hours ago 0 replies      
How does BotKit compare to slack-client[1]?

[1] https://github.com/slackhq/node-slack-client

kriro 20 hours ago 0 replies      
I've never used slack and don't know what types of apps they want to integrate but it seems like a disruption of a nice chunk of a market that ERP vendors have ventured into (the job productivity/project management etc. branch). That sounds good because quite frankly often the stuff ERP vendors offer in that space is somewhat lackluster "well we have to be in this area" material.

I think the slack platform could eventually branch out into more traditional ERP areas (accounting, production etc.) and it could be an interesting potential shift from "everything from one hand" to "let's configure our ERP from different services"

Building a platform like this is nontrivial and there's tons of problems ahead but I like the general idea.

dblock 11 hours ago 0 replies      
Slack team did a great job with this.

Here's a fresh integration with Slack Button in Ruby, https://github.com/dblock/slack-bot-server serving a "Hello World" bot. Hope it helps someone.

djhn 9 hours ago 0 replies      
Evernote had a developer conference. They wanted an ecosystem, and kind of had a platform. They bought sucessful apps.

Past tense! Much better/realistic parallel, than Facebook F8.

hayksaakian 22 hours ago 2 replies      
Can someone who uses slack comment on the value over skype for example?

It seems like text chat is hard to get wrong, and with so many options, I wonder why (real) people choose slack specifically.

mikemockup 15 hours ago 0 replies      
Nice move by Slack and great opportunity for slackbot developers. We discover zero interfaces and just launched analytics bot http://www.brobot.io You can use it with Google Analytics, Mixpanel, New Relic.
bhuga 22 hours ago 0 replies      
Does anyone know if this comes with an initiative to fill in the gaps in Slack's administrative API so addons can be created around that, too? I'm working with SlimerJS to audit message retention and a few other settings.

Slack has a great core experience and I understand why it's doing so well. But it's weird to see an $80m fund to invest particularly in Slack addons when a lot of existing features don't yet have API support.

jim-greer 13 hours ago 0 replies      
In this thread: a lot of people who haven't used Slack attacking it...
mark_l_watson 22 hours ago 1 reply      
I used Slack for a few months this year. A customer didn't use email, preferring Slack. Slack is an awesome platform, but I missed the asynchrony of email. When I code I like to have 30 to 40 minute uninterrupted work periods and I found an always on Slack took me out of the flow. Using Slack with specified "turn it off" quiet times would solve that issue however.
adoming3 22 hours ago 1 reply      
The fund is a great play for Slack to become the next enterprise app store. A welcome alternate to the Salesforce AppExchange IMO.
nikon 19 hours ago 1 reply      
Wonder if their stack is still PHP/MySQL etc?[0]

[0] https://twitter.com/SlackHQ/status/426469205005705217

viach 11 hours ago 0 replies      
Looks like SHOW HN will be crowded more than often after this weekend.
tangled_zans 19 hours ago 1 reply      
I've never used Slack, but people keep saying that it's good because of the apps. What sort of apps are those?
JohnDoe365 17 hours ago 0 replies      
I definitely witter a new IT bubble
BrainInAJar 20 hours ago 1 reply      
Christ, they just don't get it... What we need isn't "apps for Slack" what we need is onprem Slack. Because sending confidential information to "the cloud" is all kinds of stupid and potentially violates a bunch of laws
ossreality 23 hours ago 2 replies      
I'm sorry, I've scoffed at other valuations and investments, but I'm just completely beside myself. Why does a chat room need "apps"?

It's kind of weird actually. There's two sorts of people that defend these announcements, I've found:

The first thinks that they are going to build an "amazing" platform some day and that they'll follow this model for "growing revenue". So of course they defend it.

And then there's the second group that has some "great idea" who plans to build on Slack's platform. Personally, I look forward to 2 years of stories about how Slack was unfair to them, or changed the rules on them, or broke an API. Or didn't review fast enough, or any of the other complaints that pop up monthly about other closed platforms.

beyondcompute 19 hours ago 2 replies      
Why not fix all the bugs that are there before lunching new products/features?
Congress has added CISA to the federal budget bill theverge.com
330 points by fisherjeff  10 hours ago   111 comments top 21
ccvannorman 3 hours ago 1 reply      

If you live in the United States, this phone number connects you with your congresspeople and senators in order to make your voice heard.

Citizens stopped CISA before, we can do it again. Don't lie down.

kossTKR 3 hours ago 2 replies      
Why is this not getting massive attention here on Hackernews? Right now a post about a dude hacking together a selv driving car has garnered 5X the amount of votes on this post (not that the other post isn't interesting).

Remember that:

Apple, Reddit, Twitter, the Business Software Alliance, the Computer and Communications Industry Association, and other tech firms have all publicly opposed the bill. And a coalition of 55 civil liberties groups and security experts all signed onto an open letter opposing the bill in April. Even the Department of Homeland Security itself has warned in a July letter that the bill could flood the agency with information of dubious value at the same time as it sweep[s] away privacy protections.


Isn't this massive news?

I mean the bill in itself is horrible policy making, but the way it's being snuck in is scandalous in its own right.

Have i misunderstood something?

dude3 3 hours ago 1 reply      
This is interesting too

TEMPORARY H-1B VISA FEE INCREASE.Not-withstanding section 281 of the Immigration and Nation-ality Act (8 U.S.C. 1351) or any other provision of law,during the period beginning on the date of the enactmentof this section and ending on September 30, 2025, thecombined filing fee and fraud prevention and detection feerequired to be submitted with an application for admissionas a nonimmigrant under section 101(a)(15)(H)(i)(b) ofthe Immigration and Nationality Act (8 U.S.C.1101(a)(15)(H)(i)(b)), including an application for an extension of such status, shall be increased by $4,000 forapplicants that employ 50 or more employees in theUnited States if more than 50 percent of the applicantsemployees are nonimmigrants described in section101(a)(15)(L) of such Act.

disposition2 7 hours ago 1 reply      
Looks like it is actually worse than CISA...


CM30 7 hours ago 12 replies      
Probably a silly question, but is there a reason all these 'additions' are being snuck into bills and what not? Why does the system allow members of congress to add unrelated extras to bills in the first place?

Wouldn't a simple fix for things like this be 'only allow a new law proposal to be about a single topic and nothing else'?

tmaly 6 hours ago 3 replies      
it would be great if we could have all these bill changes in a git repo with commits from the representatives that added them. open source gov.
MrQuincle 10 hours ago 0 replies      
Welcome to the rest of the world. We're being eavesdropped legally by your congress for ages. :-)
tptacek 6 hours ago 1 reply      
Since it's linked upthread: Techdirt is one of the least trustworthy sources on the Internet for information about Internet law.

(Here's a summary of CISA I wrote a few months ago on HN: https://news.ycombinator.com/item?id=10454172 )

Today (and yesterday), Techdirt claims the following changes to CISA:

1. Removes the prohibition on information being shared with the NSA, allowing it to be shared directly with NSA (and DOD), rather than first having to go through DHS.

2. Directly removes the restrictions on using this information for "surveillance" activities.

3. Removes limitations that government can only use this information for cybersecurity purposes and allows it to be used to go after any other criminal activity as well.

4. Removes the requirement to "scrub" personal information unrelated to a cybersecurity threat before sharing that information.

'yuhong helpfully posted a link to the revised bill attached to the budget bill.[1] I compared it clause for clause to the version that passed the house. That is 10 minutes of my life I will never get back. Unsurprisingly, only one of Techdirt's claims is true (but worded misleadingly). The other three are simply false.

Here's the breakdown:

<strike>1. The "CERTIFICATION OF CAPABILITY AND PROCESS" part of Section 107 now allows the President, after CISA has been started by DHS, and after publicly notifying Congress, to delegate to any federal agency, including NSA, the authority to run the process described by the rest of the bill. The previous version required DHS to run the entire process. Techdirt isn't wrong about that change. Techdirt is wrong to be confused about why NSA would be a designated coordinator for threat indicators under CISA (NSA houses virtually all of the USG's threat intelligence capability; no other department has comparable expertise coordinating vulnerability information).</strike>

I was wrong about this; the new bill specifically disallows DoD or NSA from running the CISA portal.

2. The bill doesn't change the authorized usage of cyber threat indicators at all (nor does it change any of the definitions of threat indicators, vulnerabilities, and so on). The few places I found changes at all actually improved the bill (for instance: Section 105 5(A) no longer allows threat indicators to be shared to investigate "foreign adversaries").

3. CISA has always allowed the USG to use cyber threat information in law enforcement pertaining to a specific list of crimes --- that is one of the ways CISA is significantly worse than CISPA. But Techdirt suggests that CISA can be used by the DEA to investigate drug crimes. You cannot have read the bill and believe that to be an illustrative example, because drug crimes aren't among the listed crimes: fraud/identity theft, espionage, and protection of trade secrets. It should not surprise you that the list of applicable crimes has not changed in the budget bill version.

4. The new CISA act retains all the "specific person" and "technical capability configured to remove any information" language regarding personally identifiable information in "cyber threat indicators". The "scrub", by the way, has always applied to private entities (Techdirt may have tripped over themselves to write this bullet point, because the new bill clarifies "entity", "federal entity", and "non-federal entity", and so the scrubbing language now reads "non-Federal entity" --- but the original bill defined "entity" as "private entity"!)

[1]: http://docs.house.gov/billsthisweek/20151214/CPRT-114-HPRT-R...

ccvannorman 8 hours ago 2 replies      
News flash, privacy is going to (keep) getting worse before it grts better. This is why the instant someone invents a totally secure and private way for me to exist online, I'm going to dump a truckload of money down their coffers.
Zikes 6 hours ago 0 replies      
So now they're legally allowed to do what they've already been doing without oversight anyways, which they were legally never allowed to do in the first place and still aren't legally allowed to do due to Constitutional restraints.

I don't like to sound defeatist, but honestly what does this change?

j_s 9 hours ago 2 replies      
Any specifics on which congress-people are responsible for this?
newman314 7 hours ago 3 replies      
So can someone please help explain to me how this is permissible?

Taking this to extremes, why would politicians not sneak every crazy wild idea that they have onto this bill if it's a must-pass bill?

profeta 8 hours ago 0 replies      
and the people that did that will go largely unpunished in any way and continue to receive the same votes as always.
DanielBMarkham 7 hours ago 0 replies      
As I understand it, by slipping it in on an Omnibus budget bill, leaders get to add in bullshit that nobody in their right mind could defend on the floor and then expect an up-down, yes-no vote on the entire budget, including the add-in, by the membership.

In addition, because it's a budget bill, regular conference committee rules don't apply. The idea was that having conference committees dicker over each line item would be a great way to prevent both houses from agreeing. So the "fix" they made for money bills can be used for cyber-surveillance bills too.

I may have missed the details. Apologies if that's the case. If this was added to the Omnibus, the reason why was obscurity. My misunderstanding of the details is a prime example of voters not being able to track who's responsible. That's the point.

ck2 7 hours ago 1 reply      
I don't know the origin of the word "scumbags" but it seems to fit perfectly here.

Can you imagine sitting across from someone you are negotiating with and you are about to sign and they slip a sheet of paper inbetween the document, making you agree to it?

Of course not. But what you'd never do to a fellow american in person, congress is more than okay with doing to you without you being there or realizing what is going on.

Lowest of the low.

beatpanda 2 hours ago 0 replies      
P.S., the reason you don't see as much wrangling or dramatic threats to shut down the government over this budget bill is because a bunch of stuff like this was loaded into it. Because Congress is under enormous pressure by law enforcement and intelligence agencies to undermine computer security in the name of "safety", but they can't be seen doing it because it's extremely unpopular.

What will be interesting is if all the riders on this budget bill are so unpopular that the voting public demands a government shutdown.

Personally, I think everyone here is better off spending time writing software to make surveillance less practical. Even if the U.S. government is nominally constrained by laws (they aren't in practice), there are plenty of other actors in the world that aren't governed by any constraints and will monitor all electronic communications up to their technical capacity to do so.

If you care about privacy and information security you need to be working on tools to make it impossible for surveillance to occur, not petitioning a Congress that is dead-set on screwing you.

collin123 1 hour ago 0 replies      
:( ugh not again
micwawa 6 hours ago 1 reply      
So if I delete my YikYak account today will I still be employable in the future?
imglorp 7 hours ago 0 replies      
"So this is how liberty dies...with thunderous applause."
MrZongle2 5 hours ago 0 replies      
Don't you get it, America? Your masters want this. Why can't you have the good grace to let yourselves be observed and controlled without raising such a ruckus?


dang 7 hours ago 0 replies      
There have been close to a dozen posts about this. We merged the threads that had comments.

If another article is significantly more substantive, let us know and we can change the URL.

Bash Academy bash.academy
340 points by obeid  1 day ago   94 comments top 25
alexis-d 1 day ago 3 replies      
This is a WIP (hence why there are drafts and todos). This is being done by the folks at http://mywiki.wooledge.org/BashGuide which is definitely a valuable resource if you're trying to learn Bash and its idiosyncrasies.

Another good resource is http://wiki.bash-hackers.org/.

raboukhalil 1 day ago 1 reply      
The first few chapters look very good, best of luck with the rest!

In case anyone here is interested in more reading material, I recently wrote a small book about Bash that could be helpful: https://gumroad.com/l/datascience

To make sure it didn't read like a manual, each chapter is an "adventure", where I show how to use only command line tools to answer questions such as: What's the average tip of a NYC cab driver? Is there a correlation between a country's GDP and life expectancy? etc

sciurus 1 day ago 1 reply      
If you want feedback on the quality of your shells cripts, shellcheck is a great tool. You can run it locally or use http://www.shellcheck.net/


stevebmark 1 day ago 2 replies      
This is an interesting project (I'm all for approachable learning) but it seems to be missing almost every chapter...maybe not ready for the spotlight?

Bash scripting and its array of tools is a poorly designed language. Writing a non-trivial program, even for an experienced developer, is a painful process. The syntax is uneven, hard to read, and easy to get horribly wrong. I would say mastering Bash has diminishing returns past the intermediary. Any time you need to write a non-trivial program, you will save time and life expectancy from stress management by using ANY other language, even Perl or C. Writing complex shell-modifying code in my .bashrc has been one of the more tedious and non-rewarding parts of my life.

desireco42 1 day ago 0 replies      
This is much needed. We essentially have all this software we deal with daily and many people don't know basic things about it, not just bash or zsh... and that is funny, people install zsh because it's the thing to do, but you see that they don't know why.
digital43 1 day ago 1 reply      
It'd be cool to see some kind of interactive exercises like (Vim Interactive Guide) http://www.openvim.com/ and (Git) https://try.github.io/
headcanon 1 day ago 1 reply      
Thanks for making this! I wish I had a guide like this when I was starting out. Does anyone know if there is something like this for zsh? I'd imagine there would be a lot of similarities, but some notable differences.
massysett 1 day ago 9 replies      
If you are writing functions in Bash, your task is probably sufficiently complex that it would benefit from being written in a language other than Bash.
wickchuck 1 day ago 0 replies      
I know this is still a WIP, but I found the examples tough to read with colors chosen. Should add does look like a fantastic resource though!
baby 1 day ago 0 replies      
Game doesn't work
mirchada776 1 day ago 0 replies      
ausjke 1 day ago 1 reply      
http://guide.bash.academy/03.variables.html#toc7 in this page those block-diagram looks nice, how is it made? some markdown enhancements like mermaid of plantUML?
dsugarman 1 day ago 0 replies      
In hopes that the creator does read this, it looks like a great resource but I can't read the text, my eyes are very strained and I got a headache very quickly.
codemac 1 day ago 3 replies      
Use rc instead. My life has gotten so much better since I gave up on other shells.



uxcn 1 day ago 1 reply      
I've started trying to stick to dash syntax for shell scripts.
renlo 1 day ago 0 replies      
The site is unusable for me because of lag from the parallax. It's always on.
zackify 1 day ago 0 replies      
We need the zshell academy
peterwwillis 1 day ago 1 reply      
Bash is incredibly useful, and I think more people should use it as a cross-platform default scripting language. That said, for the most compatible shell scripting, learn Bourne shell scripting. https://en.wikipedia.org/wiki/Bourne_shell
jonesb6 1 day ago 0 replies      
I... really need this.
iamroot 1 day ago 1 reply      
this is, for the most part, non-functional and incomplete
brianzelip 1 day ago 0 replies      
Folks, it's most likely the case that the author behind bash.academy did not post the link to HN, so ease up on the flames.

I for one am enjoying reading through the informative guide.

Nice job on the author for deploying Prose.io for community editing of the guide.

fazza99 1 day ago 0 replies      
please test the site before releasing it.
nomadictribe 1 day ago 0 replies      
Seems like everything after 'Variables and Expansion' isn't finished yet, hence the emptyness.
giis 1 day ago 1 reply      
Looking at the github page https://github.com/lhunath/bash.academy Its been there for 2 years. and last commit was 3 months back.
AdmiralAsshat 1 day ago 3 replies      
As opposed to improper bash? Get off your high horse.

There is very much a bad way of doing bash. When I first started doing bash scripts, most of them looked like this:

cat file | grep string

cat file | wc

cat file | while read line

Multiple problems there. Then there was my initial attempts at finding files in a directory:

for i in `ls *`

This is when I learned about globbing.

There is enough variance in how things can be done in Bash with varying degrees of effectiveness that Google even has a Shell Style Guide:https://google.github.io/styleguide/shell.xml

Kinto open-source alternative to Firebase and Parse readthedocs.org
344 points by vladikoff  2 days ago   91 comments top 21
rbranson 2 days ago 6 replies      
Isn't one of the main benefits of something like Firebase or Parse that you don't have to run it? It's nice that Kinto packages the stack together and provides plug-and-play APIs, but there's quite a bit of expertise and overhead operating a backend stack in production.
ndesaulniers 1 day ago 2 replies      
Heh, so last week my buddy Tarek Ziade (one of the developers of this) and I were talking about this (kinto) project he's working on. I asked him what the meaning behind the name was. He said "you know the cloud from Dragon Ball. They don't use it as much in DBZ since they can fly."

I asked him if he meant "flying Nimbus?" Apparently, something was lost in translation (I'm in the US, he's in France).

fiatjaf 2 days ago 3 replies      
Why not CouchDB + PouchDB? It's offline first and replicates over HTTP.

For more fine-grained permissions and other features I'm also developing a small Go database compatible with PouchDB at https://github.com/fiatjaf/summadb

I hope it will be able to sync through websockets soon.

sweetiewill 2 days ago 0 replies      
Would have to throw in Couchbase Mobile for comparisons too. It is Open Sourced as well and it provides the offline component with abstraction to sync-ing which is one of the most difficult features/problems it solves.


simple10 2 days ago 1 reply      
From the Dockerfile [1], it looks like it's built on top of postgres. I'm excited to see if anyone uses Kinto for more than a weekend project.

[1] https://github.com/Kinto/kinto/blob/master/Dockerfile

sbarre 2 days ago 1 reply      
So I read through the docs for a few minutes and something wasn't entirely clear.. It shows "offline-first design" so does that mean I can use it as a local storage in the browser/device, and it can sync later to a server?
sktrdie 2 days ago 5 replies      
Does anybody know about databases that talk WebSockets rather than HTTP? For frontend apps it seems more logical to use WebSockets. Dealing with AJAX and understanding how to manage all of that on the client is still a huge dilemma in the React/Flux/Angular community.
miles_matthias 2 days ago 4 replies      
I'm a big fan of services like Parse & Firebase so it's cool to see something open source and independent get released.

I've never made the jump to use Parse or Firebase in production though because inevitably I have to write some custom server code to do some integration. For example - payments with Stripe. Charges should only occur on your server (not on the client) but I've yet to see anyone allow you to configure a payment trigger in one of these services.

Raed667 2 days ago 4 replies      
Looks impressive, but as a Parse user I think that the selling point are the open-sourced SDKs for lots of platforms.

EDIT: this seems to be lacking a graphical administration panel as well.

chrstphrhrt 2 days ago 1 reply      
This looks really cool.

Do you have a gitter channel or something?

Would love to talk shop about the design decisions! Email me at chris at ramses dot tech.

(I'm one of the devs of http://ramses.tech)

wolframhempel 2 days ago 0 replies      
Seems comparable to http://deepstream.io
jonpaul 2 days ago 0 replies      
I'll throw in an article that I wrote about building an open source Firebase clone: http://procbits.com/2014/01/06/poor-mans-firebase-leveldb-re... / https://github.com/jprichardson/iceden. Written in Node.js.
andreyf 2 days ago 0 replies      
It's not really an alternative to Firebase until you have change notification and a similar scaling model (i.e. scale by throwing money at it).
jamesw6811 2 days ago 0 replies      
For creating a customized web API easily, we are considering http://loopback.io/ and https://www.dreamfactory.com/ -- I wonder how these compare to Kinto.
vskarine 2 days ago 0 replies      
Would be nice if they included RethinkDB in comparison as well
avinassh 1 day ago 1 reply      
> Kinto is a server allowing you to store and synchronize arbitrary data, attached to your Firefox account.

Why does the repo readme says this? What does it mean? I mean, why Parse kinda service is related and attached to Firefox account?

ametaireau 1 day ago 0 replies      
We put together an answer to the questions that arised in this thread. Hope this helps: http://www.servicedenuages.fr/en/hackernews-feedback
smithclay 1 day ago 0 replies      
At this point, are there any major tech organizations who haven't jumped on the Backend-as-a-service bandwagon?

Kinto - Mozilla, CloudKit - Apple, Parse - Facebook, Firebase - Google, Azure Mobile Services - Microsoft, Mobile Hub - Amazon, Usergrid - Apache Foundation

... and many, many startups.

brodo 1 day ago 0 replies      
This isn't really a complete replacement for Parse or Firebase as far as I can see. Apache Usergrid and Baasbox both provide more of the features that Firebase and Parse provide.
jondubois 2 days ago 3 replies      
I'm not a big fan of offline storage for web apps. Any serious app will quickly exceed the localStorage limit which is only 5mb.

I would also question the decision to use HTTP for this purpose instead of WebSockets.

estefan 1 day ago 0 replies      
If the parse web site wasn't such useless shit I might actually be able to work out whether this really is a good alternative... :-(
Hi, Im from the games industry. Governments, please stop us positech.co.uk
343 points by smacktoward  3 days ago   228 comments top 37
adrtessier 3 days ago 17 replies      
> "We need to reign this stuff in. Its not just psychological warfare, but warfare where you, the customer, are woefully outgunned, and losing. Some people are losing catastrophically."

I strongly disagree with this statement. I am very aware of the psychology behind marketing and advertising, and anyone with half an interest in it has probably read Vance Packard's The Hidden Persuaders, which was released, oh, 58 years ago. People know what pushes their buttons, too, and we have a name for it: interest. Not "manipulation". Certainly not "psychological warfare".

Marketing and advertising might seem to be refined in this dopamine-heavy, short-attention-span social gaming age, but this shit has been around as long as humanity itself has existed. Some people have better impulse control than others; it's not the state's job to regulate the impulses of their populaces, or regulate systems that know how to manipulate them. It's a slippery slope that would take down the entirety of marketing and advertising as an industry, an industry which is pretty much necessary for the vast majority of the citizenry to even know what is out there to purchase.

Furthermore, how would one even decide where the line between manipulative consumption and social signaling is? Some people want to own all the capital ships; they have some social hierarchy in some subculture standing upon it. Should I regulate that, too, and force them to have the same consumption values and preferences that I do? Should we take this a step further and ban all vices? Let's see how fast American society would fall apart if we banned alcohol again.

FWIW, I hate consumerism and advertising. I block ads everywhere, I hate big branded items, I don't know the last time I bought something from an ad. Just because I feel this way, I don't go around trying to violently force that opinion upon others by begging the state to do it for me.

kozukumi 3 days ago 3 replies      
Hmm this is a tough one. Firstly I should make it clear that my wife works in the games industry. She works on PC, Console and Mobile titles. She has mentioned several times how there is a lot of pressure put on developers and publishers to "catch the whales". They employ psychologists and gambling specialists to make games, mostly mobile but it is also creeping into PC and Console, super addictive.

Personally I am of the opinion that people should be able to do what they want* but my wife is genuinely concerned about just how they go after certain types of people. They do want to get the gambling types. They are the people who spend money. Lots of money. I have seen numbers where people who obviously have more money than we can imagine spending $50-100k on IAPs. Some games even have "limited" IAPs that were designed for just one player as they spend so damn much.

However I can't help but feel there is something else behind this post than what the author seems to spin it as. What I am not too sure but it seems quite the ramble and he doesn't actually have any solid sources or data to back up his claim. Of course neither do I outside of what my wife tells me :)

* Okay so there has to be some limits.

Edit: I would like to make the point clear that while I think people should be able to do whatever they want, I do find this kind of predatory game design unethical. As does my wife. Thankfully nothing she has had to do so far has been totally deplorable.

mschuster91 3 days ago 1 reply      
As someone who worked in the customer-facing ends of the gambling industry (hell, I haven't been able to totally let go, I just ordered a true casino machine for my home... for reverse engineering and pentesting)... that online shit is far worse than "offline" gambling.

With gambling offline, well you have to leave your house, gonna dress up, and people will notice if you fuck up your life by gambling every day. Also, maximum losses per machine and hour are usually regulated and you can have yourself banned from gambling venues.

Online gambling - and online playing of the "free to play" or "pay to win" sort - however, does not offer any of these advantages. Instant pay-ins of five-figure sums (and instant pay-outs, publically shown)... or just the pleasure of 0wning an opponent because you paid for the "by-cash-only" battleship.

No limits at all, disgusting. And no one will see you going down and down, except the pizza delivery guy and the coroner when it's too late.

LukeB_UK 3 days ago 3 replies      
A lot of people here seem to be missing the main point of this post. It's not about crowdfunding or advertising, it's about using hugely manipulative tactics within the games to get people to basically throw money at them.

The reason they're called microtransactions is because they're small, usually priced at a point that's negligible. Using these tactics, they entice people to buy over and over again, each time the spend is a negligible amount but over time it adds up to hundreds or thousands.

TazeTSchnitzel 3 days ago 2 replies      
This post is a bit rambly and doesn't make its case particularly well.

I think the case is better made implicitly by reviews of games like Game of War: Fire Age. They are designed to be addictive and get players to spend literally thousands of pounds (or dollars) on microtransactions. They have ruined lives.

Particular attention should be paid to games which advertise microtransactions to children.

eveningcoffee 3 days ago 0 replies      
We take Facebook stalking to a whole new level. You spend enough money, we will friend you. Not officially, but with a fake account. Maybe its a hot girl who shows too much cleavage? Thats us. We learned as much before friending you, but once you let us in, we have the keys to the kingdom.

Discussed previously https://news.ycombinator.com/item?id=10239931

brohoolio 3 days ago 3 replies      
I was totally and completely addicted to WoW for two years. Almost lost my girlfriend, friends, etc. When I finally quit I had the shakes. Literally.

One thing though is I've never saved more money than when I was playing WoW because I never went out. These newer games do seem to have a different financial model that exploits addiction in potentially a much more dangerous fashion.

wturner 3 days ago 0 replies      
I was momentarily good friends with someone who went on to become a well known entrepreneurs in this space. Right before he got his business off the ground he emphatically told me :"I am going to exploit the living fucking shit out of these people". He wasn't just talking about his users, but the investors and the entire silicon valley ecosystem. It kind of blew my mind when he actually did it. He went on to be extremely successful in the free-to-play space.
marknutter 3 days ago 1 reply      
I really don't understand the opening rant against Star Citizen. This is a game that quite literally would not even have started production if it weren't for crowd sourcing because the big boys are too busy cramming the next Call of Duty down everyone's throats than taking chances on interesting new IPs. If Star Citizen never materializes it will still have done the gaming industry a huge service by signaling to the other companies out there that a huge, verifiable demand exists for that style of game.
jnbiche 3 days ago 2 replies      
Yeah, pretty doubtful of the author's initial claim of being "not a big fan of government regulation in general" and "not a friend of regulation". I can only imagine the views on gambling and drugs of anyone who proposes regulation for video game advertising.

Suffice it to say this guy is a friend of regulation if he's making this proposal. It's a nice little rhetorical device but most of us are smart enough not to be fooled by this.

sandstrom 3 days ago 0 replies      
I think what some are missing here is whom the regulation (of gambling, alcohol/tobacco advertising, lending regulation etc) is ment to protect.

Pulmonary physicians didn't need regulation to cease smoking[1], people with basic financial schooling probably won't get tricked by usury (which, interestingly, has been banned since medieval times but is now permitted in many countries), and so on.

If you're an educated, conscientious person you don't need this (and are sometimes needlessly constrained by it, which can be frustrating). But it was never for you.

It's for the struggling single-parent who would otherwise burn their paycheck on an online casino -- and get through the month with 300% payday loans.

[1] http://onlinelibrary.wiley.com/doi/10.3322/canjclin.36.1.2/p...

rwallace 3 days ago 0 replies      
OP is rolling two separate claims into one.

The first claim is that there is a problem.

Yes, I agree. There is.

The second claim is that the solution is prohibition.

The results of applying that solution to alcohol addiction and then drug addiction were... 'more harmful than beneficial' is much too mild a way to put it. 'Society-wrecking catastrophe' would be more accurate. Given those precedents, any argument that another round of prohibition is the right answer here requires far more justification than OP gives.

marcoperaza 3 days ago 0 replies      
The solution is to teach people to be savvy consumers, to have a skeptical eye to the world, to be able to sort out fact from fiction from opinion, to understand incentives and identify ulterior motives. This skill will never become obsolete. The government can never protect you from everything, but politicians are happy to take your freedom away while they convince you that they can. No consumer protection law can ever supplant caveat emptor.
gus_massa 3 days ago 6 replies      
This idea to stalk customers in Facebook is scary, but why don't other companies (let's say the home appliances manufacteres) do the same trick? Is it effective only for some niches?
JabavuAdams 3 days ago 0 replies      
I'm glad someone called out this "addicting" as a positive adjective nonsense. First of all, the word is "addictive". Second, how is this a positive for the user?

I got addicted to Clash of Clans after starting to play for market research. I spent $400. It didn't hurt me financially, but it was very interesting to observe myself engaging in classic addict behaviour.

"I can buy another gem pack because I'll just come in by transit tomorrow, so I won't have to pay for parking."

"If I bring my lunch tomorrow, then that will cancel this other item."

... of course, knowing that I wouldn't do any of these things...

pandaman 3 days ago 0 replies      
I might be reading this wrong but this gentleman's problem seems to be that some companies make way more money than he thinks is "fair". Because all his sources are about who made how much. If this was similar to gambling he might be able to show a story or two of somebody mortgaging their house and/or losing job, taking a loan from mob and unable to pay it etc. etc. over addiction to Candy Crush as we have plenty of such stories about gambling.

I have never seen anything similar about f2p games. At most you learn about kids dropping out of school to play DOTA/LoL/WoT/etc but this had been happening ever since there had been video games. Same kids dropped out over EQ/UO/WoW, which are not f2p. Heck, a dude dropped out of my school over a single player PC RPG (was either one of M&M or Wizardry games). I never heard of anybody becoming homeless trying to get their Farmville's dog to lv85. All there is are stories about somebody spending thousands of dollars at once to by some magic crystals in some stupid cell phone game. While it looks pretty stupid it does not seem any more danger to society than people buying pieces of painted canvas for millions and even tens of millions at art auctions.

oldmanjay 3 days ago 0 replies      
That this person is putatively in the games industry does not bolster the point of the article, so I have to assume that used as a manipulative aid to help sell the idea therein. Mildly ironic, I suppose, but it's okay to manipulate when you are doing "the right thing" in some minds.
njharman 3 days ago 1 reply      
> have an incredibly fine tuned and skillful marketing department bent on psychological manipulation.


This is not specific to games industry. In fact they are rather late bloomers and amateurish. This is consumerism. This is production driven economy (in which goods are produced and post facto demand is manufactured). This is inevitable in any market with unequal ownership of resources (that is any market system were it's possible to profit or "get ahead", i.e. all of them).

All advertising is this. Almost all marketing is this. It only varies in it's sophistication and subtleness.

I can not fathom why people watch commercials, don't ad block, read advertising based periodicals, go to shopping centers, etc. Why people willingly participate in being psychologically manipulated into beliefs, decisions, and actions.

DaveSapien 2 days ago 0 replies      
I have talked in front of rooms full of my peers about abusing the vulnerable with predatory IAP's. Rooms full of artists (and students) applauded me. While rooms of more 'professional' developers booed me. I found more often than not, the 'professional' people that have a family to feed defended there moral very strongly. I could boil their argument (unfairly?) down to this, its ok to trick the vulnerable out of their money because I need to make money to feed my family. Where the more idealist artisans where more interested in the craft of games and earning the right to make money with good content. Its a weird rational to base your moral actions on.

I count myself as an idealist, I care about people before my own ability to buy things. I don't think I have a right to make a living at what I love, an opportunity for sure, but thinking you have an entitlement to make money at making games seems to lead us to a dark place for us all.

erik14th 3 days ago 0 replies      
I'd draw the line at the point where the user/consumer can't easily recognize advertisement as advertisement.

For example, paying people to write blog posts or to friend your client on social media without making the "I'm being paid to do it" part explicit should be illegal.

I know nothing about US law, but shouldn't that be some kind of fraud crime or "confidence trick crime" already?

falcor84 3 days ago 1 reply      
I wonder how i is that South Park did a great episode[0] on this subject of addiction to freemium games, and neither the post nor anyone in over 100 episodes mentioned this. Is South Park completely pass?

[0] https://en.wikipedia.org/wiki/Freemium_Isn%27t_Free

petke 3 days ago 2 replies      
I think there would be a better case for regulating in game purchases. Some kind of limit, or a at least a warning at the beginning so people know what they are in for. "This game contains purchasable items. You may spend more than 10 000 dollars in this game."

Marketing on the other hand is a different story. We cant really ban that.

abalone 3 days ago 0 replies      
He brings up a bunch of things, only one of which applies to Star Citizen: the "addictive" element of collecting things. Star Citizen is a game with genuinely exciting concepts and visuals exhibited in their marketing. The "addictive" thing that appears to have driven part of their $100M fundraise is prepurchasing cool-looking spaceships.

But how would you regulate that? And what would be the impact on Lego kits, Star Wars action figures, Beanie Babies, coins, stamps, and other real-world collectibles? They have the same issues with OCD. Wouldn't it be arbitrary to limit it to software?

If found it interesting that the author left the most potentially regulatable thing about Star Citizen untouched: consumer protections for crowdfunding investments.

JabavuAdams 2 days ago 2 replies      
Terrible article, but raises some good issues. Would like to see a better discussion of those issues.

One problem that I haven't seen mentioned elsewhere is that in my experience a large proportion of people in the games industry are essentially game addicts.

They've forgone other opportunities, higher pay, IRL social interactions, family duties, etc. due to their passion for games.

It's hard to have a serious conversation about games and addiction without examining this further.

swiley 3 days ago 1 reply      
I don't think I've ever thought of "addictive" as a positive attribute to a game. Reddit and HN are addictive, I want entertainment that I can leave when I want and that has depth.
xacaxulu 3 days ago 0 replies      
I'm always wary of people who beg for more government control .
flink127 3 days ago 1 reply      
"You think you are not manipulated by ads? Get real, read some of the latest books on the topic."

Any book recommendations? Sounds like this would be really interesting to read about

foxhop 3 days ago 0 replies      
Where do erotic web camera sites that allow tipping and rake money off the top fit in?

I'm pretty sure lots of people are addicted to these shows.

hackuser 2 days ago 0 replies      
The article the author links to is more revealing:


meanduck 3 days ago 0 replies      
Only if the regulation get 90+% votes.

I am so waiting for the future when one can switch (mobocratic) government like a house.

andrewclunn 3 days ago 0 replies      
> "I guess at this point we could just say A fool and his money are soon parted"


m0nty 2 days ago 0 replies      
NSFW tag would help.
microcolonel 3 days ago 2 replies      
Cliff's comparison of Star Citizen's preorder process to gambling, painted in royal we, is obscene.

I don't like to be dismissive, but it sounds like he's mostly upset that their slimy marketing actually works; while meanwhile people haven't even heard of his company.

For kicks I looked at his company's website, and their top two titles are "Democracy 3", and "Big Pharma". i.e. he makes video games about regulation and a highly-regulated industry. After seeing these titles, the attitude makes a lot more sense.

mahouse 3 days ago 0 replies      
This has absolutely no sources. And if you compare what "an anonymous developer" says he does (which may as well be made up) with what a company that spends $40,000,000 in an ad campaign does, you see how this is delusional.
vinceguidry 3 days ago 1 reply      
Look, this is just commerce at work. People are going to use whatever edge they can get to make more money. These edges only go so far. If you think the only reason Game of War is popular because of the million dollar ads, then why isn't every single product, everywhere using these ads?

These games fulfill more than just some need to mindlessly click on shit. Just because doesn't do anything for you, that doesn't make the people it does work for stupid or rubes. As soon as something better comes along, all of these games companies are going to be toast, way, way deader than disco.

Assuming that any massive success is due to nefarious attention-gaming is pretty much categorically wrong. Video gaming, by the standards of global commerce, is a ridiculously tiny niche. There are billions of people who have never played a video game in their entire life. Game of War is the largest player in a sub-niche of this small niche. Big enough to buy ads on the Super Bowl, sure, but that says a lot more about the declining power of television and advertising in general than it does about the size of the gaming market.

That this market needs political attention to curb abuse is utterly laughable. How about we fix oil drilling, or pharmaceutical production first?

PaybackTony 3 days ago 1 reply      
This is jealousy, at the core of it. Not just the gaming industry uses these tactics. I work in an industry that does that all the time (I hate it).

Certain kinds of games shouldn't be regulated, though I would agree that creating fake profiles on social media in an attempt to gather more information from users should be regulated to some extent.

At the end of the day, you have to ask yourself, are you in favor of people having a free will, or do you want to mitigate what a person can and can't do with their free time because in your opinion, it's bad for them?

pascalxus 3 days ago 2 replies      
I don't see any problem with games or any other product spending that much on advertisement if it's beneficial for them. I don't understand what people have against targeted advertisement? So what if the advertisements are tuned for your interests. Wouldn't you rather see relevant ads, rather than the something completely irrelevant to your life? I actually wish, they had more information and were better targetted. Right now, the ads really don't have much of the right information or enough intelligence at all.

Also, since when is it to much to ask people to spend responsibly? I mean, we have licences for driving and licences for fishing. Should we also have a licence to spend? Perhaps, all these so called 'victums' you speak of, should go to the a financial therapy class and their spending should be limited by the government.

If you dont know how to spend your money, you shouldn't be allowed to have a wallet or money.

People need to be responsible for their own spending if they want to grow up and live on their own.

LibreOffice as a service offers alternative to Google Docs, Office 365 infoworld.com
221 points by Garbage  17 hours ago   132 comments top 14
lucb1e 15 hours ago 5 replies      
From the demo I saw, it worked as well as watching 1080p YouTube in a third world country. Someone figured it was smart to do server-side rendering and load your document as tiles using a technology designed for maps (the same as used in OpenStreetMap, and there it works well, because that's actually a map and not a document). The person argued WiFi was bad, but when typing on a 100mbps symmetric connection there was still a noticeable delay between my keystroke and it appearing on screen.

Edit: to everyone saying they also can't watch YouTube 1080p without lag/buffering/whatever: perhaps it's not perfect anywhere outside the third world, but I could imagine that there it would suck even more. It's just a comparison, not a research paper.

DiabloD3 15 hours ago 4 replies      
To those claiming that Office 365 somehow promotes web apps as your real apps... that isn't entirely true.

My company (the one I started, hi) uses Office 365, and all three of us use Office 365's full office suite, the actual real desktop app one.

What we use Office 365's cloud stuff for is their Exchange cluster (oh God, so delicious), and for OneDrive for Business (ie, what used to be Sharepoint).

Browsers just aren't fast enough to handle web apps that large (not picking on Office 365's web apps, anything that big just sorta murders browsers), and I don't think they ever will be. This isn't something you can solve when your only tools are HTML, CSS, and JS.

sandGorgon 11 hours ago 3 replies      
This is wasted effort IMHO. The killer app of Office is Excel and NOTHING has come close to replacing it.

In India, almost all laptop manufacturers give the option of preloaded Ubuntu. Yet people choose to pay for Windows - for either Excel or Photoshop.

I would pay a large sum of money for a compatible spreadsheet. It is well worth doing a startup around.

Everything else - Word or PowerPoint already has reasonable substitutes. Even if it is as simple as a PDF doc.

But there is no substitute for Excel.

hunvreus 3 hours ago 1 reply      
I quit using Microsoft Office over a decade ago. The last few years, I relied on LibreOffice but couldn't stand the regular crashes, bugs and overall frustrating user experience.

I gave Google Docs another go and I must say I was surprised at how much better it was from 3 or 4 years ago. It was good enough for me to consider using Google Drive; me and my team are now using it for everything and couldn't be happier. We actually ditched Dropbox in the process.

Box, Dropbox, Microsoft and other players in this segment of enterprise productivity software should be worried. I'm happy to pay for it and wouldn't run a company without it.

I think a LibreOffice SaaS would have a hard time competing on features with Google Docs, let alone price.

kriro 12 hours ago 1 reply      
In principal I like this idea a lot. Office as a Service but in freer...sign me up.

As an aside I use LO as sort of a middleware for document conversion via PyOO (start headless LO, convert/load/creat documents etc. via Python script). I think UNO is rather complicated to use at least I struggle everytime I try to read the documentation (possible that I'm too dumb). I hope LO as a service helps make this use case more interesting and thus leads to more documentation and PyOO like libraries.I feel like there's some potential to get LO into more widespread use by improving/advertising the "headless LO" more.

Oh I'm building this webservice...yeah sure upload your files as Excel or Calcs...we can use that and create nice Calc documents from either one.Powered by LO.

stephenr 13 hours ago 3 replies      
Is there still not a reasonable quality, open-source browser based 'office' app? Open Document is all XML right, so it's not like a browser can't read/write the format because its some binary blob..
rwmj 9 hours ago 1 reply      
My company did this back in 2000 using StarOffice which was the precursor to LibreOffice (via OpenOffice). Some screenshots[1]. What's interesting is that the numbers don't add up - it's hard to make a profit even at high subscription rates when you have to pay for all the hardware involved. Anyway, I hope they know what they're doing.

[1] https://rwmj.wordpress.com/2014/03/26/officemaster/#content

niutech 8 hours ago 0 replies      
There are already WebODF (http://www.webodf.org), used in ownCloud Documents, and OnlyOffice (http://onlyoffice.org)
bobajeff 15 hours ago 2 replies      
It would be cool if they made a client side version of this using Emscripten.
ucaetano 15 hours ago 5 replies      
It's a bit sad to see LibreOffice struggling to maintain relevance when the market it tried to address suddenly became [nearly nonexistent] irrelevant.

It reminds me of all those hundreds of early 20th century battleships that suddenly became completely irrelevant when the Dreadnought came by.

[Edit: replaced nearly nonexistent with irrelevant to make my point clearer]

rullelito 14 hours ago 1 reply      
I can't stand LibreOffice, it's so slow compared to Office.

So I don't have high hopes for this thing.

mark_l_watson 13 hours ago 0 replies      
As a Linux user, I really like the web versions of the Office365 apps. The functionality is good for situations when I need to work with other people's documents and not taking up disk space for installed apps is a fine feature for the new world of SSD storage on laptops.

I also find Google docs handy to use, even though I use markdown stored in the cloud for writing my own content, managing research notes, etc.

I like the idea of being able to self host cloud services but ownCloud and LibreOffice face stiff functionality competition.

moonbug 7 hours ago 0 replies      
And I thought it couldn't be possible to make LO any more infuriating to use. Well done guys, trebles all round.
unixhero 12 hours ago 3 replies      
Besides dude. Referring to poor countries as belonging to the third world implies that a second world exist. The second world collapsed with the Soviet Union and does not exist any longer. The preferred nomenclature is developing countries.
Graph Isomorphism Algorithm Breaks 30-Year Impasse quantamagazine.org
220 points by kercker  1 day ago   73 comments top 10
gre 1 day ago 0 replies      
Graph Isomorphism in Quasipolynomial Time: http://arxiv.org/abs/1512.03547
onetwotree 1 day ago 2 replies      
Look at this asshole, having a finite Erdos number and publishing solo ;-)
nine_k 1 day ago 1 reply      
Previously posted and discussed extensively:


dcohenp 1 day ago 1 reply      
> No one has ever found an efficient algorithm for an NP-complete problem, and most computer scientists believe no one ever will.

I find these kinds of assertions somewhat misleading. There _are_ "efficient" algorithms for, one could say, "pragmatic variations" of NP-complete problems. Some only work on some subset of cases (perhaps most of the useful ones), or non-deterministic (but you run them enough times and get the right answer), etc.

raverbashing 1 day ago 3 replies      
Ok so the question is, while theoretically this is an important work, is it really worthy having a practical implementation?

(I remember something similar happening with "Primality testing is P" but the existing, non-P algorithms were good enough so people wouldn't bother using it except in specific situations)

LesZedCB 1 day ago 2 replies      
Is somebody able to explain in more detail what the "Greater metropolitan area" of P space means? I have a CS undergrad degree so I get what polynomial space is, just not sure about the quasi-p-space part.
superuser2 1 day ago 0 replies      
I very nearly took Algorithms from this guy. Toughest professor (and grader) in the CS program, by far. He's quite a character, though.
Devid2014 1 day ago 1 reply      
What happens with this one ?

Polynomial Time Algorithm for Graph Isomorphism Testing.http://mt2.comtv.ru/

Is this a hoax or has some substance ?

Zach_the_Lizard 1 day ago 2 replies      
How long until we start seeing this algorithm in Google interviews?
jgn 1 day ago 4 replies      
Thanks for posting this. In the future, could you please add the algorithm to the title? This feels a couple steps removed from clickbait. No offense intended; it's just a suggestion.
Show HN: FuckFuckAdblock github.com
353 points by mechazawa  3 days ago   296 comments top 18
jbb555 2 days ago 6 replies      
As far as I'm concerned advertisers had their chance but they totally abused their chance turning the internet into an ad-laden hellhole and now I just block everything I possible can. If a site decides it doesn't like this then it's literally no use to me.

They had their chance, they abused it beyond all possible tolerance. I hate advertising on the internet now so much that if anything does manage to get past my blocks I make a conscious attempt to avoid buying anything from the scumbag organisation that thinks forcing their crap on my is anyway acceptable.

SCAQTony 2 days ago 2 replies      
I would not mind ads at all but ads are not really ads: they are trackers, beacons, analytics, and privacy busting cookies with none of the above asking for permission. I am blocking about 2,000 different versions of all of the above according to Ghostery. EFF's Privacy Badger is blocking a bunch to. We are being digitally assaulted. We need this stuff!
atom_enger 2 days ago 12 replies      
At some point I really think we'll resort to blocking ads at the network level. There's no way to detect a block at that level and we'll truly be able to control the content that way. I've seen a few http/dns ad blockers here on HN already so we know it's possible and being thought about. These browser based detections are just a game of cat and mouse at this point.
ainiriand 2 days ago 1 reply      
Hi guys. I guess I'm one of the bad guys. I developed the foxplay, natgeoplay adblocker detectors. I used a very simple approach because we know that anyone that wants the content and not the ads is going to have it anyway.The ads in the pages are something that is needed. What is not needed are, as other commenters said, 3rd party cookies, trackers and analytics beacons. Keep up the good fight.
codezero 2 days ago 1 reply      
I'm very pleased they include the link to the Trace Buster Buster: https://www.youtube.com/watch?v=Iw3G80bplTg
archibaldJ 2 days ago 0 replies      
Or functionally: https://github.com/0a-/FuckFuckAdblockFunctionally

 var _ = function(){}; var fuck = function(fn,fns){ fns.push(fn); //side effect here since this is OO. Otherwise could have written: fns = fns.concat(fn) var partiallyFuck = function(fn){ return fuck(fn,fns)}; var thunk = function(){ fns.map(function(a){a(); window.fuckAdBlock = fuck(_,[]); //forced to do side effect here due to OO window.blockAdBlock = fuck(_,[]); //forced to do side effect here due to OO }); return true}; return { onDetected: partiallyFuck, onNotDetected: partiallyFuck, check: thunk, emitEvent: thunk } window.fuckAdBlock = fuck(_,[]); window.blockAdBlock = fuck(_,[]);

wtallis 2 days ago 0 replies      
It looks to me like this is just a special case of what NoScript's surrogate scripts feature has been providing for years. It allows substituting your own no-op scripts for whatever scripts you'd rather not run, but want to fool other scripts into thinking have been loaded.
waynecochran 3 days ago 6 replies      
The license is even more flexible than the MIT license.
crystalclaw 2 days ago 1 reply      
I went to the linked http://fuckadblock.sitexw.fr/ and their publicity example didn't load. Looks like my adblock rules are doing their job!
wldcordeiro 3 days ago 1 reply      
Make it work with the beta as well to preempt its release. :)
mukundmr 2 days ago 1 reply      
How about this instead? Plugs into U-Block Origin: https://github.com/reek/anti-adblock-killer#instruction
dantetheinferno 2 days ago 0 replies      
I hate to ask this, but could someone explain where this stops the FuckAdBlock? I can't see it in the code.

EDIT: Oh nevermind; it calls a FuckAdBlock instance and then overrides it. Ha.

jayzalowitz 2 days ago 3 replies      
A part of me really wants a system that asks the browser for a "hey, you wanna give money instead" token that lists a payment system and a unique id. I don't wanna really hurt content creators.
manigandham 3 days ago 3 replies      
But why?
simfoo 2 days ago 0 replies      
I have Ghostery and ublock origin installed, after adding this to my custom blockers it still tags me as "adblock enabled"
recroad 2 days ago 8 replies      
As a content creator who runs two websites and relies on ads to pay bills because my actual job doesn't cover the costs, I say fuck anything that's trying to block ads.
Pebble Seizure Detect github.com
275 points by ingve  11 hours ago   43 comments top 19
vvanders 9 hours ago 1 reply      
Always warms my heart to see technology re-used in interesting ways that can help people with a medical condition.

Way back(~2004) I was working for UPS. One of our package loaders had a BlackBerry, back when only suits had them. He was mute and since he couldn't speak he used the BB for all of his communication. Here I was just geeking out over smartphone tech(Kyocera 7135, woo!) and he was able to have his whole life changed in a fundamental way with tech that was conceived for business productivity.

NamTaf 40 minutes ago 0 replies      
My partner died 3 months ago, presumably due to complications of a tonic-clonic seizure. She was in the room next to me with a door closed because she was feeling unwell with a headache for the two days prior and so was dozing in bed. I was either doing the vacuuming or playing a video game at the time. This technology may have allowed me to save her as I would've seen/felt the text message and been able to provide first aid to her immediately.

For those of us who have to live with a loved one who suffers seizures, thank you to the author for making this and thank you ingve for sharing it. Hopefully it can avert a tragedy like mine for someone else in the future.

TeMPOraL 9 hours ago 2 replies      
Absolutely great; thanks 'ingve for posting it.

One thing that IMO should be modified is the dependency on Twilio. I don't know how it is in the US, but Android users in Europe should not need an Internet connection for sending text messages - the phone is capable of doing it by itself. I think it's more common to be without Internet access but with mobile service than the other way around.

EDIT: submitted the suggestion as a GitHub issue.

jon-wood 8 hours ago 0 replies      
One thing I really liked here was the run through of failure modes in the readme, its refreshing to see the limitations of some software listed up front rather than glossed over.
whyleyc 3 hours ago 1 reply      
Thanks for putting this out there - looks fantastic for hackers like me with partners who suffer from epilepsy.

If you are interested in wearable tech and epilepsy you should also check out the "Embrace Watch" [1] - It measures electrical conductivity across the skin of a person wearing the watch and is able to use that as a proxy for heightened electrical activity within the brain (which can be indicative of a tonic-clonic seizure). It pairs with phones to send SMS messages to nominated contacts as alerts.

It was developed out of MIT and is now being commercialized. I'm currently waiting to take delivery of this watch (from an IndieGoGo campaign last year), so can't speak to its effectiveness but I have high hopes, particularly since it doesn't just rely on motion. Motion detection is helpful, but by then it is too late for the person having a seizure as they have no warning to make themselves safe.

[1] https://www.empatica.com/embrace-watch-epilepsy-monitor

etjossem 6 hours ago 0 replies      
Although my epilepsy is well-controlled, a breakthrough seizure is still a possibility. An app like this could really help me out of a tough spot. Cheers to you for building it!

For many patients, it's important to record how long their seizures last - to escalate/911 if needed, and also after the fact to aid diagnosis and treatment. I could see this app playing a role there too. After the event, the Pebble might prompt the wearer/responder whether to log it as a seizure, which would (mostly) automate the seizure log recommended by Epilepsy Society.

codeulike 4 hours ago 1 reply      
This is great.

There are commercial devices that work along similar lines, such as http://smart-monitor.com which is bought as a $20 per month subscription. But something open running on a platform like pebble is much more interesting.

MrSourz 9 hours ago 1 reply      
It's interesting to me that I've now seen two projects for Pebble built around this concept.[1] I think this is in part due to the approachability of developing on Pebble's platform. They've got a really great cloud IDE [2]

[1] now on iPhone too http://neutun.com/[2] https://cloudpebble.net/

neves 9 hours ago 0 replies      
Congratulations!!! It can't see a better use of technology and open source than this one. I'm really touched.
wyldfire 8 hours ago 1 reply      
This is pretty cool, good job!

 // A sqrt function I got from the web that uses integers only (since Pebble emulates floating point math)" [1]
Pebble has a soft-float implementation? So is this integer sqrt approximation is faster than the soft-float one?

[1] https://github.com/PebbleSeizureDetect/PebbleSeizureDetect/b...

muglug 9 hours ago 0 replies      
This is amazing, and very important this year I lost a friend to a seizure that might not have been fatal had they been found sooner.
gchorba 6 hours ago 1 reply      
Awesome work, best write up of this type of project I have seen yet.But its been done before:https://github.com/OpenSeizureDetector/OpenSeizureDetector
bucma 6 hours ago 0 replies      
This is really cool.

My wife died of a tonic-colonic seizure 11 years ago. Something like this might have saved her.

PbblSzrDtct 2 hours ago 1 reply      
Hi all! I am the author of this software. I didn't submit this to Hacker News -- someone else must have! Thank you, whoever you are. I'll try to answer the other questions in the thread now.
deelowe 8 hours ago 1 reply      
Hrmm... Real time health monitoring could finally be the truly compelling reason to wear smart watches.
n00b101 5 hours ago 1 reply      
How is development/testing done for this software? Is there a test data set of seizures to test against?
noir_lord 7 hours ago 0 replies      
My previous partner used to suffer seizures of this type, this would have been incredible as often the only way I knew she'd had a seizure would be if she text me after she'd recovered, that was a terrifying thing considering they could hit at any time and any where.
chaqke 8 hours ago 0 replies      
I've heard several mentions of this over the years as one of the better use cases for devices. Sometimes it takes having a problem really close to your life to drive that devotion - I'm glad someone spent the time and effort to solving this.
MrZongle2 5 hours ago 0 replies      
As a father of a child with epilepsy* and who has observed many tonic-clonic seizures, I'm horrified by the thought of being an independent adult who would have to deal with them on a regular basis. So I can't upvote this enough; I feel as if epilepsy is one of the red-headed stepchildren in the age of AIDS awareness and pink-colored campaigns everywhere.

Kudos. This is awesome.

* More specifically, Myoclonic Astatic Epilepsy (MAE), which he appears to have been lucky enough to have outgrown, though I don't know if saying he "had" epilepsy (past tense) is accurate (or even relevant to the discussion).

A Look into Machine Learning's First Cheating Scandal dswalter.github.io
245 points by metachris  2 days ago   51 comments top 12
TuringTest 2 days ago 1 reply      
Long story short:

- The LSVRC "visual recognition" competition has a rule in place, that limits to twice per week how often each contestant can run their entries to the contest against the ImageNet dataset.

- The Baidu team run their tests much more often, claiming that they understood the limit was placed on a person basis and not per team.

- This rule is in place because more frequent submissions somehow distort the quality of the test, by switching its emphasis to overlearning (adapting too much to the specific data included in the test dataset) instead of true algorithmic advances, which can influence the whole machine learning discipline given this contest's high profile. ( * )

- As a result, the whole Baidu company has been banned from the competition for a year.

( * ) ("The Baidu teams oversubmissions tilted the balance of forward progress on the LSVRC from algorithmic advances to hyperparameter optimization.")

not_that_noob 2 days ago 0 replies      
To translate to a more familiar domain, think about the SATs. After a period of study, students take the SAT where they get back the composite score of how they did, but never the actual answers to the questions on the test.

Now imagine a student can take the test repeatedly over the space of a few days, and can use the score to reverse engineer the answers to the questions. They can put in random answers and note which ones cause the score to go up. Of course the real life SATs don't allow this, and they change up the questions to prevent this sort of cheating. If this were possible, our enterprising/cheating student can derive the complete answer key over time, noting the changes in scores for each run. And once they have the key, they can ace the test. No longer is it a test of their aptitude, but rather of their knowledge of the answer key.

This scandal is analogous to this albeit contrived example. With an ML testset, it's not possible to change the data because you want it standardized so you can evaluate improvements that new approaches may bring. It's the only way to have a meaningful yardstick to measure against. Thus, the only way to prevent such gaming is restricting multiple submissions, so that you can't do 'hyperparameter optimization' - i.e. overlearn on the testset.

That's why it's cheating - it's not a measure of how well your algorithm did, but rather on how well you reverse-engineered the answer key. It's a huge disservice to the field and the people who did this should be ashamed of themselves.

philh 2 days ago 3 replies      
Idle speculation:

> "The key sentence here is, 'Please note that you cannot make more than 2 submissions per week.' It is our understanding that this is to say that one individual can at most upload twice per week. Otherwise, if the limit was set for a team, the proper text should be 'your team' instead," Wu wrote.

I wonder whether, to a native Chinese speaker, this really does sound like it's talking about individual people, and saying "you" when one means "your team" seems really bizarre. Can any Chinese speakers weigh in?

(Even stipulating this, the affair still sounds more like malice than incompetence on the part of Wu.)

dasboth 2 days ago 0 replies      
Congratulations to the author for both of his last 2 posts making it to the HN front page!

This explains the need to drill home the train-test idea from the last post. I hadn't thought about this before but multiple submissions do amount to multiple peeks at your held-out test set, which is a huge ML no-no.

I don't know much about LSVRC, but doesn't the way Kaggle work prevent this? AFAIR you get a "public" test-score which is used for the leaderboards, but once the deadline for submissions is up, each submission is evaluated on a held-out test set giving you a "private" score. Now that I think about it, I'm not sure how that works, I guess the accuracy they show you as your public score is only on part of the submitted rows? Regardless of how that's done, could the LSVRC organisers not do something similar?

hbogert 2 days ago 2 replies      
Couldn't the LSVRC just limit the amount of submissions? Why would you rely on the competence or good intentions for this?
HappyTypist 2 days ago 1 reply      
> there are almost no papers focusing on 3 or 4-layer CNNs these days, for example

What's the 'best practices' for the number of hidden layers in a CNN? 1 or 2 hidden layers?

Flockster 2 days ago 2 replies      
So how would a better dataset look like? Does bigger always equal harder? What are the criteria to measure that?

And wouldn't video datasets be somewhat easier to analyse given the fact that you have multiple frames of the same object?

jmount 2 days ago 0 replies      
Nice article on why it is cheating (from a mathematical sense, independent of language) to get scores from the hold-out leader board too many times (plus some methods to mitigate the effect): http://arxiv.org/abs/1502.04585 .
mikeskim 2 days ago 0 replies      
As long as you make the public leaderboard set small, and the private one shot leaderboard set very large, the number of submissions matters very little in the final rankings. The only real issue is hand labeling the public leaderboard set to augment training data.
TuringTest 2 days ago 1 reply      
You can skip that part and start reading at "Conclusions". The first section merely describes an unrelated experiment, show for contrast, as an example of successful research that doesn't commit the sin of overfitting. In fact, the reasons of why this is such a scandal are explained in surprisingly understandable layman prose.

Edit: A MIT review linked from the article has a simpler and more detailed explanation of how the test system was abused, and why they did it.


jacquesm 2 days ago 3 replies      
Happy to oblige. First: Chinese companies do not cheat on 'everything', that's a generalization that holds absolutely no water. Second, begging for downvotes is such a non-productive thing to do that it is a part of the HN guidelines.

"Please don't bait other users by inviting them to downvote you or declare that you'll probably get downvoted."


king_of_nouns 2 days ago 2 replies      
Meh.. I'm not so sure about this.

Didn't people claim "cheating" back when the first compilers started doing data flow analysis too?

Email made me miserable, so I decided to build my own email app from scratch slate.com
271 points by dmbaggett  2 days ago   160 comments top 28
plehoux 2 days ago 5 replies      
"Maybe the dream of an email-free future isn't dead; maybe it just means a future in which email is merely a sliver of our communication rather than the whole pie."

Email is victim of its own success, like cars & highways in America.

Highways are not bad per se, they were and are an incredible revolution. But too much of them means the value we collectively subtract constantly diminish. We need alternatives: walkable neighborhoods, bike lanes, tramways, trains, bus, etc.

It's the same with email, we need alternatives. Chat services like Slack & HipChat are good examples for internal communication.

Email's decentralized nature and ubiquity mean it's the perfect tool for external communication. I don't see why this would change.

camgunz 2 days ago 1 reply      
The most remarkable thing about this article to me was that a journalist with moderate programming ability was able to build an email client. I think as coding becomes more accessible we'll start to see truly novel approaches and applications. People say C succeeded because of UNIX, and JavaScript succeeded because of the web. I'd guess the next language will succeed because it makes true software development fully accessible to people who haven't spent years learning how to do it.
dmbaggett 2 days ago 1 reply      
Chris Kirk, the author of this piece, interviewed me briefly. I have to admit that when he told me he was writing his own email client for the story, he became my tech journalism hero.
ForHackernews 2 days ago 5 replies      
Am I the only person in the world who thinks email works pretty well? Maybe I just get less mail than many people, but I just delete (or mark "read" and ignore) most of the marketing ham mails I get. I read and respond to the actually-important messages I get for work or from personal contacts. Actual spam is pretty well filtered.

I vastly prefer email to Facebook messages, or Slack notifications, or any of the other purported "solutions" to communication.

Why do people hate email so much?

tunesmith 2 days ago 1 reply      
I've always thought an effective if brutal strategy might be the one that won't even deliver your email to you if you're not at Inbox Zero, and then it delivers a day at a time so you might end up days or weeks behind. And maybe it would give you clues, like, "you have 47 additional emails waiting from this sender", so if they're spammy, you could just unsubscribe right there and it would delete them upstream without you even having to look at them.
jrapdx3 2 days ago 0 replies      
A few years ago I wrote a webmail client to access my mail on the server host. I had developed a web server (in Scheme no less) that was/is running (now on a VPS) and at the time it seemed only natural to extend it with webmail functionality.

The effort was successful (for some definition of success), though it proved a to be a daunting task. It taught me a lot about email, that it's riddled with arcane protocols and dark corners, these "features" pretty much without consistency or order. On top of that there was constructing the UI needed to actually use the thing.

Would I do it again if starting from scratch? I don't think so, it sure seems the hard way to go about it. No doubt I could recommend it as a great learning exercise, but for creating a product I don't think it's the pragmatic way to go.

I've considered publicly sharing my project, but not before refactoring some prodigiously opaque, obscure and convoluted parts, and who knows when I'll have the time (or courage) to tackle it.

Email remains at once a great wonder and horror, yet for all that email continues to be widely used, and remains essential to most everyone. I still use my email client most every day, despite its warts. I guess it's proven its worth after all.

vpeters25 2 days ago 3 replies      
I find very interesting how the author describes some of the shortcomings of IMAP. The article seems like a nice starting point for requirements to create a new email protocol.

Like the author, for years i've been bothered by email, but as someone who has been maintaining mail servers for 20+ years my biggest issue is the server side of things.

SMTP, POP and IMAP have served their purpose way beyond their original scope. I think going to the drawing board and coming up with a replacement is long overdue.

aaronem 2 days ago 3 replies      
Why use email as a to-do list, when it's obviously so poorly suited for the role? Why not use email for things email's good at, and use one of the wide variety of to-do list tools for task tracking?

When you need to refer to an email from a to-do item, there's ways to do that; some clients support direct hyperlinks, and others can be dealt with by just including the date/time and sender or subject of the email in the to-do item's notes, so that you have the information you need to quickly find the message via search. You can also include excerpts from email, or even whole messages, directly via copy-and-paste; after all, it's not as though they are going to change once received, so there's no sync problem to manage.

Granted, this might seem like being more effort than just mapping task list semantics onto email. But the article under discussion here chronicles its author's essentially having reinvented every task abstraction all the way up to the project, solely in order to overcome the inherent drawbacks of trying to use email as a task list. It seems impossible that this could be easier than just finding a task list tool that has the features you need, and learning to use it alongside your preferred email client.

oever 2 days ago 3 replies      
The repo is here https://github.com/cperryk/slatemailI've no idea how to run the app. It seems to be a graphical node.js application.
golergka 2 days ago 1 reply      
May be the author is a bad programmer but undeniably, he's a great tech journalist.
egometry 2 days ago 2 replies      
He dwells too much upon the age and cruft of email, but this article reads more like a layman learning for the first time about Hofstadter's law, general programming project mis-scoping, and dealing with technical debt he himself created... which is kinda cool to hear about from "the outside".
rokhayakebe 2 days ago 1 reply      
Perhaps Email serves its purpose perfectly: send/receive messages. For everything else, we could either extended it via plugins or create different tools SMS/Chat apps/etc...
CaptSpify 2 days ago 3 replies      
keeping up with email became a snap for me once I discovered mutt and procmail. This post definitely falls under "reinventing the wheel", but I can't say that's a bad thing. Unfortunately, most people's workflow is so different, that having one email workflow/interface just won't cut it, and sometimes it takes a custom solution.
larksimian 2 days ago 1 reply      
Liked the article but it produced a weird dissonance in me. On the one hand I totally empathized with his frustration/excitement at building a cool bit of software for himself. On the other hand I've never had problems managing my email inbox, mainly because I don't get that much relevant email.

In particular, since the Gmail tab redesign I've not had an issue keeping my Inbox unread count at 0(though with my Promotions/Updates/Forums tab unread count in the who-knows-how-manies). I guess this confirms his point about email protocols being dinosaurs, since the way Gmail implements its tabs is tied into their client implementations and doesn't work in other email clients.

The overall impression I ended up with was that Slate is simply using email for workflows it was never meant to support and is not very good at supporting. Email chains are not a good way to do project management/planning. It's good that they've started using Slack for chat-like communication. They should adopt some sort of project management app to manage projects. If you've got a user that's used to Gmail, they can learn Trello, for instance, in about an hour.

I tend to think about 3 levels of communication: chatting(text, audio, video); email; project related. Each level requiring additional structure and being a bit more cumbersome to use than the last when writing, but easier to use when reading/searching for information.

In that sense it makes sense to use 3 (sets of) tools for 3 different types of communication. The main downside is that it's somewhat complicated to transfer a conversation from one channel to another. However doing all 3 in one application leads to the risk of making a simple use case too complicated or a complicated use case impossible.

The ideal integrated communication app would need to provide IRC-like chat power, Hangouts/Skype like chat simplicity(+audio/video support), Gmail like email usability and auto filtering, and more than Trello-like project management/collaboration tools(for instance, having Google Doc-style shared documents properly integrated into it). All usable in interfaces designed for the particular level of communication you are engaging it at the time, but allowing you to move 'threads' of conversation up or down the hierarchy easily. I've not encountered anything that does this right. Heck just being able to properly integrate Gmail, hangouts chats and google docs/google doc comments between each other isn't possible and all those are made by the same company.

jakejake 2 days ago 1 reply      
Having built several in multiple languages, I'd recommend for anyone to build their own email client.

It's quite easy to get the basics up and running but quickly becomes tricky getting all of the messages to display consistently. Then you can add embedded images and attachments to the mix. The list goes on and on. But, you really will learn a lot about protocols, parsing text & binary data, working with legacy formats and just all kinds of interesting stuff. Even if you don't wind up with an amazing client, it's still a lot of fun!

noddingham 2 days ago 1 reply      
The most salient point he makes is when he says there's a difference in what email was designed and how we use it today. And it sounds like Slate needs better tools.

Do you even Confluence / JIRA (or insert your preference here)? If you'd stop trying to use email as the one tool for everything, you'd stop (or significantly reduce) the times you run into it's supposed shortcomings.

clscott 23 hours ago 0 replies      
This is an interesting read, when I saw a few of the comments here ask "how hard can it be?" I was reminded of this presentation by Rik Signes at YAPC::NA (2008)

Email Hates the Living


slowmovintarget 2 days ago 1 reply      
I couldn't help thinking of Google Wave while reading this. There was one missing feature that made a handful of my friends and I stop using it: regular GMail in the same client.

If we didn't have to switch back and forth, Wave would have slowly grown to dominate most electronic conversations I had with friends and colleagues.


afarrell 2 days ago 1 reply      
Isn't Nylas (https://www.nylas.com) supposed to fix this problem?
hackuser 2 days ago 0 replies      
Another, much longer and more technical view of the complexities of email clients:

Why email is hard by Joshua Cranmer of Mozilla:


collinmanderson 12 hours ago 0 replies      
"When Gmail launched as a public beta in 2007" - Wasn't it April 1, 2004?
siscia 2 days ago 1 reply      
We are working on this same problem providing unlimited, disposable, email for all.

We are getting close to something similar to an alpha version, feel free to subscribe: mailroad.co/

listic 2 days ago 0 replies      
Aren't there already email solutions out there that treat email as a to-do list, divide it into discrete projects and so on? I believe there should be some, based on Allen's GTD method, if nothing else. (https://en.wikipedia.org/wiki/Getting_Things_Done)
barbs 2 days ago 0 replies      
> I found the process frustrating, humbling, and strangely fun. I imagined I was on CSIbut instead of a person, it was my app dead on the floor, and I had to find out who killed it and how

What a great way to think about bug-fixing!

z3t4 2 days ago 0 replies      
I still believe that multi-part e-mail conversations can be cleaned up with a few "diffs" and presented in a chat-like view.
aplorbust 2 days ago 3 replies      
How is Slack different from IRC or using netcat on a LAN?
nodivbyzero 2 days ago 1 reply      
Discover Emacs with powerful Gnus.
Murk 2 days ago 0 replies      
How to Make Python Run as Fast as Julia ibm.com
191 points by bsg75  1 day ago   115 comments top 16
jordigh 23 hours ago 8 replies      
I don't think this is accurately representing Julia's aims. Of course the Julia team wrote the Python code in a way that makes it run slowly. But it looks like perfectly natural Python code! It's almost a literal translation of the Julia code. Julia's benchmark is even far worse with Octave, which they almost deliberately wrote in the worst way possible for Octave, with lots of loops and recursion.

We have written some documentation for Octave in order to guide people towards writing faster Octave code:


But look at how much we have to explain, and look at all the hoops we have to jump through in Python and Octave in order to write faster code. Matlab used to have similar guides telling people don't write this, write that instead.

What Matlab eventually did was look at what people were writing and making that fast. Julia did the same and made it even faster.

This is a lesson from C and C++ compilers that seems to be taking a long time to trickle to other programming languages: as long as you're writing reasonable code, speeding up your code is your compiler's job, not yours. Your compiler usually knows better than you how to unroll loops, how to cache results, how to use multiple cores, how to elide unnecessary intermediate results, how to completely remove dead code. You should focus on writing easy to understand, maintainable, high-level code. That's why you're using a programming language and not machine code.

thebooktocome 23 hours ago 4 replies      
The point of the Julia benchmarks was to show compiler performance.

You can do something clever in any language. There are plenty of really, really smart people that spend a lot of time writing incomprehensible (to me) Haskell that outperforms C.

The question is, do you have to do something clever to get performant code in the language of your choice?

In Julia -- not often. I've written around 50kloc of Julia; almost all of it is first-pass prototype code that manages to be performant despite itself. The most polished code I've written in Julia is about 100x faster than the MATLAB it replaced.

IMO, the main advantage of Python is its massive library of modules. As a prototyping language, on the other hand, it just seems to me that Julia is more flexible.

pathsjs 15 hours ago 0 replies      
They really lost me at "Caching computations". It should be clear that the benchmark is NOT the quickest way to compute Fibonacci numbers. The reason why it is included at all is that - without caching - computing Fibonacci numbers this way involves an exponential amount of computation, so it is easy to get long running times. Using a cache invalidates the point of doing the benchmark at all!
saurabhjha 21 hours ago 0 replies      
I have worked with python in two domains- scientific computing and web applications

- In scientific computing, we can either use better algorithms (yes, that makes a lot of difference) and dropping to C as necessary. The canonical example of the second alternative is Numpy.

In my humble opinion, the expressive power of python is what makes it an excellent language for scientific computing. For these kind of problems you cannot afford to worry about buffer overflows and memory allocations. You need a free mind to think about mathematical algorithms.

My own approach is to use python whenever I can do it and then use cProfile to determine whether to port some parts to C.

- If you are using python in application server, most of the time is spent waiting for data. Mostly, the job of application server is to collect data and make some kind of response which is not CPU intensive.

What you should optimize for in this case is data access patterns and creation of data objects. On the other hand, if you have any CPU intensive work, write it as a separate service outside of your application.

stefantalpalaru 13 hours ago 0 replies      
> I am not using an alternate implementation of Python here

What does he think Cython and Numba are?

> I am not writing any C code either

No, he's just using libraries written in C and Fortran in a ridiculous attempt to praise Python.

> Writing better Python code to avoid unnecessary computation

You don't improve a language benchmark by changing the algorithm. If you don't understand why, you have a lot more to learn before teaching people how to "make Python fast".

tokai 17 hours ago 1 reply      
You can easily make Python run nearly as fast as Julia while only using the standard library.

 import subprocess with subprocess.Popen(["julia", "tongue-in-cheek.jl"], stdout=subprocess.PIPE) as proc: print(proc.stdout.read())

Animats 21 hours ago 3 replies      
Suprisingly, they didn't try PyPy, which is about two orders of magnitude faster than CPython on simple loops. PyPy needs to become the main production version of Python. CPython should be viewed as obsolete technology, like the original non-compiling Java interpreter in Netscape 1.
jankiel 13 hours ago 0 replies      
"Making it fast" wad not a goal of that benchmark. The whole point of it is measuring core features of the language - looping, recursion and so on. That's why they have this horrible Fibonacci impelentation: to meadure how language hanfles recursion.

Author misunderstands this. If you say that you're optimizing python by calling C, then something's wrong here.

pjmlp 17 hours ago 1 reply      
The difference is that in Julia one stays within the language, doesn't need to use subsets of the language or optimized C libraries where the language plays a glue role.

I would agree with the article if Cython and Numba would support 100% Python or Numpy wasn't used to achieve similar execution speed.

chrispeel 22 hours ago 1 reply      
The benchmarks seen at [1] which compare Julia with other languages were written to be idiomatic in those languages. I.e., they weren't supposed to be the fastest you could be in that language (which often would mean call a C library), but rather something which represents the language well. So the right criticism is not just if the benchmarks could be made faster, but also whether the speedup is too tricky or hard or requires calling wrapped C libraries.

[1] http://julialang.org/benchmarks/

gaze 22 hours ago 1 reply      
Turns out that if you bend over backwards and use some libraries and do a bunch of awkward stuff you can make most languages fast.
princeb 15 hours ago 1 reply      
i noticed that running arithmetic loops tend to be the popular method of benchmarking these three languages.

I don't know how many folks who use MATLAB care that much about loop performance that they will be inclined to look at Python or Julia just because someone found an amazing improvement there.

The one thing that made me finally go over to Scipy from MATLAB was that I changed focus and no longer have to do analysis involving nonlinear/stochastic optimization. Several years ago (maybe 2009?), Octave was really struggling with speed here, and numpy still felt too new. I vaguely remember needing to wrangle with the mathematics a lot more (like approximating the Jacobians or Hessians) in order to get Octave to work. On the other hand I can only remember a handful of times where I needed to get MATLAB to do loops like these benchmarks (like maybe Runge Kutta or FD ODE solutions). Loops are really quite unnatural/unidiomatic in MATLAB, if you can keep your algorithm as close to linear systems as possible it's quite fast.

Has it changed much since? I know right now most of the important nonlin opt algorithms are available in scipy and if you want more there are external packages, but you still have to tinker a bit for the best solution. There's nothing like mindlessly using fmincon for every single problem in the world. I am only a layperson at nonlinear optimization, so I can't tell you why MATLAB is so much better out of the box.

porker 17 hours ago 2 replies      
While it's great to make code run as fast as possible, not every scientific problem is bounded by code execution.

I've recently been writing satellite image processing code, and profiled it thinking the algorithm was the problem. It turned out that even on a SSD nearly 90% of the program time (~30 minutes) was reading from & writing to disk intermediate image files.

More could be kept in RAM, but high-memory cloud machines aren't cheap, and our local development machines only have 16-32GB.

awqrre 20 hours ago 0 replies      
Python is really slow but performance can be improved by just switching to a different interpreter.
mahouse 23 hours ago 3 replies      
By rewriting Python code into something that does not resemble Python not even remotely, you can make Python code run faster.
hltt 12 hours ago 0 replies      
use Pyston
Graphics Drivers shiningrocksoftware.com
237 points by andyjohnson0  2 days ago   20 comments top 8
overgard 2 days ago 1 reply      
My experience with apple is that you should only use API calls that have been around for 5+ years, because everything else is essentially broken.

For a company that relies on GPU effects for everything, it's amazing how bad they are at supporting OpenGL. I remember a few years ago Valve basically wrote an open letter to Apple to fix their shit, and .. well you can play Portal now, but the state of OpenGL on OSX is still a disaster.

exDM69 2 days ago 1 reply      
So, it seems like the renderer is doing a lot of small updates to buffers, causing pipeline stalls. The article does not mention the size, offset and alignment used to update uniform buffers, which may play a huge factor here.

The details of CPU-GPU buffer coherency are hardware specific, but using a larger alignment can help hitting the fast path. At worst, this ends up being a read-modify-write operation to the VRAM over a DMA transfer.

The alignment of individual writes should be at least 256 bytes, prefarably even more. A multiple of a CPU (or GPU) page size may help: 4k, 64k, 2M are good alignments.

In modern OpenGL (w/GL_ARB_buffer_storage)/D3D/Vulkan, you could use a persistent/coherent mapped buffer and explicit sync points. It makes this problem go away, but requires a bit more programming effort to set up correctly.

speps 2 days ago 2 replies      
The problem is with the tool he's using. It doesn't seem to show the "idle" time when calling the OpenGL method. He's very likely hitting a CPU/GPU stall while the data is uploaded to VRAM.

As mentioned by Scott in the comments section of the article, the solution is usually like this (D3D12 has removed dynamic resources for example [0]) :

 So this means if you glBufferSubData into the same address between every drawcall, the opengl driver is forced to execute the command then sync before copying the new data over the old data, which is really slow. What you are meant to do instead is create a buffer with glBufferData that is large enough to hold at least one frame worth of uniforms. Then use glBufferSubData with a **different offset** for each drawcalls uniforms, so they end up next to each other in GPU memory. Treat it as a circular buffer.
[0] https://msdn.microsoft.com/en-us/library/windows/desktop/dn8...

gavanwoolery 2 days ago 0 replies      
Juggling uniforms and buffers is something that will get messy fast unless you take the time to organize it early on. I wrote my own preprocessor that can dynamically bake values into the actual shader code (by injecting text and recompiling the shader during run time) - which is useful for putting in values that are determined by the CPU but more or less constant through the life of the program (the preprocessor allows other neat tricks like automatically binding a slider to a variable to test a range of values for that variable). This also saves time where possible by minimizing CPU-GPU communication. During one test I did (which certainly is not conclusive) I noticed uniform buffers performed slower than using normal uniforms - not in uploading the uniforms but rather reading them in the code. This may have been due to needing to compute an extra offset or something.
scoopr 2 days ago 1 reply      
Hm, doesn't the glBufferSubData update the one and the same bit of memory on gpu, having the driver wait for the draws that dependent on the previous values to go through, before letting the update values through. You could use glBufferData allocate a new bit memory (with NULL ptr it would just be discarding the old values).

Other ways would be to fill a bigger buffer with all the different uniform values at once, and then pointing to right bits of it with the drawcalls.

jobvandervoort 2 days ago 0 replies      
This is a nice follow up to this post [0] on porting a Windows game to OSX.

[0]: https://news.ycombinator.com/item?id=10545143

tux1968 2 days ago 1 reply      
Makes this post about Vulkan timely...


pjmlp 2 days ago 0 replies      
And this is the fun of "portable" OpenGL, one code path per driver/platform....
       cached 17 December 2015 03:11:03 GMT