hacker news with inline top comments    .. more ..    9 Feb 2015 Best
home   ask   best   4 years ago   
A Xenon flash will cause the Raspberry Pi 2 to freeze
points by voltagex_  1 day ago   120 comments top 28
tdicola 1 day ago 4 replies      
Oh neat, I just reproed it with a Pi 2 and a Canon Speedlight flash. I'll put my scope on the power lines and see what's happening when you flash the board. Sounds like from the thread one of the power ICs is photo sensitive.

edit: Wow yeah, here's a look at the 3.3V power line when you flash the board, it drops almost down to 0V and then wildly fluctuates for about 100 nanoseconds: http://imgur.com/hG86pRy

edit 2: Another interesting measurement, with the board _totally unplugged_ and flashing it you can see a big voltage spike on the 3.3V rail. Up to 6-7 volts or so for a few nanoseconds: http://imgur.com/td262QK

I guess not only can you learn about electronics but also Einstein's photoelectric effect with the Pi 2!

teddyh 15 hours ago 0 replies      
From The Devouring Fungus, Karla Jennings, 1990, chapter 10, The Monster Turns and Falls to its Knees, p. 211:

Another legendary debacle triggered by light hit at a highly publicized affair thrown by IBM, ironic considering that IBM is the master of the seamless image. D. E. Rosenheim, who helped develop the IBM 701, the first mass-produced modern commercial computer, recalled the famous faux pas, which occurred when the company held a dedication ceremony for the 701s installation at its New York headquarters. Top-level executives, the engineering team, and a gang of reporters crowded the ceremony room

Things went pretty well at the dedication, said Rosenheim, until the photographers started taking pictures of the hardware. As soon as the flash bulbs went off, the whole system came down. Following a few tense moments on the part of the engineering crew, we realized with some consternation that the light from the flash bulbs was erasing the information in the CRT memory. Suffice it to say that shortly thereafter the doors to the CRT storage frame were made opaque to the offending wavelengths.

Those who do not know their history are doomed to repeat it.

exDM69 17 hours ago 1 reply      
This reminds me of an old Finnish engineering legend from the early days of Nokia. The guys had just built an important prototype of some network equipment (early GSM base stations IIRC), which was going to be demonstrated for the press. All tests and previous demos had gone fine.

But as soon as the demo for the press started, the machine crashed. The management was upset. Later, the reason was found to be some old EPROM chips that are erased using UV light, and the photographers' cameras had strong flashes that went through the tapes covering the "window" on the chip. This caused the program memory to be corrupted when a photograph was taken.

ChuckMcM 1 day ago 0 replies      
That is fun, reminds me of the 'yelling at the drives slows them down' video.[1]

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

Johnythree 1 day ago 1 reply      
One of the standard tests to gain an EMC Compliance Certificate is a spark discharge test.

Any experienced engineer will have a Spark Generator (Car Ignition coil, spark gap and short Dipole) to test to see if his latest project misbehaves when confronted with Impulse Interference.

As an EMC Investigator I would always carry a spark generator to demonstrate to newby engineers why EMC Compliance is so important.

I've seen a spark from 50ft away crash or reset a microprocessor system. Just the static discharge from walking on carpet is often enough.

Animats 23 hours ago 1 reply      
There's nothing mysterious about this. Semiconductor gates are light-sensitive. There's usually carbon black in the plastic of plastic-packaged ICs to prevent interference from light. The opacity isn't perfect, though. For that you need ceramic or metal-encased ICs. Still, this is a rare enough problem that IC data sheets don't specify a maximum tolerated illumination level.

Try some laser pointers, especially towards the blue end of the spectrum where the photons have more energy. You may be able to trigger this effect by pointing at a specific IC.

dietrichepp 1 day ago 1 reply      
Reminds me of old EPROMs. You can buy special "light sensitive" transistors, but they're really just ordinary transistors with a window in the case, since ordinary transistors are light-sensitive. You can even use an ordinary 1N4148 diode as a solar cell, it just doesn't generate much power.

The fix is simple: apparently, you just have to cover U16, which controls the power supply.

mholt 1 day ago 1 reply      
Shortcut to a video of this phenomenon: http://youtu.be/wyptwlzRqaI?t=1m29s
swamp40 1 day ago 6 replies      
A xenon tube is a spark gap.

If there's anything in this world noisier than a spark gap, I don't know what it is.

I think the first radio transmitters were spark gaps.

The energy flies thru the air, and is coupled onto the power line.

The power supply doesn't cope well with the oscillations, and hiccups.

I see the notes about U16 being photosensitive, but if it is a black epoxy like most IC's, I'm not buying that light gets into it.

It's possible that blue tack shields the EMP a bit.

wolfgke 15 hours ago 1 reply      
Question to HN: Does also the Raspberry Pi 1 B or B+ have this problem or is the Xenon flash problem specific to the Raspberry Pi 2 B? Is somebody willing to do this experiment/has done it?
DalekBaldwin 6 hours ago 0 replies      
Looks like there's some truth to the belief that a photograph steals its subject's soul.
agumonkey 16 hours ago 0 replies      
The new wave of single board computers really exposed me to the amount of failure that can happen at the electrical level. Growing up with large ATX boxes I'd never expect so many things to go wrong.

btw: anyone tried to light-freeze other devices (banana, orange, cubie, etc) ?

tonteldoos 1 day ago 0 replies      
A computer with actual strobe-induced epilepsy. Looks like the singularity is closer than we thought.
sqren 1 day ago 0 replies      
Video demonstrating the issue: https://www.youtube.com/watch?v=wyptwlzRqaI
thought_alarm 1 day ago 3 replies      
Why would a switched-mode-power-supply chip be photosensitive?
mikerr 16 hours ago 0 replies      
Here's a pic of the chip in question(so you can cover it up)https://pbs.twimg.com/media/B9Ut_QwIQAACrp_.jpg
bitwize 19 hours ago 1 reply      
Someone commented "Fire photon torpedoes..."

In light of Heartbleed and Shellshock, I propose calling this the Photon Torpedo vulnerability.

mikerr 16 hours ago 0 replies      
The problem IMO that the chip in question doesn't have a plastic cover,look how shiny it is in this video:https://www.youtube.com/watch?v=c7p2OcQ7G58

A laser (no EMP!) shone on that chip will also crash the Pi.

yuhong 1 day ago 0 replies      
As a side note, the power supply chip directly uses the 5V from USB, right? Wonder if it is tolerant of 3.3V as common when running from batteries.
pervycreeper 20 hours ago 2 replies      
Slightly OT: is it now possible to run a completely free OS on this new version? I've been getting contradictory info on this so far.
arnie001 1 day ago 0 replies      
It's interesting this was not caught before..
nh 1 day ago 1 reply      
Good find OP! I wonder how many electronic devices would have similar problems if we took out the covers?
ozy23378 1 day ago 0 replies      
That Pi isnt very photogenic.
nacs 1 day ago 0 replies      
This was clearly designed to sell more opaque cases. /s

Or to look on the upside, the Pi now comes with a free photodetector.

Alupis 1 day ago 3 replies      
I just ordered two of these, and they will arrive on Tuesday.

Makes me sad because I'm imagining a Raspberry Pi 2.1 release in the near future now...

psgbg 1 day ago 0 replies      
thrownaway2424 1 day ago 2 replies      
That comments thread contains a head-smacking quantity of ignorance. "Is it the light or the EM pulse?" What?
pmalynin 1 day ago 2 replies      
Explanation:Camera's have capacitors that charge up in order for the flash to happen. They are usually quite powerful. Now during the discharge (aka flash) what you have is very high energy electrons flowing across the wire creating aa magnetic field, coupled with the electric field of the electron you get a mild EMP.

And if it is light sensitivity then it should be tested with a bright continuous light

First Impressions Using React Native
points by jlongster  2 days ago   188 comments top 29
azakai 2 days ago 11 replies      
I think it's a very strong point that moving script code off the main thread can help achieve smooth UIs. No more GC pauses, no more slowdowns if the JS engine hits a snag, etc.

I think this is actually possible on the web as well. Someone could write a UI framework which runs JS in a Worker, and sends messages to the main thread, on which there is HTML and minimal JS to receive the messages and handle them.

I'm surprised this hasn't been done, or has it and I just haven't heard about it?

If you're worried about the overhead of transferring lots of messages from the Worker to the main thread, I think it can be pretty fast actually. I did an experiment with proxying WebGL that way, which is a fairly high-traffic API, with nice results,


For something rendering a UI, message passing overhead should be reasonable, especially if the framework is smart enough to only send over what changes (like React Native does).

jenius 2 days ago 3 replies      
> "This is solid engineering. And it completely reinforces the fact that React.js is the right way to build apps."

This just comes off as really weird to me. Why would any sane developer make a statement like this? It sounds preachy and brainwash-y and weird. If there's anything we learn as developers it's that there never is and never will be a single "right way" to do everything. Reading stuff like this makes me doubt the entire article.

There's a difference between writing objectively about something that's interesting that you enjoyed, and trying to lay down a dogma. TBH, the more of this article I read, the more my view of it's goals swayed towards the latter.

danabramov 2 days ago 4 replies      
Declarative UI is boss.

I know Andy (former UIKit team) was quoted in the intro thread but I'll do it again:

>I say with confidence as a former UIKit author: React's model for the UI layer is vastly better than UIKit's. React Native is a huge deal.


If you're averse to React because of JSX, mixing templates and views and similar superficial best practices, you're missing out. Engineers embracing React are not dumb. You should consider a possibility that they think it's good for a reason, and that reason is something you should learn about instead of armchair-rejecting it.

Try tuning out your inner rule-of-thumb linter for a weekend and really give it a try.

yuchi 2 days ago 2 replies      
Seriously please stop making assumptions on Titanium without knowing a thing about it.

> With the latter, you're also interfacing directly with native objects all the time, which is doomed to fail performance-wise. React Native actually performs the layout on a separate thread [...]

Wrong. With Titanium you work with proxies. And JS is in a separate thread. The only actual difference between ReactNative and Titanium on this side is the functional/fully-declarative/almost-stateless vs imperative DOM-like philosophy.

Let me slip this through: if you dont know something then dont make it look like you do.

Sorry for the rant. Im just very upset from yet another post like this.

api 2 days ago 1 reply      
I'm looking forward to desktop UIs also being supported by something like this -- e.g. native Windows, GTK+, and Cocoa widgets. Then we'd have a true framework for writing GUI apps that can share most of their code across the whole range of platforms, which would make me literally stand up and start singing right now. Lalalalalalala!

If you coupled this with conditional stuff around what kind of form factor you're on (screen size, etc.) you could design mobile first UIs that gracefully enriched on a larger form factor. Lalalalalala!

I don't know of Facebook cares, but I WILL PAY FOR THIS! For a well-engineered modern platform that did all of the above I would pay thousands of dollars. So if the choice comes down to staying free and abandoning this effort vs. making it a profit center, please for the love of all that is holy take my money.

Really when you look at the labor costs of developing parallel UI efforts on many platforms, a cross-platform dev system that delivered a high quality native-feeling experience across every major platform could be worth at least tens of thousands of dollars to millions of people.

saosebastiao 2 days ago 10 replies      
I love the concepts behind React, and I agree this is a huge deal...I just wish it weren't javascript. It is a terrible language, and the languages that compile to javascript are a poor substitute (bloated code sizes, interop issues, poor runtime performance, etc). For a framework that is all about state machines (a good thing! All UIs are state machines), I hate that there aren't better ways to model them in the language. I would kill to be able to do React in F# or OCaml.
jobu 2 days ago 1 reply      
Sounds amazing... What are the challenges, limitations, and tradeoffs for using React Native? There have been similar initial reviews of Titanium, Phonegap, and Xamarin, but in my experience they all have serious issues that make native development a better option in most cases.
abalone 2 days ago 1 reply      
Probably the most useful way to get a read on this is to compare it to Titanium, also a JS-to-native framework that runs JS on a separate thread. The biggest problems with Titanium were not performance. A couple of the most common complaints:

1) You don't have full access to native SDK functionality (e.g. all the latest cool things in iOS8). You're going through a cross-platform API wrapper and limited to the choices of the framework architect. So it can be frustrating to go down this path only to find you still can't quite get the native experience you want.

2) Debugging is harder because the native toolchain (e.g. Xcode) doesn't understand the framework. You have to rely on tools provided by the framework.

AFAICS the author doesn't address these issues. He seems to focus largely on the (theoretical?) performance optimization of not crossing the JS-to-native bridge as much in React... by being even more isolated from the native APIs and doing more work in JS. But even if true, performance was not the chief complaint with the closest predecessor to this.

jordanlev 2 days ago 1 reply      
> the mess of HTML and CSS get in the way of frameworks instead of helping them

I totally understand where the author is coming from, and do agree... BUT there is a flip side to this, which is that HTML and CSS enable us to come up with and implement totally unique designs and interfaces. The lack of standard layout and complex "widgets" is definitely a pain in the ass, but it also enables a lot of unique-looking websites and designs. It's kind of a pet peeve of mine when platforms/CMS's try to output markup instead of just providing data to the view layer... they are always outputting the "best practice" (if lucky) at the time they were built, and then a year or two later you want to do things a different way and you're stuck.

So I'm super excited about React.js and love the simple mental model with flux etc., but another part of me also worries that one can't dictate the markup exactly the way one wants because it has to be recognizable to the virtual dom as well (or the iOS view in native, or whatever other front-end React will output to).Maybe someone with more React.js experience can enlighten me about this though? (I've only dabbled).

datashovel 2 days ago 0 replies      
I get this weird feeling that React Native has been created as a stand-in until webview is truly ready to take over mobile. I can't imagine a scenario where by end of 2015 (or early 2016) mobile webview technology won't be sufficient for 99% of mobile apps.
mhd 2 days ago 1 reply      
So if this is native widgets etc., the main point is being able to write this in JavaScript, right? Anything in it for those who don't consider this inherently beneficial?

Souns a lot like GWT, s/Enterprise "architects"/Web "ninja"/ to me.

fidotron 2 days ago 1 reply      
OK, so how long before we backport the Android UI toolkit to WebGL using GWT and get rid of HTML and CSS altogether? Or even just write a sane new one?

Very interesting that this stuff comes from Facebook, who have very little concern about being indexable by search engines.

jsprogrammer 2 days ago 5 replies      
The code style really reminds me of ExtJS circa 2.x (not sure what it's like now), which was pretty good at what it set out to do. However, React Native requires compiling down to various different platforms which means having to maintain multiple compatibility layers to continually shift to keep up with the native vendors. You're also pretty much stuck with proprietary distributors as well. Fun. Fun.

This does look interesting, but honestly, I think this can either already, or very soon, be replicated on the web, a platform which holds tremendous advantages that native will likely never be able to catch up to. Perhaps there's an argument that these apps can also be translated to the web when their time comes, but I wonder what sacrifices are being made in the name of going Native?

React Native seems to be an attempt to fight in the opposite direction (Web -> native) while the real momentum is going the other way (native -> Web), and the best part is, you don't even have to do anything to get it, the major players are building that open ecosystem for us.

swanify 2 days ago 0 replies      
As someone who has developed many apps using Appcelerator Titanium, I am looking forward to getting my hands on this to see where the differences lie.

I know that it has taken Titanium years to mature, so I wonder if it will take a similar amount for React to iron out the bugs - I'll be surprised / pleased if they hit the ground running.

Hopefully they'll hurry up and make it public!

pothibo 2 days ago 2 replies      
I'm assuming React Native can load external JS files over the network? If that's the case, then I understand why Facebook is building this.

They could have control of their application and behavior and make even more changes than before without re-submitting to the App Store.

akrymski 2 days ago 0 replies      
I can't help but feel that all this energy would be better spent on improving webkit itself (such as running JS in a separate thread to the UI)
Taig 2 days ago 0 replies      
For me the best of the web has always been HTML & CSS which I miss so often when dealing with native widgets or creating my own. The only thing that used to scare me off the web was JavaScript. Give me a HTML & CSS frontend, please. But let me keep my beloved Scala or Swift ;)
GrinningFool 2 days ago 0 replies      

    "React Native actually performs the layout on     a separate thread, so the main thread is as free     as it can possibly be to focus on smooth animations      (it also provides flexbox for layout,     which something that no other framework provides)" 
Interestingly - though perhaps increasingly less relevant - this is how BlackBerry 10 platform native QML-based applications work as well.

serve_yay 2 days ago 0 replies      
I'm still very excited to try it. I agree that this is the way forward for writing apps. I have attempted to write iOS apps before, and the problem is not objc, I actually kinda like objc. The problem is the damn view layer.
falcolas 2 days ago 1 reply      
Didn't we do this already with Qt? Or Java? Or wxWidgets? Or OpenGL? Seems like cross-platform UIs have been a reality for quite some time.

What does React bring to the table that these do not?

bsaul 2 days ago 0 replies      
Wonder if the ability to easily refresh the view will make a difference to ios dev used to the wysiwyg approach by xcode for building views.
malandrew 2 days ago 1 reply      
This is yet another reason why you shouldn't use animations in CSS3 and should do them in JavaScript. I honestly don't understand how behavior (which is what animations are) got baked into a declarative style language.

Layout (which is also behavior if the layout changes with the dimensions of the viewport) and animations are two things that need to be removed from CSS and implemented in JavaScript.

arxii 2 days ago 0 replies      
sounds interesting. not a fan on reacts workflow because i use jade templates w/ backbone that get compiled to html for me and its much less code, but separating javascript and native components into different threads is a great idea.

i believe we should be able to see javascript being used as a responsive language portable across all devices and being used to control native components as a separate layer.

im actually working with a flexbox xml/html wrapper framework for iscroll that i might use to build a responsive app that not only does pc animations but performs alot of nice mobile slider animations that seem to go at 60 fps on modern handhelds, but its up to emerging gapping technologies like cordova and this to make the use of future "responsive ui kits" which i believe should be emerging soon.

regularfry 2 days ago 0 replies      
Soooo... Strap a code editor component on the front and call it Hypercard 9000?
crazychrome 2 days ago 0 replies      
Do a Ctrl + F, then type "android". How many matches have you seen amongst 122+ comments? 2, including this one!
crudbug 2 days ago 0 replies      
This made me think differently => JS can be used as a control layer and the native components are the data layer.
eclipxe 2 days ago 0 replies      
Why not Titanium?
coldcode 2 days ago 0 replies      
Will React's concepts every make it as truly native code I wonder?
zkhalique 2 days ago 1 reply      
OK this DOM stuff is great but what about the other HTML5 interfaces, like sending requests to the server, localStorage, etc. ?
At some startups, Friday is so casual that its not even a workday
points by petethomas  1 day ago   210 comments top 32
Jemaclus 1 day ago 3 replies      
Back when I first got into the start-up scene, I used to work long hours because everyone else did. At some point, I realized that literally nothing has to be done RIGHT NOW OH MY GOD RIGHT NOW. Almost everything can wait until tomorrow morning. Sure, there are some high-priority bugs that are breaking the site that need to be fixed ASAP, but during normal operating procedures, once that clock hits 5pm, I should start wrapping up my work so that I can pick it up fresh in the morning.

I don't take my work home with me, I don't check my work email when I'm at home. It's just not worth the stress to me.

I love my job, I love my work, I feel like I'm contributing to making the world a better place -- it's just not 100% of who I am. I have a dog, a girlfriend, a handful of close friends, a few engaging hobbies, and a ton of books to read and miles to run. I'm more than my job, and once I can pay the bills, the rest of the money is just a nice to have -- but not nice enough to give up my health and sanity.

Then again, I'm extremely lucky to be in this situation, and a lot of people aren't. Some of my coworkers work long hours still, but they seem happy about it. As long as that's true,... well, whatever floats your boat, right?

falcolas 1 day ago 10 replies      
If you're getting your work done, on time, and to the quality specifications, who the hell cares how many hours in the week you work?

We're working on computers, doing work which does not benefit from typing for N hours straight; there is no meaningful correlation between quality/quantity and hours worked.

I wish more people realized this.

not_a_test_user 1 day ago 6 replies      
I can't believe how negative the article's comments are. Is everyone so addicted to work?

I would understand if I could work at top performance 10-12 hours a day, 5 days a week but that's just not possible for me. In the end driving developers to exhaustion is worse for everyone, with subpar code that'll probably require refactoring Monday morning.

jstoiko 1 day ago 4 replies      
I feel like some people have built this fantasy that working at startups is like vacations.

These people probably work their ass off during their 40, 60, or maybe 80 hrs on the job. So they dont understand when they ear that startups' work schedule is more relax because they cannot relate to it. However, when they leave their desk, it's over, they're up to something else and they probably even force themselves not to think about work anymore.

Startups take a relaxing approach to work hours because the (right) person who works there lives and breathes startup 24/7.

It's easy to say when you're a founder (disclaimer: I am one). But it is something I have witnessed in (good) startup employees as well. They think about it all the time.

@falcolas is right, who the hell cares how many hours in the week you spent executing your tasks? Shouldn't the time "thinking" about work be valued as much as "executing" the work? Don't we all "think" better outside of execution time?

blahedo 1 day ago 3 replies      
Two things in the article that I found interesting but were not highlighted:

> "But he soon found himself working that same intense pace until his wife asked him why he was working more and making less. She suggested taking Fridays off."

So the central concept of this workplace format, around which this entire article is based, was the idea/inspiration of Ryan Carson's wife, whose full name is not even mentioned. (Her first name is Gill, but is her last name Carson? Unclear from the article.) Not that it's a purely original idea---other companies have done four-day workweeks before---but it was obviously one that hadn't occurred to this particular founder. Three cheers for Gill possibly-Carson!

> "With Treehouse, Carson said he hopes to, again, buck conventional start-up culture, and not cash out by selling the company, the brass ring for most start-ups, but continue to run it as a sustainable business."

Let's hope that also starts a trend. I'm so heartily sick of companies building a great product and actively recruiting user bases to use and love that product, only to shutter it and throw all the users under the bus when the founders achieve their real goal, which is getting the attention of Google or Facebook or whoever and getting acquihired or otherwise bought out. I know that individual founders and other startup workers will often (indeed almost always) say that they really do care about their users, but as a collective structural pattern in the way that SV startup culture seems to work, it sure doesn't look that way from afar. So three cheers for (the currently-stated intentions of) Ryan Carson!

morgante 1 day ago 1 reply      
While I certainly commend them for being able to make this work (we need more innovation in management practices across the board), it does seem like there's a bit of a holier-than-thou trend in this comment thread.

As the founding engineer at my current startup, I have tremendous flexibility in setting my own hours but I willingly and intentionally work 60+ hours a week. Not because any manager pushes me to. Not because I even have to. Simply because I genuinely enjoy it.

Indeed, work is probably the most enjoyable thing in my life. On a given Friday, I'd rather be building products at work than watching a movie or engaging in some other leisure activity. Some of us don't have wives, children, or friendswe just want to spend our time executing.

Would Treehouse be accepting of that? If not, they're just choosing to enforce a different paradigm of work rather than giving their employees true freedom.

ripberge 1 day ago 3 replies      
Treehouse is actually in a very luxurious position right now. They've raised a bunch of VC and this is a fairly new niche they operate in and more and more of society is recognizing how valuable these skills are. They can work minimal hours, see a lot of growth and everyone is happy.

Fast forward five years from now. There are going to be a ton of tough competitors in this space and eking out revenue growth month over month is going to be much harder. However, in five years they probably have the added pressure to start thinking about something called profitability.

The going is going to be a day of reckoning here when the harsh realities of cut throat competition set in. That just hasn't happened yet.

commondream 1 day ago 5 replies      
I'm Treehouse's CTO and cofounder. I'll try to answer anything I can.
woodchuck64 1 day ago 2 replies      
Fatigue is such a killer of creativity and innovation. When I'm tired I feel my brain deliberately shying away from anything but the familiar and rote. How many great ideas have been sacrificed to stay an extra hour at work instead of using that hour for rest and replenishment?
heynk 1 day ago 1 reply      
At my last job and now at my current job, I negotiated from full time work to less than full time work. Last time, I didn't work Fridays and now I work 20 hour weeks. In each case, I am absolutely more productive (per hour) that I honestly don't know if I get any less work done. On top of that, I have much more creativity and energy. From this experience, I'm always on the side of pushing for less work hours per week as a standard.
xivzgrev 1 day ago 0 replies      
I've been waiting for an article like this. There really is an ethos of working yourself to death, and on surface it can make sense. If you put in 80 hours per week and your competition puts in 60, you'll win because you'll learn more quickly than your competition. But I don't think that accounts for efficiency. If you work 80 hours per week, is every hour equally productive? And if so, are you working on the most valuable things? (Eg can you delegate, outsource, etc?). People like to think so but it's far from a universally held belief.On the flip side, if you work 32 hrs per week, you're pretty much forced to be focused and productive. You'll still have same goals, how do you achieve them in half the time each week? You cut out things.I just graduated from one of the many bootcamps, and about half of students "worked" about 45 hrs per week, vs other half who worked 60+ hrs. And there's been zero difference thus far on who has gotten jobs more quickly. Ok I'm done with my soapbox but I wish more people in valley would consider worldview espoused in this article.Also with the Michael Arrington comment, I don't think most investors give two shits how long you work as long as you are delivering that up and to the right growth.
unimportant 1 day ago 0 replies      
Some startups are so casual, that work is not considered work and more of a paid hobby, with unpaid overtime being insisted upon...
vjeux 1 day ago 1 reply      
> These days, on Fridays, he gets his two young sons off to school and spends the day hanging out with his wife, Gill. Its like dating again. We go to coffee shops. We read books together. I really feel like Im involved in my kids lives and my wifes life,

This assumes that your wife is not working. I've tried taking some days off like this and, in the middle of the week everyone works, so you don't get to hang out much

epberry 1 day ago 1 reply      
"...as a thunder lizard, the tech worlds name for the tiny handful of start-ups that actually become $1 billion businesses." I thought we were calling these unicorns? Maybe I'm behind the times terminology wise.
colmvp 1 day ago 0 replies      
> As far as Im concerned, working 32 hours a week is a part-time job, Arrington, said in an interview. I look for founders who are really passionate. Who want to work all the time. That shows they care about what theyre doing, and theyre going to be successful.

Efficiency is key, not some arbitrary limit of working hours.

Chances are yes, as a founder you aren't going to work just 32 hours a week. But it also depends on the state of the company.

And quite frankly, sometimes you can't solve problems by sitting at your computer or even talking to others in the office. Sometimes it involves taking a break and chilling out or exercising.

stillsut 1 day ago 0 replies      
Pretty simple: if a developer can be 10x-100x as productive than the average developer, you don't really worry about only getting 80% of their required time.

So if this perk gets Treehouse talent that is +30% more productive, even if they lose -20% of productivity from Fridays off, they still win.

One caveat, so much of programming is loading things into your head, I think three days off every week would be difficult for anything sophisticated being developed.

bdcravens 1 day ago 0 replies      
I really don't get much "work" done in the office; most of my work gets done at 2am or on the weekends. (We talk alot and strategize, so technically that's work I suppose, but the actual coding usually happens elsewhere)
kvcrawford 1 day ago 2 replies      
I, for one, immediately checked for Treehouse's open positions. In a world where retention and recruiting are huge challenges for tech, a strong work-life balance policy is very powerful.

Too bad they don't have a need for a front-end engineer right now. I would be all over that.

Keep up the good work, guys!

AndrewKemendo 1 day ago 1 reply      
My question is, what do you tell customers that demand responses Friday through Sunday? I mean if something breaks I am sure people come in/do remote work, so that's not the cases I am talking about. I assume this only works for companies that have non-critical or fully automated products where users don't have any person to person interaction built in anywhere.

I ask because I would love to implement something like this, but we get requests for service or user questions every day - and a three day turn around time on a user issue is terrible customer support - especially if they have other work riding on it. I realize treehouse is different in this respect.

It seems like the more employee focused you are the less responsive to customers you can be.

Sir_Substance 16 hours ago 0 replies      
The stories vary in quality and details, but as far as we can tell the 40 hour week was implemented by Henry Ford in 1926, after careful record keeping and analysis revealed that the ratio of worker output per week to wages paid per week peaked at about 40 hours per week of work.

Now, that's fine for factory work, but as far as I know, relatively little effort has been put into testing that theory in knowledge jobs.

rajacombinator 1 day ago 1 reply      
I love reading about work style experiments like this and think they're great in some situations. But they make more sense for serial founders who have cashed out before or established cash cows like Google/Apple/Facebook. New founders who are all in on a business can't afford to work 4 days a week because the clock is ticking.
itbeho 1 day ago 2 replies      
Interesting how the companies discussed are outside of SV.
arturnt 1 day ago 0 replies      
An average work day isn't filled with 100% development. You have breaks for lunch, coffee, people asking you questions, meetings, ping pong, etc. For a good workplace a chunk of your time is a social experience like any other. That means if you spend about 2-3 hours a day total socializing, then the 5 hours a day you spend working. For startups, sometimes you have time sensitive releases so that number goes from 5 to 10, but it's still only about 50 hours of actual development per week even though it's 65 with all the other stuff included.

Treehouse has managed to make a 4 hour week work since everyone is working remotely, so that social aspect is not as prominent and consumes less time. For people who have kids spending time for the kids becomes more important than the social experience at work as it should. The 4 day work week all of a sudden makes sense since they have bundled those 3 hours / day of a work social time into one day of a kids time.

cubano 1 day ago 3 replies      
Wasn't there a thread recently here that discussed how everyone was expected to work 60-hour weeks by their managers or face heaps of wraith?

So what is it...32 or 60?

The only answer can be "it shouldn't matter!", if you work in an industry where you can just as easily work from home as work from your desk.

I am speculating, but I would think that most of the IT developers at Treehouse work well over 40 hours a week.

free2rhyme214 1 day ago 0 replies      
This is a nice way for Treehouse to differentiate itself for talent but this is blown out of proportion like Tim Ferris's 4 Hour Work Week.

Employee culture is important but to be honest I only care about how well the founders are executing their original vision then all the yoga classes, free food, Friday's off, beer pong, maid service and other things companies are offering.

32 hours a week is nice for some but that doesn't always equate to marketplace monopolization.

Then again since Treehouse is competing with others this may not be their goal anyways.

fndrplayer13 1 day ago 0 replies      
Its good that places like this exist. My experience thus far has shown me that different developers might go through different phases of their careers in terms of how much they like to work. I think the article touches on this a bit, noting that most of these people are married and have families. I'm married, but I still totally feel the urge and drive to work on software all the time. And its not that I love work, its that I love writing software. I could see that drive tailing off with kids and those kinds of deep commitments, though.
spiritplumber 1 day ago 0 replies      
We work five days a week, one of which is shared so we can talk. Which five days is up to the person.

Of course since I'm a cofounder I work pretty much 24/7 but such is life...

varunjuice 1 day ago 0 replies      
This is just recognition of the fact that productivity is divorced from # of hours at the office, or # of hours spend "working'
sandworm 1 day ago 0 replies      
In my work (legal) i often find myself overdressed and overstressed about decorum and timetables. But corporate decorum, working 9-5 m-f, has a place.

I remember one incident where a thursday meeting at a startup was canceled because a department head wanted to turn an already long weekend into a 4day holiday. I put my foot down. Fridays are not weekends. If they are, then thursdays become fridays and you'll start skipping them too. That meeting consisted of me in a suit, in an empty office, talking to two people via skype. I call that a victory because the meeting at least happened. (The truth is that all the low level employees on the first floor were there and working. They cannot afford to skip out on work.)

Casual is all well and good until it creates unpredictability and disorder. Contrary to popular myth, things actually get done in meetings. Not every decision can be made while scaling the in-office climbing wall. Some decisions require people sitting down at a table to hammer through a series of points.

Does that thing that happened last night on the server qualify as a breech? I don't care that tomorrow is a friday. Neither will your backers, nor the FBI, when they haul you in to explain why you couldn't be bothered to take a decision until after your ski weekend.

zaroth 1 day ago 3 replies      
I wonder if they pay part-time salaries to reflect the work hours. Certainly an interesting trade-off. If you have kids and a stay-at-home spouse I can certainly understand the appeal! Otherwise, perhaps not so much...
JohnLen 1 day ago 0 replies      
Productive works that matters. Not the working hours.
monsterix 1 day ago 4 replies      
Now this could be an early sign of a bubble in the making. Here's why:

1. The bay believes that solofounders are a bad deal - mostly - because starting a company is a lot of work. And so it is - a lot of work!

2. Now here we have a handful of _startups_ that confess there's isn't enough work to keep everyone in the nimble team up on toes for even forty hours a week! This contradicts with 1.

Sure it means team happiness and all that. Fine.

3. For each _startup_ that has confessed situation at 2. there should be at least 'X' times the number of start_ups who do not accept this reality. I don't know what that number 'X' would be but let's take it 10.

Which means what - a bubble?

[Left open]

YouTube Ditches Flash, and It Hardly Matters
points by sinak  1 day ago   181 comments top 21
geofft 1 day ago 8 replies      
One thing to note is that (last I heard) both Chrome and Firefox sandbox EME modules fairly tightly. Flash is a browser plugin, which means that it usually injects code into the browser itself, and runs with full privileges on your computer, just as much as your browser does. This is what makes Flash such fertile ground for exploits of all kinds, and also makes it bad for your privacy because it has direct access to your webcam, microphone, clipboard, supercookies, etc. anything the browser can do, Flash can do without asking. If it asks, it's out of the kindness of its heart, not because the browser has any say.

Chrome and Firefox's sandboxes, meanwhile, are both open-source. You can inspect what powers the EME module might possibly have, and know that it can't gain any more. A vulnerability in the code is unlikely to be able to do anything other than pirate your download of Game of Thrones and that's assuming it even has general-purpose network access. Ideally, a vulnerability would be able to do nothing other than modify the video you see, but the remote site could achieve that by encoding a modified video in the first place.

As far as the general moral arguments about DRM go, it's true that the new boss is the same as the old boss. But the bulk of the EFF's argument against Flash in this blog post is about security, not about open content, and it's important to acknowledge that EME is a significant step forward. The new boss is sitting in a tightly locked cage.

slang800 1 day ago 4 replies      
And through all this effort to "protect their content", they still haven't managed to stop people from bypassing the DRM and giving the videos away for free in torrents.

I have a hard time seeing how implementing DRM provides any value to media companies, other than a false sense of security.

dredmorbius 1 day ago 2 replies      
EFF's view is that we've been sold down the river with EME (Encrypted Media Extension).

Except ... that I seem to be able to access most online video content (certainly on YouTube, Vimeo, and other major sites) via youtube-dl.

And hugely prefer to do so. It's much more useful for me to be able to queue, speed up / slow down, pause, resize and otherwise manipulate video with consistent controls than to have the limited (and varied) interfaces various online video / multimedia sites offer.

I've got a video playing as I write this, well, paused, at 133% playback speed, in a small 250px x 190px window -- when I can give it my focus again I'll simply mouse over it and tap 'space' to resume playback. If I want to skip back a few seconds, or a minute, the left or down keyboard arrows do that for me. As they do for all video I play. I can also normalized audio levels (many are too low, this one's actually got a tendency to clip), and more.

sowhatquestion 1 day ago 2 replies      
I distinctly remember being upset about DRM in the '00s, back when it was being used to place onerous restrictions on content that people had ostensibly "bought" (CDs, DVDs, AAC audio files, etc.). Now that it's being used to prevent people from saving streams... I hate to say this, but please remind me why I should be upset? I never had any illusion of "owning" a stream. Not only that, I would rather stream than own in most cases.
hyperion2010 1 day ago 0 replies      
Somehow this reminds me of my long running rage against all things webapp and javascript. Companies have started using the browser as a substitute for an OS because it is easier to distribute working code to multiple platforms on a browser. So what do the drm people target now? The browser: aka operating system 2.0. And the thing that is scary is that people don't realize this and think "oh, its just W3C, its just a single program on my computer, they aren't really attacking general computation!" Spoilers: browsers act as virtual machines for probably 90% of all calculations that run on an average pc these days.
t0mas88 1 day ago 0 replies      
Adobe got Flash (once one of their main products) wrong on the security side so many times that we can't even keep count anymore. Let alone the horribly bad performance of flash and the hack-slack way they added features. Why on earth would anyone want to trust this company to build another proprietary blob of their sub-par code into all browsers? They've proven to be incompetent in many attempts, let's not give them a 32nd chance.
spiralpolitik 1 day ago 1 reply      
To be honest the W3C was between a rock and hard place here as all the other alternatives on the table were worse than this. If they had dug in we would have ended up with 2-3 proprietary DRM standards across the browsers or Flash would have lived on. Both are worse outcomes.

As for "the open web", nothing changes. Content that was DRM free will continue to be DRM free, content that wasn't DRM free will still remain DRM. If anything we are slightly better off as one more proprietary has bitten the dust.

As with a lot of things, the next steps aren't technical. Organizations like the EFF should be working with content providers to educate them on the benefits of being DRM free. A much harder task than firing off press releases.

orblivion 1 day ago 1 reply      
I think this article seems to act as though ditching flash just happened to coincide with adoption of this new EME thing. The issue is that no matter how much we kick and scream about user freedom, business interests are business interests. Economics are economics. There just isn't enough user demand for freedom to overcome the loss to businesses of losing control of their content. In order to win this, I think we may need to come to terms with this. Perhaps it means trying even harder to inform the public and increase demand for freedom, but maybe it means coming up with alternate ways to monetize, or alternate ways to produce which circumvent the need to monetize.
ChuckMcM 1 day ago 0 replies      
Interestingingly it seems Youtube is still using Flash in its pre-roll advertisements unless I'm missing something obvious. Those videos get the 'f' from flashblock and won't view unless it is enabled.
kelnos 1 day ago 1 reply      
It's a little weird that the EFF is using YouTube's move to HTML5 video by default to attack EME, considering that YT doesn't require EME...

(Yet, anyway.)

Jack000 1 day ago 2 replies      
I kind of miss flash. Security issues aside, Actionscript 3 and the graphics api felt a lot easier to use than js/canvas and was more performant.

It felt like adobe just rolled over once Steve Jobs declared flash dead. They even bundled mcafee antivirus with the flash download, it's like they just want it to be over.

jsnk 1 day ago 8 replies      
I hear what the proponents of non-DRM browsers are saying, but for media streaming companies content is their bread and butter. I am not sure what the alternatives are.

Content providers will stick with technologies like Flash because HTML5 alone could not provide EME. Lack of such feature set HTML5 backwards because huge content providers would shy away from using web as the dominant platform of media delivery.

userbinator 1 day ago 1 reply      
AIUI, EME is basically a standard for interfacing DRM plugins, so instead of the one implementation (Flash) of it that was around before, we might end up with a wide variety of DRM modules? That certainly doesn't seem like a better situation than before, where basically all the RE efforts were focused on Flash's DRM.
Tloewald 1 day ago 1 reply      
Why don't the people with this point of view rail against proprietary fonts the way they do against video codecs? If we took the same approach to fonts then you'd only be allowed to use open source fonts and everything would look ugly. Instead we're allowed to deploy copy-protected fonts to render text nicely and no-one is unhappy.

If the ultimate issue is that people want to be able to steal video content with impunity, it all makes perfect sense. If the issue is technical or has to do with software freedom, I'm unconvinced. Not being able to open my old documents because Word 2025 isn't able to read Word 2004 documents is not the same thing as not being able to archive videos of Galavant that I don't have the right to keep.

silon5 1 day ago 0 replies      
I notices Firefox sometimes starts busy looping on 2 cores while playing youtube (usually when "buffering"). IMO, they should really move the decoding threads into separate processes so they can be restarted easily (just like Flash was).
AnthonyMouse 1 day ago 1 reply      
Why are they calling EME "locks"? It isn't locking anything. It's obfuscation. The most relevant physical analogy would be smog. They should call it what it is; digital smog.
murbard2 1 day ago 0 replies      
Security is what matters here, the DRM can be circumvented anyway.
blakeja 1 day ago 1 reply      
Can I uninstall Flash at this point? What do I really need it for?
Aoyagi 1 day ago 0 replies      
Well, hopefully using the Flash player remains an option.
ck2 1 day ago 0 replies      
The nice thing about youtube is it also encodes most videos in webm format so it still plays on XP with Firefox and some old phones

Other sites like vimeo only do mp4

pkulak 1 day ago 1 reply      
Yes, EFF, we're still not living in a content wonderland where Hollywood studios send their blockbusters to people's browsers in naked <video> tags. Shocking, I know.
Braid creator sacrifices his fortune to build his next game
points by jonas21  2 days ago   162 comments top 19
footpath 2 days ago 7 replies      
Here's a nice thread about Jonathan Blow's view on investing:https://news.ycombinator.com/item?id=2198255

you are better off taking the mental energy you would have expended on "investing" and subsequently worrying about your money, and instead funneling it into your creative endeavors. You will make more money that way, especially when you take a long-term view.


If creative endeavors are profitable, you can use the resulting money to fuel more creative endeavors, thus making the world a better place. Keeping money in a bank account or publicly-traded stock does not particularly make the world a better place.

Once I got approximately into the f-you money level of income, it became crystal clear how fictitious money is in the first place. I wake up one morning, and bam, I am wealthy! Why? Because someone said so and typed a number into a computer. Okay... that's kind of weird.

Given that money is so fictitious and somewhat meaningless, it is a shame to give into primal hoarding impulses, just so one can see the number in one's bank account go up like a high score in a video game. It's much better to make like Elon Musk and use your money for what it is: a way to wield influence to make the world more like you would like it to be.

jared314 2 days ago 1 reply      
Blow is also attempting to build a programming language [1], based on his experience in game development. While I don't agree with his direction, so far, watching the process is very interesting. The next Jai demo was announced for Feb 11th [2].

[1] Jai: https://sites.google.com/site/jailanguageprimer/



[2] https://twitter.com/Jonathan_Blow/status/563766250711425024

melling 2 days ago 4 replies      
One of the contributors is creating a video game from scratch in a series of videos.


He just did day 60 today. It's probably going to take at least a year. It's quite educational to start from scratch without any libraries.

justintime2002 2 days ago 13 replies      
"Jonathan Blow's beautiful, distinct 2008 platformer Braid is largely regarded as the original indie game"

Really? I find this difficult to believe, considering the success of Cave Story back in 2004.

bronz 2 days ago 1 reply      
I am really excited for The Witness. If you ever watch one of Mr Blows interviews on Youtube you will see why. His philosophy about video games is interesting and refreshing. Particularly, his thoughts on establishing a dialogue between the player and developer through small events and patterns in the game is very insightful and inspiring. I'm sure that The Witness will be a very thoughtfully crafted game and I am definitely going to buy it. Mr Blow, if you are reading these comments, I wish you the best of luck with this game.
espadrine 2 days ago 3 replies      
Jonathan Blow is also passionately into the creation of a new programming language to compete with C++, with an emphasis on performance and ease of use.


kelukelugames 2 days ago 6 replies      
I've followed Jonathan Blow for a while. He has a reputation for being condescending. If you follow him a Twitter then you might come to the same conclusion. But he has given some amazing talks.

https://www.youtube.com/watch?v=AxFzf6yIfcc <-compares games to televison


Breefield 2 days ago 2 replies      
Very stoked on The Witness but also Firewatch: www.firewatchgame.com

These are the kind of games I can get down with, a good slow ambiance based puzzle gamehad enough of RTS and FPS for the time being.

david_shaw 2 days ago 2 replies      
Interesting story, but I'd hardly call this "sacrificing his fortune." The title led me to believe that perhaps there was some sort of looming intellectual property or non-compete battle -- instead, he just spent his money in development efforts for his next game.

That said, the game looks great -- and I'm sure he'll be very successful with this one, too.

teddyh 2 days ago 0 replies      
Link to games own site: http://the-witness.net/
stegosaurus 1 day ago 0 replies      
I think that the traditional investment mindset is suboptimal for most people. Especially the young.

For example, the advice to start early on a pension is commonplace. But the young often have low disposable income, and this cuts in to other possible uses of money that have far more return on low amounts of capital.

For example, taking a few months out to study in a different field. Building up a relocation fund so that you can move to a higher paying area. Working towards a property deposit. Buying cars outright instead of borrowing money to finance them.

Most of those have a far better return than a few percent per annum. It's just not clearly quantifiable. And that's not even going in to the riskier things like starting a business.

reledi 2 days ago 0 replies      
One of my favourite technical talks is by Jonathan Blow: http://the-witness.net/news/2011/06/how-to-program-independe...
rbrogan 1 day ago 0 replies      
He is featured in this nice documentary about indie games along with a couple of different development teams:


simplicio 2 days ago 4 replies      
I always sort of wonder about stories like this, where fairly established game-devs have to rely on Kickstarter, or on their own funds to develop games.

Seems like someone like Blow should be able to attract some investors.

listic 2 days ago 1 reply      
Puzzles, puzzles everywhere. I've read the interview and didn't get it - what's so great in this new game that he is spending all his money on it.

I hoped there will be some ambition to the like of Ice-Pick Lodge https://www.kickstarter.com/projects/1535515364/pathologic or Tale of Tales http://tale-of-tales.com/videogames.php but nope, another game with puzzles.

alexvr 2 days ago 0 replies      
There's something really pleasant about graphics like those in The Witness and No Man's Sky.
frozenport 2 days ago 1 reply      
677/40 = 17 puzzles per hour?
DubiousPusher 2 days ago 0 replies      
"Jonathan Blow's beautiful, distinct 2008 platformer Braid is largely regarded as the original indie game..."

Nah, http://en.wikipedia.org/wiki/Cave_Story

sova 2 days ago 0 replies      
loved braid.

go jonathan

UK-US surveillance regime was unlawful for seven years
points by owlmusic  2 days ago   62 comments top 13
ch215 2 days ago 5 replies      
The way this same story has been spun by the BBC worries me.

You'd think the news line has to be, as the Guardian and others are reporting, GCHQ mass Internet surveillance was 'unlawful'.

The Beeb did go with 'unlawful' in their original headline but the story has since been watered down with sheer wordiness.

'Unlawlful' now appears in the tenth paragraph, below an analysis panel, and is only then included in a quotation from a campaign group.

Nowhere in the article does the BBC succinctly say a tribunal held that GCHQ breached human rights law. It simply says the agency is now complaint (without saying that it was not for seven years).

To me at least, it seems the BBC is becoming less of a public-service broadcaster and more of a state one.

--GCHQ censured over sharing of internet surveillance data with UShttp://www.bbc.co.uk/news/uk-31164451

jackgavigan 2 days ago 2 replies      
So, one of the key things about this ruling is that it declares "that prior to the disclosures made andreferred to in the Tribunals Judgment of 5 December 2014, the regime governing the soliciting, receiving, storing and transmitting by UK authorities of private communications of individuals located in the UK, which have been obtained by US authorities pursuant to Prism and/or (on the Claimants case) Upstream, contravened Articles 8 or 10 ECHR".[1]

ECHR refers to the European Convention on Human Rights[2]. Article 8 covers privacy. Article 10 covers freedom of expression.

The Human Rights Act 1998 declares that "It is unlawful for a public authority to act in a way which is incompatible with a Convention right"[3] (and GCHQ is classified as a public authority) but I'm not aware of any legislation that would classify such actions as a crime. Therefore, while monetary damages may be awarded[4], it seems unlikely that anyone could be held personally accountable (in the sense of being charged with a crime).

Ironically, the Home Office just announced a public consultation on the draft codes of practice for interception of communications and "equipment interference" (which covers hacking).[4]

1: http://www.ipt-uk.com/docs/Liberty_Ors_Judgment_6Feb15.pdf

2: http://en.wikipedia.org/wiki/European_Convention_on_Human_Ri...

3: http://www.legislation.gov.uk/ukpga/1998/42/section/6

4: http://www.legislation.gov.uk/ukpga/1998/42/section/8

5: https://www.gov.uk/government/consultations/interception-of-...

junto 2 days ago 2 replies      
Whilst I applaud the ruling, I doubt it will make much of difference. The British government simply uses extensions to the "temporary" Terrorism Act 2000 and its modifications in 2001, 2005, 2006 and 2008 and/or RIPA.

I'm getting a bit tired of politicians standing up in the House of Common's, stating we need a "temporary" act to reduce liberty and privacy under the guise of terrorism, only to extend the rulings indefinitely. It's bullshit.

Also, with regards to RIPA, the section related to "Use of communication data" requires only "senior member of that authority", whilst wire taps and reading post requires authorisation from "Warrant from Home Secretary or Cabinet Secretary for Justice". The first one should also move under this authority and blanket surveillance should be banned.

Conspiracy theorist me says we should expect another "act of terrorism" on the UK mainland. This government needs to bolster its control, as they did in Australia, France and Canada. After every attack, the direct effect is that politicians start looking for ways to spin that into invasions of privacy and liberty. Every god damn time.

P.S. Interestingly, Germany is one of the few large European nations with troops in "Muslim lands", that has to date not had a major terrorist incident. They have a large Muslim population, which although largely very moderate and westernised, do have a minority of people who are preaching extremism. Also, many of the terrorist cells (including 9/11) have originated, or passed through Germany.

Allower 2 days ago 0 replies      
Terrible and completely misleading headline. The court ruled that the SHARING of surveillance data with NSA was unlawful until this past December. Its another meaningless verdict that effectively supports the gross invasion of individual privacy while claiming to oppose it.
zirkonit 2 days ago 1 reply      
was unlawful, is unlawful and will be unlawful.

It will not stop just because of the court decision. The rule of law is for mere mortals, and not the alphabet soup of intelligence agencies, unfortunately.

justcommenting 2 days ago 0 replies      
I hope other governments will take notice of this ruling in considering political asylum for the person who blew the whistle to expose these human rights violations on a massive scale.
ed_blackburn 2 days ago 0 replies      
One presumes that the court doesn't deems there's been a serious criminal action here. More the status quo isn't legal. I'd like to know if this means the current actions will stop. When? If the government will fight it. Or legislate around it? There needs to be an official response from someone will real authority. It's been judged as illegal...so what next?
ommunist 2 days ago 0 replies      
So, like @higherpurpose pointed out - ruling without enforcement is nothing in this case.

I seriously doubt GCHQ will transform their Cornwall facility into a tourist attraction like Bletchley Park, after NSA recently invested in it such fancy amounts of monies.

rcthompson 2 days ago 0 replies      
"... for seven years." Also probably all the other years.
lifeisstillgood 2 days ago 0 replies      
So roughly speaking, the US could spy on the UK but when they shared the data with the UK it was illegal for the UK authorities to "solicit, receive, store and transmit" that data.

However they previously had said that the new process of sharing data was now legal. In order to comply with the law GCHQ and the NSA have ... Made public the fact they are sharing information and how much.

Yeah, please take that one to a higher court and decide not on narrow technicalities but should we be doing this at all?

I am rather proud of Liberty (who I used to work for (IT and campaigns it's fun!) - it took a long time to get here.

higherpurpose 2 days ago 1 reply      
Such rules will need to be accompanied by consequences for those doing it. A ruling without enforcement isn't worth much. That said, this is a great, and perhaps quite surprising ruling, considering it's a secret Court.
GordonS 2 days ago 0 replies      
And will it stop? ... not a chance

Will anyone be held accountable and brought to justice? ... not a chance

fauigerzigerk 2 days ago 0 replies      
It is important to fight surveillance in the courts, but as they keep making ever more draconian and broad surveillance laws it will eventually become pointless. At the end of the day, this is a political question.

I'm not quite sure what we're dealing with here politically. I wonder whether this extent of surveillance is simply the will of the poeple or whether democracy has been subverted by a power hungry security aparatus.

Show HN: I rendered the Go gopher using Go
points by fogleman  2 days ago   47 comments top 22
shurcooL 2 days ago 0 replies      
The code is really nice and clean [1], great job for someone's first Go project! I think it's a great example of how Go's simple and clean language design can lead more people to write high quality, readable code.

Question, I see you're using your own Vector and Matrix types and methods. Have you considered using an existing vector math library like mathgl [2]? Nothing wrong with your decision, I just wanted to hear your thoughts.

[1] http://gotools.org/github.com/fogleman/pt/pt

[2] http://godoc.org/github.com/go-gl/mathgl/mgl64

jjmanton 2 days ago 1 reply      
Fogleman, you are an incredible developer. I hope to one day have your motivation for side projects like this.
akc 2 days ago 3 replies      
What do rendering times in Go look like, compared to a similar C implementation?
daddykotex 2 days ago 1 reply      
Wow, the quality is impressive. I had no time to look at the code, but what are your inputs?

Do you read a file that contains anything you need to render, if so, can you produce said file with another 3D software?

ukandy 2 days ago 0 replies      
"Disclaimer: This is my first time using Go."

"Hello World" wasn't challenging enough for you then!

Nice work.

agildehaus 2 days ago 0 replies      
Not very often I can look at a library and easily follow the code. I may spend a couple afternoons reading it just to understand how this works. Very nice.
benreic 2 days ago 1 reply      
I was surprised at how little code it takes to generate the gopher, using your library, that's cool.

I started generating the gopher locally abd let it go through one iteration, taking 4:34, until I realized it takes 1000 iterations to fully render :) I killed it.

userbinator 1 day ago 0 replies      
How big is the binary? I had to ask since you linked to the site of iq, the guy who wrote the insanely awesome Elevated 4k demo [1] and several other nice 4k procedurally-generated graphics [2].

[1] http://www.pouet.net/prod.php?which=52938

[2] http://www.iquilezles.org/prods/index.htm

kylestlb 2 days ago 0 replies      
Looking at your code makes me wish I could have used Go instead of c++/glut for my graphics course projects back in school.
rcarmo 1 day ago 1 reply      
This is very nice. I wonder how hard it would be to turn this into a network renderer (I suppose farming out sections to other machines is challenging with path tracing, but may be wrong).
rmcpherson 2 days ago 0 replies      
I'm getting runtime errors when trying to run the example locally, and compile errors for others (e.g. suzanne.go, 'not enough arguments in call'). Was there a recent update that broke the code?
smothiki 2 days ago 0 replies      
I always looked go as a programming language to develop systems and tools but , this is very interesting . Would be interesting in a benchmark results of rendering with other languages .
josh2600 2 days ago 0 replies      
Every time I see the Go gopher I think of Gopher[0] immediately.


fogleman 2 days ago 0 replies      
Here he is from another angle: http://i.imgur.com/oOnadne.png
pests 2 days ago 0 replies      
Very lovely.

The only reason I'm commenting is to point it might have been easier for users if you linked to the project homepage rather than the readme file itself.

ProfOak_ 2 days ago 0 replies      
Initially I saw the title expecting ascii art. Then I saw the amount of points, and clicked the link and I was supremely impressed.
allending 2 days ago 1 reply      
> Disclaimer: This is my first time using Go.

Is it your first time writing a path tracer? Because this is pretty awesome.

phkahler 2 days ago 1 reply      
How many rays/sec are you getting per core? What kind of acceleration structure? How many primitives in the scene?
rplnt 2 days ago 2 replies      
> import "github.com/fogleman/pt/pt"

How does this work?

rjammala 2 days ago 0 replies      
Very nice work!
sdsk8 2 days ago 0 replies      
Fogleman,any plans to rewrite craft in go?
tinyProton 2 days ago 0 replies      
Please excuse my ignorance, but what does Weiner mean?
Modern SQL in PostgreSQL
points by lelf  10 hours ago   58 comments top 7
nroose 4 hours ago 1 reply      
I was interested in NoSQL. Went to a Mongo pres. Both examples would have been easier and faster in SQL. Even the SQL I used 20 years ago. I asked for an example that would show performance advantage. I got a tired vague statement about the vague performance advantage. Seems like snake oil to me.
rosser 7 hours ago 2 replies      
One of my favorite idioms lately for doing bulk updates without incurring lock contention is to chain CTEs, like so:

  with candidate_rows as (     select id       from table      where conditions      limit 1000        for update nowait  ), update_rows as (     update table        set column = value       from candidate_rows      where candidate_rows.id = table.id  returning table.id  )  select count(1) from update_rows;
...and loop on issuing that query until the "count(1)" returns zero some for number of iterations (three works pretty well).

Want to add a column to your "orders" table and populate it without blocking concurrent writes for as long as it will take to rewrite a multi-million row table? Want to re-hash user passwords using something stronger than MD5, but not prevent users from ... you know, logging in for the duration?

CTEs are all that and the bag of chips.

dtech 6 hours ago 3 replies      
MySQL (and thus MariaDB I presume) and SQLite seem to be pretty poor in supporting these "new" features.

SQLite seems logical because it needs to be kept lean for embedding purposes, but do people know why MySQL is lagging behind so much?

mjrpes 7 hours ago 3 replies      
One thing that would be nice is if SQL provided first class support for sub records.

So instead of "SELECT name, (SELECT GROUP_CONCAT(CONCAT_WS(',', post_id, post) SEPARATOR ';') FROM posts p WHERE p.user_id = u.user_id) AS 'posts' FROM users u WHERE u.user_id = 1",

you could do "SELECT name, (SELECT post_id, post FROM posts p WHERE p.user_id = u.user_id) AS 'posts' FROM users u WHERE u.user_id = 1".

and the query result would be { name : 'Todd', posts : [ { post_id : 1, post : 'My Comment' } ] }.

Obviously this is a simple example and could have been rewritten as a query on the posts table, inner joined on the user table, and duplicating the user's name in the result. But it becomes much nicer to have as queries get more complex.

A query that supports sub records would gives you flexibility to structure data like a JSON object and simplify the server end of REST apis.

leoh 8 hours ago 3 replies      
Interesting. I don't think django implements a lot of this in their ORM.
xvirk 6 hours ago 0 replies      
is it even possible ?
ecopoesis 4 hours ago 1 reply      
And yet, despite all these cool features, Postgres still doesn't support upsert or merge, which even MySQL manages to get right.
Why Is the Dollar Sign a Letter S?
points by shovel  10 hours ago   93 comments top 20
JimboOmega 8 hours ago 9 replies      
What I'd like to know more is why it goes before the quantity and not after.

Nobody writes "it weighs lb. 10" or "it's m 20 long". Or even "I had %20 of it".

Subconsciously I always read "$10" as "dollar ten". It drives me a little crazy.

msaravanan 9 minutes ago 0 replies      
That's interesting. Where I live (India), we didn't have a currency symbol until recently. Our currency is the Indian Rupee and we used to prefix "Rs." and "Re." to the value.

The govt. invited people from around the country to send in their designs and we finally chose one (20B9 on unicode). But it took us 2 years to start using the symbol on currency notes.

masswerk 9 hours ago 1 reply      
There are some alternative theories on this, too. The one I learned was the sign being derived from the Pillars of Hercules (two vertical bars) with a banner (the "S") wrapped around it, reading "[non] plus ultra", as adopted by Charles V for the Spanish coat of arms and later stamped on the reverse of Spanish dollar coins.



[Edit:] There's actually a bit of irony in this, considering the Pillars of Hercules were marking the end of the world (as lined out by the banner "non plus ultra") and the minted silver coming from the New World beyond ...

mkagenius 9 hours ago 0 replies      
How interesting.'Paisa' used in India as currency also sounds like peso, however, seems to have different origin:

"""The word paisa is from Hindi & Urdu pais, a quarter-anna coin, ultimately from Sanskrit term pada meaning 'quarter part', from pada "foot or quarter" and aa "part".""" - http://en.wikipedia.org/wiki/Paisa

blahedo 9 hours ago 2 replies      
I've heard this etymology before, but the article would be a lot more convincing if it showed an actual in-the-wild example of the "intermediate form" of the symbol, with the P and S exactly superimposed on each other...
iamwil 7 hours ago 2 replies      
Hrm. At one point on the internets, I read that it was just the letters 'U' and 'S' (for United States) overlaid on top of each other. And over time, we lost the round pipe at the bottom, and one of the lines.

It seemed like a plausible story, and because I wasn't doing hardcore research, I didn't look into it further. Now, I always wonder if some fun fact I have in my head is actually true or not.

Reminds me of that quote about Abe Lincoln and the internet.

mjklin 6 hours ago 0 replies      
NB: In all Spanish-speaking countries that I know of, you can call the currency "peso" even if that's not its official name. In Costa Rica, for example, they will often say "cien pesos" rather than "cien colones" if they're in an informal situation or mood.
d13 5 hours ago 0 replies      
"Alternatively, the $ symbol derives from the scroll on the pillar, on the reverse of the "pillar dollar" variety of pieces of eight [Spanish Dollars]."


Which you can clearly see here:


gshrikant 7 hours ago 1 reply      
The evolution of the (pound) symbol has a similar, fascinating history behind it too. It was recently discussed on a 99% Invisible podcast [1].

[1] http://99percentinvisible.org/episode/octothorpe/

dmsinger 8 hours ago 0 replies      
Until keyboards were everywhere (which was a while ago, yes), I wasn't used to seeing the $ with a single vertical line in a money context. Myth or not, it made the interlocking U S very believable. It just makes me wonder which came first, and how the double line came about, if it wasn't there originally.
wyck 4 hours ago 1 reply      
Here is a $ sign from pre 1700 Spanish coin http://www.ancientresource.com/lots/shipwreck-pirate-coins.h... #CS20730 ). There are more of these that pre date that, so this article is fairly opinionated.
lucio 7 hours ago 0 replies      
The S and the pillars story seems simpler, and also accounts for the $ with two vertical bars.

Here in Argentina, we still call money: "silver", as in "Do you have silver to pay for that?"

It was called "peso"(weight) because you used to WEIGH your money instead of "counting" it.

It is funny that we still call it "silver" and "weight" nowadays when fiat-money is everywhere.

jstalin 6 hours ago 2 replies      
It's fascinating to understand that originally there was no "official" US currency, only that the Spanish dollar was circulating as a sort of international currency. The US dollar was then defined a unit of weight of either gold or silver and not some floating, independent notion of value. Anyone could bring a quantity of gold or silver into the mint and have it turned into a dollar coin. Of course, that original notion has been inflated away and the dollar has lost some 99% of its value.

One of my favorite sites for seeing the effect of debasement is http://www.coinflation.com/.

smegel 5 hours ago 1 reply      
> And because the US dollar was named after the Spanish peso de ocho "dollar" coin

I am still not sure where the word "dollar" comes from though. If we are using the sign for pesos, who not use the word "pesos" instead of "dollar"?

CanadaKaz 7 hours ago 1 reply      
There are many different explanations floating around. The one I like the most is that it is actually US and that U is placed on top of the S. That's why there are often two vertical lines.
kijin 2 hours ago 1 reply      
Fun trivia: When Americans went to East Asia with their funny money, the Asians quickly replaced the $ sign with a similar-looking local character: .

Nowadays in Japan and Korea, you often see headlines like "1" (1 trillion U.S. dollars).

But originally means "not". So American money is not real money ;)

JimmyM 8 hours ago 1 reply      
The pound in particular is very old, and the practice of using a crossbar on the ascender of a letter to mark an abbreviation dates back to medieval times (http://en.wikipedia.org/wiki/Scribal_abbreviation#Suspension). In fact, given the proximity of the British pound's creation and the period during which these abbreviations were at their peak, it seems to me to be possible that the British pound was the first still-extant currency symbol that was a letter with a dash through it, nearly a thousand years earlier. I don't know if that would have formed a convention though.

The dollar is entirely different, and is essentially just a peso sign.

ilaksh 4 hours ago 0 replies      
That's just the nice version that goes around. It actually represents devices like manacles. Used for counting slaves.

Our civilization is still based on a type of wage-based slavery.

The euro symbol is another example.

chucksmart 5 hours ago 0 replies      
i thought $ was a snake on a stick.
TurboTax halts all state e-filing amid data breach probe
points by anigbrowl  2 days ago   105 comments top 16
clogston 2 days ago 1 reply      
Lots of speculation in this thread. Here's my hypothesis.

Federal tax return fraud is huge. It's a growing problem that the IRS is struggling to cope with and it's been going on for years. State tax return fraud has been largely non-existent... so non-existent in fact that USA Today reported the state of Minnesota got suspicious when there were 2 reported cases of fraud[0].

So what's going on and why is TurboTax being called out by these states? First off, know that when a tax return is e-filed either to the fed (who also handles most state e-filing) or directly to the state, every software provider transmits an identifier along with it. So if you get a bunch of bogus tax returns submitted it's trivial to see where they're all originating from. Second, the rise in federal tax return fraud has grown steadily in relation to the number of software providers offering a free option... the reason we haven't seen state fraud as rampant is because it has always cost money to prepare your state return with software. But what's new this year besides a dramatic increase in state tax return fraud? TurboTax's Absolute Zero campaign. That's right, a whole lot more people can file their states taxes for free using TurboTax's software. That may seem great at first blush if you qualify, but an unintended consequence of that is it's now a completely free roll for a fraudster to file a state tax return IN ADDITION to a federal one.

[0] http://www.usatoday.com/story/money/personalfinance/2015/02/...

valar_m 2 days ago 3 replies      
The title of the article is misleading. "Data breach" implies a release of sensitive data, which is not what appears to have happened.

Intuit said its TurboTax unit took action Thursday after seeing attempts to use stolen personal information to file fraudulent returns for tax refunds.

The tax-software company said that after a preliminary examination with Palantir Technologies, which provides security and antifraud services, it believes there wasnt a breach of Intuit systems and that the information used to file fraudulent returns was obtained from other sources outside the tax preparation process.

bdcs 2 days ago 2 replies      
As far as I know, TaxACT[0] is the only tax software whose parent company doesn't actively lobby against tax filing simplification. I haven't used them nor do I have any stake in them, but I figure it is good for people to know of this TurboTax alternative.

[0] http://www.taxact.com/

ad_hominem 2 days ago 1 reply      
There was some discussion relating to this on /r/personalfinance earlier today: http://www.reddit.com/r/personalfinance/comments/2uzfel/minn...
ChuckMcM 2 days ago 2 replies      
If you're wondering what folks are going to do with that treasure trove of Anthem data, I've got two ideas:

1) File fraudulent tax returns

2) Fill bogus prescriptions

omgitstom 2 days ago 4 replies      
Out of curiosity, if someone e-files fraudulently for you, are you held liable by the IRS if you are audited?
8ig8 2 days ago 0 replies      
From the TurboTax blog:


(Shouldn't this be the proper link for the HN post?)

DrJosiah 2 days ago 0 replies      
With the language being used to describe what's going on, combined with the numbers that Alabama is estimating, it smells a lot like malware-infected PCs combined with the desktop edition of Turbotax (which offers free e-file if you buy the software).

That would explain:* why it seems to be only hitting Turbotax users* the availability of 2013 data (Turbotax users usually buy every year)* the availability of logins to these sites

While I wouldn't go so far as to say that this is the source of the data/problem, malware + desktop app + efile through Turbotax online fits the public information really well.

rmc 1 day ago 1 reply      
I'm not USAian, so I'm not familiar with the US system. But why would criminals want to fill in someone elses tax details?!
Potando 2 days ago 0 replies      
If people can anonymously get money from refunds, doesn't that mean they're also using a fake ID to open their bank account, meaning the bank is being negligent and now "knowing its customer"? Or does the IRS pay people with cash?? Something's missing here.
iscrewyou 2 days ago 1 reply      
So, what is the best way to find out if you are the victim?

Call IRS? (Assuming you haven't filed it yet)Check TurboTax? (Essentially filing yours and wait for it to be rejected?)

Maybe TurboTax should have a tool that checks against their system(based on SSN and some credit history questions, etc) to see if you(the fraudster in this case) has filed your taxes or not.

sp332 2 days ago 5 replies      
If Intuit wasn't breached, that means the problem could affect everyone in those states, not just TurboTax users.
mark-r 2 days ago 1 reply      
Maybe somebody's figured out an automated way to harvest the data from infected individual PCs? Then they use that information to file new returns.
nodesocket 2 days ago 3 replies      
Why doesn't the IRS issue pin codes to every registered social security number or entity? They don't even have to mail the pins. A simple web portal, where you log in, enter your SSN or EIN and it sends the pin via SMS or e-mail. Pins reset every year.
peterwwillis 2 days ago 1 reply      
How to file fraudulent tax returns:

  Step 1. Take someone's W2.  Step 2. File.
Why would they stop all state filing because of this?

orionblastar 2 days ago 0 replies      
Yeah this happens more than just with Turbo Tax.

It used to be a scam that prisoners did by requesting 1040 forms and having some help on the outside to make bank accounts to direct deposit the money for refunds into it. They would get fake W2 forms and make them from fictitious companies and enter a large withholding tax on them. File the 1040EZ form with the standard deduction and file a state form too for extra money. Everything was done via postal mail before Turbo Tax and others provided e-filing.

A friend of our family had someone file taxes as her, and we think the SSN got stolen from the church we go to by ex-employees because they need it for donation tracking. She hadn't filed taxes in a while and Turbo Tax would not help and she was seeking an accountant to find out someone else already filed taxes as her.

I buy the desktop Turbo Tax edition and I try to file early before anyone else can file as me. I am disabled and don't make a lot, but there have been many data breaches that include SSNs over the past decade or so. When I had a student loan, someone stole a laptop with a harddrive on it that had SSNs and other info on it from the company that managed my student loan.

Actually if people are getting SSNs from outside of Turbo Tax they can e-file with the other tax filing software as well.

If Carpenters Were Hired Like Programmers
points by adwn  17 hours ago   152 comments top 31
vog 14 hours ago 1 reply      
Original discussion to the original article posted by Jason Bock (which was merely copied by Dawood Sangameshwari without proper attribution [1]):


[1] There is some attribution a the bottom of the page, but it isn't proper. It contains neither the original author's name, nor is it a clickable link. It's just a plain text URL. Better than nothing, but still the most shabby way of "attribution" I've ever seen.

jethro_tell 13 hours ago 5 replies      
Man this is the strangest thing to me. I used to be a carpenter. I would show up at your job site with my tools, you might ask me a couple questions, I've had guys ask me to lay out a wall or two off the prints. Call a reference to see if I show up to work. Then I get the job. Usually, doing something myself or my boss never had done before, and we would figure it out off the prints, and build it.

I just go turned down for a job I was perfectly qualified for because I 'didn't seem eager enough.' Other notes from the interviewer said 'I'd be ready to go day one' and 'seems easy going and easy to get along with'

What the fuck is wrong with people? When did working at your shit company have to be my passion instead of my job?

lordnacho 14 hours ago 3 replies      
This is so true. I see a lot of job ads that seem to require very specific experience, but where anyone in that field could do the job.

If you just make up eg 4 different types of technology, and put a few things in each bracket:

[SVN, Git, Mercurial, CVS][MySQL, PostgreSQL, Oracle, MSSQL][AMQP, MQTT, STOMP, RabbitMQ][Java, C#, C++, ObjC]

Now if someone came along and said they'd solved a domain problem (eg trading systems) with one of each of those, I would more or less believe they could do it with any of the others, with a bit of time to get used to things (particularly c++).

But if you don't believe that, ie if you decide the person must have a specific combination, then you've just shattered the potential pool of applicants into 256 little pieces.

The other thing that annoys me is the pettiness of the interview questions. So many things that you could easily google can be used to stump anyone. What's the default implementation of GetHash() in c#? I actually got asked this once.

Then there's the other way to do things, which is to do an online coding assessment. I guess this gets rid of the FizzBuzz failures, but it tends to be a problem that's too small to see if you're about to dig a hole.

henrik_w 15 hours ago 3 replies      
"Well, Im a carpenter, so Ive worked with all kinds of wood, you know, and there are some differences, but I think if youre a good carpenter "

In my experience, a good programmer in one language is very likely a good programmer in another language as well. There are a lot more commonalities than some people realize. That's the reason why I'm sceptical of claims such as "the programmer knowledge half-life is X years".

More in "Programmer Knowledge" http://henrikwarne.com/2014/12/15/programmer-knowledge/

spiralpolitik 15 hours ago 6 replies      
Accurate, but missed the part where the carpenter is asked to build a cabinet by drawing it on the whiteboard.
V-2 13 hours ago 1 reply      
This answer on Programmers Stack Exchange sums the problem up very nicely:


> A common HR thing that drives me nuts when I'm job hunting: the implicit assumption that all coding skills are language-specific, that there is no software engineering expertise that transcends command sets. That ten years experience in Java and another five in Perl mean you'd be completely useless on a project that uses, say, C#.

> "Yes, there's a learning curve. But I've made harder transitions than this. I'll make you a deal, pay me 80% for the first month and at the end of that time if I'm not ... oh, wait, we're not actually having this conversation, because your HR monkey simply deleted my application."

alricb 16 hours ago 5 replies      
Are interview questions this irrelevant? Because there are relevant questions you could ask a carpenter in an interview, like if they've worked with I-joists, whether they know what a nailing schedule is, whether they're familiar with a "California corner", their health and safety knowledge, etc.
stillsut 15 hours ago 1 reply      
This actually will happen if you speak with an HR rep for insurance predictive modelling:

-So do you have experience with SAS?

-Yes, but mostly I model in R. They are sister languages.

-So how much SAS, how much R?

-Mostly R as it is widely held to be a superior language

-But SAS you can do more with!

-Ahh, if Big-Famous-Tech-Company-X wanted to do stat modelling they use R, not SAS. Again, anyone who does statistical modelling knows this.

-But we pay for SAS

-Yeah, sorry about that...

sjclemmy 14 hours ago 1 reply      
As someone who occasionally has hiring responsibility I sympathise with both interviewer and interviewee. It is extremely tricky to determine if the person you have interviewed is going to fit the bill. I've hired people who I thought would be a great fit for permanent roles but turned out to be the worst kind of procrastinating, one trick ponies who caused more problems than they fixed.

In a recent situation I had a very specific set of requirements for very specific reasons. The company is .net all the way and has a couple of permanent developers who know only VB and have no C# experience. Because of a large influx of work, these developers needed some additional resource for a short period of time. I wanted to try and increase the skill level of the permanent developers as they are not very familiar with design patterns and 'modern' techniques. To this end, I wanted C# developers with familiarity with design patterns and modern best practice to come in and develop in VB. I didn't care if they hadn't used VB recently at all. But I did care that they knew .net. I don't have time for them to learn .net. So I can't have someone from the Java world, it would just take too long. But at the same time, I'd rather not have a VB only person, as they tend (and I am generalising, I know) to not understand much about design patterns and they don't tend to have broad programming knowledge.

When interviewing for a specific role, you have to think very hard about what it is you are trying to do - and don't just fall back on generic cut and paste questions.

stared 16 hours ago 0 replies      
Then it means that you are applying to a wrong company (already consumed by bureaucracy, with little tech value or understanding)...

I remember my programming interviews as the most meritocratic ones (much more than e.g. in academia, where there is a problem that one is have too low high, or different official credentials).

tokenadult 12 hours ago 0 replies      
To all my friends here on Hacker News: Over a few years, I prepared a FAQ document on company hiring procedures for questions that come up here on Hacker News all the time about legal and effective hiring procedures. Most companies use lousy procedures for hiring workers, and that throws away competitive advantage. There is an optimal way to hire, and a century of research on what it is. Rather than repeat all my previous keystrokes here, I'll just link[1] to an earlier version of the FAQ. If you don't want even to follow a link to a very popular comment, let me just pass on here the summary of the FAQ:

EXECUTIVE SUMMARY: If you are hiring for any kind of job in the United States, prefer a work-sample test as your hiring procedure. If you are hiring in most other parts of the world, use a work-sample test in combination with a general mental ability test.

[1] https://news.ycombinator.com/item?id=4613543

I'm happy to answer follow-up questions about this. It's better for companies and it's better for capable workers for companies to learn how to hire smarter.

nstart 12 hours ago 1 reply      
Last June I started work with a software engineering company that was using meteorjs heavily for their new product and php and java for their main product. Front end was standard jquery. At the time of joining, I had only ever used java, and that too in university for a project on multi threading/parallel processing. In about half a month I was acquainted with the basics of meteor and node js, and within a month I was completely up to speed with the intricacies of the development enivronment. (not all of them. By up to speed I mean, I had figured out where to look when I hit a gotcha). This included mongo db which I had never used till I joined.

I then shifted time to working both on the new product and the backend of their old product. I was using PHP and a framework (I can't remember which one) that I had never touched before. Took me about a week and a half to get up to speed before starting to work on the actual product.

This isn't some display of talent. I believe that any engineer who understands the fundamentals would do exactly what I did. (Provided they are willing to read documentation without skimming through it).

The point here is, I left that company in October. And they've just reopened the position I left vacant. Looking at the list of qualifications and experience required on that list, I couldn't help but think, I would have never thought myself adequate for the job if I had looked at the ad posted since I had never touched any of the stuff they required. Turned out, when it actually comes down to it, it really doesn't matter.

This analogy is actually spot on. Languages really do become another shade of paint at some point. And I never really believed in that till a couple of weeks ago when I saw that job posting. Pretty crazy that as an industry we still believe in this kind of hiring process.

DanielBMarkham 16 hours ago 7 replies      
It's worse than that.

The CHAOS study, among others, shows that 80%+ of all software projects are viewed as failures by the people who pay for them.

Meanwhile you come onto boards like HN or reddit and instead of talking about how to establish and keep trust with the folks writing the checks, everybody's talking frameworks and tools.

So picture a subdivision where 80% of the houses are broken down, priced too high, incomplete, or put together haphazardly. Now stop at one of the houses where the building crew is still there and watch them spend all day talking about the nail-o-matic 200psi nailgun or the robot auto-roofer that the carpenters in the next town are using.

The situation is sad from every angle.

_justin 16 hours ago 0 replies      
I have read this before, and I see the source is attributed. If so, why is this link on HN and not the original. Seems a way to gather some page hits.
belorn 15 hours ago 2 replies      
A clear difference between a carpenter and a programmer is the liability inherent in the work. A carpenter can't just produce a minimum viable product that just happens to break down as soon as a bird land on it, or leaks water as if it was constructed like a sieve. Hiring a carpenter is a comparable safe thing to do, as the worst thing a lawful carpenter can do is overcharge his clients/employer.

A programmer on other hand is not liable for anything. If it breaks or leaks information at the easiest provocation, then its not the programmer who might loose money. All risk is put on the employer or customer, and as such, it becomes their responsibility to identify and test a programmer before spending money. As a result, you get questions which are mostly irrelevant to the task at hand, but which might sorts out high risk vs low risk.

If I hired a carpenter under those conditions, I would ask what brand of paint they buy. If its an expensive one, it might hint towards a professional.

bmoresbest55 15 hours ago 2 replies      
I really enjoyed the post. I reminded me a lot of this Youtube video(http://youtu.be/BKorP55Aqvg).

I understand this is a comical post but as the son of a carpenter and understanding the profession decently well I would say these are none of the questions that would be asked of a carpenter.

There are however many important questions a person would need to answer to be hired as a carpenter or more likely be able to join a union. There they would be able to get experience and training. Then the company the union carpenter work for already knows the skills and abilities they have and there is really no need for any interview. Any GC or sub asks for guys to do a job. The local sends them the qualified guys. Pretty simple actually.

blueatlas 13 hours ago 2 replies      
I came across this [1] job posting last week. Made me realize how ridiculous the knowledge and experience expected of a web developer has become. I particularly like bullet 6, "Team-oriented, flexible, and able to work in an ambiguous and/or changing work environment." Really?

[1] http://jobs.hbispace.com/web/95148/job_2-15.html?cacheBuster...

linker3000 14 hours ago 0 replies      
...and architects sometimes have to go to great lengths before they are allowed to work on your castle:


...and for sci fi fans who think the Tower looks familiar:


je42 13 hours ago 0 replies      
Depending on the job; i find the deeper somebody knows his/her special field the better he/she can adapt to another field.

I.e. if you really know the ins/outs of the Java, the VM, changes of the language over time. You will be able to pick up C#, python f.e.

pargon 13 hours ago 0 replies      
They forgot to ask about the deeply theoretical questions that the carpenter wouldn't actually use at the job.

"Now could you whiteboard for me how a table saw is built?"

"I've never had to build a table saw."

"I just want to see how you think."

hmottestad 14 hours ago 1 reply      
whybroke 13 hours ago 0 replies      
Given that both articles on that site were swiped from elsewhere without attribution, perhaps that particular "carpenter" should be asked about theft.

(well ok, one does mention a link to a 404 error)

placebo 16 hours ago 1 reply      
Love it :) Sad thing is that it hit the nail on the head so accurately (pardon the pun
fivedogit 14 hours ago 0 replies      
I like the metaphor and style, but I think he left some good parts out. Such as (and yes I was asked these):

- The ridiculously broad yes or no honor question (e.g. "So are you familiar with data structures and design patterns?)

- The ridiculously specific-to-the-company question (e.g. " Here is a batch of the data our systems generate. How would you process it for triggering of requests to our api?")

- The vaguely worded trick question: "OK that looks good... But how would you do it if you didn't have all these nice Java objects and methods?")

- The Prove-it Take-home that doesn't change anything. "We use ruby and you've mostly used Java, do this ruby take home assignment." Two days later. "Your assignment looks great but we're really looking for someone with more Ruby experience."

- The post-coding interview, resume-based rejection AKA "why the fuck did you ask me to come in in the first place?" rejection. (E.g. "Your coding interview went well but you've jumped around to different projects and we're not sure you wouldn't leave us if given the chance.")

- The didn't drink enough kool-aid rejection. "Don't know the CEO's full bio? Don't know the intricate details of our public API? Didn't read our blog post from this morning? For shame."

utxaa 14 hours ago 0 replies      
of course, this happens, but when it happens just end the interview.

would you like to work in such a place?

brickmort 14 hours ago 0 replies      
ouch! As someone who's been on an 8-month long job hunt, this hits too close to home.
Throwaway1224 14 hours ago 0 replies      
No mention of H1Bs in this hiring related post?
mlamat 16 hours ago 0 replies      
I will attach this to my resume.
pamparosendo 15 hours ago 0 replies      
Just great!
illumen 16 hours ago 1 reply      
The volume is too damn high on flights
points by jaf12duke  2 days ago   171 comments top 30
nakedrobot2 2 days ago 7 replies      
The PA when heard over the headphones (when watching a movie, etc.) is even worse - I wouldn't be surprised if it was over 100dB. Sometimes a movie has quiet audio, or quiet moments requiring you to turn up the volume a lot. More than once I have been painfully ear-raped by the flight attendant PA system in my earphones for this reason.

Just another instance of outrageously bad customer service in the airline industry. I'm convinced at this point that they simply despise their entire customer base.

Alupis 2 days ago 7 replies      
Few thoughts:

> and opened the decibel meter on my iPhone

These are notoriously inaccurate. To get accurate decibel readings, the mic must be calibrated to absolute known levels (something your App can't do). The App's are basically just comparing relative sounds (this sound is more prominent than this other one, and therefore must be louder... after establishing some relative baseline). Real decibel measuring equipment is very expensive and requires re-calibration routinely. So, measuring 80db could easily be in a swing of +/- 10db's (or more).

> 150dB: Jet take-off at 25 meters (eardrum rupture)

That's not quite accurate. Long term exposure could lead to damage over time, but for comparison a shotgun is typically measured at 165db when it's up against your shoulder and face. Yes, you wear hearing protection (nick-named "ears" if you are a frequent shooter) but your eardrumps aren't rupturing immediately if you take them off.

> What shocked me was the volume of the PA system

Yes, it's loud -- by design. The PA system is not there just to provide something to listen to in case you are bored. In a best case scenario, it's there for the usual "buckle-up" talk and for the pilot to give a greeting. In the worst case scenario, it's there for emergency instructions (a time when panic and passenger noises are likely to get quite loud on their own).

rottyguy 2 days ago 9 replies      
I've always wondered why bars crank up the music so high to the extent you're yelling to convey conversation to the person next to you. One of my friends hypothesized that it was done to focus patrons on drinking and not chatter, but socializing is a big part of the bar scene...

Anyone know?

pngat2x 2 days ago 2 replies      
OSHA probably wouldn't have much to say The peak he measured would only be outside of their guidelines if the attendants screamed for the entire LAS-SFO flight and then he hopped on a plane and immediately flew back with the same treatment.

Table G-16 - Permissible Noise Exposures


nate_meurer 2 days ago 2 replies      
My comment from another thread on this subject:


Earplugs! I bought a box of foam earplugs that has supplied me for years now. I cut them in half; half an earplug is the perfect length for unobtrusive everyday wear.

I have quantities of half-earplugs stashed in all my pants pockets, in my car, my work bag, and in a little container on my keychain. I wear them in the car, on planes, at the shooting range, when grinding coffee, and especially when putting away dishes. Fucking clanging-together dishes are the loudest things I encounter in my regular routine.

For my kids I bought silicone putty plugs. They work perfectly for little ears, and I keep them with the foam plugs. My kids know where the big orange jar of earplugs is, and they've acquired some of my discipline.

jaxbot 2 days ago 2 replies      
I can second the author's conclusion. I fly regularly and have noticed in the last 6 months, PA systems have become much louder than usual on most flights. It's especially bad if you have headphones plugged in to the XM radio -- they don't seem to have separate volume controls for the PA speakers and hardwired headphones.
userbinator 2 days ago 2 replies      
I've had the opposite experience - PA systems so quiet they're drowned out by the plane's noise. Perhaps he was sitting very close to one of the speakers. Given that the announcements are usually important, not continuous but made in short bursts, and that volume level (99dB) is discomforting but only harmful with prolonged exposure, I don't think it's too loud. The whole idea of an announcement is to get the attention of the passengers - including those who may be asleep. Missing an important announcement may have safety implications.
binarymax 2 days ago 1 reply      
I also use earplugs and over ear noise cancelling headphones during flights. They work very well. I rarely fly United but I've noticed that some airlines are definitely worse than others when it comes to PA.

I haven't used it on flights yet but did some research and splurged on the Faber Acoustical SoundMeter (https://itunes.apple.com/us/app/soundmeter/id287615105?mt=8&...). I bought it since I live on a busy road and lots of sirens go by, adding to the general traffic whooshing. Sirens are in the high range and go over 100. Its a good app to have to check whether I'm going crazy or if it is really loud in place where I'm feeling overwhelmed with sound.

I will be sure to try it out next time I fly and provide some data. Maybe we can crowdsource samples of airline loudness.

xenonysf 2 days ago 1 reply      
So when are we all starting to measure sounds around us (including cafes, vehicles, cities) and create a map of quietest things and places?
ChuckMcM 2 days ago 0 replies      
I think the author answered their own question with this statement: "Ive been on flights where the sound of the flight attendants over the PA system was loud enough to sound like the attendant was shouting directly into my ear despite having two layers of sound protection."

The PA system in the airplane is part of the safety equipment, the crew uses it to inform the passengers during an emergency what they should do to prepare. Everyone knows that during a flight people will have noise cancelling earphones on and possibly dual layers of protection. Also the ambient noise in an aircraft with its nose pitched down at a steep angle or in an uncontrolled spin is likely to be quite high. The PA has to cut through all of that in order to communicate with you.

I agree it would be nice if they didn't use full emergency power during non-essential communication, but the FAA considers the safety briefing to be essential communication so you are out of luck there.

louprado 2 days ago 0 replies      
Preferably, limit announcements to the bare minimum and use pre-recordings. There is too much variability in voice intensity. A pre-warning chime before an announcement would reduce stress and allow time to cover our ears. It would also spare me from apologizing to passengers since I scream when I am awoken abruptly. Thanks for the data Darren.
thanatosmin 2 days ago 0 replies      
This is exacerbated by the absolutely intrusive use of the PA system--rather than just for safety announcements we now have the pleasure of enduring credit card and frequent flier program ads.
uptown 2 days ago 2 replies      
Sort of off-topic, but maybe somebody commenting on audio acoustics and decibels will know -- When you call a business and they pipe their automated music into the call while you're on-hold, why is the audio quality of that music frequently horrible? You'll get fuzzy music, or drop-outs of the music track - but when a human picks up the phone, it tends to sound just like most other phone calls. It seems like such a basic solvable problem, but I don't know where to attribute the blame.
k2enemy 2 days ago 1 reply      
I've noticed this too. On my last few flights it has been so loud it caused physical discomfort (to me) and made my toddler cry.
ufmace 2 days ago 2 replies      
I could believe it. I just flew Spirit (never again, for reasons in addition to this) a couple of weeks ago, and they spent the last 20 minutes or so of the flight hawking some kind of credit card deal. Even wearing earplugs barely put a dent in the volume.
mixmastamyk 2 days ago 0 replies      
I use a pair of sony extra-bass earbuds that are thicker and have a bit of extra foam around the earbud to reduce noise. The work great in the airplane, knocking off about 50% of the outside volume. I leave them in the whole flight as they cut out most of the engine vibration as well. Also wear them in a crowded office, at home with kids, or coffee shop etc when I need to focus.

Most of the time I'm not even playing music, but people assume so and will interrupt you a bit less often. Also helpful when making calls, etc.

joshuaheard 2 days ago 1 reply      
They probably do it because no one pays attention to the announcements anymore. It's the same reason they (used to) turn up the volume on TV commercials.

Has the author tried asking the flight attendants to turn the volume down?

grandalf 2 days ago 0 replies      
I've experienced airline PA announcements to exceed the pain threshold many times. It's utterly ridiculous how loud they are.

In my opinion, the less that is broadcast over the PA the better.

JshWright 2 days ago 0 replies      
I recently flew Delta (I generally stick with American/USAir) and noticed this. On several occasions I noticed folks physically cringing and plugging their ears during PA announcements.
lfam 2 days ago 2 replies      
This is a pet peeve of mine that I developed while doing video production in the live event industry. Unfortunately almost nobody cares about protecting their hearing.

Pretty much everyone in food service in the US exposes themselves to dangerous audio levels throughout their work shifts. My coworkers with SPL meters routinely measured sound pressure levels above 105 dB for hours at a time. But try wearing earplugs as a waiter or bartender... you will be treated like a lunatic.

shutupalready22 1 day ago 0 replies      
I think the correct response when the PA system is used at excessive volume is to scream loudly asking that it be turned down. When this becomes a socially acceptable (or simply common) response, airlines will have to stop.
mschip 2 days ago 1 reply      
I used to work for a major jet engine manufacturer. Noise reduction is right up there with fuel consumption in consideration with new model development. Not because of complaining passengers though.. A lot of the push comes from certain airports that aren't far enough outside of major cities (I can't remember which ones exactly, I think it was mostly a few major asian cities). They actually restrict certain models from using their airport.
quinndupont 2 days ago 0 replies      
To take the edge off the sound (but only slightly... still able to carry on a conversation) and to prevent my ear drum from exploding I wear Ear Planes[1]. They aren't perfect, but I do find they help, say, maybe 40% of the pressure issue.

1] http://www.cirrushealthcare.com/EarPlanes-Adult-P49.aspx

suvelx 2 days ago 0 replies      
Recently spent over 48 hours in the wonderful company of Cathay Pacific. Their announcements (and especially their English announcements) are always a quiet high-speed mumble. 10/10 would (try to) listen to them again.

Everything else was terrible.

SunShiranui 2 days ago 5 replies      
I've always wanted to buy some good earplugs to protect my hearing from noisy environments (es. near public transport in the city). Does anyone have a product they recommend?
ehosca 2 days ago 0 replies      
there's a big difference between Peak and RMS measurements.
Zigurd 2 days ago 0 replies      
I have for a long time used unobtrusive IEMs with Comply tips (MEElectronics, small, black, with a memory wire that guides the headphone wires over and behind the ears). They shut out the world very effectively, and are cheap enough that it's not a tragedy to lose them. I have never had a flight attendant bug me about them.

United is particularly bad about cranking their PA system up into distortion screeching range. It's pure sadism.

beachstartup 2 days ago 0 replies      
a pet peeve of mine is when they do this in restaurants when calling out order numbers. they CRANK the fucking volume and then YELL into the microphone to call out order numbers when everyone is standing right at the counter!
dothething 2 days ago 0 replies      
Hacker News on Friday is always the worst.
6stringmerc 2 days ago 4 replies      
Having many, many years of travel experience leads me to one Occam's Razor type observation:

If people would actually pay attention to a safety briefing instead of playing with their gadgets / not taking off their headphones, then the flight crew wouldn't be trying so hard to get the attention of the passengers.

With this unpopular opinion, I'll see myself out the nearest exit, which is actually located behind me.

Samsung Global Privacy Policy - SmartTV Supplement
points by tscherno  17 hours ago   107 comments top 16
patcheudor 13 hours ago 3 replies      
I recently collected a bug bounty from Samsung on a crypto implementation flaw I found in some of their software. The fix is still being rolled out and given the impact I'm not going to disclose right now, rather I'll let Samsung handle that when the time is right. Anyway, the team at Samsung was responsive and they seemed like they genuinely cared about security. However, based on what I've seen in their products and those from their competitors the first thing I would do is pen-test the voice recognition feature, then turn it off no matter the outcome. The fact is, if it must communicate with a back-end server to work, then it becomes incredibly hard to lock the solution down. Even if the TV is properly validating the public cert of the server when doing the TLS handshake, there's got to be a mechanism on the TV for updating the trusted root store because at the end of the day, certs need to expire and thus must be updated. On a few non Samsung smart TV's I've looked at over the years, updating the trusted root store on the TV is as "easy" as man in the middling (MitM) the network the TV is on so that web traffic goes to a site I own which has a link to the my.cer root CA that I generated and am using in my TLS MitM solution. From there I just bring up the web browser on the TV, click on the my.cer link and go through the prompts to install the root CA. After that point all traffic from the TV can be decrypted on the wire.

Now it is fair to say that the attack I just described requires the ability to MitM the network and have physical access to the device, however, remember that these TV's use an IR remote & all an attacker needs is visual access to the TV. If it can be seen through a window it can be controlled through a window and these things typically don't require a password to modify the WiFi settings. Some smart TVs also have proxy settings which again, typically don't require a password to modify.

Given what I just covered, think hotel. From a risk perspective that's what I'd be most worried about. I wonder how many are installing smart TVs with voice recognition? For all other scenarios basically the situation in many cases on the ground is that you are secure because no one is targeting you. In the case of a hotel, someone could be targeting everyone. Such an attack could prove valuable, especially if done in executive suites near financial centers.

amluto 13 hours ago 2 replies      
It seems to me that, if you have one of these, you live in a two-party consent state (e.g. California), and you invite a guest who hasn't clicked the EULA over, then someone is committing felony wiretapping.

I would love to see a TV vendor prosecuted for this.

imgabe 15 hours ago 8 replies      
> You may disable Voice Recognition data collection at any time by visiting the settings menu. However, this may prevent you from using all of the Voice Recognition features.

from here: https://www.samsung.com/uk/info/privacy-SmartTV.html

So, disable it. I don't understand everybody's fascination with voice recognition. I don't find it more convenient at all. I'd much rather just push a button. It's really not that complicated.

hughlomas 14 hours ago 2 replies      
I think Amazon's Echo device is doing this the proper way, which "uses on-device keyword spotting to detect the wake word. When Echo detects the wake word, it lights up and streams audio to the cloud". It seems like a technical or design failure on Samsung's part to not feature similar functionality.
api 3 hours ago 1 reply      
Why is the cloud required for speech to text when a four core ARM SOC is under 15 dollars? My Commodore 64 had good text to speech, and Dragon was doing speech to text on 90s PCs. I don't get the technical rationale.
ChuckMcM 7 hours ago 0 replies      
Interesting, there is the vocal recognition thing but the camera equipped to do facial recognition is much more worrisome. Check into a hotel room wearing a ski mask, sneak up to the TV and put tape over the camera if you can find it.

Nothing like downloading the facial recognition features of Carmen San Diego into all the hotel TV's in a country to see where she is staying.

License plate readers don't hold a candle to this. Now to check to see if every Samsung TV coming into the US has to go through 'special customs checking' ...

Animats 9 hours ago 1 reply      
"Please be aware that if your spoken words include personal or other sensitive information, that information will be among the data captured and transmitted to a third party through your use of Voice Recognition."

"Your SmartTV is equipped with a camera that enables certain advanced features, including the ability to control and interact with your TV with gestures and to use facial recognition technology to authenticate your Samsung Account on your TV."

We've come so far since Orwell's "telescreen" in "1984".

"Big Brother is watching YOU."

jsilence 13 hours ago 1 reply      
Given that voice recognition is possible offline on a RaspberryPi Version 1 [1] I'm wonderung why they have to send the recorded audio to the cloud in the first place.

[1] https://jasperproject.github.io/

frik 12 hours ago 1 reply      
It's not only Samsung Smart-TV but all cloud-based speech recognition products, right?

(Nuance/Apple Siri, Microsoft Cortana, Google Now, IBM Watson Speech, Amazon Echo, LG-Smart TV, etc.)

From a consumer perspective you want an offline speech product like Nuance Dragon NaturallySpeaking: http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking it's the same technology that powers Nuance cloud based products like Apple Siri, IBM Watson, etc.)

_asummers 14 hours ago 4 replies      
As far as networking is concerned, what should I google for separating a device like this onto its own internal private network? I have devices that I want to whitelist traffic for while not affecting other devices in my home.
brianpetro_ 13 hours ago 1 reply      
This immediately brought to mind Orwell's telescreens.


aw3c2 15 hours ago 1 reply      
If you submit things from aggregators, please try to find the actual source and submit that instead.

Submitted: https://netzpolitik.org/2015/samsung-warnt-bitte-achten-sie-... which links to http://martingiesler.tumblr.com/post/110325577280/samsung-wa... which links to http://mostlysignssomeportents.tumblr.com/post/110300533107/... which links to http://boingboing.net/2015/02/06/samsung-watch-what-you-say-... which links to http://www.reddit.com/r/technology/comments/2uuvdz/samsung_s... which references https://www.samsung.com/uk/info/privacy-SmartTV.html

On the other hand, the HN rules suggest doing things like this if you want to cherry pick a certain aspect of a page...

teapowered 14 hours ago 1 reply      
It's about targeted advertising - arguing with your spouse? Next ad break we show you adverts for lawers.
Havoc 15 hours ago 0 replies      
Has been in the news before. Voice recognition is done on a server farm meaning it needs to get sent there & possible get intercepted.

Not ideal but doesn't strike me as a big risk

shmerl 12 hours ago 0 replies      
A good lesson why one shouldn't use any systems with DRM. People are so upset about mass surveillance by the government, yet they readily subject themselves to mass surveillance of DRM systems. Where is logic?
How startup Fab died
points by prostoalex  2 days ago   127 comments top 36
andrelayer 2 days ago 5 replies      
I was employee #30 something at Fab and had a decently unique vantage point for a while. I would say the problem was one of ambition. We had a working $100M company, however Jason and all of the investors decided that that was not enough and that we needed to be a $10 Billion company. I actually don't see that much wrong with this, it's just a bet they all bought into and they all were smart enough to understand the risks. The bet failed. Simple as that.
gnufrra 2 days ago 2 replies      
I am the first employee of a startup with less than 10 employees. We are a direct competitor of Fab latest incarnation Hem (One Nordic).

We have been around for more than 2 year now. Our revenues are in multi-million and most importantly we are profitable.

Lucky to be working with founders who believe in reaching profitability first. We are a data driven company from the get go. Which allowed us to make smart decision while been super lean.

rwhitman 1 day ago 0 replies      
In memorial of Fab, let's all take a little time machine back to this HN gem when @betashop (Jason) wrote a blog post [1] defending allegations in Bloomberg [2] that he blasted the entire staff of Fab several times with threats they'd be fired, and then proceeded to continue to defend the practice in person right here [3]

[1] https://web.archive.org/web/20130806013728/http://betashop.c...

[2] http://www.bloomberg.com/news/articles/2013-06-24/fab-com-s-...

[3] https://news.ycombinator.com/item?id=5942543

lordnacho 2 days ago 1 reply      
So they had a shop that was known for unique designs, sourced from small manufacturers. Wouldn't they naturally think that was a limited market, which you couldn't turn into another Amazon?

Also, if you're having the producer send stuff to the buyer, why do you need a European acquisition? Just hire some people who speak the languages, maybe open a small London/Berlin office, put in the translations, and maybe find a few local products. Why go out and buy three copycats?

What I really don't get is what was so special about Fab. It's a shop on the internet that sells goods. Aren't there vast numbers of similar businesses? What was the magic about them? Just good taste?

_ak 2 days ago 0 replies      
What I was told by people how things were going in the Berlin office, I seriously wonder whether the Europe business hadn't failed if the employees had actually focused on working instead of just partying.

It even went so far that an HR person bragged about how drunk everybody got the night before, and how hungover she was, in front of a whole room of people expecting to undergo a day-long recruiting process.

rogeriolou 1 day ago 1 reply      
I'm not the least bit surprised. I met one of the founders (I can't remember which of the two) at a conference in 2010. We were seated at the same table during lunch, and judging from the reactions of the other people at our table, it was a big deal that we were seated with one of the Fab founders. Everything about Fab was supposedly awesome. The growth. The revenue. I chatted with the founder and my one take-away was: Even after everything he told me, I had absolutely no idea what Fab did or what it was about. Yes, of course it's an ecommerce site, that much is clear, but the founder totally failed to actually explain how Fab was different from any of the other many ecommerce sites that are not considered to be the holiest thing since the Eucharist. I really thought at that moment, this company is doomed.
IgorPartola 2 days ago 6 replies      
Sometimes I wonder if the key to a successful startup is controlling expenses. I have seen so many companies who spend $750k on a "state of the art ecommerce backend" just to sell a half dozen SKU's. Or they are a tech company with 0 technical staff (outsource everything to contractors). They almost never do well. Instead, the companies that seem to consistently do well tend to be the ones that have tiny budgets, are located in inexpensive places to live with lots of talent, and do things such that their liabilities are tiny.
hga 2 days ago 3 replies      
Micro tl;dr: Build a company with a successful business model, and then pivot away from it, plus get concerned about someone trying to replicate your success in Europe and prematurely enter that market.
sehutson 23 hours ago 0 replies      
Their service was also terrible. I ordered a Christmas item in mid-November and never received it. When I contacted support in December, they told me to wait until a full 45 days had elapsed (after Christmas). I knew of at least 5-6 friends who gave them a try and waited anywhere from 1-3 months to get their orders, even though the website offered no warnings of such abnormally slow shipment.

If you search "Fab.com reviews", you can see they rate pretty poorly on several review sites, mostly for quality and slow shipping issues. Spending a lot to acquire customers doesn't work when you can't live up to the most basic expectations of what an e-commerce site should do.

IanDrake 2 days ago 2 replies      
I see this a lot these days. Great sub-100 million dollar businesses that fail because investors believe they can make it a 1 billion dollar business.
grandalf 2 days ago 0 replies      
I'd argue that Fab never really had a business, it just had investors willing to finance a growth hacking strategy.

For enough investor dollars you can buy sales and create a convincing hockey stick graph sufficient to attract more investors.

I think investors should insist on a few weeks every few months with ZERO marketing spend so that the cycle can be broken long enough to accurately measure organic growth. Inevitably the founders try to misattribute paid growth for organic growth.

The result would not be investors pulling out, it would be a more rational focus on retaining customers and building a sustainable business. Optimistic metrics don't do anyone any favors.

nsxwolf 2 days ago 1 reply      
I'll tell you why it died. I kept seeing ads showing an interesting looking product, but clicking on them wouldn't take me to that product. The product was unnamed as well, so I couldnt even search for it.

What was the point of that?

subpixel 1 day ago 1 reply      
One thing that has gone unmentioned: when you run flash sales that promote other retailers' products, you're strengthening your competitors' business as much as your own.

For example, it was very common to see discounted jewelry or apparel on Fab from brands with a much deeper collection on their own site. It's 2011-2014, of course I'm going to Google the designer or brand, find their own site, and make an informed decision about what to buy.

Designers know this, and are savvy enough to use other channels to promote their own, where they charge the sort of prices they can build a business on. I'm willing to bet that Fab made quite a few designers more money via these sort of implicit referrals than via discounted flash sales.

Hindsight being 20/20, if Fab wanted to build a billion dollar business, they should have bought an e-commerce startup, not other retail operations. That's the only way they could have captured more of the value they were creating. Say they managed to buy Shopify. A, they'd be swimming in revenue. B, Shopify would have the marketplace they failed to make work on their own.

jamesmcq24 1 day ago 0 replies      
Another possible reason they failed - What a horribly, horribly slow website.

After reading this article I visited fab.com as I'd never visited before. Saw some interesting products, some I might buy, but loading a single page of items shot my fan speed up and froze the page for a good 7-8 seconds while what I guess is their javascript "enhanced" the page.

Awful, awful user experience. I couldn't last more than 3 pages of items before giving up. It doesn't matter what your product is if you annoy the hell out of your customers with badly designed technology.

aaronbrethorst 2 days ago 0 replies      
Most interesting line of the article to me:

    "Fab had product market fit, but Fab    didn't understand its product market fit,"    a former Fab employee said.

AndrewKemendo 2 days ago 2 replies      
Jason can talk and sell you water ... He convinces himself that what he's going to do is going to work ... Jason had so much energy and passion that he drove you to want to do something.

I read this kind of thing from people all the time and it confuses me. I'm not sure if it is just who I have been around in my life, but I don't think I have ever met anyone that inspired that kind of blind devotion. Am I alone in never having experienced that?

bsdpython 2 days ago 0 replies      
I thought raising so much money so fast, hiring so many people so fast and burning money so fast died out in 1999. I guess I'm surprised that investors didn't demand a more airtight and proven business model before investing post Series A.
tribeofone 2 days ago 1 reply      
Get ready to hear alot more stories like this in the next two years.
ecaron 2 days ago 0 replies      
The similarities between Fab & Jobster shouldn't be overlooked. And a lot of the lessons from 2007 (http://mashable.com/2007/12/13/jobster-ceo-steps-down/) seem to be forecasted in 2013 (http://www.inc.com/magazine/201303/how-i-got-started/jason-g... / http://thisweekinstartups.com/jason-goldberg-of-fab-twist-31...) and now history has repeat itself again.

Best of luck, Jason, at your next thing!

Asparagirl 1 day ago 0 replies      
I was an early Fab customer and they did feature some unique and interesting gifts. The daily e-mails were also beautifully designed, to the point that Fab eventually sued or threatened to sue a different company who had ripped off the look and feel. But over time those Fab e-mails started featuring more and more tchotchkes and mass-produced junk, I guess in an effort to push more products. So when I read in the article that...

"Shellhammer has since started a new company, Bezar, that's almost an exact replica of what Fab used to be."

...I signed up for Bezar right away. Because Goldberg may lack business savvy, but no one denies that Shellhammer has excellent taste. And I need some wall art for my house.

EDIT: It was "Touch of Modern" who was sued by Fab for supposedly ripping off their design elements, but I don't know if the lawsuit was successful or not. Details: http://pando.com/2012/08/16/breaking-down-fabs-copycat-claim...Touch of Modern appears to still be in existence.

jonathanjaeger 2 days ago 0 replies      
They aggressively spent money on Facebook ads at the beginning and it seemed at first like a winning strategy. But if lifetime value < cost of acquisition you're burning through money. We saw it in daily deals and then we saw it in Fab. Fab just didn't know their LTV at the beginning and seemingly didn't care. Add to that a business that relies on third party manufacturers/designers and a low gross margin and it's a tough business to make profitable.
pajju 20 hours ago 0 replies      
I presently Run Jumkey.com - currently Positioned as India's largest Jewelry Destination.Its been a Roller-coaster ride so far.

Have kept our Operational cost very low. Worth mentioning, we are still a small team of 3, very complementing, managing the whole eCom, mobile apps(iOS and Android) and without any external funding - Completely bootstrapped Venture.

Let me share my experiences so far -

1. Think Really-Really-Big from Day 1.

2. Reaching Profitability is easy in eCommerce, if the cost of operations are kept low. Know where expenses are going most.

3. Learn to Say NO to Crap Investors.

Don't raise money from wrong Partners. Raise money only if you really want to. Needs, wants are different. Sooner or later you'll suffer otherwise.

Jumkey was approached by Top Investors, and we've told NO.

4. User on-boarding experience is very Important.

5. Build Partnerships.

Build a network of Partners who shall build the Brand and do sales for you,Delegate sales & marketing efforts to specialists. Delegate tasks. Don't be a Jack of all.

6. In the early days, what matters is - Growth Hacking and Building Trust, Confidence.

Growth Hacking makes more sense than Spending Millions on advertisements. We Invested heavily(time) on Growth Hacking.

Results = have 50K+ Combined followers from Social networks.

Biggest transition happened to me was - turning into as a growth Hacker, being frugal on expenses, Saving a lot of money.

7. If you're in confusion, Consult early.

8. Finally, Validation based model is the key to Run any Business.

crucifiction 2 days ago 1 reply      
I can tell why it failed just from that document capture they posted. Does that look like the kind of document that a CEO who knows what he is doing and is able to turn something into a billion dollar company would be producing for his execs? Its bullet point garbage.
bruceb 2 days ago 1 reply      
"Fab acquired three similar European startups that year in all-stock transactions. It bought Casacanda in February 2012, Llustre in June 2012, and True Sparrow Systems in November 2012."

True Sparrow Systems is a web development company in India not a flash sales site. Hope the rest of the facts are correct in this story.

Animats 2 days ago 1 reply      
This class of startup is a chicken run. "Fab would feature and sell third-party items from small design shops all over the world" is not exactly a novel idea. There are hundreds of catalog houses in that space. Some of their glossy catalogs are probably in your recycling bin right now.So there's an expectation that growing too fast to get a predominant marketing position is a winning strategy. Only one company wins that game. The others die.
itsbits 1 day ago 0 replies      
I had an offer from Fab before I decided to join else where as UI dev. I was impressed with their site. But during F2F with Jason, I didn't get proper answer for whats the plan when other online stores like Amazon joins competition.
dennisgorelik 1 day ago 0 replies      
It is Jobster.com [1] fiasco all over again:

Goldberg got $50M in investments ($200M+ for Fab), spent most of it, produced no good product and sold his company for peanuts.

Would investors ever learn or will they invest into Goldberg again in a few years?

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

emergentcypher 2 days ago 2 replies      
What was Fab, exactly?
rasz_pl 1 day ago 0 replies      
There was a documentary about Fab on TV:


TheAcen 1 day ago 0 replies      
Ah, I remember Fab. I liked it a lot for browsing and such. But I can't recall ever purchasing anything off it.
damonpace 2 days ago 0 replies      
It seems they poured the gas on before the engine was actually running.
rokhayakebe 2 days ago 0 replies      
You know, I am not all that mad at these guys. This is crazy, but when I compare it to the millions people spend on lottery to enrich a handful, sports to enrich a few hundred, and movies to enrich a few dozens, I find it not too bad (but still a little bad) that people are spending millions to try and create value for many customers, thousands of employees, and enrich thousands.
pearjuice 1 day ago 0 replies      
So about these investors, did they just throw away a few hundred million dollar? Or do they somehow have contracts which define that they with future business operations should get the money back? Loans? Or is it just free money provided as-is? On what terms do they invest?
fsaezc 2 days ago 0 replies      
wow. Had already forgotten about them.
hackaflocka 2 days ago 0 replies      
First, let me unequivocally state that I'm not a homophobe by any means. A large number of the founders and initial employees were gay men, with strong ties to NYC Media and Wall St. They were hyped as being the Queer Eye for the Straight Guys of eCommerce. The people who were going to save boring straight people from themselves. The entire thing was a ponzi scheme designed to create a lot of hype, and take money from fools. By the looks of it they succeeded.
impostervt 2 days ago 1 reply      
The main picture on the page is a really, really badly done photoshop. I'm kind of surprised they'd use it.
Im an Anti-Braker
points by mzs  2 days ago   212 comments top 24
dang 2 days ago 1 reply      
This is not a good HN submission. It doesn't teach us anything; its purpose is to arouse indignation in favor of what one already believes.

In other words, it's a riler-upper. Please don't post riler-uppers to Hacker News.

joezydeco 2 days ago 24 replies      
We need to think of a better way to convince parents to vaccinate their children than hitting them with sarcasm. While these are fun to read from our smug pro-vax point of view, they provide no effect on everyone else.

We need to show parents what life was like before the polio vaccine. Before measles/mumps. Hell, before smallpox. Part of the problem is that younger parents don't believe that these diseases were all too real and way too common before the treatments. There aren't many polio survivors around anymore, and the only place you'll ever see measles is on Brady Bunch reruns.

transfire 2 days ago 4 replies      
I know this will be down voted, nonetheless, after reading many of these threads it is clear to me that most pro-vaxxers are horribly uneducated about the facts, and simply go around parroting others and making holier than though smug comments. If they would actually take the time to listen they would see that most so called "anti-vaxxers" are nothing of the sort. While there will of course always be the few that are extreme about it, most are simply concerned about safe delivery and over vaccination for the sake of pharmaceutical company profits. They want better oversight and safe guards. They want to spread vaccination schedules out and not have to get any that aren't absolutely necessary. If these concerns were addressed, the die-hard "anti-vaxxers" would be such a small number as not to matter for herd immunity.
lisper 2 days ago 3 replies      
Not all anti-vaxers are stupid or ignorant, some of them simply have a different quality metric. I've had extensive correspondence with a former colleague who fully accepts all the science, but simply believes that natural immunity is "better" than artificial immunity, and that a 0.1% mortality rate (which is about what measles produces) is an acceptable price to pay. We both accept the science, but he likes the odds and I don't. I have no idea what to say to someone like that.
kyledrake 2 days ago 4 replies      
In snow in the winter, slamming on the brakes actually can prevent you from stopping your car. I grew up in Minnesota, where you learn how to deal with this very quickly.

If you've never driven in snow/ice before, there's a situation where the brakes can "lock up", causing your tires to freeze instead of slowly spin down. For some physics reason I don't entirely understand, the tires have better friction with a slippery surface when they're still spinning, so when they stop spinning your car just turns into a giant hockey puck, and you can no longer stop the car without getting the tires to spin again.

Newer cars have what's called an "Anti-Lock Braking System (ABS)", but it usually doesn't work very well. I'm pretty sure it's just there for the people that have never driven in snow before. It's actually worse to trigger it sometimes.

If you've never driven in snow before and just moved to a place where it does, find an empty driveway and learn how to pulse the brakes. Seriously could save your life.

nostromo 2 days ago 1 reply      
If you want to convince skeptics to get vaccinated, being insufferably smug is probably the worst way to go about it.
alttab 2 days ago 0 replies      
The analogy doesn't really hold up. And I love it how you can be so right, so unwaveringly correct as to leave no air or room for debate. While illustrating a point poorly the author just comes across like an asshole to anyone that doesn't completely agree with him. Circle jerk much?
chrisBob 2 days ago 0 replies      
I have a strong personal stake in this one right now. I am the parent of a 2 month old who can not get the MMR vaccine for another 10 months. Knowing that I have to take my daughter on a commercial flight in the next few weeks scares me, especially with the recent news of the outbreaks.

Maybe education about protecting infants could go a long way to change people's minds. Maybe there needs to be more legal action against the anti-vax movement. http://www.forbes.com/sites/dandiamond/2015/01/28/measles-is...

TeMPOraL 2 days ago 1 reply      
Anti-vaxx movement seems to be a symptom of a deeper problem - I see it as a combination of people being increasingly unable to comprehend the world around them and growing mistrust toward the authorities.

The second one is perfectly understandable - politicians cheat us all the time. Journalists lie in every other sentence. Big companies consistently spew bullshit. A lot of small companies are run by fraudsters. The fundamental trust of society toward its structures is broken. It's easy to assume that politicians and businessmen try to push things for profit and not for the social benefit.

That itself is not enough for a movement like anti-vaxxers though. I'm pro-vax, but not because I trust the government or pharmaceutical companies. There's definitely a lot of fraud, bribery and fudging results there. But the general scientific idea is sound, and it adds up to other things.

It's the kind of feeling I believe big part of population doesn't have. That things add up. I believe in mainstream science because it's coherent, logical and agrees nicely with observable reality. I understand some genetics, know enough maths to have a feel for exponential growth, etc. But many people don't really understand anything about the world (yay education!), it must seem like a black box for them. Some things happen because they happen. When you eat dirt you get sick, etc.

Along with anti-vaxxers, I often talk with anti-GMO and anti-nuclear people. The situation is always the same - they don't trust the autorities and they don't understand a thing about the topic domain. "Nuclear energy" is the scary thing. Chernobyl. Soviet lies. Fukushima. Japanese lies. It's hard to make them do the math and understand that this is our only viable option for now. They don't trust governments and they don't have enough knowledge to evaluate the topic themselves - so they don't trust the solution.

I'm afraid that as a civilization, we're going to really hurt ourselves beacuse of trust issues. That's why in my books, lying to people is one of the biggest sins. It's literally destroying humanity's ability to work together.

jacquesm 2 days ago 0 replies      
The biggest problem with the anti-vaccin groups is that not only does it negatively affect their children (which is bad enough), it also negatively affects others due to reduced herd immunity. In other words, those that have had ineffective vaccinations or that are simply more susceptible are also at an elevated level of risk.
leichtgewicht 2 days ago 0 replies      
The sarcasm was completely lost of me because of the brakeless bicycle movement: http://en.wikipedia.org/wiki/Fixed-gear_bicycle#Brakeless I thought he is just a crazy bad-ass.
transfire 2 days ago 0 replies      
rkroondotnet 2 days ago 0 replies      
Here is a good article on non-medical exemption rates http://www.motherjones.com/environment/2014/02/vaccine-exemp...

TLDR:Oregon, Michigan, Idaho and Vermont are the worst offenders with over 5% of their kindergarten students having nonmedical exemptions.

allthatglitters 2 days ago 0 replies      
After reading the 123 comments so far of this delightful discourse, I'm curious why no one has mentioned how we handle the immigration issue and vaccination? Does ICE check the health records or what? I guess those legally entering with visas etc are good... dare I mention illegals?
sidcool 2 days ago 1 reply      
I actually and really went through half the article thinking 'Wow, what an interesting point of view!'. It was only in the last couple of paragraphs that I realized the satire. I am not a very bright person.
sanderjd 2 days ago 0 replies      
I thought it was going to be a metaphor about central banking systems and the gold standard. Perhaps this is generally a style of argument that works against any sort of "things used to be better" viewpoint.
ColinDabritz 2 days ago 1 reply      
Delightful. Satire is an excellent way to illuminate inconsistent or unreasonable positions.
engendered 2 days ago 5 replies      
The whole vaccination thing has taken a turn much like the AGW debate -- it has become religion, and people define themselves by their (painfully simplified) position on it : I have Facebook friends who post such clever articles and meme images daily, literally preaching to the converted for absolutely no gain but their own smug sense of superiority.

But here's the thing -- vaccinations carry risks. Of course they do. They have massive upsides, but they invariably have downsides, bad reactions, and so on, and it is the utter foolishness that so many try to paint it otherwise. The net result is of course a major positive -- if 1% of the population has an adverse reaction, but 10% avoids getting a painful disease, then a win for the whole (even if it sucks if you're the 1%) -- but it is infantile if not ignorant to not only pretend these risks don't exist (which is ridiculously common), but to actually question people's own assessment of their risk profile.


All of those incidents might very well be entirely coincidental. Or maybe they aren't. Such is the nature of massive, widespread immunizations, where the abnormal immune system of one person might be sent spiraling out of control, while another might suffer a critical allergic response.

Despite endless evidence to the contrary, many seem to believe we have a complete understanding of medicine and the human body. In some ways we remain hacks, and more often than not luck upon our algorithms. But this blind march really makes the movie "The Children of Men" seem more like a prophecy than a fiction.

EDIT: -2 within a minute. HN has taken a perilous dump into garbage land -- the classic ignorant back-slapping and sophistry -- as more and more entirely ignorant people get down arrow rights.

gear54rus 2 days ago 0 replies      
An exemplary piece. For a second there, I thought he was serious.

For the added effect, we don't have that kind of movement where I live so it was not immediately on my mind.

sergiosgc 2 days ago 1 reply      
What is the "braking" distance for a 120km/h to complete stop operation? How do you go from the ~6km/h you get at 850rpm in first gear to complete stop?
xai3luGi 2 days ago 0 replies      
classic vindictive "well then why dont everybody"republican lowest common denominator derivative calculator math at best... seen it a thousand times...
carsongross 2 days ago 0 replies      
I wonder how many kids will end up dead due to these shitty, point-and-laugh, self-congratulatory articles, rather than positively and honestly engaging the anti-vax sides concerns.
smileysteve 2 days ago 1 reply      
While I appreciate the satire, there is a legitimate argument that bad drivers brake too much.

Braking, brake lights, etc create a change that cascades to other drivers. The driver in front of you on the highway is predictable UNTIL they put on their brakes via their relative distance. If you have to put your brakes on on the highway (in the left lane) you are following too closely.

justizin 2 days ago 0 replies      
"Waaah, wahh, my corrupt mechanic who installs my brake pads calls me ignorant because I'm a know it all, but I don't fucking work on cars for a living."

Shut the fuck up. You hit a cyclist with that car and I will throw you under it, motherfucker.

Seriously, the notion that brake pads are a conspiracy by auto mechanics is simply.. Words cannot.

Let's try this:

  In driver's ed, they tell you not to use the brake as a solution to all problems.  If you cannot follow those instructions, you should not operate a motor vehicle.  Do not modify the motor vehicle to remove essential safety equipment because YOU cannot fucking drive.

Confessions of a Congressman
points by anigbrowl  1 day ago   155 comments top 26
KwanEsq 1 day ago 6 replies      
>We are still, despite our shortcomings, the most successful experiment in self-government in history.

I'd like to know what metric they are judging that by.

GabrielF00 1 day ago 0 replies      
You also have the phenomenon of Congress doing politically divisive things just to score points. For instance, the House just voted to repeal Obamacare for the 56th time. Why do it a 56th time? Even John Boehner says that it's so that freshman Republicans can go back to their districts and tell voters that they voted to appeal Obamacare.[1]

Similarly, there's now a special House committee to investigate Benghazi, even though there have already been investigations by four other House committees (Oversight and Government Reform, Intelligence, Armed Services, and Foreign Affairs).

[1] http://www.theatlantic.com/politics/archive/2015/02/why-repu...

chrisan 1 day ago 3 replies      
> 9) Congress is still necessary to save America, and cynics aren't helping

> Discouragement is for wimps. We aren't going to change the Constitution, so we need to make the system we have work. ... Our greatest strength is our ability to bounce back from mistakes like we are making today. ... The point here isn't to make us something we're not. The point is to get us to make sausage again. But for that to happen, the people have to rise up and demand better.

How exactly are we supposed to get them to "make sausage again" when #2-8 pretty much list out why they aren't going to make sausage?

Have we not been demanding better? Any laws we might want of them to limit 2-8 is going to require the people who benefit the most from 2-8 to vote against themselves.

Articles like this is exactly why I'm discouraged and each voting cycle I get less and less inclined to go out and vote and just stay home and code.

Shivetya 1 day ago 2 replies      
5) We don't have a Congress but a parliament

This is the true problem of Congress. It no longer is a separate part of government but merely and extension of the political parties. The ACA is the best example of this effect.

2) Congress listens best to money

The only way to fix this is to government fund all elections with a set amount of money and do not permit direct donations to political parties. However we must not ban paid political speech, only speech that targets a specific person pro or con; excepting someone already in office, negative ads should be always permitted against them

throwaway344 1 day ago 2 replies      
I'm instinctually skeptical of anonymous articles. I always worry the publications are just making it up. It just seems unverifiable. I wonder if my conspiracy voice talking.
malandrew 1 day ago 7 replies      
Can someone do a stylometry analysis on this? There should be a large enough corpus of writing from every congressperson to identify the author.
karmacondon 1 day ago 3 replies      
I'm not sure if anyone has ever done this before, but it might be worth considering what the US Congress has done correctly. Namely, they haven't really screwed things up. America is still here, and is still the most powerful and respected* organization of humans to ever exist. That does count for something.

There was talk here not too long ago about comparing programmers who fly by the seat of their pants and end up looking like heroes to programmers who write solid, maintainable and reliable code. The boss notices when you pull an all nighter and crank out thousands of lines of code to solve a P1 critical bug. But they notice less often the programmers who write good code that doesn't produce a lot of bugs in the first place. Congress is kind of like the second programmer. Their bosses, the voters, generally pay no thought to their passing of procedural matters, vetting various candidates, oversight meetings and routine votes. C-SPAN viewership will attest to this. People only care when there is drama, scandal or crisis. It's a surprisingly thankless job, and like the all the rest of us congress people tend to focus on money as a meaningless way to keep score.

On balance, the entire US government has done more good than bad. This generation was handed a finely tuned machine with one mandate: Don't fuck it up. And they haven't so far. Of course things could always be better. I wish that congress would do the things that I want them to do, and not the things that other people want them to do. But they haven't caused me any problems in particular, and haven't harmed most of the people that I know. It's very easy to complain about how someone else does their job, but obviously difficult to do it better ourselves. We have the option of firing hundreds of them at a time. We're just waiting for them to give us a reason to do so.

* "respected" in the "envied and feared" sense, not the "what a nice bunch of people" sense

rattray 1 day ago 0 replies      
A piece on the salaries of ex-gov lobbyists, which may be germane: http://sunlightfoundation.com/blog/2014/01/21/revolving-door...
chernevik 1 day ago 0 replies      
"The only threat a lot of us incumbents face is in the primaries, where someone even more extreme than we are can turn out the vote among an even smaller, more self-selected group of partisans."

From this the rest follows. Lobbying is a sweet gig because Congress is stabilized to a predictability sufficient to justify organizational investment. Congress is 'parliamentarized' because the national parties are organized around their constituent interest groups. Etc.

This certainly wasn't what the Founders hoped for. And party organization and factionalism have been the most malign factors in American history. If you think it's bad now, just thank God you aren't in the middle of a Civil War. Factionalism poisoned the Constitution even before it got started, by forcing into the document an unprincipled carve-out for slavery and a logically absurd and emotionally nauseating 3/5 "representation" for slaves.

And what's to be done about it?

The Founders were insanely smart political people, and it's a good rule of thumb that if they didn't have a constitutional answer for a political problem, there is no such answer. This guess is fortified by the failure of Abraham Lincoln, the greatest de-bugger in human history, to solve the problem. I'm not saying it's impossible to solve factionalism by some constitutional / legal hack, but I'm not holding my breath.

I think our only hope is _culture_. Our ability, as citizens, to recognize our own individual partisanships and check them. And to recognize them in our fellow citizens and resist them. We have to recognize that in our current political system, real power doesn't lie in Congress, or the Presidency, but in whatever people and forces are shaping the ideologies around which these parties are organized. We have got to identify those forces and examine their motives and prepare to break with them when they aren't serving their stated goals. For all power in all places is corruptible. We have got to start paying attention to the use of language, not to understand problems, but as a tool for political organization. We have to start recognizing the political and organizational dangers of those ideas and dreams we hold dearest, and find ways to guard against those dangers.

tldr;It is ultimately our government. Its flaws ultimately proceed from us.

lordnacho 1 day ago 3 replies      
If most of the seats are safe, why do they need to spend 50-75% of their time finding money to defend them? Is it all spent in primaries?
quadrangle 1 day ago 1 reply      
Maybe doing away with Robert's Rules style bullshit would help some. Everything about the manner in which congress operates is basically designed for partisan gridlock. All sorts of organizations today realize this and use neutral facilitation and better open discussion and decision processes. Under congressional rules, members have to propose bills first rather than agree about problems and then discuss solutions and come to consensus.

Also, score voting would solve a lot: http://rangevoting.org/

rwmj 1 day ago 2 replies      
"We aren't going to change the Constitution" .. why not?
lovelearning 1 day ago 2 replies      
If it's so bad, why did the author run for Congress at all? I wish (s)he had explained their motivation to run for office.
crazy1van 1 day ago 0 replies      
> We have a parliament without any ability to take executive action. We should not be surprised we are gridlocked.

I think the vast majority of new laws don't serve the people's interest. So I welcome the gridlock.

maxerickson 1 day ago 1 reply      
I enjoy the tension that exists between the first two points.

Interpreting with some hostility, Congress is not out of touch with people that have money back home. Which means they are probably mostly out of touch with people back home.

javajosh 1 day ago 2 replies      
Agreed about the credibility of an anonymous article. Vox would do well to explicitly vouch for it.

But this throw-away line struck me as valuable:

>Why try to get on a good committee if you have already ceded authority to your unelected, unaccountable party leaders?

This, it would seem to me, is the most troubling aspect of all of this (to put it mildly). If the tacit assumption is true (that congresspeople cede their authority to unelected party leaders) then we do not live in a democracy, we live in something like a kleptocracy.

w_t_payne 1 day ago 0 replies      
Hmmm. Not with a bang, but a whimper.
archlight 1 day ago 0 replies      
it floats up with best timing as House of cards 3 due to release this month
cubano 1 day ago 0 replies      
tl;dr; Everything about Congress is utterly and hopelessly skewed towards corruption.

Wow, surprise.

No wonder approval ratings are so low.

DanielBMarkham 1 day ago 1 reply      
We're missing some other important insights here:

1) Congress is in a bed of its own making. Most all of the problems listed here were created by Congress itself. And it could change any of them with a few simple votes. But it will not, because Congress has always sought out the least risky structures. No matter what this congressman might say, the behavior is obvious: nobody wants to be a Congressman making the tough choices; running with the herd is much safer.

2) Congress doesn't seek out the money, the money seeks out the Congress. The congressmen just go and ask for it. Congressmen aren't on TV with a telethon to save orphans from cancer -- they are not begging for bucks. Instead, there's a ton of money out there already from lobbyists and PACs that are just waiting for the right politician to come along. It's not begging -- it's more like auditioning for a part. The key question is this: can you stick with the national message, keep the troops fired up, and still take this money? If so, take it! You need it. If not? You've got some more auditions to do. There's plenty of folks wanting to influence the sausage making. It's a numbers game.

It's important to understand this distinction because the driver here is the political power that Congress wields, not the guys with the checkbooks. If, by some miracle, you could pull all the money out of politics? It'd be the same old dance, just with government contracts and cushy political jobs. This has been going on since Washington was president. The problem now is that the stakes are tremendously higher now than they used to be. Political power always trumps money -- that's why money chases it. That's why politicians continue to create new structures where their power can be exercised.

3) While the smart people may not run, there are a ton of folks who have already struck it rich and now just want another feather in their cap. Congress is the way to do that. One senate majority leader said that running the senate was like having to manage 100 little Napoleons.

4) Yes, in the overall the Congress may be having problems getting together, but the individual role of Congressman is a pretty cool gig. All government agencies have special hotlines for you to get special attention. You get to ride around in helicopters, meet foreign leaders, magically make investments that soar, get schmoozed by celebrities -- the perks go on and on. So let's not blow smoke up anybody's posterior: if the job wasn't attractive, most of the people who are currently congressmen would step down. That's not happening.

5) Congress is not only necessary to save the country, they've been sleeping on the job. You can be cold and bitterly truthful without being cynical. Things are broken for a reason. Understanding those reasons is the first step in fixing the system. I worry that people who hate on cynics are really just saying "Become emotionally fired up and follow us on faith. We'll get you there!" Sorry, I don't do that -- and I think we're nearing the end of that attitude being helpful. In fact, it's beginning to sound like cheerleading on the Titanic. Let's be blunt and honest. If the republic depends on my losing my critical thinking skills then it's in worse shape than I think. Honesty, learning from history, and being aware and critical of the many ways governments screw up is what created the structure of the country, and its the only true way forward. You cannot fix something you are not prepared to talk honestly about.

vacri 1 day ago 0 replies      
"and we try to do our best", followed by an article where everyone follows the same rutted path like sheep instead of trying to break the mold. If they were trying to do their best, they wouldn't engage in filibustering and brinksmanship.

Then, near the end: "lower pay than a first-year graduate of a top law school". $174k? That's your typical graduate salary from a top law school? Yes, perhaps. If you choose the cream of the crop, in the most expensive state, with the largest firms. It's a silly comparison anyway, because first-year graduates are in their early 20s, and politicians are, for the most part, middle aged. Talented middle-aged people aren't becoming politicians because they're instead drawn by the lure of being a junior lawyer?

I mean, seriously, no-one believes that the only financial benefits federal politicians get is their salaries. Hell, the Australian Prime Minister is paid 25% more than the POTUS (or at least was, before our dollar dropped), but the current and past presidents aren't exactly strapped for cash.

briandear 1 day ago 2 replies      
A strange contradiction: the author claims that low pay is a problem with attracting talent but then explains how it's a stepping stone to lucrative lobbying jobs. I don't think there's a single person who would turn down a Congressional seat because they pay isn't high enough. Congress should have a salary that's equal to the median salary of a DC school teacher. In fact Congressional pay should be statutorily pegged to the average salary of cops, firemen, school teachers and mid-career soldiers. Those people don't get a raise, then neither should Congress.

Better yet, let's tie Congressional pay to fiscal performance: for every percentage the deficit exceeds the budget, congressional pay decreases by the same percentage. If they don't pass a budget, then they don't get paid at all. Maybe Congress (and the Executive) ought to feel the he same pain or pleasure they inflict upon the country.

barsonme 1 day ago 2 replies      
A better title: "9 obvious political facts we hashed together to make a cool headline."

1) Of course. Everybody is short-sighted and the goal is to keep the constituents at bay for the next election cycle. Wait long enough, and you're basically set depending on how deep of a shade your district is.

2) Well, yeah. Nobody donates except for old people (barely), rich people, and unions/corps. A house campaign in a "safe" district in my state costs over $8M, and very little of that comes from your "average" citizen. Thus, fundraisers with rich people. It's an arms race, because you don't want to be caught without money unless your opponent goes balls-to-the-wall -- then it can be used to your advantage. ("Hey, look, he's a corporate/union/out of state shill!") edit: also, sorting remits sucks. Super boring because most is pennies save for a few large checks.

3) This one is probably one of the worst depending where you come from. A state like mine doesn't have many issues, whereas some of the states with a very black and white demographic makeup (I mean that in more ways than one) have a lot more issues.

4) Yeah. It's frightening almost. Still, it depends on the data sets. Many state parties have POS data sets that still rely on a top-down method of data insertion that sucks. Also, the more rural you get the less accurate the data is. (Although, there are other methods of voter ID for rural voters.)

5) Part of this is due to the polarization of the U.S., but yeah. I mean, theoretically we're supposed to have a slow-moving congress, and separation of powers (exec, leg, judicial) is a good thing.

6) Ooooh yeah. Get on the (depends if you're talking about state or national congress) finance committee, ways and means, etc and all of sudden you're powerful. I should mention, though, that at the local level committee meetings are taken much more seriously.

7 and 8) Yeah. One of the best ways to make connections is through politics. I know people who are absolutely useless but make nearly six figures because they worked on a campaign, ran one, worked as an la, and finally got a position on a "policy group" or as a staffer. All of a sudden you have a bunch of people vouching for you, regardless of your competency. If other professions worked this way (e.g. doctors, lawyers) we'd all be dead or in jail.

9) Apathy is the killer. Nobody cares anymore, and it's sad. If people would care, learn about the issues and people, show up to local hearings, actually do things then we'd see real change. If people wouldn't be so polarized and view the world as black and white maybe we'd end up voting clowns out of office... although, that does require people to actually vote.

mikerichards 1 day ago 0 replies      
Congress is still necessary to save America...

When you think like that, then you're part of the problem, not part of the solution.

zaroth 1 day ago 0 replies      
This was a funny statement;

  Without crooked districts, most members of Congress  probably would not have been elected.
I can say with certainty that without crooked districts every member of congress would still have been elected. I mean, I get what Anon is trying to say, but it hints at a very slanted / anti-voter world view. This is my surprised face :-|

powera 1 day ago 1 reply      
I'm also very skeptical that it's actually a congressman; if the person is this bitter about Washington why did they just spend so much effort getting elected 3 months ago?

Beyond that, members DON'T vote with party leadership 99% of the time. If you count enough procedural votes it might feel that way, but that's just silly.

This emphasis on "talent" in Congress also seems like it's not from a Congressmen.

I suppose this could be a particularly unambitious backbencher from a safe seat (which would also explain why they don't care about committees).

CrunchBang Linux: The end
points by _JamesA_  2 days ago   96 comments top 40
slfnflctd 2 days ago 5 replies      
What a bummer. CrunchBang succeeded more for me in the first install attempt on older, weirder hardware than any other distro I tried (including things like Puppy Linux, Damn Small Linux or even Debian with defaults). I have it set up as a dual-boot 'failsafe' OS on a couple old WinXP machines, one of which I use daily.

For getting up & running quickly with minimal hassle, while still being rich in features and easy for noobs on basic tasks, I have found nothing that compares-- not sure what I'm going to replace it with yet, would love it if anyone has suggestions.

laydros 2 days ago 0 replies      
I had a feeling this was coming, based on the fact Corenominal is mostly running Jessie with Gnome in some of his recent posts, and the lack of development around the Jessie based version.

I think Corenominal is a stand-up guy in general, and great for the GNU/Linux community. I think he is also leaving the project at the right time, before he has to face the demons of init that are in Jessie, and now that vanilla debian with xfce or lxde is much closer to the user-friendly and complete desktop that #! was so great for.

All that positive stuff said, this kinda sucks. I was really looking forward to the next version. I agree with many others that it isn't pointless yet, there still isn't anything quite as polished while still being super lightweight.

sauere 2 days ago 1 reply      
This is sad. I am using CB on my Notebooks and i love it. It's preconfigured setup was the perfect sweet spot between a Debian-minimal install and the somewhat "bloated" big distros out there.
cms07 2 days ago 0 replies      
I used CrunchBang for quite a while, and it's sad to see it go, but I completely understand why the maintainer doesn't want to do it anymore, even though I disagree with his statement that CrunchBang no longer has value.
darkFunction 2 days ago 0 replies      
Oh man. CrunchBang is my go-to distro when I need something lightweight that just works out of the box. The default install is a great, well-featured system.
perturbation 2 days ago 3 replies      
Posting from a Crunchbang desktop - not the best thing to be the first thing to read as I get up in the morning.

I expect I'll be able to do some apt-repo magic and switch over to Debian when the next stable release comes out, but I hope there's not too much breakage when I do.

novalis78 2 days ago 1 reply      
Crunchbang is my most favorite distribution. For the last 2 years I found it perfect for my needs, especially on slightly older machines. Originally I came from SuSe, moved on to Red Hat and Fedora, then played with Gentoo for a while. Ubuntu is great, but with each version the out-of-the-box experience became less and less desirable. Crunchbang (which I discovered on HN, btw) was minimalist (but not painfully so) and shared Ubuntu's robustness.
macco 2 days ago 1 reply      
I was a humble #! user for some time. But thinking about it, this little distros a getting less important, cause the big ones got a lot better.

Thinking about it, it is a good thing the #! creator focuses on someting different/new. We have to many distros anyway.

nailer 2 days ago 0 replies      
As a mid-level Unix person (around 18 years) I'd heard 'hash bang' and 'shebang' but never 'crunch bang' to describe the interpreter before.

I wonder where the term 'crunch' for pound/hash came from?

Edit: looks like it's been around a while: http://ss64.com/bash/syntax-pronounce.html

LukeB_UK 2 days ago 1 reply      
Google cache because their site seems to be struggling: http://webcache.googleusercontent.com/search?q=cache:http%3A...
muyuu 2 days ago 0 replies      
AFAIK he made no money whatsoever out of it. If it's not necessary for him any more, and doesn't make him any value, it's hardly difficult to understand he doesn't want to continue working on it.
johnatwork 2 days ago 0 replies      
To me #! was quite good for my needs, I'm quite sad to see it go. As someone who's not quite adept at using Linux, it was configured enough that I wasn't lost following instructions.

I will surely miss it.

jblow 2 days ago 0 replies      
I have great respect for anyone who undergoes a big project. So I am sad that this project is coming to an end, and I hope his future endeavors go well.


From my perspective as someone who keeps going back to Linux and trying to use it every 18 months or so, the #1 problem today is that there are WAY too many distros -- and as a result, all of them are broken. What really needs to happen is for the Linux community to put a great deal of elbow grease into a small number of distros.

Because I only try Linux every year or two (and give up on it every time), I see isolated snapshots of how usable the OS is, and from my perspective, it's gotten less stable and less usable over the past 5 years. (Six months ago I had to try 4 different distros before one would even install correctly on one of my two test laptops, for example).

In terms of mainstream distros that are actively trying to appeal to end-users (not counting fringe research projects), how many is enough to provide good variety? I am thinking 3-5 maybe?

Instead, this is the situation: http://en.wikipedia.org/wiki/List_of_Linux_distributions

Does anyone think that is an efficient way to produce quality results?

Edit: It's also worth keeping in mind that the Wikipedia list is sort of the minimal list of versions. For example, if you go to the Linux Mint homepage, you get 4 different versions to choose from: http://www.linuxmint.com/

ethagnawl 2 days ago 0 replies      
I've been running #! for the last 1.5 years and it's been a pleasure to work with.

Many thanks to @corenominal and the other contributors for their efforts over the last few years.

samspenc 2 days ago 4 replies      
I never used CrunchBang, but heard quite a bit about it, and like an big open source user/supporter, I'm sorry to see CrunchBang go.

But honest question: with the rise of Ubuntu, Debian and a few other "alpha" Linux versions, does it make sense to put in effort and keep an alternative Linux version running? I've always toyed with making my own Ubuntu variant with custom window manager, but never got around to it.

oldpond 2 days ago 0 replies      
I loved crunchbang. The installer was great. It got from zero to everything you needed for a development box in 15 minutes. Thanks for all your work!
undersuit 2 days ago 0 replies      
I run Debian, but the Crunchbang Forums have been a great place for me to learn. I'll find tips, pearls of knowledge passed down from the masters, and even whole config files for programs that barely get represented in the normal linux distros.

Crunchbang served as repository of knowledge for a minimal desktop Linux and hopefully the community keeps the forums active.

spiralpolitik 2 days ago 0 replies      
Sad news. CrunchBang was a great little distribution. A couple of rough edges, but it was a refreshing change from Ubuntu or Debian.
kancer 2 days ago 0 replies      
I've been running Crunchbang for two years. It is the only distro that had working media buttons, multi touch trackpad, close lid -> sleep working out of the box on my T420. Not sure if any of this changed but all the other distros I tried required me to write config files and bash scripts. Sad to see it go.
nadams 2 days ago 3 replies      
Disclaimer: I've heard lots of great things about #!. However, I have never had the chance to try it myself.

I kind of figured distributing the distro over torrent only was a bad idea. For the kids sitting at home - torrenting isn't a bad thing (generally...usually). However, when you are sitting at work and they are monitoring traffic - downloading a torrent is a quick way to summon the overlords (even if you were in a technical position like I was - there are some things that they will look the other way, such as downloading the NT password reset disk, but downloading a torrent would not be one of them). And no, I wasn't about to "sneak" in a burned copy of #!.

In today's day and age of CDNs and cloud storage I found it highly suspect that they couldn't find someone to mirror it (even uploading to sourceforge). I'm not claiming there was anything wrong with #! but offering a torrent only download makes me cautious.

zeroviscosity 2 days ago 0 replies      
All good things must come to an end. I've been a dedicated #! user for years. I have it on my work desktop, my home desktop, my Macbook Pro, my Macbook Air and my home media server. In other words, I'm a bit obsessed with it. I really appreciate all that @corenominal has done and wish him all the best.
morganvachon 2 days ago 1 reply      
Sad, sad news. It's the only Debian based distro that I've found to be nearly perfect out of the box for my workflow. I had a feeling this was coming for a while (as most #! users probably did), and I've mulled over trying to emulate its interface and approach using another major distro (Slackware) as the base. But the two, Debian and Slackware, are just so different that it's beyond my ability to commit the amount of time needed to do it properly.

Given the impending systemd switch in Debian, I probably would have had to give up using #! going forward anyway. Still, it kills me to see it possibly disappearing one day soon. I hope Corenominal can pass the torch to the community in a way that allows it to live on in some form.

aroch 2 days ago 2 replies      
Archbang is still under active development, thankfully
ykzrtj 2 days ago 0 replies      
A real waste. So I'll go ahead with my eulogy. #! to me was more than an operating system or Debian with slick OpenBox configs. #! was the community, the aesthetics. It represented a bold idea and executed it flawlessly. I really hope the community can take on the mantle, and trudge on. I disagree that #! has no more value. On the contrary, I think its value was already starting to increase in the recent years.
stolio 2 days ago 0 replies      
That's a bummer. I used to run Debian with OpenBox so I'd often end up sifting through the old CrunchBang forum threads to fix stuff. Just an amazingly nice and supportive community.

Running Debian/OpenBox was pretty cool. I'd imagine if you keep your config files, especially rc.xml and the startup scripts, you could home-roll something quite similar to #!. Although running OpenBox by yourself can be a massive time-suck.

talles 2 days ago 1 reply      
Noooo, #! is one of my favorite distros. Used for quite a while in the past.

I stopped using when they switched the base system from Ubuntu to Debian (I know, shame on me) :(

seldonPlan 2 days ago 1 reply      
The link seems to be dead for me. What was the reason #! is ending? I really enjoy this distro. Very sad to see it gone.
logn 2 days ago 0 replies      
The web site is slow under the load.


carlivar 2 days ago 1 reply      
I appreciate the philosophy of CrunchBang, but for my recently-built Linux desktop PC I tried it out. Spent two days trying to get sound to work correctly. Really brought me back to my struggles with Linux 10+ years ago. Gave up and went with a mainstream distro where sound Just Worked.
danneu 2 days ago 0 replies      
Crunchbang is the only lightweight distro that completely worked on my 2008 10" Atom netbook. I used that thing for three years when I was a student.

It's my favorite distro, I'm thankful for it, and it's sad to see it come to an end.

thatsjustcrazy 2 days ago 0 replies      
A sad day indeed. Brings me back to my days of obsessively sampling every flavor of Linux out there.
vohof 2 days ago 0 replies      
CrunchBang was my togo distro as well. Everything's nicely setup. But when I tried ArchLinux, I never looked back. CrunchBang has a very awesome community!
rak 2 days ago 0 replies      
At one point this was my favorite distro and my favorite irc channel to hang out in. It showed me a lot about the possibilities of configuring a minimal system.

Sad to see it go. Thanks for everything.

chanux 2 days ago 0 replies      
I used crunchbang once and loved it! Also I've picked up a lot form the forum. Even though I had to be with ubuntu for reasosns, it's really sad to see #! go.
johntaitorg 2 days ago 0 replies      
Nooooo Crunchbang is perfect
forlorn 2 days ago 1 reply      
So, no other maintainers are willing to continue working on it?
william20111 2 days ago 0 replies      
very sad to see this happen. Hopefully somebody takes over and guides the project from here. They have made a great distro with the openbox wm.
arca_vorago 2 days ago 0 replies      
I really liked CrunchBang, especially the setup scripts, which I think shouldn't be too hard to port over to a debian minimal install anyway.

For those of you looking for similar alternatives, ArchBang is pretty awesome, but I have been increasingly interested in Alpine Linux for it's native grsec implementation. I'm experimenting with using it in virtual network labs and it has worked pretty awesome so far.

pearjuice 2 days ago 2 replies      
I never really got the popularity of CrunchBang it was basically a Debian minimal with a "sudo apt-get install openbox tint2 conky" post-install script.
emehrkay 2 days ago 0 replies      
Funny how branding works. Having never heard of, or forgotten about, CrunchBang, for a split second I thought "Tech Crunch has a linux bistro? Must be for that tablet that they made a few years ago." I recently encountered this with Plan B Burgers in DC.
Show HN: vim-hackernews
points by ryanss  1 day ago   33 comments top 16
fabiofzero 1 day ago 1 reply      
Well, it certainly looks better than the current Hacker News design.
evilduck 1 day ago 2 replies      
The Emacs community embraced vim through evil-mode, the vim community is now implementing the rest of the OS.
sagarjauhari 1 day ago 2 replies      
Pretty awesome! My default browser is Chrome and I have Vimium installed - and its a really good to be able to press 'O' on a HN link and continue on Chrome with the same navigation (j, k, ..)

Based on the way I read HN, some customization that I would definitely want to do are:

1. Headline navigation (mapped to 'j') - move cursor to the next headline instead of the next line

2. <Enter> / O opens the link in browser instead of the HN thread

3. Opened links get blurred

4. Quick page reload mapping and Auto reload

But this is purely based on my style of reading HN.

atmosx 1 day ago 2 replies      
I didn't play with the HN API but I wonder if it's possible to post comments using the API. I haven't seen any program support user comments, it would be neat to be able to post comments using vim :-
ponytech 1 day ago 0 replies      
It will be very useful at work for reading HN and pretending I am working :)
guillaume8375 12 hours ago 0 replies      
Does anyone think it would be complicated to port it to Sublime Text? I'd like to, but I'm learning to program.
roylez 16 hours ago 0 replies      
Reading comments in this thread reminds me how talented people are and how much superfluous engery there is in them.
yzh 20 hours ago 0 replies      
This is gonna so reduce my productivity dude.
kansface 1 day ago 0 replies      
No, Vim is more or less incapable of dealing with JS because it lacks support for asynchronous processes with two way data flow.
ecthiender 18 hours ago 1 reply      
Super cool stuff!

I also agree with few others here. Adding comments support would be so awesome.

Killswitch 1 day ago 1 reply      
I dig your vim theme, can we get some info on that?
alexbardas 1 day ago 0 replies      
Great and very useful plugin. Good job!
aceperry 1 day ago 0 replies      
LOL, so cool. I prefer to read HN in a browser though.
owly 1 day ago 0 replies      
tunnuz 1 day ago 0 replies      
myrandomcomment 21 hours ago 0 replies      
Ugh! If you want stuff like this then switch to EMACS.
In search of the perfect JavaScript framework
points by jsargiox  1 day ago   76 comments top 22
danabramov 1 day ago 5 replies      
>We want to apply values to variables and get the DOM updated. The popular two-way data binding should not be a feature, but a must-have core functionality.

Strongly disagree. I find one-way bindings and one-way data flow much easier to reason about. A little less boilerplate code is not worth mental overhead, cascading updates and hunting down the source of wrong data in my experience.

What is important is not updating the DOM from the code and instead describing it with a pure function. React, Cycle, Mithril, Mercury do it, and it's time we get used to this. This is the real timesaver, not two-way bindings.

`Object.observe` is the wrong way to approach this problem. If you own the data, why invent a complex approach to watch it, if you could update it in a centralized fashion in the first place? Here is a great presentation on that topic: http://markdalgleish.github.io/presentation-a-state-of-chang.... I strongly suggest you read it ("Space" to switch slides) if these ideas are still alien to you.

Even Angular is abandoning two-way bindings. http://victorsavkin.com/post/110170125256/change-detection-i...

I, for one, welcome our new immutable overlords.

ef4 1 day ago 3 replies      
> "Abstraction is dangerous"

The fact that Javascript people keep saying this with a straight face is getting really absurd.

You do realize Javascript is also just an abstraction, right? And that the browsers that run it also abstractions, and the operating systems, and the kernels, and even the hardware itself has multiple layers of abstraction?

"Abstraction is dangerous" is just fundamentally wrong. Abstraction is the only way we get anything done.

What you really mean to say is that bad abstractions are bad. But stated so clearly, it becomes obvious that it's a tautology. Well-designed abstractions that leak as little as possible are essential to everything we do.

This stuff matters, because instead of having stupid arguments over "how much" abstraction we want (which really boils down to 99 layers vs 100 layers) we should be debating exactly what abstractions we want.

carsongross 1 day ago 9 replies      
My theory is that, for much of the web, the perfect javascript framework is no javascript framework.

Get rid of all the abstraction, local state, dependency injection, symbol management and so on. Take HTML/HTTP seriously and think about REST in terms of HTML rather than JSON.

That's intercooler.js:


Here's an image I tweeted trying to explain how to get there mentally:


Yes, it's a simple model. And no, it doesn't work for every app. But many apps would be infinitely simpler and more usable in a browser by using this approach, and almost all apps have some part of them that would be simpler to implement using it.

drawkbox 1 day ago 0 replies      
As long as your javascript framework is a micro framework and not a monolithic one, the abstraction does not make the project foggy.

Building the core and then using micro frameworks or components like react, jquery, etc leads to less walls as swapping is easier as time progresses.

You don't want to be caught high and dry stuck in years of monolithic to cleanup when the fad dies and at that point having abstracted away everything you need to know.

Outside of javascript, .NET WebForms and Drupal are classic examples of too much abstraction in monolithic fashion (those poor bastards stuck there - dead man walking), Angular might be another. The whole time you spent building addendums and machinations to a framework, not building the core of what needs to be known.

If the framework changes everything you do and abstracts core logic or the systems you are building doing things without you being aware, it might be easy to start 90% but there are gonna be problems and eventually walls and walls against you.

The only thing that should be monolithic and the base is programming languages and platforms. Everything else should be micro components or messaging.

beat 1 day ago 0 replies      
It's a thought-provoking article, but I would also like to see something about React in it. It seems to me that React is a very pragmatic way to get around the global complexity-driven performance issues with DOM manipulation.

When we're coding, we're optimizing for a couple of different things, really. First is real-world performance (represented by slowpoke DOM manipulation). Second is programmer performance (represented by inappropriate abstractions). A lot of things we can do in Javascript to make programming less difficult and complex result in poor real-world performance, and vice versa.

But what do I know? I'm not by any stretch of the imagination a Javascript expert.

tel 13 hours ago 0 replies      
The whole "abstraction is dangerous" spiel is so wrong (imo) that I don't even know how to respond to anything that follows.

The primary complaint appears to be that abstraction eliminates your ability to operationally trace the meaning of a program. This is true, but sacrificing operational denotations only hurts if you replace it with nothing elseand abstractions of general purpose languages are almost always more interpretable than the operational denotation of the base language itself!

Of course, there are always places for poor abstractions. I am not talking about these. Abstractions which are intentionally opaque, have confusing action-at-a-distance, etc---you're bringing down the name of abstraction in general. "Leaky" is insufficiently demeaning.

A good abstraction will have its own semantics. These can be equational, denotational, operational, what-have-you but, essentially, these semantics must be easier/simpler/more relevant than the semantics of the base language they're embedded in. Otherwise why abstract?

So what does React give you? It gives you, more or less, a value-based compositional semantics. Components have some "living" nature (an operational semantics w.r.t. to state) but they're mostly defined by their static nature. Because you can build whole applications thinking only about the static, compositional nature of components you can take massive advantage of this abstraction.

Ultimately, you do not want operational semantics for React. This is what gives us React Native, background rendering, and probably what will lead to sensible animations (in time). To define operational semantics, especially ones which have to look like or (worse) be identical to those of Javascript, would destroy almost all possibility of extension. At the cost of making things more complex and harder to reason about.

All so that you can just stick to "obvious" Javascript base operations.

hippich 1 day ago 0 replies      
I yet to find "perfect" JS framework. I bet, it will never happen.

Nevertheless, I have a favor to ask any framework developer out there - please, make it disassemblable and usable piece by piece outside of framework.

OP was right - sometimes i find some aspect of framework nice, but more often than not it is monolith part of the whole framework, which as a whole I dislike.

ps: current combination it seems to fit my mind workflow is Backbone (models + collections) + Ractive.js (Views) + Machina.js (for routing and defining "controllers"/states.) Although I am looking to use something else besides Machina.js in next project, as I want to have hierarchy now. And since it is all loosely coupled, I can replace parts.

djabatt 1 day ago 0 replies      
Where does react.js fall in this discussion? Or does it? Just reading a lot about react.js this week.
wwweston 1 day ago 1 reply      
> Abstraction is dangerous

True statement. Of course, it's more or less true, depending on how much the abstraction you're using leaks. Few (if any) abstractions completely encapsulate complexity, almost all will leak. But there's a range. Some abstractions elegantly cover a modular portion of your problem space and do it so well you only rarely have to think about what's going on under the hood (and will even produce effective clues as to what's going wrong when something does go wrong). Some abstractions awkwardly cover only part of a modular portion of your problem space, require a high intellectual down payment to even start to use, have gotcha cases that chew up performance or even break things, and require continual attention to what's going on just to keep development going.

Most are probably in between.

I think this is what JWZ is talking about in his famous "now you have two problems" assessment of regular expressions. I don't read him as saying "regular expressions suck," I read him as saying anything but tools from the high end of the abstraction quality spectrum means now you have two problems: (1) the problem you started with (2) the problem of keeping the model/details of how the tool works in your head. Regular expressions are arguably in the (maybe high) middle of the spectrum -- they may not cover your case well (ahem, markup) and they can send your program's performance to hell or even halt it if you don't know what you're doing.

Now, they're also broadly useful enough in all kinds of development that the benefits go up with the costs and so they're probably worth investing in anyway, as part of a suite of other parsing tools/techniques. So I'm not bringing the topic up to bash them.

But to take us back to the topic, I might be bringing it up to question the ROI of popular JS frameworks, which, as far as I can tell, are generally not at the the high end of the abstraction quality spectrum, don't have the broad usefulness of regular expressions to recommend them, and may not even survive longer than a handful of years.

akrymski 1 day ago 0 replies      
One super simple framework is https://github.com/techlayer/espresso.js/

It's a bastard child of React and Backbone.

iEchoic 19 hours ago 0 replies      
The Knockout example in this article is a bit strange - Knockout is not a framework (it is explicit about this) - but besides that, Knockout components actually do allow the "framework" to decide when things are instantiated.
RehnoLindeque 19 hours ago 0 replies      
> We all like simple tools. Complexity kills. It makes our work difficult and gives us much steeper learning curve. Programmers need to know how things work. Otherwise, they feel insecure. If we work with a complex system, then we have a big gap between I am using it and I know how it works.

One answer to this problem of opaqueness in abstractions is having a well defined denotational semantics. This makes it clear that something can work in one way & only one way (without the need to dive into library internals). I feel that Elm is doing a pretty good job of tackling this for GUIs and signals.

itsbits 1 day ago 0 replies      
I don't agree with DOM event handling: setting events at every node comes with a cost. And I think you forgot to mention the performance issues with that approach and so now a days almost all frameworks prefer to event delegation.

I think author except in 1,2 points didn't bother to take side with performance aspects.

thekingshorses 1 day ago 2 replies      
I like the direction author is going. I have used similar methodology designing my applications (for mobile), simple, micro libraries, one way data binding.



* I have bunch of helper functions (UI and non-UI). Each function define in its own file and independent (easy to unit test). Personal library like jQuery but not a jQuery replacement.

* App is route based. One route to many controllers. Each controller is a page/screen on mobile.

* There is only one model (API) that interface with 3rd party library. API layer talks to 3rd party library to get data or gets data from server directly, caches data, etc. Provides sync (Cached data) and async (Cached data or fresh from server) interface to controllers.

* There is a app class or I call it a page manager. Responsible for managing pages like ordering, loading, unloading etc (Kind of big and complex 200+ lines of logic).

- Decides which page to animate in which direction on mobile (Loading new page or going back).

- Order of pages (Back button)

- Passes events to its controllers

- Decides which pages to keep in DOM, and which to remove.

--- If you go from homepage to comments to profile page, all pages are in DOM.

--- When you go back to comments page from profile page, profile page will be destroyed and controller will be notified. Same happens when you go from comments to home page.

--- If you go to same comments page again, it will be loaded as a new page.

* Controller:

- Each controller may have multiple CSS and templates

- Controller uses its template to render

- Using sync API to get data to renders page.

- If sync API returns no data, renders empty page with loading, and makes async API call.

- Controller are idle when transitioning (animating) from one page to another on mobile. (Very important for smooth animation)

- Simple but fat controllers

- Controller handles events, UI logic

- Self cleaning so that browser can collect garbage when necessary

I package app using node/gulp. Anything that is not specific to page/app related, it becomes part of a helper library. Each app has its own model (Data layer), and controllers. I use micro templates, precompile using node for faster performance.

mark_l_watson 1 day ago 0 replies      
A difficult article to write - I would not have tried. There are so many good alternatives and choice depends on the application and available skill sets.

I spent time today working in Clojurescript which wraps the Closure library. In the last month I have used Ember.js, Clojure with hiccup, and meteor.js. I really like all of these tools and frameworks. I used to use GWT a lot, and almost committed to Dart. So many good choices.

mathgeek 13 hours ago 0 replies      
I was slightly disappointed that this didn't point to a 404.
jcoffland 19 hours ago 0 replies      
Vue.js meets most if not all the criteria outlined in this article. I've been have great luck with vue.js after a nightmare of fighting with writing a big SPA in Angular.
acdlite 1 day ago 0 replies      
Bad abstractions are dangerous. Good abstractions are empowering.

cough React Native cough

mperret 22 hours ago 0 replies      
I like the structure of google closure, thoughts?
closetnerd 1 day ago 0 replies      
This article reminds me quite a bit about Vuejs. Its got an interface similar to Backbone but with the addition of two way data binding while also allowing you to define web components style tags, attributes.
jbeja 1 day ago 0 replies      
The perfect JS framework won't exist until 2079.
rhapsodyv 1 day ago 0 replies      
Photos Preview
points by antr  3 days ago   162 comments top 28
kohanz 3 days ago 20 replies      
I'm wondering how alone (or not) I am in being uncomfortable with cloud storage for my (mostly family) photos. It would be the most convenient solution in terms of storage and redundancy, but the idea of them possibly being compromised and also somewhat out of my control doesn't sit well with me. It feels slightly hypocritical, since I do share the odd photo on Facebook, but the idea of having every photo and video "out there" is a bit daunting.

Currently I have a RAID 1 NAS at home (also backed up to external drive occasionally), which I use to offload photos from our various devices. I can access these pictures when at home from any device, but of course not outside of the WIFI. So if I want to take older pictures on my device to share with others, I need to download them at home in advance - that's the weakness of this setup.

Am I living in the stone age?

brianwillis 3 days ago 2 replies      
I'm really pleased to see Apple getting away from the "events" concept that iPhoto introduced. It was a good idea in theory - all your photos would be automatically grouped into albums based on the date they were taken - but in practice requiring that every photo in your library belong to exactly one event meant that you had a bunch of awkward single-photo events. Photostream ended up making this worse with special photostream-only events that completely broke the model of how photos should be organised.
kingnight 3 days ago 2 replies      
I think the big win for Photos.app / iCloud Photo Library is the fact that 3rd party app 'extensions' are able to provide exponential editing capabilities directly to the users main library.

I anticipate Photos.app on Mac gaining 'Extensions' a la iOS Extensions in the next WWDC revision/OS X release.

distantsounds 3 days ago 2 replies      
As a photographer, 5GB isn't enough for storing high-res photos. It's nice to keep them off your iDevice, but relying on iCloud to keep them is silly.

Amazon, on the other hand, allows for unlimited cloud photo storage solely by being a Prime customer. All my 24MP RAW photos get stored there safely, along with having my own local storage for backup.

apunic 3 days ago 3 replies      

A huge photo collection is the best lock-in for an OS. So to have a top-notch app here is a smart move from Apple.

I have like 70GB of photos in iPhoto and somehow this stops me from fully migrating to another OS. Just the thought of moving this 70GB to another file system, OS and photo program let me stick to OSX forever. And photos especially the family ones are maybe the most important 'personal' data of a user.

Besides, iPhoto is not bad but the many format changes in the past were a bit tiring.

In general I prefer Dropbox as a cloud file storage--they have the best clients of all OSes and security features like no other (remote wipe), now I just need a cross platform photo database which is separated from my cloud storage provider.

bluthru 3 days ago 3 replies      
I wonder what percentage of users will have to buy more iCloud storage for this. Charging users for more than 5gigs of storage in 2015 seems pretty miserly, especially if someone has multiple Apple devices.
tunesmith 3 days ago 0 replies      
They mention it for videos also - I hope their recommendations on how to handle videos become clearer. I used to pull my videos into iPhoto, but it felt disorganized to have them littered among my photos, and it felt clunky to pull them into iMovie. Later I changed to importing them directly into iMovie, but then iMovie had one of the worst bugs I've ever experienced on Desktop software, where over a period of months the source video of some important footage (me performing at a club) just completely disappeared, leaving only the thumbnails and audio. By the time I discovered it (reviewing year's highlights), it was gone from my time machine history as well (due to Time Machine deciding to corrupt itself and start over every eight months or so). So now I import video into Final Cut hooked up to a desktop Drobo which backs up to CrashPlan.
tashoecraft 3 days ago 2 replies      
Photos does look great, but Apple decided to completely ignore iPhoto while making this. iPhoto has so many bugs and problems and there is nothing I can do but sit and wait for them to release Photos.
jwr 3 days ago 5 replies      
After Apple suddenly (and still no longer "officially") killed Aperture, I no longer trust them with long-term data storage. So no "Photos" for me.

I am still thinking about how to deal with the collection that I have in Aperture.

And before you respond with "just keep the files" or "export the files and import into Lightroom", it's no longer 1999 and it's not just about the files. There is metadata, tags, collections, stacks, and other kinds of organizational structure that are not easily reflected in a directory hierarchy.

I've been bitten once, I won't be fooled again this time I intend to develop my own solution for keeping this data in the long term.

jader201 3 days ago 2 replies      
This sounds good, but if it's still going to lock all of my files behind a proprietary and obscure file structure -- and metadata library -- that totally get borked whenever I try to have some other app access them, then it's no better off than iPhoto.

If they managed to keep whatever file structure I have them in intact, and still keep the metadata/library abstracted from the file structure, then I might have more hope for it.

calebm 3 days ago 4 replies      
I have been struggling to manage my family's photos and videos, and it has really been a nightmare. I'm currently using flickr, but it leaves much to be desired. This looks like exactly what I've been looking for.
jws 3 days ago 0 replies      
All photos automatically stored in the cloud at full resolution.

At last! Here's hoping I never again spend a week recovering a friend or family member's lifetime of photos from their failed hard drive.

By the way, check your backups.

teekert 3 days ago 1 reply      
It all looks nice but I think many people are asking: How does this compare to Aperture? Does it deal with Raw? The word Raw is not mentioned on the page but they do talk about multiple formats... Come on Apple! The entire Aperture crowd is in the dark and looking for these details!
tomcam 3 days ago 0 replies      
I would just be happy with a file-based interface that would let me know physically where my photos are, where they're backed up to on iCloud, and could easily be moved to another storage device.
uptown 3 days ago 1 reply      
Now available in the public and developer OSX Beta.
karapu2 3 days ago 0 replies      
It's interesting that they appear to have removed the Places functionality. I find it the fastest way to locate many photos - vacations, nights out, etc.

I guess most folks did not use that as much, and so it was removed.

kryptiskt 3 days ago 1 reply      
Hmmm... another thing from Apple that goes without the 'i', I sense a shift in branding. Probably gonna be a while before they drop it on the phones, though.
grandalf 3 days ago 2 replies      
I recently made the decision to use Dropbox Carousel for this kind of thing. Anyone have thoughts on whether I should stick with that or switch to photos?
joshmlewis 3 days ago 0 replies      
I like that you can optimize for storage on mobile devices keeping a smaller file size on the phone with the ability to access the higher res if needed.
thomasfoster96 3 days ago 1 reply      
Is this replacing iPhoto? I can't imagine iPhoto and Photos would make sense existing alongside each other.
nvartolomei 3 days ago 0 replies      
I just hope it will be faster compared to iPhoto which is lagging on latest rMBP 15 i7 with 2gb discrete video card.
veidr 3 days ago 1 reply      
NOTE: There is nothing actually new available here at all, other than some new marketing copy.

The app is still "Coming this spring" and the extremely basic and clunky beta cloud service is the same as what has been available since last year.

balls187 3 days ago 0 replies      
I would prefer if they had layflat photobooks.
dba7dba 2 days ago 0 replies      
After some reading about Photos, I'm beginning to see one big reason they are pushing this is for the ability to charge monthly fee for storing photos online...

Why can't they incorporate 'Iphoto Library Manager' and give user the ability to divide iphoto libraries into smaller chunks and let users easily store them on external Hds?

Chevalier 3 days ago 0 replies      
Sigh. Does Apple offer auto-awesome like G+ (and soon, OneDrive)? Do they highlight the best photos or stitch burst shots together into a GIF? Do they email you memories like Everpix used to? Critically for me, do they offer deduplication?

I currently have nearly 1TB of photos thanks to reliance on iPhoto and a decade of attempted back-ups to local storage. In reality, there's maybe 200GB of actual photos. Thankfully, cloud storage has stemmed the proliferation of redundant photos.

For a company supposedly focused on user experience, Apple's complete failure with photos has been baffling. First the catastrophe of iPhoto, then arbitrary photo streams, and now $20/month/1TB (!) for iCloud storage. What the hell. Apple usually justifies their premium and exclusivity by offering better products. Hands up, everyone who thinks Apple offers even remotely comparable web services versus literally anyone else.

This just another greedy lock-in of tech-illiterate customers by offering worse services at higher prices. Which seems pretty emblematic of the Tim Cook era -- when Apple fully pivoted to extracting premium money from their customers rather than offering premium products.

untilHellbanned 3 days ago 1 reply      
Serious question: Is there a better way than the Abercrombie/J.Crew model approach?
brockers 3 days ago 1 reply      
Another Apple ad on Hacker News? I wish we have a filter for "things that only apply to Apple users."
tomswartz07 3 days ago 3 replies      
I've been saying this for the past few OSX releases, and this seems to just reinforce the idea:

I believe that Apple is going to unify iOS and OSX.Their UI designs are slowly converging, and in some cases, they're combining apps across both platforms.

I think we'll very soon see a single 'Apple OS' that will work on all devices; a dream that a lot of other OS's have been seeking for a long time.

Let's review Docker
points by sleepycal  1 day ago   97 comments top 23
bcantrill 1 day ago 1 reply      
While there are some important criticisms in here, there are some misunderstandings of OS-based virtualization with respect to HW-based virtualization in terms of both history and implementation. Certainly, anyone who thinks that "we have reached the point that [hardware virtualized] performance is almost as fast as bare metal" is either cooking their numbers or deliberately limiting the scope of what they are evaluating to purely CPU-bound work; when it comes to anything interacting with the outside world (which is to say, I/O), OS-based virtualization crushes HW-based virtualization.[1] That said, the security criticisms are entirely fair (though they are criticisms of Linux more than of Docker); taken together with the performance win of OS-based virtualization, they form our motivation for Docker containers running as LX-branded zones.[2][3]

[1] http://dtrace.org/blogs/brendan/2013/01/11/virtualization-pe...

[2] http://www.slideshare.net/bcantrill/docker-and-the-future-of...

[3] https://www.joyent.com/developers/videos/docker-and-the-futu...

CSDude 1 day ago 2 replies      
Some of your points seems valid (although the writing style is hostile), but calling it "unnecessary" is over assumption. You think Docker is only used in deployment, but you are wrong. I use it do grade programming assignments, I distribute Dockerfiles to students, and it is very useful. I believe it is very useful in other aspects as well, just because you are unhappy does not make it unnecessary. I ran almost 30.000 containers on a single machine and it saved me many hours.

I also had a incident with Docker in 0.6, when creating a new container it used to traverse all the containers metadata and when the container count reaches thousands it froze my server and I had to manually reboot it on 3AM, but hey that's okay, it can be fixed, I reported it on Github and it does not happen anymore. It is still useful to me, and still necessary.

bayesianhorse 1 day ago 3 replies      
I can only speak for myself. I find docker to be immensely useful. Sure, there were always VMs, but I was very frustrated with multi-vm setups before discovering docker.

At the very least it let me iterate on system configuration / installation procedures more quickly. I have learned a lot just due to tweaking Dockerfiles and rebuilding them. Virtual machines are much slower in this regard.

In Data Science Docker is becoming revolutionary. People tried distributing virtual machines to let others reproduce their work. Dockerfiles are much more reproducible, and don't need a few gigabyte of seperately hosted VM images. Also these VM images usually contain tons of undocumented "state", whereas a Dockerfile is easier to reverse engineer and ultimately very reproducible.

You can include Dockerfiles in all your projects. Other developers can then go in and get started with a minimal amount of guesswork. Turns out "sane" development environments, which probably means one supposedly optimal configuration/setup/framework for all your projects, is the exception rather than then the norm.

cgb_ 1 day ago 2 replies      
"If you expect anything positive from Docker, or its maintainers, then you're shit outta luck.[..]If your development workflow is sane, then you will already understand that Docker is unnecessary[..]Docker would have been a cute idea 8 years ago, but it's pretty much useless today"

Umm ok? Judgement, jumping to conclusions. Take out some of that kind of tone and you have some legitimate criticisms of docker that might be taken more seriously.

There are some real warts in the docker core & community, and a high barrier of entry for multi-node deployments and isolated networks, but on the flipside, deterministic image build & deployment is a big win compared to many other ways of doing this stuff (at scale).

IMO, one of the biggest positives that Docker-like provisioning encourages is clustered-by-default architectures. When you build around failure by assuming nodes come and go (as easily as Docker makes it) your platform availability is likely to be more resilient to some types of failure.

justinsb 1 day ago 3 replies      
I would agree that Docker has some flawed fundamentals, that it has many implementation flaws, and that is over-hyped. Out-of-the-box it is even almost useless for real-world production usage.

But - despite agreeing with your words - I wouldn't put them together to reach the same conclusion. The container model with managed images seems to be a big step forwards vs the VM model: it encourages having immutable 'machines' that are disposable, which works very well for cloud architectures.

I would check out the kubernetes project and where it is heading: containers orchestrated across a cluster of machines, with seamless/automatic networking between the containers.

bitwarrior 1 day ago 4 replies      
The author is viewing/reviewing Docker through a very myopic lens.

I work at a company that leverages Hadoop, and on each developer machine we each have a baby Hadoop cluster (3 nodes) running in VMs at the moment, in addition to a master controller. Hence, at any given time, my machine is actively running 5 OS's (if we include the native OS) and all their associated background tasks. My computer generally idles at 25% CPU usage. Keeps my legs warm in the winter.

We're finally going to dockerize the project and I couldn't be happier. Granted, Mac OSX doesn't natively support the LXC's docker uses (c'mon Apple!), so we'll still be running 1 VM, but that's a huge improvement over our existing implementation. My CPU wouldn't be idling nearly as high, I'm going to recover a ton of RAM, and the boot sequence is going to be substantially faster.

Being that these are developer machines, and simply understanding our use case, we're not worried about malicious tenants breaking out of their environments. It's just not a factor in our situation.

If anything I feel the "article" was a waste of time. I thought I was going to read a great summary on the state of Docker, and instead I got this unexpectedly aggressive piece from developer that couldn't conceive how to fit this particular tool into his toolbelt.

rdl 1 day ago 1 reply      
I strongly prefer hardware-assisted virtualization wherever possible. I'd like to see more super lightweight OSes like MirageOS, as well as sane trusted computing functionality all the way up the stack, but that might be asking for a bit much.
eigenrick 1 day ago 2 replies      
I partially agree with you, except for one very important point: Despite its flaws and hype, it is still incredibly useful.

I just wish it were easier for people to read the contents on the label. Right now everyone thinks it is good for everyone. It isn't, and there are some sharp edges that require RTFM'ing.

kungfooguru 1 day ago 1 reply      
I like it for quickly spawning up fresh places to test during development, or for a fresh environment since so many package managers gems, bundler, npm, etc fuck themselves up and install conflicting packages.

So I find this article to be the same as the hype around Docker, useful information surrounded by hyperbole that ruins it?

I don't need a full VM usually, and being just local dev the security isn't an issue, but used Vagrant before Docker for this.

Is there anything else similar?

escape_goat 1 day ago 1 reply      
Look, if you're going to submit your own blog posts to Hacker News --- I assume sleepycal is the same Cal as the Cal who wrote the blog post --- then take the time to polish them up a little, and tone down the flameshow.

Would you like it if I told people your blog post was useless because you buried your thesis in the third-last paragraph and led off with an either astounding or false assertion that you tested docker (which you had previously disliked) by putting it in production for six months? That sort of needs some explanation and story telling. If Docker induced so much bile in you, then how and why did you end up stuck using it in production for six months?

simonlebo 1 day ago 1 reply      
I came across a few of the issues mentioned in that article while using docker in the last 4 months but I have to say I will never look back.

What I like the most personally is how easy it is to install and experiment with 3d party tools. You want an elastic search stack? In one command you have a webserver hosting Kibana with Elastic Search and Logstash properly configured on your local. Jenkins, Elastic Search, Redis, Postgres, etc: they all have their dockerfiles and can be installed as one liners. Removing them is equally as easy.

Oh and I don't know why it is written that running a Docker registry is "extremely complex". Just like any Dockerized app it is a one-liner.

This new ease-of-install just by itself is worth of my gratitude to the guys that build it.

mwcampbell 1 day ago 2 replies      
If you're renting VMs from a provider like DigitalOcean or Linode, a VM per service can get expensive compared to running multiple containers within a single VM. So, if not Docker, some system for deploying containers in production can still be useful.
sleepycal 1 day ago 0 replies      
Just wanted to say a huge thank you to everyone who has taken time to reply, the response has been overwhelming! There's still many comments I'm yet to reply to, and will finish replying to these tomorrow evening, but it's now 5am and sleep is required.
tszming 1 day ago 0 replies      
I think docker is really successful in term of marketing (no offense), I guess they've learnt a lot from the nodejs/golang's camp :)

Just like few years ago, everyone here on the front page is talking about nosql and seems like everyday, there's a new webscale nosql database being born...but now, I often see more people here inclined toward traditional technologies such as Postgres as it has been greatly improved. (Yes, a lot of aged software are still improving, e.g. MySQL, Apache, PHP or even Perl5)

I am not saying Docker is just a hype, I also don't think it is completely unnecessary, but it is not for me to solve my immediate problems and therefore I would rather review Docker..maybe few years later.

pella 1 day ago 5 replies      
>All of the features which it claims to be helpful are

>either useless or poorly implemented, and it's primary

>benefits can be easily achieved using namespaces directly.

any tutorial ? For me the docker is very easy.

and there are some new alternatives:

- LXD : https://lists.linuxcontainers.org/pipermail/lxc-devel/2014-N...

- Rocket: https://coreos.com/blog/rocket/

- Flockport : http://www.flockport.com/faqs/

- Spoon : https://spoon.net/docs/getting-started/spoon-and-docker

robszumski 1 day ago 1 reply      
What should the ideal process for building a container look like?

Say I have my python app, how do I transform that into a working container? If a Dockerfile is flawed, whats better?

emmelaich 1 day ago 1 reply      
I always saw Docker as a fast, cheap way to test out deployments. I never considered it for production.

For production I'd use kvm or vmware.

Lastly, you might consider systemd-nspawn.It has gained snapshotting recently (on top of btrfs)


hartror 1 day ago 0 replies      
My favourite gotcha for Docker right now is the lack of ssh agent forwarding support with Dockerfile. The only solution appears to be to give the Dockerfile a passwordless build key, which is sorta okay for CI but a total hassle for individual developers.
sleepycal 1 day ago 4 replies      
Feedback and constructive criticism welcome
eof 1 day ago 3 replies      
I fundamentally disagree.

Flawed? sure.. useless hype?? yeah well are all the people loving it just stupid.. or is it just placebo?

The author makes a lot of conjecture with very, very little backing.

I love docker. I'm a programmer more than a systems engineer. I've used Linux as my sole computing environment for 6+ years. I've deployed countless LAMP stacks; and countable Haskell/postgres stacks.

For both having an extremely portable development/building environment; and dead-simple disbursement of binaries-with-prereqs, Docker has been INCREDIBLY useful to me.

For actual deployment of single-server apps; it might be a bit more trouble than it's worth, in some cases. I have a couple places where I develop and build in Docker; but actually deploy "raw"; because it is easier/fine.

But when you start considering Coreos clusters and docker containers to utilize them; deployment again is made congitively simpler (to us mere mortals) thinking in terms of containers.

I guess this is click-bait; but even as a passive user of Docker, I find it quite offensive; and not well-grounded.

I opened the article with an open mind; thinking someone smarter than me knew something terrible about docker that was going to bite me in the ass some day.. only to instead get the impression of, either being trolled, or that the author is my favorite type of neck-beard elitist.

jiballer 1 day ago 1 reply      
I find it bewildering that you ran docker in production for 6 months and yet you find that running your own docker registry a "complex" operation. Docker has its flaws, like any other technology, but running a registry took me all of 2 minutes on an EC2 instance. Kinda makes me wonder how much you really understand about a real docker workflow.
markbnj 23 hours ago 1 reply      
Ignoring the obviously opinionated cruft and hyper-aggressive uber geek disdain, which appears to make up about 70% of this post, there are still one or two actual statements worth examining. Fwiw I run a small site, fifteen or so instances, and we've been using Docker in our deployment for about a year now.

> Lets say you want to build multiple images of a single repo, for example a second image which contains debugging tools, but both using the same base requirements. Docker does not support this.

Of course it does. It appears that it doesn't support it the way you think it should, but to say that you can't do it is misleading. A base image, and two images that pull from it with the different requirements will solve the problem. You apparently don't like that solution, but that is not the same thing as not having a solution.

> there is no ability to extend a Dockerfile

Yeah, this would be nice. Maybe they will add it. But it is hardly... not even close to... a make-or-break feature. Honestly I think you might just need to refactor your stuff, or perhaps Docker just isn't a fit for what you're doing.

> using sub directories will break build context and prevent you using ADD/COPY

You mean if you include a bunch of stuff in subdirectories that you don't want uploaded to the demon. Again, man, not even close to make or break. You really need to log gigabytes to a subdirectory in your build context? There's _no other way_ you could set that up? We create gigs of logs too, but most of them are events that go to logstash and get indexed into ES. Our file-based logs go to mount points outside the container. We do have images we build using context, where we ADD or COPY multi-gigabyte static data files. Seems to work fine.

> and you cannot use env vars at build time to conditionally change instructions

No, you can't. I'm not sure I would want to. I like the fact that the Dockerfile is a declarative and static description of the dependencies for a deployment. I don't think I want to have to debug conditional evaluation at build time. There are other ways to solve those problems, like refactoring your images.

> Our hacky workaround was to create a base image, two environment specific images and some Makefile automation which involved renaming and sed replacement. There are also some unexpected "features" which lead to env $HOME disappearing, resulting in unhelpful error messages. Absolutely disgusting.

First of all, what exactly is hacky about having a base image and two environment-specific images? I don't know what sort of makefile automation you're talking about, but we do some environment specific sed manipulation of configs at build time, and in some cases at container launch time. Sometimes that makes more sense than having two different versions of the container just to have a very slight change to the config.

Secondly... absolutely disgusting? Is that the sort of language you regularly use in technical writing? Oh, hey, look at the third paragraph: "If you expect anything positive from Docker, or its maintainers, then you're shit outta luck." I guess it is. The strike-out font was a nice touch, man. "I don't really mean this, but you can't help reading it!" Nobody's ever done that before.

> These problems are caused by the poor architectural design of Docker as a whole, enforcing linear instruction execution even in situations where it is entirely inappropriate

You're not talking about linear instruction execution. You're talking about grouping instructions into commited layers. I would much prefer the proposed LAYER command to conditional execution or branching, which is what I assume you mean by non-linear in your comment. But I don't find this to be a serious problem either. That seems to be a pattern with this post: in a year of using Docker to containerize all our services - in-house python code, Django, redis, logstash, elasticsearch, postgresql - I haven't run into these issues that are deal breakers for you. Again, you might want to try to refactor and simplify some of your image builds. It's better to have a few simpler containers talking to each other than to try to cram a complex multi-service deployment into one. But then, I don't know what you're doing, and maybe it's just not suited for containers. You seem to have a strong preference for VMs anyway, so do that.

> However the Docker Hub implementation is flawed for several reasons. Dockerfile does not support multiple FROM instructions (per #3378, #5714 and #5726), meaning you can only inherit from a single image.

This whole post is like a laundry list of Absolutely Critical Things Nobody Ever Needed. I can't imagine a situation in which you'd absolutely have to be able to inherit from multiple images. If you have that situation I would agree it's an indicator Docker won't work the way you currently want to do things. I do agree with you about the occasional speed issues on the hub. But they're giving it to lots of people for free, and to me for a ridiculously low price. If I need better performance I can always run my own registry.

> There are some specific use cases in which containerisation is the correct approach, but unless you can explain precisely why in your use case, then you should probably be using a hypervisor instead.

There are some specific use cases in which virtualization is the correct approach, but unless you can explain precisely why in your use case, then you should probably be using containers instead.

See what I did there?

> If your development workflow is sane, then you will already understand that Docker is unnecessary.

I do like to read even-handed, unbiased reviews of technologies like Docker, even when I already use them. I like to have my world view challenged with an exposition of solid critical points. Maybe someone will write an article like that.

asdasdsad 1 day ago 0 replies      
Ask HN: How to manage developers who aren't very good?
points by marktangotango  2 days ago   198 comments top 73
jonstewart 2 days ago 6 replies      
Presumably this is your first time managing programmers. Without ill will, you are most likely a very poor manager right now. Management is a separate skill and, like programming, it takes a long time before you're proficient. So, the first step is to acknowledge that, right now, you are a total newb and to tell yourself that a few times every day.

From your description, it sounds like these programmers are not as efficient in their work, or as task/goal-oriented as you'd like them to be, but not that they're completely incapable. Sometimes you will find programmers who can't program; they're hopeless, you have to fire them. But otherwise good programmers can be awful at managing themselves... and you're the manager, after all, so it's your problem to solve. Of course, you don't want to micro-manage them every hour of the day; that's not scalable.

Not every aspect of Extreme Programming is applicable to every situation. But a quick morning standup meeting can be a very effective tool. First, you will find out when people get off track and are having problems. Second, it creates some accountability to advance the ball every day. Third, while you must actively work to have the team cooperate instead of compete, it will naturally create some competitive and evolutionary pressure, where the more focused members of your team provide a good example and, over time, can share some of their secrets. Finally, the standup helps reinforce teamwork. If someone is having a hard time with a task, you can respond and say, "hey, you know, Bob's in a good place with what he's working on, why doesn't he help you out today, see whether a fresh perspective can help?"

jkaunisv1 2 days ago 5 replies      
I see a lot of comments here about having a daily standup. As somebody who has been the weakest developer in a team of stars, standups can be really intimidating and not a place I'd like to own up to the fact that I'm stalled on something.

A daily meeting/checkin is super valuable but don't expect your junior devs to pipe up with what's actually important. You may have to check in with them one-on-one, in private, to hear what's actually on their minds. And ask specific questions, not just "how's it going?"

wballard 2 days ago 0 replies      
What works for me having managed 20 years now:

-accept that different folks work at different speeds, measure success on dollars made or saved -- real business metrics -- not are they fast vs your expectations-share the end goal and business metrics, don't 'task' people, give the a mental stake in the real problem -- otherwise you are not getting their brains, just their hands-if you have a strong preference for hands off and not guiding, hire for that, which is a longer chat but I can share how I do it-if you are willing to have 'dependent' developers, personally pair with them and see the real problem in real time, not a weekly or daily vignette

matt_s 2 days ago 0 replies      
They might be bored. They might be in over their heads and see two co-workers knocking stuff out and not want to appear like they don't know what they are doing.

Do you have regular one on ones with them to shoot the breeze about what they're working on? Find out what motivates them. Maybe they don't believe in the work going on and think the lead/manager (aka you) is just giving them busy work. Explain the broader picture of what their contributions mean to the organization. Did they get "passed over" for the role you now have?

If you work in a big company, maybe they have seen where getting work done quickly doesn't get them ahead. Maybe there isn't any room for them to grow. What do they want to be when they grow up?

When assigning work, ask them about their approach to the task. Ask them to ask their coworkers or bounce ideas off them. Maybe they think building VM's will help with testing for future work.

You may not be their HR manager (hire, fire, raises, etc.) but talking with them about non-task related stuff may enlighten you with how to better work together.

Jemaclus 2 days ago 1 reply      
Someone already mentioned Situational Leadership, but I'll just expand on that a little. There are four main methods of management in this paradigm, and it depends on how your team members work.

* Low competence, high commitment -- these guys don't know wtf they're doing, but they're happy to be there. They need direction and guidance, very hands-on. The strategy here is "I talk, I decide."

* Low competence, low commitment -- these guys don't know enough to work on their own (but maybe aren't totally incompetent), and they're discouraged. They need direction AND encouragement. The strategy here is "We talk, I decide."

* High competence, low commitment -- these guys know what they're doing and can work on their own, but maybe they're bored or intimidated or not confident enough to really take charge of their own schedules. They need encouragement and advice. The strategy here is "We talk, you decide."

* High competence, high commitment -- these are the ones where you say "Here's a problem, go solve it". The risk here is that they'll leave -- they don't need you anymore, right? The strategy here is "I trust you, you decide, but I'm here for advice if you need it."

That's just a really rough overview, but I suggest picking up some management books. Like my boss tells me, "if you're trying, you're one step ahead of the game."

Good luck.

acjohnson55 2 days ago 1 reply      
It's going to be a process, but you have to break down the problem, and attack it piece by piece. I can identify a couple issues in your short description:

- Untimely completion of core tasks. There may need to be more frequent check-ins with more granular goals, along with accountability or at least retrospection for missed checkpoints. If a checkpoint is missed, the dev and you have to figure out the why of it and how the process can be improved in the next iteration.

- Lack of resourcefulness/grit. This can be taught. This is where it helps to pair someone with a strong developer or yourself. As a teacher, we modeled the learning process as I-do, we-do, you-do. It may be enlightening for an unproductive dev to see better habits in action. But you can't just show a skill and hope it will be replicated. You have to gradually shift more responsibility to the other party to transfer the knowledge.

- Misspent time. Not every subproject is useful for its own sake. Hold your team members accountable for demonstrating the value of tangential work beforehand, and put your foot down if you're not convinced. Everyone loves a side-project, but it's not a substitute for progress on the core goals.

Most people want to improve, but everyone has some mixture of compentencies where they will naturally self-improve and ones for which they will need mentorship. This isn't the sort of thing where you can make one exasperated speech and see overnight improvement. The goal should be gradual, consistent increases in productivity.

And don't forget, since just became a team lead, you also need guidance and continuous feedback. Be proactive in seeking it. Good luck!

kappaloris 2 days ago 3 replies      
Either you follow them more closely or let them go.

As a lead is your job to put them on the right track, so you should try to understand their way of thinking and weak points.

If even after trying hard you still can't get them to perform properly, let them go. It might be that they're too "scatterbrained" or that you weren't able to find the right way to approach them, but, either way, if you've been through, it doesn't really matter.

YMMV, but the point is: you're the one supposed to 'bend' more to make the collaboration work. If you can't, you still should try to solve the situation (for the sake of all parties involved, not only yours) by letting them go, having them reassigned, or something else.

markbnj 2 days ago 0 replies      
You can debate different ways of applying management theory and practices, but in the end there really are great differences in the ability of individuals to think clearly and work toward a goal. I have worked with and led many different kinds of programmers over the years, and I've run into this time and again. Some people will accept a goal, dig into every relevant aspect of the requirements, overcome the issues that arise, and create a solution that works and is robust. You learn to trust these people and their judgement because they produce good results. Others may have just as strong a grasp of syntax and tools. They are "programmers" too, but they simply don't think clearly, proceed logically, or arrive reliably at good solutions. This is always going to be the case. If you want to build a world class team then one of the things you need to do is identify the first type of person, rely on them more, and try to duplicate them as often as necessary. You also identify the second type of person and move them out. It may sound harsh, but you can't change the fact that humans are different, and that some perform better than others. There is a place for that person, but it doesn't have to be on your team.
joedrew 2 days ago 0 replies      
Read this paper ("Set up to fail: How managers create their own poor performers"): http://www.insead.edu/facultyresearch/research/doc.cfm?did=4...

The paper's basic tenet is that managers, by over-focusing on "poor performers", actually cause their poor performance by interfering with their work and putting them on performance improvement plans. Are there measurable differences between these people and your high performers in terms of output, or are you simply observing that to be so?

And listen to jonstewart. Being a manager is very different from being a programmer. Be humble and introspective, and work on becoming better at your craft.

jleonard 2 days ago 3 replies      
Setting up a vm may sound 'scatterbrained' to you but depending on the complexity of the environment they might see it as an essential task. Repeating what's been said: you need to consider that they are finding flaws in your DevOps/Engineering practices.
brucehart 2 days ago 1 reply      
Develop a process that adds more openness and accountability. Hold a 15 minute daily standup meeting where each developer shares what they accomplished the previous day and what they plan on accomplish that day. Spend some time creating very distinct tasks for each developer that are 2-4 hours long. Tell the developers which tasks you expect to get completed that day and not to get sidetracked. They are providing the engine power, but you are steering the boat.

Many developers get sidetracked because they are afraid to confront the fact that they don't know how to do something. Make it clear that it's okay not to know something but it's not okay to just avoid a task in front of them. Find roles for them where they can excel. Imagine being a coach of a basketball team. Some players are good shooters while others might be good at defense and rebounding. It's up to you to find these strengths and use them together. A fast developer may get excited about doing new development but hate doing things they consider grudge work. These slower developers might like doing work like testing and documentation (and actually be better at it).

gokhan 2 days ago 0 replies      
A week is a long time for feedback loop, especially for juniors (assuming the two lagging are juniors). Scrum's daily standup meeting is a nice way to shorten the feedback loop and eliminate blockers. A similar meeting in your schedule, even if you don't implement Scrum, might be helpful.

You may try pair programming. Might decrease productivity but increase quality. Or you can find another way of getting help from the two good guys like you on keeping an eye on them.

Whatever you do, a team of five is quite small. Just keep close to your team, move to a single room together, share a long desk with them etc. You may also want to divide work into smaller chunks so you can keep a better and timely track.

cronin101 2 days ago 1 reply      
Pair the "junior" developers with the ones that you are more happy with and have them learn productive habits through collaboration and observation?
thirdtruck 2 days ago 0 replies      
Let me emphasize the importance of patience and positive reinforcement.

I've worked with someone who had a reputation (previously unbeknownst to me) of being terrible to work with and inadequate to the task. However, I both enjoyed working with then and saw them make significant strides in understanding in less than a year. What was the difference?

Multiple factors:

* I made a point of working with them until they understood the problem at hand (easier to do as a fellow developer than as a manager, though, I suspect). This had the side benefit of often increasing my own depth of explicit understanding.

* I would rewrite code that they found confusing until it made sense to them. I also emphasized (sincerely) that their lack of understanding was an asset we could leverage to engineer more inherently clear code.

* Every bug of theirs was a learning opportunity.

* Praise for accomplishments, even small, was liberal.

All of the above might sound excessive and like "hand-holding," but it's things that everyone needs. A lot of us just lucked into receiving such reinforcement earlier in life, or were spared the negative reinforcement that can only be undone with larger doses of the positive. The more you invest in the "problem" developers now, the higher the dividends later.

Hoping that advice helps, and let me know if it does!

UK-AL 2 days ago 1 reply      
They might have different values, maybe they come from environment where they do everything by the book, and "correctly"?

Your environment is get things out the door fast sort of environment? Doesn't mean their bad, just different values.

Should have worked out their values at interview stage.

In a different company they could be the stars, and your the guy close to being fired.

ghettoCoder 2 days ago 0 replies      
As others have already stated, you're new. Most new managers try evaluating staff using their own personal measuring stick. Doesn't work that way. Never as, never will. Comparing others to what you believe your performance would be leads to frustrations for all. I have two personal rules I apply to any management situation.

1. The circle of trust starts big and shrinks every time you fuck me. All of my staff are aware of this. Aware of my expectations and it rarely requires a personnel meeting. I don't micro-manage unless I'm forced into it by someone's behaviour or performance.

2. Managing a team of devs is no different than coaching a sports team. You have varying levels of talent, ambition and inter-personal skills. The trick is to find the best fit for "players" where they feel they're contributing and others don't resent them for "messing up". Once you do that you can develop them.

As a team lead it is your responsibility to your staff, and the company, to develop those individuals. I guarantee treating staff like people instead of widgets pays in the long run. With that being said, sometimes a team member doesn't see acknowledge a lack of skill, etc... and they have to be let go.

brudgers 2 days ago 0 replies      
Forget about focusing on what people can't do effectively and focus on what they can and will do effectively. Then work your ass off to make them even more effective.

Recognize that you're new to management. As a new manager the overwhelming odds are that you suck at it in ways that make the dictionary definition of "suck" say, "No really bro, that's not me."

Nothing personal. And even if I am totally incorrect and you are the immaculately conceived management prodigy, the best attitude you can have is that you totally suck and that the team goes home after work and tells their spouse dogs children and parents about the idiocy they deal with because of you.

If people are coming back a week later and demonstrating that they didn't understand last week's conversation that's an indication of less than effective communication on your part. [1] Never mind getting people to do what needs to be done, they're not even getting the what of it. A lost week means you haven't followed up.

To put it another way, how you would do it doesn't matter. You're just another snowflake. What matters is getting it done in the ways the people who you want to get it done will do it.

Favoring your doppelgangers means that other people's diversity prohibits them from ever being any good as far as you're concerned. You're the new boss and you're broadcasting closed mindedness. To the degree it's about who will tow the line and who won't.

It happens all the time. The PHB is a latent talent in everyone.

Good luck.

[1] And very effective communication to. You are effective at communicating "I don't think you are very good." And It flows as naturally as the title of this Ask HN. It's disrespectful and counterproductive.

qvikr 2 days ago 1 reply      
Your definition of "good" and "bad" is probably off tangent. As a manager, you take up a new role of being the "coach". It's your job to help your team play at the best performance they possibly can.

Letting go of someone is the simplest thing anyone can do... but if you look back at your own career, chances are you'll find more than a couple of instances when your peers put up, tolerated, and coached you to where you are today - just don't close the doors you walked through.

michaelochurch 2 days ago 0 replies      
You haven't made a case that they're incapable, just that they're not comfortable coming to you for direction.

"Protect, direct and eject." You need to protect your top performers from the political conflicts that high performance attracts. You need to direct the people in the middle or those who haven't found a way to shine yet. We won't talk about ejecting, because you haven't made a case for that yet.

Middle management presents a weird conflict of interest. You're still judged on deliverables rather than intangibles (like an actual executive) but you're going to have to take interest in your reports' careers if you want to have credibility with them. You have to be a product manager (to get X done for some "X" that is larger than you can do yourself) and a people manager, and to manage up.

There's no silver bullet, but I think you need to humanize yourself and the relationship. You don't want your developers to see you as "The Boss", and you have to take interest in their careers and help them get where they're trying to go (which may be off your team, for the two who don't seem engaged). The difficulty of this depends both on your interpersonal skills and your credibility within the organization. Ultimately, if your managers (up the chain into the executive suite) don't care about your reports' careers and advancement, it's going to be a struggle to get for your reports the support and resources that they'll need to be motivated again. If your managers are bad, it's just a losing battle for you.

Ultimately, you're going to have to figure out what your reports (all 4 of them; don't just focus on the 2 who seem to be lagging) want and make sure they get it, and that they know they will have your support as long as they don't betray your trust. Then you need to come up with a strategy that meets your project-management targets but also engages them. That's not an easy thing to do and it's impossible to come up with a general-purpose solution.

DanBC 2 days ago 0 replies      
You introduce regular feedback. During those feedback sessions you tell them that you noticed they sometimes repeat questions, and ask them if there's something you need to do differently to help them. Or you just tell them that they lack focus and that they need to knuckle-down.

You also introduce targets for them to achieve. Tell them what you want them to do, and ask them to focus on which-ever bit you think they need to focus on.

leading_who_ 2 days ago 0 replies      
This could be a problem of communicating expectations and a poor feedback loop from you.

Do they know that you aren't happy with their performance? How early in the process do you catch it and correct the action? It doesn't sound like it's very early at all if it's a week later and they are coming back at with the same questions.

I'm not saying to micro manage or even tell them that they are poor employees -- I believe both approaches lead to hostile work environments. The best managers I ever had largely followed the principles laid out in How to Win Friends and Influence People, and now that I'm transitioning to leading small teams I find that approach leads to far better results than the alternative.

gumby 2 days ago 0 replies      
Many years ago I was given a great explanation of (good) management: "the purpose of a manager is to eliminate uncertainty". Clearly for the good programmers you can do so: "we need to drain this swamp".

The less good programmers probably don't know how to evaluate what's important and so waste time. For them you'll need to dive down one level: "we need to drain this swamp, so go evaluate pumps and if you find one with X liters/minute for less than $Y, go install it on the north side." For the other you might need even more detail. Part of the art is picking the right level of detail so you aren't wasting a lot of time and so hopefully the recipient can learn from it.

If you have to dive down TOO low you have the wrong people.

And your managers: I hope they are eliminating uncertainty too: We need to get rid of the "mosquitos so get this swamp drained by the end of the month. You have $Z to spend on it."

icedchai 2 days ago 1 reply      
This is normal.

I managed to fix this by getting a new job where I didn't have to manage. ;)

edw519 2 days ago 1 reply      
1. Give direction with appropriate detail. Be prepared to give very detailed direction to junior people. I sometimes ever go as far as putting lines of code right into the technical specs. Most technical leads hate to do this. They say, "I might as well write it myself." That's because they look at it as an expense. I consider it as an investment because people learn from it. This should make things run much smoother. Important: the level of detail should decrease over time. In fact, your junior person should start pushing back: "I don't need that much detail anymore!" If this doesn't happen, then they're not learning fast enough. This is not normal.

2. You must have your finger on the pulse of everything going on all the time. Not every little detail, but you must know where each project is, plus or minus 10%. Don't let yourself lose track of anything; that's when problems start.

3. Reviews must be daily, not weekly. You don't need status meetings, emails, or project updates, just one minute reviews. 3 day old problems are 2 days too old.

4. Peer review everything your people do until you're absolutely certain you can let someone else do it. And even then, continue to peer review something they do every week. You are responsible for their work; peer review is one of the best ways to stay one top of it, insure quality, and teach. And always be brutally honest with peer review, never bashful. Tell them what's not good enough, what you want, and why. It may be uncomfortable at first, but it will save everyone headaches later.

5. Read "The One Minute Manager". Then do it.

6. Be nice, have fun, and get shit done.

bonn1 2 days ago 2 replies      
Most of answers here focus around management as a general topic and ways to handle the two weaker devs. Nobody recommends to fire them. I am also not giving this advice because I am not aware about the entire company and team situation and can't oversee all implications. And maybe you might be the problem for the two weaker devs.

I just know that the most important management skill is 1) to make the decision to fire somebody and to do this not too late and 2) then to execute it smooth and fast. And most managers are neither good at 1 or at 2 because of lacking practice.

It's a though decision, it doesn't feel good to fire somebody and often managers ask themselves if they made mistakes in their leadership.

But if you say that you just don't feel good how they do their work and if you don't see any potential for improvement then why don't you spend the budget for better engineers?

Panamfrank 1 day ago 0 replies      
Daily development logs can replace alot of the what have you done? What are you struggling on? conversations that happen in standups. Given that development can be very reductive and introspective having to retell the problem post-fact when your understanding isn't fully formed is a major challenge for some. Create a shared Google drive folder and give each dev a log to prepend what they're doing each day as they do it. Then review and discuss solutions adhoc or in the stand-up.
endeavor 2 days ago 0 replies      
This might be totally obvious to you, but it wasn't obvious to some junior managers that I manage. When you're an entry-level programmer and you get stuck on a tough programming problem for a while, you're supposed to go to your boss/lead for help. Now that you're an entry-level manager, don't feel like you have to solve this on your own. Go to your manager for help. They should have more experience dealing with this.

I think smart, experienced engineers who have been figuring everything out on their own for a while start a totally new role, then forget how to ask for help when needed.

estava 2 days ago 1 reply      
Maybe you need to pick your battles. Your question reminded me of this video: John Maxwell The 5 Levels of Leadership https://www.youtube.com/watch?v=aPwXeg8ThWI

See also this oldie article: Don't Let Architecture Astronauts Scare You http://www.joelonsoftware.com/articles/fog0000000018.html

Sometimes people have good ideas that may be a little overkill for your project. Running a VM could help with creating test environments. Although there may be alternatives to that. So maybe they just want to test more. Maybe they are more QA types.

Try to understand where they are coming from and give them some guidance. :-)


jules 2 days ago 0 replies      
Before you can solve this issue you need to figure out why they are doing this. Here are three example possibilities:

1. Maybe they are not in the mindset of getting to the goal, but rather they are in the mindset that work is work. Or maybe they are doing it simply because it's a habit or because it's fashionable and they heard some celebrity say you should use a VM. Then explain to them that not all work is equal, and that it's important to do work that moves you in the direction of the goal, rather than busywork that will not pay off such as setting up a VM envirnoment.

2. Maybe they actually think that setting up a VM environment is worth it in the long term. If you don't think that is the case, explain why.

3. Maybe they don't know how to solve the problems that they are tasked to solve, and setting up elaborate dev environments is a way to procrastinate. Then make sure that they have enough guidance so that they know what concrete bit of work they can do right now to make actual progress. Ex: if they don't know how to make progress because they do not understand the database schema, then the next step should be to familiarize themselves with the database schema. You could even task them with writing documentation for the database schema to get this started. Or perhaps they procrastinate because they don't like the work that is assigned to them.

There could be many other reasons, but once you figure out why they are doing this, it's likely that the solution will be relatively obvious. Try to not fall into the trap of micromanaging them. If you don't understand why they are doing this you could simply instruct them not to set up a VM dev environment. That won't solve anything in the long term because they will just find something else. It's much better if they know why they should do or should not do a that, rather than simply following orders. Following orders kills motivation and orders don't generalize to new situations, but the right mindset does.

On the other hand, in some cases the issue isn't that a developer is not doing the right kind of work, but rather that the developer is doing the right kind of work but he is simply not very good at it. This can be improved to some degree with training but you have to make a business trade off here: is this developer making a net positive contribution to the business or not. Keep in mind that a developer does not have to be super productive in order to make a positive contribution. Otherwise it's time to move him to a different role or fire him.

sukilot 2 days ago 1 reply      
I bet you'll get great advice about making employees more productive, from people slacking off on HN on a work day.
eurekin 2 days ago 0 replies      
Hey, I won't add anything relevant to the discussion.

Only wanted to say, that I've learned a lot from the answers presented here... Some of them made me really upset (as in my blood boiled), because I recognized some patterns as ones used by my old managers. The "make them do estimates" and "Make the penalty for missing their own deadline big" part is what I immediately recognized as the most often occurring one.

Nevertheless, there are some very fine tips which I will try to use in my personal time & task management. I see immediate benefits, even tough I have nothing to do with management role at all.


Thetawaves 2 days ago 0 replies      
Firstly, I would be hesitant to label these developers 'scatterbrained' because you simply can not follow their thought pattern. I am likely to place blame with you if you can not understand the value in tangential tasks. This shouldn't really be an issue anyway because you should be in a position to veto efforts you deem unnecessary.

Secondly, I see a bunch of people suggesting you micromanage these people and I must advise you that nothing good can come from this. You need speak with and make your self available to people daily or several times a day but you MUST give them space to accomplish something on their own.

Thirdly, you must set expectations and required outcomes. You can only set expectations if you know the clear path from A to Z and if that isn't the case, you need to trust your employees when deadlines slip. You need to manage the expectations of your customers so that there is a wide buffer between when you expect employees to get it done, and when you expect to deliver to your customers.

Your inefficient employees aren't dumb. They know their peers are outperforming them. It is your job to provide a safe stable work environment where employees can relax when there is a lul, and strive for greatness when there is a deadline. You can not work your employees to death.

wallflower 2 days ago 0 replies      
I constantly like this comment from an AskHN from jlcfly from a while ago. I hope most of us embrace this philosophy as the reality is programming as an art is much more important than programming as a rote skill. And teaching programming as an art is much more about understanding the individual than it is about teaching them like a soldier (Andersen Consulting bootcamps - are an outlier).

"Teach them to be better than you. That may seem counterproductive. I have a type A personality, and I have decent coding skills. I've been in your situation a number of times. I also know there's these mythical expert developers out there that I can't seem to find (or afford). So, what to do? A few years ago I realized that if I continue down this path, I'll end up with some serious health issues due to the stresses that come along with having a reputation for being a really good developer.

So, I decided that instead of searching for developers better than me, I would teach developers I work with how to BE better. It's taken a lot of patience. And it's taken me quite a bit to LET GO of my way of doing things. I had to take my ego out of the picture. (VERY hard to do.)

Nowadays, I realize that developers don't have to BE better than me. I simply have to ALLOW them to do what they do without being so obsessive about it. Turns out, even junior developers really CAN do good work. They just need a little guidance that only comes with experience, and then they need me to get out of their way."


fsk 2 days ago 0 replies      
You aren't someone's bosd if you don't have authority to fire them.

I've dealt with people like that. You explain something to them 5 times and they still don't get it. Some people just don't have the talent. The previous lead probably didn't notice or care.

Did you speak with your bosses about replacing them?

Even if the team lead is just being narrowminded, those two devs would be better off working with someone else.

ap22213 2 days ago 0 replies      
I recommend looking at it as a system problem. Think of your team as a whole body. Your job as the 'head' is to achieve the high-level goals. You make the best use of your team when they work together to multiply the effects of the others. Then, you achieve your goals more efficiently.

They're all individuals with their own interests, motivations, self-purpose. You have to understand who each of them are and how they all work together. Then, you must question if the issues are innate or only symptoms of something else.

Most likely (since they're hired and not fired) they're all able. So, are they bored, burned out, tired? Are they not being rewarded for their work? Do they not understand the high-level goals? Are you micromanaging? Do they not understand their roles? Roles are important - it must be completely clear that they have a singular set of roles and responsibilities.

Sometimes it's ok to have inefficiencies with one or more staff if it benefits the whole system. For instance, I kept a guy on my team simply because he was funny. He made the other teammates laugh and have a good time.

Simp 2 days ago 0 replies      
The link lifebeyondlife submitted is actually quite a good read:

Set up to fail: How bosses create their own poor performershttp://www.insead.edu/facultyresearch/research/doc.cfm?did=4...

"I like how it describes the negatively reinforcing cycle of closer scrunity which results in worse performance etc. " -lifebeyondlife

bane 2 days ago 1 reply      
It's ultimately about making them make the right decisions, and building up a non-broken mental model of how to do things. Lots of their actions are likely just from ignorance of alternatives, but it could also just be a broken decision making process.

The idea is to make them part of their own reformation:

- Don't set deadlines, make them set deadlines, document it, then hold them to it. Make the penalty for missing their own deadline big. Because you've documented it, if they make a pattern of missing their deadlines, work with them on learning to better gauge and estimate their level of effort. Review the cases where they miss the deadline, find out why, build up a pattern. It could be they just don't understand how some library works, or how the build tools work etc. It could be an external dependency they have no control over. Either data-point gives you tools to help them learn how to do this most basic of tasks.

- If you tell them something once, and they come back again, the second time make them write it down in a binder of notes, if they come back again, make them refer to their own notes. If they come back yet again, make them do a full report on the topic, put it on an internal wiki, and treat it like a High School writing assignment. It sucks for them so they'll never want to do that again, but it produces useful information for other people.

- Don't tell them what to do. But make them describe their strategy to tackle the task. When it sounds like they're doing something wrongheaded, ask them why they're doing it that way instead of the obviously better way. Maybe they have a good reason, maybe it's out of ignorance. Take it as an opportunity to make better ways available to them. But the decision for which way to go is up to them, so long as they hit their self-imposed deadline.

protonfish 2 days ago 0 replies      
No group of developers will ever be all at the exact same level of performance, there is no reason to freak out. Demanding that everyone work in the exact same way as you will probably do more harm than good. The important thing is how your team functions overall. Get to know the strengths and weaknesses of your team so you can better assign tasks and responsibilities.
rglover 2 days ago 0 replies      
Don't look at them as incompetent, look at them as needing to be taught how to do it correctly. As their leader, it's your responsibility to give them the resources (and environment) to learn what they need to do. What's more, it's also important to give them a process to follow. If you don't explicitly state your process and give them a means for learning and following it, you'll always be disappointed.

Accept that developers are a diverse set, mostly self-taught, and all have varying degrees of expertise. In order to find the people you'd like, sit down and define what an "ideal developer" looks like (irrespective of whether you're actively hiring). That way you can either hire people that match that description, or work to build up your existing team to match that.

It sounds like your first step is to document your process and to educate your development team on how to do things "your way," and why you do it that way.

kyled 2 days ago 0 replies      
Have them create a todo list. Make them write it down.

I was like them. I've been programming for over 15 years. I started when I was a kid. When I started programming as a profession, I kept the same habits I had when I was doing it for fun. Ie, find hard new stuff I've never done and learn how to do it! I was inventing new problems to solve because I enjoyed learning new things. Unfortunately this isn't a good model for generating money for a smaller company, you don't yet a lot done if you keep task jumping around. When I started to make a list of things to do I could refer to it and ask myself If the task I Wanted to work on was actually necessary.

Also, don't overload them with stuff to do. Before I if someone had a request for a change I would switch in the middle of a task and try and complete it. This goes back to the todo list, you learn to focus on one thing at a time.

zpool 2 days ago 0 replies      
Your application has huge untested areas, which standard testing techniques can not adequately cover. You need integration tests, and you need to be able to run them locally so as not to trip up testers. In short you need a VM, since some of the dependencies can not be installed on your host OS.

When you are repeatedly asked the same question, ask yourself why? It is probably because you failed to answer adequately the question that was asked.

If they have less domain knowledge, they will be slower on technical tasks regardless of ability.

You as the lead should be providing the information your developers need to get the job down. Sounds to me like you are acting like and egotistical developer IC, rather than a team lead. You could probably find a way to help them if you tried...

tenpoundhammer 2 days ago 0 replies      
I have had this exact same problem, I mean exactly the same. I found out a few things:

1. It takes time, be patient

2. Get under people and push them up. Instead of standing over them and pulling them up. What's the difference ? In the first you are saying "I'm not too good too grab someones foot and boost them up", in the second you are saying " I have arrived now I'm going to drag up to my level of greatness".

3. Sometimes people are distracted and slow because they are a square peg being jammed into a round hole. Not every programmer thrives in the same environment, you have to tailor your management and help style for each individual.

dugfresh 2 days ago 1 reply      
Is it just me or are there a lot of excuses made for these two developers? In every profession you have to do what your boss tells you. If you don't know how to do it you should speak to someone - a peer if not your boss. If you don't want to do your job (pass over for a promotion, the work is uninteresting, etc) then TS! It's irresponsible to slack off because you don't like some aspect of your job or work. If you're paid to do a job, then you should do it. These developers have the luxury of finding another job because the market is so red hot. A lot of other professions don't have this luxury.
cubano 2 days ago 0 replies      
It is quite possible that they are simply milking the job and really don't know how to complete the tasks you are giving them, and default to "hey, let's set up a unnecessary vm because we know how to do that easily and it will show we are not slacking" or something of that sort.

Or perhaps not; idk...no one here can, but it is your job to figure it out, quick. Use the same tenacity you showed as a developer to start learning management.

The daily stand-ups are a no brainer...accountability and progress need to be applied and shown, respectively, with consequences attached, unless you are happy to let things ride along as they are currently.

jpswade 2 days ago 0 replies      
Letting them have free reign to solve a problem clearly isn't working for you.

It sounds like you need to manage them by breaking their tasks down into more bite sized chunks if you don't want them to go off task.

ScotterC 2 days ago 0 replies      
Introduce them to Pomodoro techniques [1]. I've seen this same problem with junior devs and they're not fully aware of it themselves. When you get them to track themselves using a tool like Vitamin-R [2], they'll be more aware of it and also want to fix it.

1. http://en.wikipedia.org/wiki/Pomodoro_Technique

2. http://www.publicspace.net/Vitamin-R/

vpeters25 2 days ago 1 reply      
Maybe you could try an agile approach where instead of assigning tasks you put them in a board and allow each team member pick the one they like to do.

Our experience is this makes each team member pick tasks that fit their strengths, or challenge themselves. You, as a team lead, can leave them along to handle it. They will ask for help, or mention they are stuck in the daily stand-up.

EDIT: I guess I didn't need to be that blunt, thanks downvoters for pointing that out.

unfamiliar 2 days ago 4 replies      
I'm one of those "scatterbrained" people. Whatever I'm doing always seems important when I start it, but then I end up spending ages on it and once it's done I can't really remember why I did it. The end of the week comes and I'm exhausted and have to make up excuses about my poor performance.

How can I stop this behaviour? It's like I'm not in control, I just get carried along by the current.

mjv 2 days ago 0 replies      
How can anyone say anything definitive from this little information? Some manager dislikes a few of his employees. Scatterbrained appearances can be indicative of so many things: a poor work environment, terrible communication, lack of culture, or no team gelling. There's also just people unqualified for their job, but a 50% miss rate in hiring? That sounds unlikely. Or like your biggest problem.
TeeWEE 2 days ago 0 replies      
Firstly, asses the skills of the developers. If they are not on the skill level you demand of them (as junior), then you should think why they are hired. If they are on the right skill level, you should ensure to find the reasons why they are stalled.

One big problem of big companies, is hiring developers who actually cant even write a simple algorithm. Cranck up your hiring process to ensure only the good developers are hired.

throwawayx 2 days ago 0 replies      
The reality is that you need to micromanage the shitty ones. They need to be kept on track so that they were productive.

I'm a lead as well and one of our developers is a smart but scatterbrained programmer. She is a mess in terms of running a project and communicating with the rest of the company but if I give her a specific task, she does well.

So what I did was insert myself in any meeting she was a part of, and talked with her several times a day to check in. When I see her going off course in a meeting, I will correct it, and if she says anything incomprehensible in a meeting, I will translate for the others.

The good thing about this programmer is that she really wants to improve, so I give her very frank feedback. The feedbsck I orovide is along the lines of "you need to increase people's confidence in you, because right now it is low, we don't know if you can run a project on your own". She has gotten much better and a lot more productive, which I honestly believe is due to me. I don't take any credit for the work she does, and I constantly praise her in front of others, but I do know that without my micromanagement, she would not be nearly as productive as she is right now.

If her productivity didn't imorove with my micromanagement, I would have fired her because the last thing we need is a drag on the team due to an unproductive member.

rbosinger 2 days ago 0 replies      
Maybe you can somehow make them envious and inspired by how much work the other two developers are getting done. I've never managed developers myself but as a more senior developer I have definitely inspired junior ones to want to step up their game. It seemed to work well for the most part.
agounaris 2 days ago 0 replies      
I tend to say there are no bad developers...only devs with no motivation. It's not only you who have to do something. Do they like the product? Do they enjoy the tools they/you use? Are they happy with the compensation? There are a lot of such questions you as a lead must figure out.
vishalzone2002 2 days ago 0 replies      
Actually,you are in an ideal situation. Encourage the better developers to spend time mentoring the other developers. Developers appreciate managers who help them getting better. Work on actionable and measurable goals for the developers to improve. I am pretty sure they will catch up. ATB
ProAm 2 days ago 0 replies      
This is the sole reason why I have turned down every management and team lead position I have been offered. I have no idea how I'd deal with or handle people who work slow, or output what I would deem as low quality. Management is tough.
PaulHoule 2 days ago 0 replies      
Development environments should be a team function.

It makes sense to use virtualization, but you should also have a standard build that uses tools like Vagrant.

If a developer has to spend more than an hour to set up a development your process is broken by modern standards.

franze 2 days ago 0 replies      
that book is a good starting point https://pragprog.com/book/rdbcd/behind-closed-doors
jackgavigan 2 days ago 0 replies      
How about pairing the the "other two" developers with the two first two (deliberately avoiding being judgemental here) with the aim of getting the other two to learn from the first two?
moron4hire 2 days ago 2 replies      
Fire them. If you don't have the authority to fire them, tell the person who does have the authority that you can't use them. Quit wasting your time on bad employees. Bad employees don't just fail to get work done, they make more work for everyone else. They are negatively productive.
spot 2 days ago 0 replies      
give the weaker developers tasks in smaller chunks.instead of just a goal, give them each step of the way.meet with them every day, or even twice a day, to confirm they are on the program and to answer any questions they have.
codecrazy 2 days ago 0 replies      
Fire the two losers and ask the two good ones for friend references. Time is too valuable to have to deal with unqualified help.
codecrazy 2 days ago 0 replies      
Fire the two losers and get resumes of the two good developers' friends. Time is too precious to deal with poor help.
reacweb 2 days ago 0 replies      
Some developers have difficulties with environment or novelties, but are not so bad for routine tasks. If you can not fire him, you can try to give him simpler tasks.
musgrove 2 days ago 0 replies      
Team each one up with the producing, independent ones. See what they think. If it's a matter of anything other than needing to be more challenged, replace them.
kyllo 2 days ago 0 replies      
Go read Peopleware and then come back to this thread.
gcb0 2 days ago 0 replies      
you have a shitty development environment.

i bet the 2 fast developers and yourself never cared about unit tests. leaving the people that don't want to write temporary test cases completely lost. they probably sake their head every time they look at the code base, try to start to sanitize it, realize it will take forever now, give up in the middle, and end up just contributing to the mess.

mariusz79 2 days ago 0 replies      
Well, maybe it's not that they aren't very good but that you suck as a team leader? :)
IgorPartola 2 days ago 0 replies      
Congratulations and condolences. You are about to embark on a journey that is fraught with frustrating experiences. Having done something similar, here's what I can tell you, though I consider my experience at best a mixed success.

First, focus on fundamentals. Spend time with the guys who are having trouble getting stuff done. Pair program with them, letting them drive. Or pair them up with one of the people who do work well.

Second, create effort estimates. No, really. Sit down and have these guys explain to you what they will do and estimate the amount of time. Tally it up as you go, then double it, telling them you want a margin of error (make sure to double it again when speaking to your boss, but don't tell the developers that). Encourage them to speak with you immediately if they run into problems that will derail the estimate. This exercise will help a lot in terms of getting them to understand what they really should be doing.

Third, don't be a micromanager. Assign a task, support them and check in periodically, but don't push them to do things a certain way. I am really not a fan of the standing morning meeting. Instead, talk to them individually for 5 minutes every morning. It's more of a pain, but it's less stressful on them, which is good. At the same time, encourage them to talk to each other and do have an occasional team meeting (a quick one) explaining where you are heading.

Fourth, forget about programming. Sadly, you won't have time for it. With a team this size, you might still have some time, but it's best to lower your expectations dramatically. You'll be doing quite a bit more thrashing between different tasks aimed at supporting your team. You know work for them, and your job is to keep them focused and productive. This really means two things: (a) don't take on large or important projects or projects with major deadlines, and (b) don't seize control of the system architecture. Why? Because you won't have time for it, and will block the rest of the team while you do the research.

Fifth, and this is somewhat in conflict with #4, the buck stops with you. Example: my team wanted to switch from using Django's built-in template system for Jinja2 without any real need to do so (we made very light use of the templates anyways; their argument was more of a preference). I listened, but ultimately said no. We had much bigger fish to fry, and this would have been a costly distraction with no upside. This was not a popular move, but the issue was let go after a few weeks.

Sixth, be honest with everyone about how things are going. If the devs are not pulling their weight, encourage them to get better. Offer help, guidance, etc. If they don't improve, consider letting them go. If you are a team lead, chances are you don't have that power, but surely your boss will want to know that the company is paying good money to the people who don't do the work required.

Lastly, remember, as the lead, it's your job to move the furniture out of the way for your team to get shit done. Your priorities have shifted, and now you are in a different role. The sooner you adapt to that mode, the better.

P.S.: Take vacations, and often. Burnout sets in twice as fast for team leads.

kendallpark 2 days ago 1 reply      
I guess I thought I put my two cents in as a smart but "scatterbrained" type of programmer. Prioritizing and focus has been my private war during my programming career. Here are some points I'd like to make.

1. Concrete, quantifiable goals. The first time I really ran into a wall with my issues prioritizing was during summer CS research after my sophomore year of college. I was given vague tasks that were basically "make the program better." This doesn't help someone that is prone to tangents. In the process of working on some part of the program I might discover a new thing that needed fixing, switch to working on that, and then down the crazy refactor rabbit hole.

2. Deadlines. Deadlines help a lot (as annoying as they are). I always did well in school because of deadlines. At my work we have a goal of completing X% of Q1's weekly sprints on time. It's a team goal, so if I don't get my tasks finished for the week, the whole team doesn't get clear the sprint for that week. I find the team aspect helpful. It also facilitates communication between team members. People that finish early often look at the sprint and check on members that aren't done yet, offering assistance.

3. Boredom. Boredom is a real issue for me. I do better on harder tasks than easy ones because they're interesting. This isn't something I think a manager can solve because I think it's on the programmer's end to learn how to do work when it's less-than-engaging. But you might find some of your scatterbrained programmers actually tackle hard problems better than easy ones. It really depends on the programmer.

4. Communication. I was pretty upfront with my manager about prioritization and focus issues. It's something we discuss every time we have a one-on-one meeting. How things are going, what strategies I'm using, etc. He's also great at pruning down my conceptions of tasks. I'll read a task and think, "Oh I need to get X, Y, and Z done" and he'll say, "No, you just need X, the task doesn't actually call for Y and Z."

5. The optimization struggle. This is probably the single largest contributing factor to my prioritization issues. I don't like doing things a way, I like doing them The Best Way. A lot of time is spent figuring out which way is The Best Way. I might waste several hours working out a linear time solution to something I could easily write polynomially all the while n is small and it doesn't really matter. Inelegant code bothers the hell out of me so I might start a small refactor which snowballs into a larger and larger refactor. This is something that your programmers will have to get a grip on--saying no to refactors in order to better focus on a task. But as a manager you can help by watching out for tangental refactors and putting a stop to them.

wojt_eu 2 days ago 0 replies      
Give everyone in the team copies of the book "The Healthy Programmer". Problems focusing could be anything from blood sugar level or thyroid to food allergies.
monroepe 2 days ago 0 replies      
That kind of dev drives me nuts.
datashovel 2 days ago 0 replies      
Programming is an interesting thing to manage. It's not like you're managing a warehouse where you can tell the guy "You see that box over there? Pick it up, and take it over to the other side of the warehouse". Or a restaurant where you say "You see that pasta? Put it in the boiling water for X amount of time and when it's done take it out".

My feeling, especially when starting with a new group of people, is the amount of time you should allow them to struggle is inversely proportional to their years of experience.

In the end productivity is important, but not at the expense of creating a hostile work environment. Programmers need to be ok with creating imperfect things. Sometimes it's the only way they'll successfully iterate toward creating less imperfect things.

Another interesting thing about managing programmers is it's difficult to create objective metrics by which to assess performance, which you can then easily compare to other members of the team. In other words, I can't go find the box and say "why is that box still over here? I thought I told you to put it on the other side of the warehouse?". or "Why is that pasta not in the boiling water?" At best I've only ever had a clear "sense" of where each member of the team is. Nothing I can put on a chart that shows definitively that Team Member A is performing at a higher standard than Team Member B. In this case it's critical to give the slower guys the easier tasks, and the more ambitious guys the bigger tasks.

Create a tighter feedback loop for those who you see as having difficulties. And create opportunities for people to collaborate, and in the process compare themselves to others on the team. And every once in a while sit with them while they're working for maybe 15 minutes at a time. Don't expect them to do things your way, but by the end of the session offer a few suggestions. And make sure they set goals for themselves. "How long do you think it will take you to finish that?". Make a note of their goal. And then when the time is up ask them "So have you been able to finish that?" If not, what's wrong, and how can we help you? If so, then good job let's move on to the next thing. And I saw in other posts the suggestion that sometimes you should break down the tasks into smaller more digestible chunks instead of having them do that. Great suggestion.

Finally, it's not an infallible metric (and in fact probably not a good measure for anything performance-related), but lines of code committed is I feel a good "BS detector". I had a guy (arguably senior, and arguably unmotivated) on a team I managed a while back who managed to commit less than 100 lines of code in a month. That's as close to an "obvious sign" that something is wrong as you will probably ever see. Writing code is what programmers are paid to do, so if they're not doing it there's no way to assess their performance.

cphoover 2 days ago 1 reply      
fire them?
ISRO to launch Google satellite
points by unmole  22 hours ago   35 comments top 11
_nedR 20 hours ago 5 replies      
This is a great example of how investing in space can have returns for India. You often find comments in such articles saying that India should be focusing on poverty alleviation, healthcare, and infrastructure instead of investing in a space program. The problem with this strategy is that India (and developing countries in general) will always be playing catch-up to other countries; And without finding new sources of wealth, India will be hard pressed to obtain the necessary resources to uplift itself from poverty. Another thing these commenters fail to point out is that most of the countries that are rich today got where they are not by funding massive welfare programs, but by expanding into new frontiers in search of wealth.

So the strategy today's developing countries should be following is to find new frontiers in science, technology, entrepreneurship to create wealth while in parallel trying to provide basic facilities to their people. Developing countries are in some ways like startups- Perpetually strapped for cash and resources, struggling to stay afloat and facing tough odds. The key for them is not to try to compete in areas where others already dominate, but to disrupt them (by trying drastically different approaches) or to seek new fields. Microsoft didn't try to compete with IBM in mainframes, they went for the then-burgeoning PC market. Apple is the world largest corporation not because it competes head-on with Microsoft in the PC market, but because it disrupted mobile. Similarly, space is a good avenue for India to compete in, where there are few incumbents and where India can exploit its natural advantages (such as it's eye for cost-saving and huge, inexpensive talent pool).

Updated: Edited to removed lines that detract from main point.

kartikkumar 19 hours ago 0 replies      
Antrix has done a great job of marketing secondary payload opportunities. Many university-satellites have been launched by PSLV; they've become the de-facto small-satellite launch provider in a lot respects. My alma mater has launched a couple of satellites successfully [1], with the first one, Delfi-C3, launched from Sriharikota in 2008 (still operational!).

Europe has been trying to push Vega [1] as the European offering in this market. It's exciting to see how the launcher space is developing, especially for small payloads. I know a few startups that are targeting this space because of studies, like undertaken by SpaceWorks [1][2], that point at the expected explosion within the coming 5 years.

Given that I'm working on space debris risk mitigation at the moment, I'm looking at this from a somewhat different perspective. Most small-satellites to date have been launched to low enough orbits that they can meet the 25-year de-orbit guideline without too many issues. With the commercial market rapidly expanding though, there are a lot of applications that require higher orbits, and that's when space debris becomes a huge issue. Keeps me in a job!

All in all, great news for ISRO, and hopefully a sign of more international collaboration and commercial expansion in the years to come.

[1] http://www.delfispace.nl

[2] http://en.wikipedia.org/wiki/Vega_%28rocket%29

[3] http://www.sei.aero/eng/papers/uploads/archive/IAC-14.E6.1.3... PDF)

[4] http://www.sei.aero/eng/papers/uploads/archive/SSC14-I-3_v1.... (PDF)

ardahal 16 hours ago 0 replies      
A couple of months ago, I met a brilliant scientist[1][2] who runs a space startup in India that specializes in brokering deals to launch non Indian space payload on ISRO's launch vehicles. Her company is called Earth2Orbit[3], although I am not sure whether this deal was brokered by them.

[1] http://travel.cnn.com/mumbai/susmita-mohanty-indias-own-moon...

[2] http://www.earth2orbit.com/people/people.html

[3] http://www.earth2orbit.com/index.html

vardhanw 18 hours ago 0 replies      
There are some good developments giving an international exposure to Indian space research. Another commendable achievement is the Team Indus winning a $1 million prize money [1] as a part of Google's Lunar X-prize, for achieving significant milestones. They are mostly a team of fresh IITians mentored by a few senior guys [2] - entrepreneurs, enthusiasts and technology and industry veterans who started this. This was the only team from India participating in the X-prize, and is one of the 5 teams internationally to be selected for the first round of funding, from amongst other well funded entities. Incidentally my company Sasken [3] has provided the team with space in our Bangalore office for their operations and it is indeed exciting to see them succeed.

[1] http://yourstory.com/2015/01/team-indus-from-india-wins-goog...[2] http://www.teamindus.in/about-us/[3] http://www.sasken.com

paulsutter 21 hours ago 2 replies      
Skybox can sell live satellite video, I saw a demo last week that was pretty dramatic. They are currently very limited by having one satellite.

Suddenly I realize the importance of the Google investment in SpaceX to launch 700 internet service satellites. Surely those could include cameras. Will we get realtime Google Earth?

sudhirj 21 hours ago 0 replies      
Now we're talkin. If ISRO pulls this off the space industry will be officially Bangalored.
jpalomaki 14 hours ago 0 replies      
Crowdfunded military intelligence in near future? People interested in what's happening on some specific place putting their money to pool and purchasing live video feed from the region?
binoyxj 17 hours ago 0 replies      
Big validation in the age of space madness. Keep them coming team ISRO.
panini_tech 20 hours ago 0 replies      
Time for the outer space research to get big at Isro bAngalore,India
jcoffland 19 hours ago 0 replies      
Did someone say Skynet?
known 20 hours ago 2 replies      
points by mr5iff  1 day ago   41 comments top 18
apaprocki 1 day ago 1 reply      
I wasn't expecting to find this on the front page considering they've been floating around Twitter/etc for over a week. But I'll certainly make use of the opportunity to say the new site is entirely Node based and the team is interested in hiring more good Node devs in NYC. Contact me if interested, email in profile!
toddsiegel 1 day ago 2 replies      
Maybe I am no fun, but I find this error page disorienting and a little disturbing.

Errors pages mean you've probably messed up somehow and are associated with user frustration. This page, and the other Bloomberg error pages posted in the comments, do not help to mitigate that.

Github does a nice job of walking the line of cutesy, but useful error pages. But then again, who doesn't love Octocat?


Edited for clarity

kodis 1 day ago 3 replies      
Funny stuff. What I find surprising is that these error pages are on the web site of Bloomberg news, a fairly serious and straight laced operation.
_random_ 1 day ago 1 reply      
I thought it was an old boring Java/C++ place, but it seems that they can have some fun :).
rrubmo 1 day ago 0 replies      
Well, take a look at this one: https://quotivator.net/wp-admin
sebko 1 day ago 0 replies      
This has to be Joshua Topolsky's idea!
azurelogic 1 day ago 0 replies      
Comedy gold. It's good to see that serious business has a sense of humor.

I still love the Lemmings 404 game here: http://www.romainbrasier.fr/404.php

xmjee 1 day ago 2 replies      
How very nice that the top item of HackerNews is a 404 page.
udorash 17 hours ago 0 replies      
Credit goes to Stephanie Davidson http://paralleluniver.se/
graeme 1 day ago 0 replies      
Since we're talking about 404s, are there best practices for orienting users? I have a site with 1-2 major resources.

Does it make sense to say something like:


Maybe you were looking for:

Resource 1Resource 2

sidcool 1 day ago 1 reply      
I expected to find some cracks on Larry Page of Google. Having said that, I feel GitHub's 404 is one of the best.
njsubedi 1 day ago 0 replies      
cessor 1 day ago 1 reply      
wild status 404 appeared: http://www.cessor.de/404
z-e-r-o 1 day ago 0 replies      
Probably that's the first #1 item on HN which always stays black/unread. Nice hack.
dzianisbyhankou 1 day ago 0 replies      
Not bad, quite sarcastic in fact.
Aaronik 1 day ago 0 replies      
jameson12 1 day ago 1 reply      
Is this 4chan?
Ubuntu smartphone offers alternative to apps
points by AndrewDucker  2 days ago   93 comments top 23
bryanlarsen 2 days ago 7 replies      
I certainly hope that Ubuntu is ready with software that provides a phone interface on a phone and a desktop interface when plugged into a monitor.

Because unlike a year and a half ago when they tried the Edge, hardware is (almost) ready for it.

The next generation of monitors, PC's, phones and tablets will all have USB 3.1 Type C ports. These are true docking ports, able to supply 100W of power, and transmit DisplayPort, PCIExpress and USB simultaneously.

You'll only have a single cable connected between your laptop and your monitor, with power, keyboard, mouse, network, printer, et cetera plugged into the monitor.

We've been able to do that before, but it's always been expensive and/or proprietary.

But what's really new is that this same cable will also be able to plug into your phone, letting you replace the laptop with a phone.

breckinloggins 2 days ago 11 replies      
They lost the one factor that was truly differentiating. Arguably, it was the reason we got so excited the first time around.

I feel as though the entire market is screaming for something obvious to exist. It's so obvious, so compelling, so useful...

And so far away.

Why do we even have "desktops" and "laptops" and "phones" and "tablets" and "wearable watches" and so forth? Actually, the rise of the wearable watch gives us the biggest clue: it's because we care about form factors.

When I'm on the subway, I want something to hold in my hand. When I'm in a big hurry or on a jog, I want to glance at something on my wrist. When I'm in bed but don't want to disturb my partner, I want to interact with a larger yet personal tablet. When I want to type something (including code) or interact with content in more involved ways, I want something with a mouse and a keyboard. When I want to have a state of the art immersion experience, I want something with a lot of horsepower (and preferably a head mounted display of some sort).

Why do I have to have different computers for all of this when all I want is different I/O modalities (and related computing expansion devices)? Why do we keep ignoring the fact that what we want is the ability to experience our virtual world in the input / output environment that suits us at this moment? Everything else is secondary.

I was so excited when the original Ubuntu Edge was announced, because I felt that FINALLY someone had figured out how to make the thing we've all been screaming for. But now I'm not so sure Canonical really "got it" after all. If they did, it would have been the first feature they kept, not the first one they cut. To even call it a "feature" is diminutive. It's a paradigm that wants to exist.

We've seen already with the Motorola Atrix that it's harder than it sounds to get this right. But why is it THIS hard? Why can't we start with a phone that can be the CPU for wearables and tablets, and that can dock into a higher horsepower "GPU station" with a mouse and a keyboard and a monitor when we need it? You don't have to nail the performance profile as much as you have to nail why the experience is obviously better. I argue that you don't need a supercomputer in your pocket to pull that off.

Is it just me on this, or what?

vidarh 2 days ago 3 replies      
The ability for it to "become a desktop PC when plugged into a monitor" was 90% of the appeal to me when they first talked about an Ubuntu powered smartphone. That they've stripped that out makes it relatively uninteresting.
emehrkay 2 days ago 1 reply      
"Unlike the original proposal, the handset does not become a desktop PC when plugged into a monitor."

This is what I found most interesting about the device. I loved the idea of how the OS transformed when other things were attached to the phone. There were questions about background tasks and apps running, but your phone turning into your computer via a dock did make sense and seemed like the future.

weavie 2 days ago 0 replies      
When I first heard about an Ubuntu smart phone I got excited because I thought it would mean that finally after all this talk of having a computer in my pocket, I would actually get a proper computer (read laptop replacement) in my pocket. By that I mean something where I can install whatever software I want.. any linux executable.. and it would run fine. I had dreams of running XMonad and firing up Emacs and doing a bit of node development, or perhaps spending a bit of time learning Rust, all while waiting for the bus. Stick it on some hardware that had a physical keyboard and I would be sold.

It seems it was not to be, and the Ubuntu phone is going to be another device that can only run programs created specifically for it and running in some sandboxed environment.

vinceguidry 2 days ago 0 replies      
I am eagerly awaiting this. I've been wanting to write my own smartphone apps for a long time. I don't care about writing games, what I want to write is my own music player. I want it to replace the stock music player. I want access to the Bluetooth chipset so I can actually know why the damn thing doesn't just play when my car starts up. I want the music player given priority over all other apps so I get no stutters instead of 4+ per song with my Nexus 5. I want to order my phone's interface around it. I want all other apps shut down when it goes into standby, standby time is the difference between me having to charge my phone before I go out for the night and not having to worry about it.

The music player is 95% of what my phone is doing for me, yet the Nexus treats it as a second-rate concern.

I want Linux on everything, even (especially!) my toaster.

untog 2 days ago 2 replies      
It's a really interesting idea, but I suspect it will fail - The market is too ingrained in the idea of "apps" to do anything else.

When it first came out, Windows Phone had one of the most interesting UIs out there. It combined all of your social networks into one single messaging hub, had a novel concept in tiles and the sliding panes (or whatever they were called). Unfortunately, every app maker wanted to more or less port what they were already doing on Android/iOS to Windows Phone, so few ever used the functionality MS provided. As of Windows Phone 10, it all seems to be gone.

kolanos 2 days ago 2 replies      
The desktop mode is compelling enough that I'd be fine if Canonical delayed the Ubuntu Phone further to get it right. It's already been delayed considerably and the buzz it once had has mostly disappeared. The ability to plug it into a monitor and have it function as a desktop, or plug it into an HDTV and have it behave like a Roku would be a massive edge over what's on the market now. Not sure why Canonical is content with releasing an "also ran" phone.
maratc 2 days ago 1 reply      
"The Ubuntu fan base will clamour to buy the phone just because they will be curious to see what it is"

Who is this "Ubuntu fan base"?

I connect to ten Ubuntu machines a day, and my parents use Ubuntu laptops. I don't consider myself a "fan", and my parents don't know what their OS is called. Where are these "Ubuntu faithful" the article talks about?

fidotron 2 days ago 2 replies      
I think this is closer to the Windows phone tiles than they're letting on, but still a neat idea. Not convinced about how well it would work with games (which are hilariously second class citizens for all mobile platforms in spite of PR efforts).

One very curious thing about the scope idea is it will need tweaking for different cultures around the world. Gross oversimplification, but generally in the west we categorize by what something is, whereas in the east it's what something is for.

pastalex 2 days ago 0 replies      
There's a lot to be disappointed about, but Scopes are interesting. More thoughts on this here: http://www.fastcompany.com/3041969/ubuntu-phone-scopes-specs...
CmonDev 2 days ago 1 reply      
TL;DR: offering apps + widgety apps, not an actual atlernative.
dgregd 2 days ago 1 reply      
Slightly off topic, Ubuntu and Redhat are building their own display servers, Mir and Wayland. Why they can't simply use SurfaceFlinger? It should be simpler to add X Server emulation to SurfaceFlinger than to create whole display server from scratch.
bayesianhorse 2 days ago 0 replies      
They sort of forgot to mention why this phone is better than Android, IPhone, Firefox OS and so on...

My guess: Better support for Python. Probably also some kind of Docker support. Nothing to sneeze at.

sp332 2 days ago 0 replies      
I was very impressed with Windows Phone's integration of Facebook, Twitter etc. I could see in one native-styled list all the updates and replies from all my connections on both networks. I could reply and post right there. I didn't have to launch the Facebook app and then the Twitter app and then the LinkedIn app etc. That basic functionality was much more painful on Android. Hopefully these Ubuntu scopes can capture some of that.
numbsafari 2 days ago 0 replies      
Seven swipes to the right in order to find the camera app?

Hopefully there's a shortcut.


Ahh... looks like there's a slide out shelf of quick-access "apps" from the left side.

drapper 2 days ago 1 reply      
The phone it is based on is probably this: http://www.bqmobile.com/products/details/0e5e9019-78e8-4d44-...
unimportant 1 day ago 0 replies      
$200 for a phone that relies on new HTML5 apps to be better than a phone at half of it's cost?

I see another failure in the making...

sdrizo 1 day ago 0 replies      
I wish they would put the mic on the front of the device so peole could hear me when I speak.
leke 1 day ago 0 replies      
So will this phone be free from OS updates having to come from the hardware manufacturer?
arca_vorago 2 days ago 1 reply      
So how open will it really be? Will I be able to compile whatever proprietary blobs that are bound to be using and install debian instead?
mdm_ 2 days ago 1 reply      
Does anyone know if the QML mentioned is the same QML used to construct BlackBerry 10 apps?
jrochkind1 2 days ago 0 replies      
I doubt they'll show up in the U.S anytime soon.
Show HN: Watch People Code
points by eatitraw  10 hours ago   58 comments top 24
zw123456 8 hours ago 0 replies      
This brought back a memory from the way back machine. Back in the early days of computers, many of them like the C64 or TRS80 (circa 1985-ish) had an option to use a TV as a monitor to save money. I recall that I had a Trash 80 and it was hooked up to the TV with a cable splitter in a spare bedroom. There were a number of relatives and friends visiting and myself someone that shared my love of computing were in the there programming away, and really programming, we are talking assembler here. And after a couple of hours we came down to the living room and everyone had the TV on channel 3 and everyone was watching us (I did not realize the splitter was broadcasting throughout the cable in our house). I guess there was nothing better on back them before cable had 100's of channels. It was interesting to hear the non-programmers questions and comments about what we were doing and really how much they had actually picked up on.
iamwil 9 hours ago 1 reply      
Recently, I was amazed at how fast one of our devs were. When trying to see what made him so fast, it was a combination of being very good at reading code and understanding the underlying structure of the code, and also he was very fast with his editor. I could barely follow what he was doing as he was tracing his way through the code.

Watching him work as we were discussing an architecture made me more inspired to type faster, learn my tools better, and get better at reading code.

npongratz 9 hours ago 2 replies      
Along these lines, I recently started watching (and enjoying!) Casey Muratori's Handmade Hero, "an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code."


sinatra 9 hours ago 2 replies      
This may be a good place to ask this question -- I think I saw a website which had videos of how well-respected experts write projects from start to finish. So, if I were interested in learning how experts in golang write a web-service end-to-end (design, DB, write, test, deploy, debug), I could watch those videos and learn the right(ish) way to write a web-service in golang. I'm sure I'll learn a few other things too (like how they replaced a block of code in vim in 4 keystrokes where it would have taken me 12). Does anything like that exist? If not, then that sounds like a fantastic opportunity to me.
eatitraw 7 hours ago 0 replies      
After ~60 minutes of random debugging in production. If anyone noticed any weirdness(like a lot of repeated streams / streams disappearing) -- we're sorry. Looks like everything should work now.

Just a bit of technical details for curious: twitch streams are painful to deal with. Twitch channel != youtube channel. Twitch channel is akin youtube video(or stream) but with offline/online status. Mapping "online/offline" statuses into proper upcoming/live/completed statuses isn't straightforward. Differentiating between different "streams" is also difficult(i.e. user streams twice on two different days, but the link stays the same).

Also, twitch api often returns 5XX errors.

Bug reports are welcome here: avp-13@yandex.ru

Also, if you want to be notified about upcoming streams, then you can subscribe to subreddit(http://www.reddit.com/r/WatchPeopleCode), subscribe on the website, or follow https://twitter.com/WatchPeopleCode.

nsgi 2 hours ago 1 reply      
Apparently it's possible to embed a HTML5 Twitch player instead of Flash. Would it be possible to use this?


rottyguy 5 hours ago 2 replies      
Side question: I'd like to stream some audio content to a few 1000 people (24/7) and wondered if anyone knew (back of the envelope) what the cost model for this would look like? Assuming it's just bandwidth unless I go p2p... Just trying to understand the current lay of the land as I remember the youtube guys were paying $$$/mo for bandwidth when they first started. Thanks.
k-mcgrady 7 hours ago 2 replies      
OT slightly: Why do some YouTube embeds (including the one on this site) not contain a full screen button? It drives me nuts. Especially here as to actually see what's happening full screen is essential. The only way to get full screen is to click the YouTube button to actually go to YouTube and full screen it from there.
raju 2 hours ago 0 replies      
This looks nice! Nice job.

I am using my iOS device so maybe I missed it - but is there a way to search for a particular language?

rglover 9 hours ago 1 reply      
This is interesting!

While I think it'd be difficult to fully learn how to implement something from this (read: tedious), I do see it as a cool way to learn how other people think about and solve problems. If it means anything, I watched a good five minutes of the guy working on the Arduino code without thinking about turning it off.

alexisnorman 5 hours ago 0 replies      
The feedback on these streams makes this a really incredible idea. I just watched one where users were constantly noticing syntax errors, etc. and alerting the dev in real time of them. A few people on these streams are learning languages (like Lua) for the first time and powering through these projects with aid from viewers/commenters. Love it.
endergen 9 hours ago 1 reply      
I'm more concerned that twitch.tv is already good and has it's own culture developed for this. Unless some extra meta data type stuff is added like which language, which subjectd, which editors, which techniques etc are added in a very useful way.
fallenhitokiri 9 hours ago 1 reply      
I wonder if there is an viable alternative to YouTube. I find the idea intersting and could see people gaining something from watching others code, but sadly live streams are yet another thing I cannot use without a proxy.

There seem to be legal problems with them in Germany or is it some European law and other countries are also blocked? Does anyone know what exactly the problem is? Just potential copyright infringements from audio in the background e.x.?

Sir_Cmpwn 4 hours ago 0 replies      
I put up a stream for a few hours. It went well! I didn't think anyone would enjoy it but it looks like I'm expected to do it more now :
properpenguin 9 hours ago 6 replies      
I don't understand how this adds more value than the other places on the web. A blog, tutorial video, stackoverflow post, book, etc will provide more knowledge in less time than watching someone real-time code and step through the software writing process. I understand the game channels on twitch provide entertainment, but don't see how this will catch on widely. Would love to hear others thoughts.
neovi 8 hours ago 2 replies      
Would it be better performance wise to get the Twitch.tv/YouTube/etc. summary of what they're showing and present that first, and if you're interested to click on the summary then you can load the video? Loading all of those videos at once is pretty heavy, at least for my mbp.
nacs 9 hours ago 0 replies      
Another great place to find dev streams (game developers):


nirkalimi 9 hours ago 0 replies      
I like this idea. It isn't the most common thing to shadow someone while they code, you can learn a lot from how people "flow".

The site can be a lot better. I think it has potential if curated properly. I'd watch.


devbootcamp 7 hours ago 1 reply      
I think people would pay good money to learn from great programmers over something like Webex where you could follow along and also ask questions.
facepalm 8 hours ago 2 replies      
Live streaming not available in Germany due to rights issues. Background music, or what is the issue?
contingencies 2 hours ago 0 replies      
I offer these quotations from well known figures as a mental antidote to the 'churn things out fast' / 'learn all the editor shortcuts' mentality being promoted throughout some of the comments.

The real hero of programming is the one who writes negative code. - Doug McIlroy

You're not to come up with a simple design through any kind of coding techniques or any kind of programming language concepts. Simplicity has to be achieved above the code level before you get to the point which you worry about how you actually implement this thing in code. - Leslie Lamport

Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them. - Doug McIlroy

... from my fortune clone @ https://github.com/globalcitizen/taoup

redstripe 4 hours ago 0 replies      
Love it. I hope this gets popular.

And sort of sad because people seem to be able to do more then 10 minutes at a time without alt-tabbing to HN or lolcats for pointless distraction.

michaelsbradley 7 hours ago 0 replies      
You can also watch folks code with Floobits:


NietTim 8 hours ago 0 replies      
OH! I very much like this!
Once-starving GnuPG crypto project gets a windfall. Now comes the hard part
points by smacktoward  2 days ago   95 comments top 16
andrewstuart2 2 days ago 3 replies      
> It's encouraging to see the GnuPG project benefitting from similar largess. But it also raises the question: how is the money best spent?

However the heck they want to spend it. These are donations. If the guy has been working so hard just to make the world a better place and he wants to disappear with the money, I'd be bummed and I imagine lots of other people would too, but they were donations. A "thank you for busting your back for so long", not a "hey, now you've made it to the big leagues, better saddle up (the way I want you to, by the way)."

We've been using this software (probably worth many millions a year in the private sector) for free for how long? At least for libgcrypt, the initial commit was November 8, 1997. 17+ years ago.

That said, what are the chances this awesome, passionate developer is going to deliberately drop this project he's poured blood, sweat, and probably some tears into? What are the chances that he doesn't labor over the decision on how to spend the money, and consult his peers?

I sincerely hope this doesn't turn into some donation-gate fiasco where everybody's miffed about how the money that was freely donated got spent. This guy has changed the world and deserves to take the money as thanks and not added responsibility. He's already been shouldering that responsibility for years.

mrsteveman1 2 days ago 2 replies      
> Matt Green, a professor specializing in cryptography at Johns Hopkins University, said he has looked at the GnuPG source code and found it in such rough shape that he regularly assigns chunks of it to his students for review. "At the end I ask how they felt about it and they all basically say: 'God, please I never want to do something like this again,'"

Reading that reminded me of some comments[1] made by the author of ObjectivePGP, a very recent effort to create an OpenPGP compatible Objective-C library:

> Today I regret that I have not made any notes during programming, so that I could now quote all my moments or doubt, all WTF? instances (I think that some of them are still present in source comments). Many sudden turns of events, lots of dead ends and a massive amount of uncertainty await for the person implementing this protocol. Now I understand why OpenPGP does not have many implementations the protocol itself is simply quite difficult to implement.


> Now, with all I have learned during the time I spent working on it, I would have written the library in an entirely different way. ... I have even made a note in my TODO Need to rewrite the whole thing!. This is true, but if I keep on rewriting it all the time, I will not finish anything else.

[1] http://blog.krzyzanowskim.com/2014/07/31/short-story-about-o...

markokrajnc 1 day ago 1 reply      
Dear Werner - if you are reading this: Please ignore all the articles and comments about "how is the money best spent"! They don't know what they are talking about! Instead take 2-3 weeks free and bring your whole family somewhere in Mediterranean Sea to the long deserved holidays so you can rest from all the financial burden, take a fresh breath and gather new energy and motivation for the project! And please again: ignore those comments! Greetings from Munich!
Spooky23 2 days ago 2 replies      
The vitriol in the article is pretty surprising to me. Monday morning quarterbacking of an open source project is pretty noxious. Is there some other story that I'm not aware of here?

This guy has sacrificed a lot and built something that is pretty critical to people all over the world. As a pretty casual, I recall directing direct answers from the author in hours from the author. If the code is mess, at least it has been implemented in such a way that the mess is harder to exploit.

copsarebastards 2 days ago 0 replies      
> But it also raises the question: how is the money best spent?

No, it fucking doesn't raise that question. As far as I am concerned the money is already spent. And that's the way it should be, because Werner Koch has already devoted years of his life to developing this stuff.

zvrba 1 day ago 0 replies      
Don't bother, donate to the NetBSD team instead: http://www.netpgp.com/faq.html

WK has unreasonable opinions, e.g., see this thread: http://www.reddit.com/r/programming/comments/2uw2gt/the_worl...

Having tried to integrate PKCS#11 support into GnuPG (rejected with bogus and dodgy arguments, see threads documented here: http://zvrba.net/software/gpg_pkcs11.html), I can testify that the codebase is messy and complex.

Just ditch it and make something from scratch. I have more faith in the competence of NetBSD-associated people than in WK.

copsarebastards 2 days ago 0 replies      
> The main problem with the code, he said, is it hasn't been properly maintained over the years.

Maybe this is because it was being maintained by a single underfunded developer. I'm not sure how the fact that we're now funding that programmer enough that he can hire a second developer (as was his stated intent) that this brings up questions of whether the money is well spent.

Ars Technica? More like Talking-out-their-arse Technica. Non-technical people writing about code critiques they can only understand second-hand is pretty much worthless.

gcv 2 days ago 3 replies      
TFA says the GnuPG code is pretty rough. Has anyone (with crypto knowledge) looked at it? Confirmations and denials welcome.
justizin 2 days ago 1 reply      
$60k is hardly a windfall, but it is a lifeboat.
xvilka 1 day ago 0 replies      
Hopefully GnuPG developer[s] will also address Mailpile complaints[1]. And JSON-friendly interface as a part of it.

[1] https://www.mailpile.is/blog/2014-10-07_Some_Thoughts_on_Gnu...

mikkom 2 days ago 1 reply      
The power of internet sometimes still amazes me.

One article. 180keur in donations in a day.

mirimir 1 day ago 2 replies      
The Ars article ends with:

    "A real audit of the [GnuPG] code would be great," Green said. "The problem    is it would be really expensive and I'm not sure it's worth it."
I wonder what Green means as the alternative to auditing the GnuPG code. Doing nothing? Or could he be arguing that it would be better to start from scratch? Is there a replacement in the wings? Or even as a glint in someone's eye?

A_COMPUTER 1 day ago 0 replies      
If he keeps doing what he does every day, except with financial security, these donations have done their purpose as far as I'm concerned.
secfirstmd 1 day ago 0 replies      
Whats amazing, is that lives will be saved because of these donations. Human rights defenders, journalists, activists etc...
qween 2 days ago 1 reply      
Overall a bad article, but the issues it brings up are important:

> The financial strain Koch has endured underscores a cruel irony that has only recently come to light.

No, that's like saying that women being treated lesser than men "has only recently come to light". Open source, even (especially!) the core, important stuff is blasphemously underfunded, and it always has been. Everyone knows this, even those who deny it.

Furthermore, the psychology is uncomfortably close to the psychology of misogyny: historical precedent, deeply rooted social structures (in this case driven by software economics), by and large nobody wants to pay the significant costs of fixing it, and every now and then a truckload of goodwill is dumped on the fire to douse it so we can all forget about the broken system we're working with until the next time it breaks.

higherpurpose 2 days ago 1 reply      
miniLock [1] seems like a good alternative to PGP for both file encryption and email. It's just so new and it should have more audits.

[1] - http://minilock.io/

They've recently launched Peerio as well which is kind of a closed email-like system with easy to use end-to-end encryption based on miniLock.


Node v0.12.0 (Stable)
points by TimWolla  2 days ago   73 comments top 14
dap 2 days ago 3 replies      
I'm really excited that this version of Node includes updates I made for the debugger module[0], including the ability to show you the closures in your program[1]. (This has already helped nail some memory issues in Node itself.) I hope to blog about it in more detail next week.

[0] https://www.joyent.com/developers/node/debug/mdb

[1] https://github.com/joyent/node/issues/8718

wereHamster 2 days ago 3 replies      
No mention which version of V8 they use. Did they sync with what Chrome is using nowadays?

Anyways, I've already switched to iojs. I'm sharing part of my code between server and client and it has become increasingly painful to work around the lack of progress on the nodejs side of the network.

felixrieseberg 2 days ago 0 replies      
Good to see that a new version is out - if anybody here wants to take it for a spin on Azure Websites, we at Microsoft just created a small one-click script[1] that installs this version.

[1]: https://github.com/felixrieseberg/node12-azure

neumino 2 days ago 0 replies      
They didn't catch up on v8 and libuv and they didn't deliver the supported C++ API.Congrats on the release, but it's kind of disappointing.
sync 2 days ago 1 reply      
So can I use generators without a --harmony-generators flag now? Surprised there aren't any mentions of ES6 in the blog, considering the competition from io.js.
jtwebman 2 days ago 1 reply      
I am glad this is out but bummed about the V8 engine being so old. I see why IO.JS is a thing now but I also understand you want stability as well.
shna 2 days ago 1 reply      
It's been 5 years since node.js is around? is node.js development slow or the version numbers (scheme) is progressing slow. It sounds like there is at least a decade for ver 1.0. Probably 1.0 does not mean anything. In my mind version 1.0 is the when the product is complete.
antouank 2 days ago 4 replies      
Meh, too late. io.js is the standard now.
bcantrill 2 days ago 5 replies      
Several have asked about node.js in contrast to io.js. It's fair to say that the emphasis of node.js at this point is on stability (including API stability, production debuggability/observability, etc.) and performance -- in that order. It definitely takes longer to release software when operating under these constraints; as the team writes in the linked blog entry:

We are also pleased to report that this release of Node.js has tests passing on all of our supported platforms. On the one hand, this seems obvious (what are tests for if not to verify before you release it?!), but this is actually the first release of Node.js that has operated under this constraint. Requiring that all tests pass before releasing Node.js marks an important development for the project, and is essential for building a solid path moving forward.

It's unclear what the divergence will be in the future, but the emphasis of the node.js team on stability may or may not be shared by io.js -- and in particular, this may be reflected in things like the V8 version, changes in which tend to subtly break esoteric things on different platforms. Inasmuch as the divergence represents different operating principles (i.e., enterprise-grade stability vs. bleeding edge), it may well be helpful -- and I think it's entirely conceivable that the projects will develop a symbiotic relationship moving forward.

azurelogic 2 days ago 0 replies      
Both this and io.js 1.1.0 are available via nvm now.
muaddirac 2 days ago 2 replies      
As a casual node user, I'd love to better understand how this release compares to io.js. Are they diverging more? Is node playing catch-up?
kolev 2 days ago 1 reply      
Competition at its best! Days after io.js gets released, node.js outs a major release.
btbuildem 2 days ago 2 replies      
I would just like to point out people are running production stuff on v0.x of something..
throwaway5611 2 days ago 1 reply      
Awesome! Even better, will Joyent pay me to use it? https://news.ycombinator.com/item?id=8996797

I hope they have enough Timothy J Fontaines.

What Happens When a Restaurant Dies
points by bjterry  2 days ago   59 comments top 11
viame 1 day ago 1 reply      
In 2007 my mom and I opened up a deli/cafe. We had previous experience in this industry so we didn't think we would struggle. We went bankrupt two years after that. It was an awesome experience.

It is true the rent can kill a business but it also comes down to its location, parking, getting in a out of the parking (which pisses people off if its a busy street and they have to wait because of traffic), everything needs to be running smoothly.

Starting such business is also super expensive. The good thing is that we only had to purchase the equipment. I have a construction company so the reno and everything that needed to be done was done by us. I also have a web design and marketing company so all the advertising was done in-house. These probably helped us save 50k if not more.

I remember, we had snitches coming in an out who were hired by our competitors. They would also come in and look at the expiry date of every produce in hope to find something that has expired so they can make it public.

In the end, we were about 100k out.

Anyhow, it was an awesome businesses and people loved it, however, it just wasn't enough to keep it running.

js2 2 days ago 0 replies      
For the past decade, the caf hasn't had a lease with its landlord, the Edison Hotel. Its owner was another Holocaust survivor who said the caf could stay as long as it wanted. Then, Strohl says, he died and his son took over. "He decided that he didn't want us here; he didn't want Caf Edison and he wanted a white tablecloth restaurant, with a name chef," Strohl says.


Just two weeks after Cafe Edison was forced to shutter, Jeremiah Moss finds the legendary Times Square lunch counter barren. Booths have been torn out, signage is down, and swivel stools at the lunch counter no longer have their seats. Everything is packed up in storage, with the hope that it will make an appearance if Edison owner Jordan Strohl can find an affordable new home for the restaurant.


keithpeter 2 days ago 0 replies      
Ferris Restaurant, Edinburgh. I went there in 1990s and again a few years ago. Family run Scottish Italian restaurant. It was a bit strange seeing the same waiter after a 20 year gap (glamorous sharp suited younger man, plump slow ponderous but amusing older man, same as me except for the suit).

Closed. Overnight. A (no doubt fine) Lebanese opened instead.


flyinghamster 2 days ago 4 replies      
If you're in it for the long haul, then sock away money to either buy the property, or buy property elsewhere to relocate. That will go a long way towards preventing the "hey, I want a bigger cut of your action" scenario, and provide a cushion against hard times. Of course, there's also the possibility of the local government jacking up your property taxes (something that happened to a place near me).
arbuge 2 days ago 0 replies      
>> The IRS comes after you because you're behind on sales taxes.

Nitpicking here, but that would be the state revenue department, not the IRS. The IRS doesn't collect any sales taxes afaik.

speeder 2 days ago 1 reply      
The theme of the article is in part how Real State can royally screw over business...

A sad, really sad thing happened in Rio de Janeiro, in Brazil.

The city center, had multiple very old business, a particular square, that had been a hotspot in imperial times when Rio was the Imperial Capital, had many business opened at those times, and that were still open... Business that survived many depressions, crisis, regime changes, world wars...

Then because of the recent real state price boom (example: in So Paulo prices on average rose 300% in 4 years), they all got outpriced in their rent... There was 250 year old shops that were still only a single location, and still renting their original location, but landowners just bumped the rent prices up by like 100% in a single year, and kicked out all those multi-hundred year shops out.

The end result looked like a sort of historic defacing, lots of shops that were there since the monarchy times, that had lots of history (for example a library where famous writers, poets and musicians used to hang out for about 200 years) were just shut down without mercy.

Some people even tried to ask the government to help... But it didn't work.

patmcguire 2 days ago 2 replies      
Was struck by how they got them out despite the lease - sure, on paper you're supposed to pay x, but we want more...
jccooper 2 days ago 1 reply      
Maybe it's just rhetorical flourish, but the article takes a hit on the ol' credibility meter when the opening paragraph says: "The IRS comes after you because you're behind on sales taxes." IRS doesn't give a hoot about your sales taxes, except to the extent you deduct them.
michaelochurch 2 days ago 2 replies      
First came an offer to buy out the lease from the restaurant. Once the restaurant dismissed that, the hotel's strategy changed: Starve 'em out. They cut off its room service business, then started renovations on the building during the summer (tourist season), obscuring the restaurant from public view. When that failed to drive the restaurant out, mysterious complaints to the Department of Health started coming on a weekly basis; the restaurant was shut down by the DOH no fewer than three times.

OP should have outed the hotel, and given names and, if available, addresses of its owners and management. That shit may be technically legal, but it shouldn't fucking be safe.

marincounty 1 day ago 0 replies      
The selfishness that fuels Capitalism I find sad. I know the other systems didn't pan out(yet), but the level of abjectgreed seems, in the long run, counterproductive? I understand making a profit; I don't understand greed. Yea--"Greed is good!" It was a movie quote. Why do I feel some people actually think it's cool now?

I'm not commenting on this particular resturant, but business--even personal financial transactions seem to have gotten too cut throat? Maybe I never noticed just how greedy some entities and people are, but it seems to have gotten worse? I can't blame it on the Internet. I saw the change in the 80's.

I'll give one example I see going on in this county. A person buys a house. They rent out a room. They become friends with the tenant. The tenant helps the landlord on a personal level--like taking them to doctor's appointments, they socially interact, they are kind of like family. But the Landlord continually raises rent to market rates. Well, eventually the tenant loses respect and moves out. Who won?

The Doctor who drags in patients for unnesarry office visits?

The Veterinarian who jacks up their prices when an "animal lover walks in". (Yea, I had a girlfriend who worked at a veterinarian hospital and they had a code they threw around the office when they thought they could "financially milk" a pet's owner.)

I mortgage broker who knows the deal is horrid, but smiles right through the bankruptcy.

I'm not a religious person, but I was brought to a Lutheran Church as a kid for years. I sat there thinking how can I incorporate this selflessness that guy up there is talking about into the real world. I never found a fool proof plan, but I was never greedy. I will die knowing I tried to do the right thing, and it was not about the money. The problem is I might die Homeless, and I know that's no way to live a life.

I just wish the people who call the shots--would show a little bit of compassion. A little bit? Enough so when you do die--the people at your funeral are there because they truly loved, and respected you.

I'm not preaching. I just don't think maximizing profits in every situation is copacetic! And just because it's legal, doesn't make it right, at least in my little world. I'm feeling nauseous. It's this post I'm writing, or something is wrong with my liver? If there is a God please give me a few more years, or take me out without the pain my father went through.

grandalf 2 days ago 1 reply      
Just logged into Yelp today to discover that some of my favorite restaurants in SF have closed!
Why Do Cats Love Boxes?
points by iamben  1 day ago   58 comments top 13
51Cards 1 day ago 3 replies      
I'm not sure I go with the temperature theory though it does explain the sun/lap loving behavior of cats in general.

I have an adult Maine Coon and he is a walking fur factory. I have never seen so much hair on one cat. His actions are very different from other cats I've had, he avoids sunshine, he doesn't like to sit on laps, and he always sleeps stretched out vs. curled up on the coolest surface available. To me that indicates he's plenty warm and desires no excess heat. However if you put a box down he'll claim it instantly.

I have always thought cats like boxes because it feels secure to them. A Reddit post once commented "Cats are in a difficult position - they're small enough to be prey but they think of themselves as predators. So their natural state is somewhere between dangerous and nervous." I think the enclosure of a box gives them some peace of mind.

azakai 1 day ago 1 reply      
The reasons suggested are

1. Cats are ambush predators and have a tendency to like small places they could stalk prey from

2. Cats like to go to safe places where they can be alone, when they feel uncomfortable around humans or other pets

3. Cats prefer warmer temperatures than humans, and boxes keep them warmer

It seems then that the ultimate cat box would be heated, and in a location that both lets them look at everyone else, but also feel secluded enough, like maybe up high on the wall. Or maybe a two-part heated box, one facing the room, the other more private.

radarsat1 1 day ago 0 replies      
> "The box-and-whisker plot"

If this article were written for the sole purpose of being able to employ this as a section title, I would understand.

snarfy 1 day ago 1 reply      
I believe one reason it's boxes and not just any container is because cats love paper. Put some papers on the floor and a cat is likely to lay on it. My parents would get the newspaper and the family cat would always lay on the papers, and my dad's theory was it was due to the static electricity that builds up on a cats fur, and the paper minimized their discomfort.
jhawk28 1 day ago 1 reply      
Kids love boxes too. So many cheers of excitement every time a big amazon order comes in.
Vaskerville 1 day ago 0 replies      
I think publications write about "Anything Cats" simply because they know that alot of people will read and discuss the articles.

That being said, my cat doesn't like to sit in a box but she does enjoy an open sock drawer or suitcase.

shawnee_ 1 day ago 0 replies      
According to a 2006 study by the National Research Council, the thermoneutral zone for a domestic cat is 86 to 97 degrees Fahrenheit. Thats the range of temperatures in which cats are comfortable and dont have to generate extra heat to keep warm or expend metabolic energy on cooling ...Corrugated cardboard is a great insulator and confined spaces force the cat to ball up or form some other impossible object, which in turn helps it to preserve body heat.

Yeah, Occam's Razor, not Schrdinger's cat.

err4nt 10 hours ago 0 replies      
I have noticed cats, even light-couloured cats, can't seem to resist sitting on black backpags of duffel bags. Has anybody else noticed black-bag-seeking behaviour before?
coldcode 1 day ago 1 reply      
Dogs have owners, cats have staff, goes the popular saying. Apparently staff includes people who try to figure out cats. What a difficult profession to be in.
benihana 1 day ago 8 replies      
Can someone who loves cats explain to me how so many cat owners seem okay with letting it walk all over the surfaces they eat from after it walks all over a box of sandy cat piss?
ck2 1 day ago 0 replies      
Some of my cats love boxes but others have no use for them.

I don't think it is 100% universal.

ozi 1 day ago 0 replies      
Ah, Caturday.
iamben 1 day ago 4 replies      
"It is widely grokked that cats have the hacker nature." - Eric S. Raymond
       cached 9 February 2015 05:11:02 GMT