hacker news with inline top comments    .. more ..    24 May 2014 News
home   ask   best   5 years ago   
Try Out Fira Sans: a Free, Open Source Typeface Commissioned by Mozilla donotlick.com
120 points by Boriss  7 hours ago   43 comments top 11
edwintorok 2 hours ago 1 reply      
Fira Sans is also one of the 3 free fonts (along with Charter and Source Code Pro) recommended by Butterick's Practical Typography: http://practicaltypography.com/

It is also used in Racket's documentation:http://typographica.org/typeface-reviews/fira-sans/

And here is how I use it in LaTeX:

  % Font settings  \usepackage[T1]{fontenc}  % Serif body font  \usepackage{charter}  % Math font  \usepackage[charter]{mathdesign}  % Monospaced font  \usepackage{sourcecodepro}  % Sans-serif font  \usepackage[lf]{FiraSans}

broodbucket 4 hours ago 5 replies      
I wandered the internet for years looking for the perfect monospace font for me. There was never anything that fit; Ubuntu Mono was nice but a bit too "unprofessional", Liberation/Droid too boring, Microsoft/Apple fonts didn't fit either. I looked through so many font comparison sites, tried a whole bunch, just ended up sticking with the defaults.

Then I found Fira Mono. I use it everywhere. It looks great; it's very clear and easy to read, it has a nice style. Fonts are a very personal thing so thanks to Mozilla for finally letting me have one that was "mine".

gkoberger 2 hours ago 0 replies      
cpeterso 3 hours ago 1 reply      
Fira's designer Erik Spiekermann says the typeface's original name was "Feura", but English-speakers pronounced that name as "fhrer":


Mithaldu 52 minutes ago 0 replies      
I'm very impressed by this font, since it is the only font coming out of the open source community that i can remember which has hinting info, meaning it will still look good at font size 8 without smoothing.
BjoernKW 2 hours ago 0 replies      
Very cool. Just a few days ago I saw Fira's designer Erik Spiekermann give talk on 'Type Is Visible Language'
jph 2 hours ago 0 replies      
Gorgeous font. I'll donate $50 toward an italic monospace.
gioele 1 hour ago 0 replies      
> So great, in fact, that well be using it in Firefoxs in-content pages such as Preferences and the Add-ons Manager.

I prefer applications to use the default fonts provided by the operating system. Consistency before aesthetics.

zatkin 1 hour ago 1 reply      
Does anyone have this font in woff format?
BorisMelnik 4 hours ago 0 replies      
So glad that I found this font I have a project this weekend this will be perfect for. Have been looking for a new heading font for a while. Have been having a lot of fun with Campton and Open Sans (my standard) but this one has such a great style.
gojomo 3 hours ago 1 reply      
Do I understand the post correctly that the font is bundled in Firefox and thus usable with no download lag? (If so, does that go equally for all variants?)
Surface Pro 3 penny-arcade.com
283 points by ismavis  15 hours ago   183 comments top 20
richardw 1 minute ago 0 replies      
What kills me about this thing is that it's still an almost-notebook. They take a tablet and make you choose to run almost-Windows or Windows. It's most visible difference to other tablets is a great keyboard concept, but it's not quite a notebook in that it now needs a kickstand to stand up. I'd rather have a notebook that has a rational keyboard that holds the screen at whatever angle than something that is almost exactly the same, but somehow inferior.

I'm really not against the whole idea of a Windows tablet, but if the keyboard is that important...just make a keyboard that handles the weight of the screen. In fact, the keyboard I bought for my mother-in-law's iPad does that just fine (minus the variable-angle) so I'd still rather have the iPad or Android tablets.

kgermino 14 hours ago 5 replies      
I think this shows how dedicated the Surface Pro team at Microsoft is to making a rock solid product. Yes there's issues with branding, Windows 8 tries to be too many things at once, and it seems like the company as a whole (including the Surface lines) has absolutely no idea where it wants to be in five years; but I think the total focus on making the experience as good as possible combined with Microsoft's budget and a little time will yield very impressive results. I certainly hope so.

I love the vision of the Surface Pro with a good dock. A single device that can be docked with monitors and a real keyboard/mouse, used as a laptop or carried as a tablet would make an awesome machine. It seems they are there in principle right now but need some time to get it polished enough to be usable for most.

Too soon to count Microsoft out regardless.

hyperliner 13 hours ago 14 replies      
It has to be really frustrating to be an engineer working on Surface and having to deal with the HN echo chamber, or MS bashing (some from Apple fanboys), or totally unrelated comments.

Maybe it should be a rule that these folks below post their own product for review. Hopefully they have something significant that can be open to critique.

Of course, that would not be too much fun.

- nivla: "Seriously, I am starting to believe that these tiny screwups are their signature."

- rasz_pl: "...rock solid product.. notice the number 3 in the name of said product? and still not good enough. Not to mention UI lags. 2014 and GUI is lagging. Someone needs to get shot."

- justin66 "> Windows 8 tries to be too many things at onceThat is a very, very generous description of Windows 8."

- jodrellblank: "2014, Intel Core i5, SSD and stutters when 'browsing files' in PS. shakes head"

- carlio: "I feel a little cynical by saying this, but does Microsoft really care about artists as much as they care about the audience they're reaching via Penny Arcade?"

- enraged_camel: "It's the execution that is lacking significantly. I've always said that Microsoft is really, really good at engineering, and really, really bad at UX and usability. After reading Gabe's review, I'm disappointed that this is still the case."

[EDIT: Software to "product" + line breaks]

nileshtrivedi 13 hours ago 2 replies      
People have been able to run Ubuntu on Surface Pro 2 but it took some effort (custom kernel etc). If this has improved and if the new Surface pro can dual-boot Ubuntu without any issues, I'd definitely buy one. The hardware concept is too tempting.
Pxtl 8 hours ago 1 reply      
Counter-point on surface-pro by another webcomic author:


Basically, Scott Kurtz found that the stylus lag on every tablet was so bad that he ended up using his Wacom Cintiq, which requires a wall-outlet.

interpol_p 8 hours ago 0 replies      
I'm really pleased to hear about how good the NTrig digitiser is. Seems like an awesome painting tool.
coreymgilmore 14 hours ago 0 replies      
Very well written review. I myself was worried about the switch to N-trig (having dealt with a few products in the past), but I glad to hear it is a non-issue. To me, the additional size is great. While I like the portability of a tablet, having the extra screen real-estate makes me more productive and thus worth the trade off of a larger physical size device. I think MS's third attempt at a tablet is finally the tablet/laptop/combo that I have been waiting for.
lstamour 14 hours ago 1 reply      
My only worry with buying the Surface Pro 3 is how I was burned by the Surface Pro 2 late last year when I got an original Surface Pro early last year. Very much like the iPad, they seem to be releasing new Surfii every 6-9 months. Since this model isn't available at launch with the i7 and only has Intel 4400 graphics, I expect early next year to see a bump in specs, perhaps Intel 5100 (or better) graphics by next March? Which has me wondering if I should buy now or hold off. If they had the ntrig bluetooth pen with OneNote integration in a smaller form factor for cheaper, I'd buy that first right now and wait for the larger device to get a bump in performance. That said, no question -- if you want OneNote for school in September or can afford to upgrade once a year, buy now. The only thing I wish it had was a touch-optimized terminal app with tabs ;-)
localhost 13 hours ago 1 reply      
Looks like the Core i7 version is the i7-4650U model, with HD5000 graphics.

Details in Ed Bott's article: http://www.zdnet.com/which-cpus-will-you-find-in-the-surface...

Link to Intel specs: http://ark.intel.com/products/75114/Intel-Core-i7-4650U-Proc...

ChuckMcM 14 hours ago 1 reply      
Being left handed I wouldn't have the problem Gabe does, instead I'd be activating a half dozen tools on the left margin of the screen. I appreciate the 'wrist' input for the JOT stylus which lets you tell it where you rest your hand normally.

I'll definitely try out the SP3, and I'm still trying to get my hands on a Samsung Note Pro (12" tab). The screen is what I crave, a 12" 3:2 aspect ratio screen with 2160 x 1440 feels pretty close to ideal in this form factor.

hyp0 5 hours ago 0 replies      
It's interesting that there doesn't appear to be lag when he's actually drawing.
_asciiker_ 11 hours ago 1 reply      
As an old MCSE I am happy to see the Surface 3 reviews, for me (an Android tablet user) this means Microsoft is fighting not to lose the tablet race. The idea of replacing the laptop with a very well designed keyboard "docking station" is brilliant. And it does seem that they did do everything else right!
smrtinsert 13 hours ago 1 reply      
3:2 I need this so badly. I hope they solve the lag and handedness issues I really want to love this device.
gcb0 11 hours ago 1 reply      
i waited for this tablet release, and then, seconds before the impulse buy i remembered i should wait for Gabe reviews :) ...saved by the bell!

that said, i'm still anxious to a tablet with a decent perf/battery life and a good pen. tired of only consuming content on tablets. and i'm sure a keyboard is not feasible anytime soon. while i could already code with my palm custom pen input... albeit painfully, it was less painful then any apple soft keyboard.

jodrellblank 14 hours ago 6 replies      
2014, Intel Core i5, SSD and stutters when 'browsing files' in PS.

shakes head

morbius 14 hours ago 1 reply      
I've been a believer in the Surface concept since the beginning. I'd bought a Surface 2 last year and was blown away by just how unique and incredibly inventive the design was. The 16:9 screen and the lack of power really suffered it, though...

But like the MacBook Air, three generations in, and it looks like this is going to be Microsoft's Hail Mary.

I preordered one.

instaheat 14 hours ago 1 reply      
I'm not too sure about that drafting board profile. Having not seen the device in person, at that angle it looks like it might break. Is there some form of support running along that line?
vfclists 4 hours ago 0 replies      
Apple shills or what?
richard_cubano 12 hours ago 2 replies      
He says that the reduction in sensitivity on the digitizer "scared the hell out of [him]."

Why do people say stuff like this? You know what scares the hell out of me? Getting mauled by a bear.

carlio 14 hours ago 12 replies      
Gabe has written some very complimentary things about the Surface in the past, it's no wonder they're eager to hear his opinions and tell him what he wants to hear. "Yes Mr Gabe, we really like artists, like a whole bunch. Please write some more nice things!"

I feel a little cynical by saying this, but does Microsoft really care about artists as much as they care about the audience they're reaching via Penny Arcade?

When should I not kill -9 a process? stackexchange.com
7 points by yiedyie  56 minutes ago   3 comments top 3
btmorex 5 minutes ago 0 replies      
As if often the case with stackoverflow answers, all of them are wrong in different ways. You should only kill -9 when every other signal the program is likely to respond to has not worked. kill -9 is likely to leave program in a state that requires manual intervention, especially if that program is a database.

If you're a developer, before you kill -9 a program send SIGTERM (ie kill without args or kill -15). If the program does not respond, run gdb -p <pid> and then "thread apply all bt" before killing it. At the very least, you should get a good idea of why it was not responding to other signals.

jrockway 26 minutes ago 0 replies      
Fiber optic cables are dug up by backhoes. Hard drives randomly fail. RAM is corrupted by cosmic rays. Racks lose power. CPU fans stop spinning.

If your process relies on not being kill -9'd, then you might as well quit programming and go buy a lottery ticket.

Theodores 10 minutes ago 0 replies      
Well, there is always this scenario: when you can't even use CTRL+ALT+F2 to get to some type of terminal and only the power button, held in for ten seconds, will do. That's when you should not 'kill -9'.

I have heard the best practice advice for many years and I think that the 'you should send some friendly signal first' is not universally what works out best. For instance, if your Chrome browser is getting out of hand and the system is permanently doing some 96% wait for some reason, a gentle killing of Chrome will take ages and, when it restarts, you might get some but not all of your tabs back. With a killall -s 9 you can be back to work quickly with all your tabs (and underlying swappiness problem hopefully resolved).

The new VirginAmerica.com virginamerica.com
226 points by malditojavi  15 hours ago   123 comments top 67
robertnealan 9 hours ago 2 replies      
From a design perspective this is one of the most beautiful airline booking designs I've ever seen, but from a usability perspective it might just be the worst (save for maybe RyanAir).

The cities being laid out in a grid looks nice but is ultimately far more difficult to understand then just looking at an alphabetical list in a dropdown. Auto-picking your departure city based on your current location is admittedly a nice detail, but it wasn't immediately obvious how I change where I'm starting as the "link" was different than anything else on the page.

The "Who's Flying" section is massive for having so little real information. And why are that the font is 120px (or 12rem) but the "+/-" controls are faded out and tiny by comparison?

The calendar is again completely oversized, low contrast, and difficult to understand. My laptop has a 1440x900 resolution screen and I can barely fit a single full month in the window. If I happen to want to buy a ticket more than a month or so in advance, I need to repeatedly click "More Dates" which then appends another two months to the already crazy long page? Also, the low contrast purple highlight for all the dates inbetween departure/return isn't immediately noticeable.

When I click on a ticket price another window slides up over it - took a few moments to figure out what actually happened there. Overall the "ticket selection" again looks pretty, but when I can only see a few in the window at any given time it's far less usable than a standard clean list. Also, the "Continue" button looks identical to the other addon options, and it isn't immediately obvious how to progress if you don't want to upgrade your ticket.

The seat selection admittedly is admittedly fun looking though why are half the faces looking upset? Also, versions of the seat selection where they actually place the seat INSIDE the plane in it's real physical location are more readable than this abstracted version, though I do like how they clearly broke it up into sections that show the different cabin/seat types. Again though, I can only fit about half the plane on my screen at any given time.

Having the form adjacent to the seat selection is a nice touch as you can then easily track who's sitting where as you enter their information (especially if you're a family with kids), but for some reason they neglected to highlight the seat on the visual map. Also, the form is again overly tall and I can only fit about 2/3 of it at any time.

Overall I think it's a good start but hardly production ready. My gut instinct is that most people will be impressed by how "pretty" it is, but that the overall conversion rates will decrease significantly. The one really well done idea is the fixed header, though realistically it should progressively fill out with information and not show/hide ticket info at different stages in the process (for instance, it did show my takeoff/landing times and price which was extremely useful, but now hiding that to ask me who's sitting in seat 4B, which is already emphasized at the top of the form).

tommy_mcclung 13 hours ago 2 replies      
Would have been great, except for it suffers from the same problem the existing VA site suffers from. Almost every time I use the VA site, "something goes wrong". I just tried to book tickets for next week, got all the way to the end to pay, hit submit and "something went wrong". They just put a pretty front end on a broken booking system that breaks almost every time I use the site. The only thing I care about is that it works and the VA site consistently fails, this upgrade doesn't fix the core problem I've always had with it.
zaroth 12 hours ago 1 reply      
Someone else was wondering if this was a parody, I think they might be right. There is so much funky with this, it does feel only half serious.

For me it started with 'Book from San Francisco'. I clicked on the 'Boston' button, and it shows this weird top status-bar drop down thing which flashes the message: 'Going to "Hahvahd," perchance?'. What?

Then the browser starts, a little bit too slowly, scrolling itself down automatically... Off putting.

A moment later, the mocking message slides up and away, and the top nav has been replaced by mostly broken status bar. Try clicking on some of those links in the status bar if you want to get totally lost.

Then that calendar view... I mean, if it showed 'From $199...' or whatever under each date, I could understand taking up so much space. I thought it was a lot harder to find the right date this way than with their standard date picker.

After picking a date, the flights table is significantly worse than their current design. No way to step forward/backward in dates, no weekly overview, super low contrast, overly spaced out, scroll down forever trying to see all the flights, no sorting,...

Even the seat map is weird, I don't know if it's just due to the super-low contrast, or the weird icons they put in place of seat numbers for the seats which are taken, or maybe the weird way they show the pricing for each seating area, but there was a lot of cognitive dissonance trying to understand what I was looking at.

What it comes down to is an interface which was trying to make things simpler actually introducing a huge amount of cognitive load where there didn't need to be any.

In the end, I zoomed out to 33% to get a birds eye view and while it's interesting to see everything on one page like that, I think they have a LOT of work ahead of them making it actually flow properly, fixing the contrast and layout, removing all the weird and distracting gimmicks, and bring back some of the core functionality that's missing.

malloreon 14 hours ago 1 reply      
The new boarding pass design is fantastic. Every airline needs to do at least that part immediately.
mfkp 13 hours ago 2 replies      
I really don't like this new UI. Instead of having a sorted drop down, now there's a bunch of boxes I have to look through to find the one I'm searching for. Takes a lot longer than it used to.

Example: http://cl.ly/image/3D0f2u0Y300Y

smackfu 13 hours ago 0 replies      
It's very linear and seems to work well only if you have all the dates completely locked down. I really prefer the designs that make it easy to see if travelling a day earlier or later would be much cheaper. I think the other Virgin sites do this.
brryant 13 hours ago 3 replies      
The scrolljacking really makes for a terrible UI/UX. Designers: why is this something we're seeing more often? What is the main benefit?
shalmanese 4 hours ago 0 replies      
It's pretty but it's missing the one feature I love from the old site which is to quickly scrub through dates to figure out if there's a cheaper flight earlier or later than my planned date. My travel plans are usually somewhat flexible so I'm often willing to shift by a day or two to save $100.
tnorthcutt 14 hours ago 0 replies      
1. Click show more dates

2. See more dates, but not enough

3. Click show more dates

4. See more dates, but not enough

5. Click show more dates

6. Nothing happens

7. Click show more dates

8. Nothing happens

9. Give up

vinceguidry 14 hours ago 4 replies      
When I saw their new boarding pass I just had to laugh. Someone awhile back went and redesigned Delta's boarding pass[1] and got a lot of crap over it for not taking into account why the boarding pass was the way it was.[2][3] But apparently someone at Virgin was taking notes.

[1] http://passfail.squarespace.com/

[2] http://blog.timoni.org/post/318322031/a-practical-boarding-p...

[3] http://www.ryanholiday.net/this-is-what-real-analysis-looks-...

kposehn 14 hours ago 1 reply      
This is slick.

Virgin has been my favorite airline for some time, but now just went up 3.14 notches.

aneisf 14 hours ago 0 replies      
I love this. The boarding pass design is a nice touch, although I still feel like I'm going to fold it in a hurry to get it out of my hands and not in the way they intend.
jasonwen 11 hours ago 3 replies      
This is super slick. Design wise it's ahead of its game, instead of another flat design website.

I love how they put "life" into their brand with those avatars and make it fun in this all too boring process of buying tickets. To be honest, I would be jealous of how innovative Virgin is lately when I'm another airline.

UX wise there are some things I would do differently. There are some rough edges but it's an iterative process and they'll probably track tons of things now. For example, changing prior steps will reset the date selection.

Deep respect for their team, I also love their new logo. Awesome!

rwc 14 hours ago 1 reply      
Looks slick, but felt like the actual booking process was extraordinarily disorienting. Too much movement and jumping around.
nailer 1 hour ago 0 replies      
Tried to scroll down, nothing happened, then it scrolled way too far, then my browser was unresponsive and I had to kill it. iPad, iOS 7.

Edit: tried a second time and slowed down my scrolling to get the site to work. 'get Booking' doesn't work.

Like the folding boarding pass though.

rmason 7 hours ago 0 replies      
I may be just an old curmudgeon but I will choose functional over pretty every single time. By trying too hard to look hip it becomes a caricature of itself.
jds375 12 hours ago 0 replies      
Very well done. Beautiful and simple to use. Most importantly, everything is kept on the same page and it loads quickly. I can't begin tell you how frustrating it can be using something like Expedia or Continental and having to wait so long for the next page to load.... Sometimes it takes too long and I click 'back' and have to start the process all over (resubmit the form). By keeping it on one page that expands downwards, it easy to tell when the next widget is loading and prevents all of this from happening.
benaston 1 hour ago 0 replies      
Can anyone tell me the company(ies) that designed and implemented this website? They seem to have negotiated a much freer hand with the client wrt design than is typical.
qmr 4 hours ago 1 reply      
This is horrible and broken. Real information replaced with "flat" design and stupid hip made up words like "fun-erer".

  No javascript:  http://i.imgur.com/8HkKyZx.png
There is a delay of at least 100ms scrolling up and down between pages. I would guess 150ms. I do not see any obvious way of changing this, and the scroll bars are hidden. What if I need to change something at the top of the page? I also managed to break scrolling ending up halfway between pages somehow. The only way to fix this was to painfully scroll all the way to one end to reset things.

  No CSS:  http://i.imgur.com/u5g0eaS.png
The site appears to scale horribly, and it looks like they are using javascript to generate styles. IANA web developer and have not studied modern web stuff in a long time, but this seems like A Bad Idea.

  No CSS or javascript:  http://i.imgur.com/Kb2JZAH.png
I do not even want to think about the accessibility issues.

All in all it seems like they are just following the flat design trend, for the sake of following it. I am sure they have good intentions, but just from analyzing this page I am underwhelmed.

muxxa 11 hours ago 1 reply      
This is really nice, but they haven't solved the following problem: sometimes you need more information from further on in the process in order to choose your dates. For some types of trip, the most important thing is a combination of departure time and price; you want the lowest price as long as the departure/arrival is within your acceptable range, and then you want to work 'backwards' to pick dates based on that.I don't know of any airline booking process that accommodates that use-case well.
mattangriffel 14 hours ago 0 replies      
VirginAmerica, you can't brag about your site's responsive design and then tell me I have to turn my phone to Portrait mode when I'm in Landscape.
lechevalierd3on 12 hours ago 1 reply      
I really hate scrolling hijacking...
eevee 4 hours ago 1 reply      
Fantastic. https://pbs.twimg.com/media/BoYFJleIMAAmgMH.png:large

beta.virginamerica.com is, of course, a blank white void.

Filling out a form and clicking some buttons is such futuristic technology that we can no longer figure out how to make it work without JavaScript.

mrchess 10 hours ago 0 replies      
Lost me at date picking, and then got even more confused when choosing "flights" -- incredibly hard to read the flight table.

Not a fan of this refresh.

dc_ploy 13 hours ago 0 replies      
It looks like I can't book a flight. "BUMMER. NO FLIGHTS ARE AVAILABLE FOR THIS DATE. PLEASE TRY ANOTHER DATE." Am I supposed to keep clicking around until I get something? Can I see a listing of "Available flights on the calendar." I tried booking DCA to SAN.
smrtinsert 13 hours ago 0 replies      
This ui is ridiculous. It honestly feels like a parody.
jrnkntl 14 hours ago 0 replies      
Link to the new version: https://beta.virginamerica.com/
jeroen 13 hours ago 0 replies      
Something is broken. I get grey backgrounds and grey text when scrolling down. Selecting text makes the correct colors show up. The background images further down the site are missing.

After reloading the page, I now get text in the same color as the background. And the down arrows are missing.

This all happens in Safari. WFM in Firefox and even in IE8 it degrades acceptably.

literalusername 10 hours ago 0 replies      
I'm glad it's finally compatible with LastPass! That alone increases usability quite a lot.

The cartoon characters strike me as misguided though. Their target demographic is not children.

utopkara 13 hours ago 2 replies      
Best scrolling experience I've seen in sites like this. It might not be right for all sites, but I would like to see it almost everywhere from now on.
coin 11 hours ago 0 replies      
Sucks on iPad. There's a weird too fast scroll acceleration.
Myrmornis 8 hours ago 2 replies      
In terms of implementation, it's interesting that they chose ugly URLs which encode everything


Note the a1c1i1: that's "1 Adult 1 Child 1 Infant" and it changes as you adjust the widgets (without a page refresh).

Also, minor detail, but I'm interested to see that they use PUT as well as POST to update the server with the selections. So that's following modern "REST" guidelines (use verbs properly) but the URLs are anything but!

EDIT: I put "REST" in quotes to refer vaguely to modern API practices. I know REST is strictly something else, please let's not talk about that it's really boring.

Dorian-Marie 11 hours ago 0 replies      
It's pretty but I think they need to do some user testing, booking flight is actually harder:

* Choosing departure / arrival is hard

* Choosing the date is hard

* The "Continue" button is hidden

* I see avatars but I don't know what it means, and then I see that I can choose my avatar.

* ...

tericho 5 hours ago 0 replies      
Late to the party but this is stunning. If any of the devs are reading this I'd love to chat about your Angular implementation.
Sami_Lehtinen 4 hours ago 0 replies      
Lol. On my mobile out flashes between showing that yellow face an that laptop. Absolutely zero usability. They could show fail or 404 as well. Customer leaves the site in three seconds not even knowing or caring about what this s@@t is.
11thEarlOfMar 9 hours ago 0 replies      
Consider the alternative:


mrmch 12 hours ago 0 replies      
Just booked a flight I'd been putting off; the new experience is worlds better than other airlines, though it still has its issues.

My favorite airline is still United; their website will let you get to the final billing page, and submit your cc, only to find that "that flight isn't available".

stevenh 12 hours ago 1 reply      
Cartoon characters everywhere? "cagillion"? "fun-erer"?

I'm not sure if the average customer will enjoy being treated as if they're five years old. I find this unbearably corny and unprofessional.

pkamb 10 hours ago 0 replies      
Page Down key doesn't scroll.
state 7 hours ago 0 replies      
Somewhat unrelated: I spent the majority of the day on a VA flight and I feel like I'm still recovering from sitting under those colored lights. Really, seriously, what is the benefit? At first I just felt nauseous, and after a while it just turned in to a dull headache.

Usually air travel is great and productive, but that "club" lighting has got to go.

icpmacdo 6 hours ago 1 reply      
What is the name of this new website design that is just one page that you scroll through.
ericcholis 14 hours ago 0 replies      
Just did a sample booking, and was very impressed. Some notes:

1) Some elements seem too far apart on a wider screen. Usual victim of responsive design without a max width.

2) The loading between steps is damn snappy, but feels slow sometimes due to the lack of an activity indicator. Slow is a relative term, but I instantly felt like I had done something wrong or the page wasn't responding.

smrtinsert 13 hours ago 1 reply      
This is good time to mention that scrolling is the bane of all things usable, and the person who invented it should be shot. If I wanted to lose context of my operations I would hire some guy to scream in my ear every few seconds, it would be less annoying.

Scrolling uis clearly tailored to touch devices like this one really should be an available alternative, not the only interface.

granttimmerman 13 hours ago 0 replies      
Scrolling becomes is really buggy if you Cmd + f to search for something.

But overall, nice UI.

joedevon 9 hours ago 0 replies      
The new site is not accessible unfortunately.
highwind 10 hours ago 0 replies      
Why is the password limited to 16 characters long? I don't understand this limitation on any of the sites.
ansimionescu 12 hours ago 0 replies      
The boarding pass redesign reminded me of this (and my snarky side is wondering whether they just stole some of the ideas): http://petesmart.co.uk/rethink-the-airline-boarding-pass/
lilpirate 4 hours ago 0 replies      
Well, on stock Android browser, there's just a redirect loop.
brianbreslin 10 hours ago 0 replies      
Any idea how they are doing financially lately? I remember reading last fall they were struggling financially.
iaskwhy 11 hours ago 0 replies      
Text doesn't look right in the latest stable Chrome/Windows 7.
madebymade 12 hours ago 0 replies      
I think it looks nice, but find certain parts of the UX to be difficult / confusing. I found selecting prices particularly confusing, was not sure where i was supposed to be looking. Sure they will refine and iterate on it tho.
laoba 14 hours ago 0 replies      
Just one quirk with the home page. Read down to the bottom, and then I tried to scroll back up, and it would stop at each "Section" and would not let me just continue scrolling up.

OSX Firefox 29.0.1

0898 13 hours ago 0 replies      
"Playful avatars", a "cheeky sense of humor". How is that a benefit to us? It's like they left in copy from the agency pitch.
patrickfl 13 hours ago 0 replies      
I am really liking this design and HTML is so clean. Anyone know what the breakdown of this stack is? A lot of the illustrations are SVG how are they animated?
stephengoodwin 11 hours ago 1 reply      
Everything looks great, until the "Get Booking" link didn't work on the final slide (in Chrome on iPad)
bmetz 12 hours ago 0 replies      
Still can't change my login email ID.
patrickaljord 13 hours ago 0 replies      
Pretty cool to see it's using AngularJS.
swalsh 14 hours ago 2 replies      
I love that the default city is based on location.
the_watcher 9 hours ago 0 replies      
Pretty incredible how much better this is than every single competitor.
mrcwinn 9 hours ago 0 replies      
I think this is imperfect but pretty wonderful. Great job. Feel proud for all the detail work you put into it, designers and engineers!
josephjrobison 15 hours ago 0 replies      
Looks sexy I dig it. Good use of Vine embedding, and the pocket pass is something I would use.
jonn_g 11 hours ago 0 replies      
Try the keyboard navigation
h1karu 6 hours ago 0 replies      
When I clicked that I wanted to go from Austin TX to Portland, OR it said "pack your plaid". This is just a poorly done rip-off of hipmonk's messaging. It's just going to confuse people who aren't familiar with silly internet-meme based stereotypes about whatever city it is they're choosing. It's just a bad idea. Portland's message should have said something about roses, or Mount hood, or even make reference to the fact that it rains a lot there, but not some fuzzy stereotype about how a certain age group tend to dress.
__matt 14 hours ago 0 replies      
I should fly somewhere
sergiotapia 13 hours ago 0 replies      
First thing I noticed is the san fransisco bridge and the gay community rainbow.
philk10 13 hours ago 0 replies      
BugGo tohttps://beta.virginamerica.com/cms/fly-with-usScroll down, click on the 'learn more' underneath the Internet section - link is 'fpo'

Now, how do I report it?:)

vinhboy 13 hours ago 0 replies      
Did anyone else notice the adult humour on the first slide. Ha! Well done.
Neutralizing the iOS camera click sound through active sound cancellation stackoverflow.com
232 points by dmd  16 hours ago   77 comments top 7
TorKlingberg 13 hours ago 5 replies      
I wonder if Apple is intentionally forcing the shutter sound, to prevent secret upskirt shots. I know several phones have had shutter sounds that cannot be disabled, and some countries have required it. In that case Apple might reject apps that use this trick.
ja27 6 hours ago 0 replies      
Barely related, but it's surprising how often DSLR newbies show up on photography forums asking how to disable the shutter sound on their cameras.
ertdfgcb 13 hours ago 3 replies      
This is a really cool solution to a problem that really seems like it shouldn't exist.
mschuster91 11 hours ago 3 replies      
How is this possible? Doing ANC would require the sound to be played at the exact same microsecond as the target sound.
JosephRedfern 13 hours ago 3 replies      
Is this how noise-cancelling headphones work?
rrggrr 13 hours ago 1 reply      
Hilarity from the comments: I wish I could upvote twice: once for the inverted-cancelling hack, and once for answering your own question, just to counteract anyone daft enough to downvote you for that. Daniel Earwicker 1 hour ago
happyscrappy 12 hours ago 1 reply      
On Android you can record without the user knowing which is way cooler.
Introducing Nvest nvest.me
48 points by harrychenca  8 hours ago   38 comments top 15
gibybo 6 hours ago 4 replies      
Ranking people by their recommendation performance is going to be very misleading for most people. There is this natural intuition to look at the top performers and try to learn from them. In reality, the rankings would look almost identical if everyone just picked everything randomly. Mutual funds and hedge funds exploit this all the time. They start lots of funds that all invest a little differently. They cull the losers and keep the ones that happened to do well. Then they sell prospective investors on their past performance of one particular fund when in reality they didn't need anything more than random chance and multiple tries to get it.
masterleep 6 hours ago 1 reply      
I'm creating 2 ^ N fake accounts in order to ensure that I have at least one account with N perfect recommendations. Then pump and dump, baby.
joosters 3 hours ago 0 replies      
Buy/sells seem to be only time stamped to a day. Surely you need greater accuracy than that, e.g. the exact second? Otherwise, if I buy a stock on a day where it rises 10%, what price do I get?

Do you take dividends into account? If not, why not?

How do you rank people who make different numbers of picks? A naive method would be to add up all the returns, but this would then favour people who make more stock picks. For example, if I recommend two 'buys' that both give a 10% return, have I gained 20% in total or 10%? (As I would have had to split my bank to invest in both at once)

prostoalex 5 hours ago 0 replies      
Curious to see how this will be different from Marketocracy http://en.wikipedia.org/wiki/Marketocracy which has been crowdsourcing public's opinion on stocks, then highlighting the best stock pickers, and then finally building a mutual fund based on the top stock pickers' recommendation.

Long-term Marketocracy funds are under-performing broad index funds FWIW.

sciguy77 2 hours ago 1 reply      
I had an Econ professor who insisted individual stock picking is a fool's errand, and he had some pretty compelling evidence to back it up. If you have a thousand users picking stocks randomly, some will by chance do well. I wouldn't be comfortable putting money behind the lead users who are likely victors by luck. But then again, its very possible I'm missing something.
mikkom 2 hours ago 0 replies      
You don't adjust the returns to risk? Why?

You should have the basic sharpe and sortino ratio at least.

pyguysf 5 hours ago 1 reply      
congrats on launching, yet another flashy site with an unoriginal idea. been done before (and better) elsewhere, yet you failed to tackle anything that your predecessors have failed at. Investing is not just about return; the other side of the coin is risk, and you fail to mention that anywhere.

investing is more than just a buy or sell. what about position sizing? what about position risk? portfolio risk? portfolio beta? how do you benchmark? what kind of drawdown do you incur? what's your sharpe ratio? why are you not adjusting returns for at least the market, and moreso common factor returns?

rank(total_return) != investing success

Your "metrics" should be educational and make people more aware of the financial decisions they are making. By boiling it down to buy/sell recommendations, you make investing into gambling with a 50% chance of being right.

your "transparent" ranking algorithm is not disclosed anywhere - do you have any documentation that your algorithm does more than just show who made the most "money" historically? (past performance is not indicative of future performance!) are your rankings stable? how do you identify persistence?

spyder 2 hours ago 0 replies      
On etoro.com you can even copy the transaction of others with one click. Can you do the same on Nvest or it just provides information?
sumedh 51 minutes ago 0 replies      
How are you going to monetize this?
gesman 8 hours ago 2 replies      
Can I track consistently worst stock pickers too?

Then I can fade their bets and become the top :)

weitingliu 4 hours ago 0 replies      
Reminds me of SocialPicks =)
rustyconover 6 hours ago 2 replies      
Are there really enough other places besides Seeking Alpha, Motley Fool's CAPS and StockTwits that publish people's recommendations in such volume that the number of recommendations would be large enough to be valuable outside of these already large established communities?

Or is this whole site's effort merely a feature that StockTwits and the other sites may add later on?

rahimnathwani 6 hours ago 1 reply      
Will you pull existing recommendations from StockTwits and Seeking Alpha? Or will stock-pickers have to sign up on Nvest before you will track their recommendations?
1945 5 hours ago 0 replies      
Overall a fan and signed up. Some feedback: dated icon and layout has too much of a bootstrap feel. Also, single page application for more responsive UX.
Chromozon 5 hours ago 0 replies      
Well done on the website. Navigation is smooth, and the layout is nice. I'm interested to see how this social network for stocks does once you get more users.
Understanding web pages better googlewebmastercentral.blogspot.com
170 points by dmnd  16 hours ago   72 comments top 20
mbrubeck 16 hours ago 3 replies      
Googlebot has done various amounts of JS parsing/execution for a while now. They've also issued similar webmaster guidelines in the past (e.g., don't use robots.txt to block crawling of scripts and styles).

2008: http://moz.com/ugc/new-reality-google-follows-links-in-javas...

2009: http://www.labnol.org/internet/search/googlebot-executes-jav...

2011: https://twitter.com/mattcutts/status/131425949597179904

2012: http://www.thegooglecache.com/white-hat-seo/googlebots-javas...

From the 2012 article: "Google is actually interpreting the Javascript it spiders. It is not merely trying to extract strings of text and it does appear to be nuanced enough to know what text is and is not added to the Document Object Model."

frik 16 hours ago 4 replies      
I was under the assumption that Googlebot already used a headless Chrome to index websites for some time.

Google used Chrome to generated page preview pictures (at index-time) to show the search terms (mouse over, but this feature is no more, as it seems). Some websites that shows you the user agent displayed the Chrome user-agent in the preview picture, back then (~2 years ago).

it was called Instant Preview: http://googlesystem.blogspot.co.at/2010/11/google-instant-pr...

details: https://sites.google.com/site/webmasterhelpforum/en/faq-inst...

Google removed this useful feature in 04/2013 :(

  As weve streamlined the results page, weve had to   remove certain features, such as Instant Previews.  
-- https://productforums.google.com/forum/#!topic/websearch/Aom...

chestnut-tree 15 hours ago 0 replies      
"It's always a good idea to have your site degrade gracefully. This will help users enjoy your content even if their browser doesn't have compatible JavaScript implementations. It will also help visitors with JavaScript disabled or off, as well as search engines that can't execute JavaScript yet."

Are Google going to follow their own advice here? Try visiting the official Android blog with Javascript disabled


In fact, try visiting a whole bunch of *blogspot.co.uk sites with Javascript disabled and see how "gracefully" they degrade. Remember, these are blog sites with mostly text content. And yet Google won't serve them up without Javsacipt enabled.

andrenotgiant 15 hours ago 0 replies      
I think the important thing to keep in mind is HOW Google ensures that their understanding of Javascript helps them improve the Search Experience.

If they crawl your page with javascript enabled, and find that after a hover event a button appears and after a click on that button a modal appears, and that modal has content about BLUE WIDGETS, they are still NEVER going to rank that URL for "BLUE WIDGETS"

Google wants to send users searching for "BLUE WIDGETS" to a page where content about "BLUE WIDGETS" is instantly visible and apparent.

callmeed 15 hours ago 3 replies      
SEO has been a major factor in my reluctance to implement client-side JS frameworks in many projects (we work with wedding photographers and other small businesses who live and breath on being found in Google). It actually seems harder to optimize a JS-heavy site than a Flash site (which we used to sell a lot of).

If Google can actually index and rank a businesses website that is, say, pure BackboneJS that would be awesome. But I'd like to see it in the wild before trying to sell something like that.

For example, AirBnB appears to be using Backbone here: https://www.airbnb.com/s/San-Francisco--CA--United-States

Is Google able to crawl their listings by executing all the JS? Or is AirBnB implementing other tricks to get indexed?

thrillscience 16 hours ago 3 replies      
So I wonder if we can trick Googlebot into doing computations for us? Maybye mine bitcoins! :-)
chimeracoder 16 hours ago 3 replies      
> It's always a good idea to have your site degrade gracefully. This will help users enjoy your content even if their browser doesn't have compatible JavaScript implementations. It will also help visitors with JavaScript disabled or off, as well as search engines that can't execute JavaScript yet.

I'm glad that they included this.

I get that Javascript is required to make certain sites work the way they do, but I'm appalled by the number of sites that require Javascript just to display static text.

Google themselves are guilty of this. Google Groups is (for the most part) just an archive of email mailing lists, but try reading a thread on Google Groups with Javascript disabled![0]

There are very few sites that cannot gracefully downgrade to at least some degree, and there are very good reasons for doing so. A major one is that AJAX-heavy sites tend not to perform well on slow connections[1] (again, assuming essentially static content here). If you want your users to be able to access your site on-the-go, graceful degradation is your friend.

[0] It's especially ironic now that Google Groups is the only place to read many old Usenet archives going back as far as the early 1980s.

[1] Try browsing Twitter on a slow (ie, tethered, or "Amtrak wifi" level connection). For a website that originally originated as a way to send messages over SMS, and is still used that way in other parts of the world, it degrades amazingly poorly over slow connections.

nateabele 15 hours ago 1 reply      
I was at ng-conf in January and asked the Angular team a question about improving SEO. Without going into any detail, they hinted at the idea that very shortly it would no longer matter. Honestly I'm kind of surprised it took this long.
snake_plissken 13 hours ago 1 reply      
Just out of curiosity, how is this possible? If the web server can't handle being crawled...how can it handle serving web pages?

"If your web server is unable to handle the volume of crawl requests for resources, it may have a negative impact on our capability to render your pages. If youd like to ensure that your pages can be rendered by Google, make sure your servers are able to handle crawl requests for resources."

valarauca1 16 hours ago 1 reply      
I wonder how Google handles traffic to its crawlers. A webpage I viewed recently loaded an entire database query into my web browser, then I made queries locally to sort it, which kinda sucked since 20MB of information is a lot.

I figure Google has to have some form of safeguard against this. Either CPU or network bandwidth limited, likely a time limit too.

In my head I'm picturing a crawler locked in a loop of forever querying random google search results and adding them to a page.

rcthompson 16 hours ago 1 reply      
Reminds me of "Googlebot Is Chrome": http://ipullrank.com/googlebot-is-chrome/

Obviously the claim probably isn't literally true, but it they could certainly share a JS engine (V8) at the very least, and the idea that the motivation behind developing that JS engine may have been spidering JS-dependent pages doesn't seem too far-fetched.

known 1 hour ago 0 replies      
Googlebot = Google's "Customized" Chrome
sergiotapia 16 hours ago 4 replies      
Makes total sense. When I was researching Angular, something that didn't make any sense was Google not being able to crawl Angular websites. Google makes Angular you see, hence my confusion.

This instantly puts me back on the Angular hunt, as now I don't have to pay for a service as ridiculous as 'static page SEO'.

sashagim 15 hours ago 0 replies      
Interesting. I wonder if some changes will need to take place in order to make sure the client side tracking services (e.g MixPanel, Kissmetrics, Google's own GA) ignore Google bot.
dallen33 15 hours ago 2 replies      
Does this mean Googlebot can crawl pjax pages?


gwbas1c 13 hours ago 0 replies      
Honestly, I find sites that completely rely on Javascript to be somewhat unreliable.

The web is fundamentally a document retrieval system. Content needs to work without Javascript.

Theodores 16 hours ago 1 reply      
This is great news. However, will you be able to feed the Googlebot a script to simulate user interaction and download all of the ajax content that normally needs clicks or mouseovers?
wnevets 16 hours ago 0 replies      
I'm sure they're using chrome/v8
znowi 10 hours ago 0 replies      
Guidelines on how to conform to the rules of the Matrix, otherwise you may be expelled from the system into obscurity of Zion.
hosay123 16 hours ago 0 replies      
It's pretty obvious that they need to do this, whether reported or not, in order to handle some very easy spam attacks. E.g., replacing keyword-baiting content with, say, an advert for something totally irrelevant.

So this isn't really new or surprising

Rust for C++ Programmers Part 7: Data Types featherweightmusings.blogspot.com
62 points by ihnorton  10 hours ago   21 comments top 3
Nycto 8 hours ago 3 replies      
I would love to see an article like this for error handling in Rust. I was really interested in using conditions, but those were apparently backed out. Which leaves error handling through return values and macros. This seems like a step back from Exceptions to me. I want to be convinced otherwise, but I'm struggling to see how this is better than other mechanisms.
ihnorton 10 hours ago 3 replies      
I'm curious why this isn't automatically destructured:

    struct IntPoint (int, int);    fn foo(x: IntPoint) {        let IntPoint(a, b) = x;  // Note that we need the name of the tuple                                 // struct to destructure.

winter_blue 6 hours ago 1 reply      
I just read the first section, just the section on structs -- what's different here, from C? It provides all of the same features, with a slightly different syntax.
Show HN: We brought iOS dictation to Windows myechoapp.com
52 points by shanselman  9 hours ago   11 comments top 5
nppc 11 minutes ago 0 replies      
Finally an app that is compelling enough to make mewant to upgrade from my iPhone4 !
chime 5 hours ago 1 reply      
Just tried out and am really impressed with the entire setup and pairing process. Very clever use of QR Code. It works just as featured in the video. The 2-3 second wait for uploading/processing is annoying but I can get used to it. However, having to click 'Done' disrupts my chain of thought and makes concentrating harder. I don't think I can get used to manually clicking 'Done' after every other sentence/paragraph. I wish there was a way you could auto-click 'Done' when my sentence was completed.

A neat UI could be a buffer that slowly grows, maybe showing the # of seconds recorded. Once it's near 30-60s length and I pause for 1-2 seconds OR shake the phone backwards, auto-click 'Done'.

Also what does the "Log Dictation on Desktop" option mean?

glhaynes 9 hours ago 2 replies      
One of those ideas that seems obvious in retrospect. Nice work!
raynesandrew 9 hours ago 0 replies      
Thats cool!
dang 6 hours ago 1 reply      
This post set off HN's voting ring detector, but we turned that off because we want to see original work on HN.

Please don't ring-vote posts, though. It's against the rules, makes it likely that your post won't be seen (I only caught this one by accident), and will eventually get your account dinged.

Developer Anxiety, were not alone geekyboy.com
166 points by saurabh  17 hours ago   95 comments top 21
Zelphyr 15 hours ago 2 replies      
This is close to my heart because its something I've dealt with since I was a child. For 10 years I abated it with medication and that worked quite well. Except for the side effects that caused other problems in my life (literally wanted to sleep all the time). And anyway, the medication is just a band-aid.

Early this year a full-on panic attack hit me. The first time in 10 years. A recent divorce and changing jobs were probably the stressors. And ironically I was actually in a very happy place in my life. The divorce had been done with for several months and I was at a job where I can really have an impact and don't feel like I needed to look over my shoulder constantly. My boss's incredible understanding during this difficult time for me is testament to that.

But the panic doesn't much care about those things. It has a sneaky ability to strike when you least expect it.

Thankfully I found a great doctor whose therapy is evidence based. If you suffer from panic/anxiety and seek treatment (which I HIGHLY suggest you do!) then be sure they're trained in an evidence based technique. I also recommend reading "Hope And Help For Your Nerves" or listening to "Pass Through Panic" by Claire Weekes.

What I've learned in the months since is that in order to overcome the panic and anxiety you have to do something very simple yet seemingly incredibly difficult; you have to let it happen. Let the panic wash over you. Don't run. Don't distract yourself. Close your eyes and focus on breathing from your belly--deep breaths from the belly rather than shallow breaths from the chest. And then pay attention to where the panic is and what it feels like. Just observe whats happening and let it happen.

You have an upper-boundary to how bad it can get because your body can only produce so much adrenaline. So let it. It'll spend itself out and calm down automatically. The more you let it happen the faster you'll calm down because you're reworking those neural pathways. Literally retraining your brain that no, in fact, you're not being attacked by a lion. You might feel like you just got hit by a car afterwards and, interestingly, to your body its the same thing, but the significant bit here is you're not going to die!. You're not going to go crazy[1]!. You're going to be ok.

This time it might be a 10 on a scale of 1-10 but the next time, as long as you let it happen, it'll probably be an 8/9. Then the next time maybe a 5/6. And on and on until pretty soon it'll happen and you'll say, "Oh, hello old friend. Shall we do some work?"

[1]: "Going crazy" as a loose term for something like schizophrenia which the science is showing you will have a genetic predisposition towards. If you don't have a direct blood family member who suffers from it then you probably don't have it either.

EDIT: For clarification; I had stopped taking the medication a little over a year prior that first-in-10-years panic attack.

ColinDabritz 16 hours ago 4 replies      
I haven't had the acute anxiety problems (yet), but I do feel many of the same stresses. I'd like to thank the author for sharing, that is a very brave thing to do.

As developers we see deeper into problems, we have a 'ground truth' of the state of the code base that no one else can see, and often gets ignored, because they can't see.

When requirements aren't detailed enough, people get frustrated with us because we're asking "stupid questions" about details that they don't believe matter, but that they would be upset about if we don't get them right.

When the code base is a mess, it's not on the restaurant floor, where everything seems fine, it's back in the kitchen behind closed doors where they never go. But it's hard to work in a messy kitchen, but everyone needs their food right now! Just get out one more appetizer, one more entree, as fast as possible, don't "waste time" cleaning up.

Some problems come from unknowns that we can't get help dealing with because other can't see them. Some come from know problems, that we can't get permission to address, because other can't see them. We're not hallucinating, but from an outside perspective we might as well be. It can be tough when others smile and nod, but you can tell by their actions that they don't really believe you. It feels like they don't trust you. And that can hurt.

All we can do is ask for that trust and try to communicate about those hallucinations as best as we can.

strictfp 15 hours ago 2 replies      
Best thing I ever did to cope is that I started to deal with people instead of trying to avoid them.

Take the discussion the first time it comes up. Speak your mind as soon as you are given a chance. Keep repeating yourself in meetings and stick with it. Fight for the things that you find important.

It sucks that you have to keep babbling with all these people around you in order to avoid everything collapsing on your head, but the sooner you realise this fact the better. And if you figure out that you are the only one at your job who actually care about your job and the quality of the stuff you produce, then good on you. It'll motivate you to find a better one.

kirse 15 hours ago 8 replies      
I dont really have the answers, nobody does. But felt I should create this post and put it out there. Perhaps others will read it and realize theyre not alone. And sometimes just knowing that can help lessen the stress levels.

Sorry, just because he personally doesn't have an answer does not mean everyone else does not.

This will likely be unpopular here, but I used to struggle plenty with anxiety and occasional panic attacks until I learned it was better to pray about these things daily (or even as they come) and intimately discuss and honestly trust these burdens to God. ("Cast all your cares on him, for he cares for you...")

All that advice merely snips at the branches of fear/anxiety without uprooting the tree. That's not to say all fear/anxiety will be uprooted, but simply that knowing and experiencing the love of God daily has continued to weed out many of those fear-based anxious roots and replace them with saplings of peace, joy, and confidence.

Anxiety tends to wear one down and make one feel hopeless ("there is no answer"), but there is indeed an Answer who works through us in time, and can lead us to still waters if we ask Him to show us the way. Life won't always feel perfect or anxiety-free, but at least I know to whom I can confidently entrust my troubles.

ciokan 14 hours ago 0 replies      
Had a few panic attacks 2 years ago in the summer. I was working too much (I still do) as an entrepreneur, drinking too much coffee without drinking enough water (coffee tends to dehydrate your body) and my blood too thick from that so it came to me as a sort of dizziness which transformed into a full blown panic attack and an ambulance shortly after that.

I refused pills from day one and found that, by training my mind to say "bring it on! is this the best you can do" tends to stop the anxiety on it's ascension. I go to gym 3 times a week now to to some actual exercise and calm the body a bit. I now am panic free for almost 2 years but I still have the symptoms. What changed is my attitude when the symptoms arrive, it's already in my subconscious and my body does it automatically.

I blame our jobs just like OP and I blame the fact that our job is a whole brainstorm from start to finish. No physical challenge at all and our bodies are not used to it. Our bodies need some physical activity to do it's chemistry and release new stuff periodically so we can function properly otherwise some glands get messed up (this is my own conclusion I didn't hear it from anywhere) so our bodies get unbalanced and stressed. Too much of something is called an addiction and no addiction is left unpunished. We really need to take a break from time to time and just work out or meditate a bit for our body to adjust or at least recover.

No past generation was so technical and multi tasked and so stressed from morning till dawn. We're probably at the border of evolution right now and nature is adjusting us/itself. Future generations will probably deal with this entirely different than us but our bodies are like an old motherboard with a super chip plugged in right now. It's getting burnt. We need some better cooling.

The worst thing about panic attacks is that you have nobody to talk to that can really understand what you're going through apart from others who had it. You can't explain it to someone who didn't because you can even see them smiling..."so...basically you're afraid huh?". They can't comprehend the feeling that you're going to die, right now; that you're probably so certain you're going to die that you probably even said your last words and good byes in your mind. Just don't complain to people any more because you will get a new addiction out of it.

Tl;DR: Do sports (swimming is good), less work (you van find yourself even more productive because productivity has few to do with how much we work), confront your demon when he comes to visit and don't try to explain to people who never dealt with such a thing...they might make things worse.

evanlivingston 15 hours ago 1 reply      
I'm happy to see someone point out lots of the stressors that effect developers. However I think the advice on how to handle the stressors is poor. While many of the activities do help with the symptoms of stress, none of the items in the list promote a real lifestyle change that would help eliminate the cause of the stress.

Personally, I plan on transitioning out of Software development as a means of avoiding the associated stress.

ilaksh 8 hours ago 0 replies      
I think most people including the person who posted this and most posting in the thread have misunderstood what a panic attack is. First of all, a panic attack is not like ordinary anxiety. Getting nervous ahead of a meeting is not a panic attack. Sure sometimes people can get extremely nervous and have a panic attack at times like that, but people can also have a panic attack that seems to come out of the blue. So there are different causes and variations on panic attacks that people here seem to not be comprehending. There can be a number of completely physical rather than mental health issues that can cause panic attacks. Especially if you start getting panic attacks without a history of anxiety you need to carefully rule out those physical causes before you assume that you just need to meditate more or get CBT or something. And even if the cause is mental or psychological there are different types of panic attacks so CBT etc may not be effective and you or your friend may really need medication. Anyway just because you have gotten really nervous a few times don't assume that you understand someones condition well enough to give them medical advice especially if its to tell them to just meditate or somrthing.
gargh 15 hours ago 0 replies      
I too am a developer who suffers from anxiety and panic attacks. There have been times when I feel constantly locked in a 'fight or flight' mode.

After trying many things to relax and cut out as much stress as possible, I finally found that trigger point therapy helps to resolve the issue. It turns out that years of sitting at a desk causes your chest muscles to become tight over time, and when that happens your back and shoulders work harder. Add in stress which causes muscle tension and you end up with chronic trigger points, also known as knots.

You can read up on it, but depending on which trigger points you have activated they can cause a range of symptoms from pain to anxiety. If you treat the trigger points to release them (which might take a while if you're like me), you'll feel really good.

twfarland 10 hours ago 0 replies      
I've struggled with this for years. Burned out 3 times. I've done CBT, meditation, and tried various medications. I've quit drinking, I eat well, and exercise often. These all helped a bit, but I was still panicky. Nothing helped more than deciding to spend less time sitting manipulating symbols on a screen and more time moving my body, more time in nature, more time with people. I've also resolved to stay away from toxic jobs, no matter how well they pay.
AlexUseche 8 hours ago 0 replies      
The author mentioned in the article (as one of his recommendations to his friend) that it may be helpful to read a non-technical book (among other things of course). One book that I have found very instrumental in helping me cope with stress and anxiety is "The Mind and the Brain" by Jeffrey M. Schwartz and Sharon Begley. The reasons why are very specific I think:

1) Its vocabulary appeals to those who like me appreciate science.2) It tackles concepts that are common in zen and Buddhism but with solid, perhaps even more grounded, explanations. 3) It helps the analytical minded to understand that there is a separation between what the brain experiences and the self. This can help others in understanding through logic and reasoning how to take control of stress and anxiety.

Just though I would share in case anyone needing help with anxiety wants to read something new and helpful.

pseudoanon 2 hours ago 0 replies      
I have suffered through debilitating anxiety and depression attacks (I call them attacks because they are finite) for most of my adult life. And my treatment, frankly, has been spotty, although clinical mental issues run in my family.

I can remember the first time I had one at the age of 22. I was traveling home from an internship in Silicon Valley. I'm now 40 and have been going through a significant episode. Most of my attacks occur around major life changes, or events I feel that I have no control over. I suspect many of us go into technology because the machine is an environment we can control, and many of us don't like (or can't cope with) being out of control of our environments.

My anxiety attacks have centered around:

- Fear of economic collapse

- Fear of personal financial collapse

- Fear of terminal health problem

- Fear of being alone

- Fear of not being able to provide for family (which prevented me from having one)

To name a few.

Wall Street maybe driven by fear and greed, but I am driven primarily by fear, and occasionally greed. But fear in many ways has treated me well, and has forced me to take action.

There are many situations in life where you are faced with a major decision for which there is no right or wrong answer (marriage, moving, changing jobs, buying a house, starting a company, etc.). Personally, and I suspect many of us are like this, I want to know what the right answer is. I'm frustrated that I cannot see the future. This frustration leads to a mental infinite loop which prevents me from functioning.

I don't think I have been treated properly for my problems. There are folks who I think have far less anxiety who get far more treatment. This might be because I have a fear of treatment.

So yeah, you aren't alone. It definitely sucks. But also doesn't have to prevent you from being successful, but I wish there was less stigma around it.

geekam 16 hours ago 3 replies      
There should be a poll somewhere for programmers asking the top 3 things that give them anxiety.
cwbrandsma 14 hours ago 0 replies      
I finally worked my way out of this recently. It comes and goes, often when I am very productive.Combinations of constant negative criticism, vague+ambiguous requirements, and argumentative coworkers (seriously, they would argue about the order of words, or who was actually AGREEING with whom). I went from sleeping 8 hours every night to getting 2 hours most nights, then 10.
jqm 15 hours ago 0 replies      
"Am I doing something worth doing?" No... no you aren't. What you are doing is going to disappear and no one will remember it nor care. Right now you are just wasting time.... a little puff of cotton on the breeze. The human condition is absolutely hopeless. And this is the truth.

Yet.... here you are. Open your eyes. Open your lungs and breathe. This moment is all there is. There is no other. We can't deny it. The fact of being conscious. The cellular joy of existing. The rest is just imagination. There. Have a little more perspective? Ok. Good. Now go get back to work. We have deadlines.

donniezazen 6 hours ago 0 replies      
This has been a consistent topic on HN. I wonder if folks who suffer from anxiety have tried meditation as a cure. I highly recommend some stuff from www.osho.com .
ccallebs 15 hours ago 0 replies      
This hit home, I'm going through this right now. Work issues coupled with recently getting married, changing cities, and miscellaneous family problems makes every conflict or obstacle seem much larger than it is.

To stay zen, I frequently remind myself that everything is a lot better (and a lot worse) than it appears.

ZhL 14 hours ago 0 replies      
I was surprised how much the article resonated with my personal experience. I too had anxiety attacks and ER visit fearing it was a heart disease. Many (too many) doctor visits later, here is what works the best for me:- Exercise. Can not stress this enough. I swim 3 times a week for about 45 minutes each. It loosens my body and significantly elevates anxiety. Strength exercise helps too.- Healthy diet. Minimum sugar, alcohol, caffein, processed foods.- Lunch walks, weekend hikes.- Standing desk. Don't have enough data yet but I think it was helpful overall. As someone mentioned below, I believe too that body tensions and pains have a lot to do with sitting too much.- Enough sleep.
good-citizen 10 hours ago 0 replies      
for years I tried to add various chemicals to my body to find a solution. it seemed obvious that I just needed to get the right drug at the right doseage and that would solve the problem. but the solution was exactly in the opposite direction. I didn't need to ADD things into my body to fix my brain, I needed to PREVENT certain things from entering my blood stream. diet is everything. food is medicine. food is so messed up in our society. to eat a healthy diet that will actually allow your brain to work and not get panic attacks requires EXTREME dedication and will power. AND on top of all that, you need to be social with your friends, family and co-workers and not make your special diet ruin the fun. Super challenging, but as I get older I find it's easier and easier to really carefully monitor each and every bit of food I put into my mouth. I won't bore you with the details but you probably already know, too much sugar, too many carbs, these things matter, a lot. Stop trying to fix big problems with band-aids when you've got to get to the source of the poison in your blood stream.
pw 4 hours ago 2 replies      
This is poorly written and doesn't really have a point. How did it make it to the frontpage of HN?
benmarks 11 hours ago 0 replies      
Huge thanks to EngineYard for their prompt initiative and sponsorship of a mental health summit at php[tek]. Four of us spoke to the entire conference on anxiety and depression. Also, thanks to Ed Finkler (@funkatron) for getting this conversation going in the tech community.


h1karu 6 hours ago 2 replies      
This is why "work remote" jobs are so fantastic if you can get them. You don't have to worry as much about politics. In an office environment you have to worry about if you're getting along well enough with people on a personal level and this nebulous "I enjoy working with him or not" factor might make or break your career. At an office job you need to put in hard work to "become friends" with everyone otherwise some people will bear a grudge. Sometimes this is not easy depending on the situation. There are too many "social factors" in office jobs which can make or break you and that have nothing at all to do with your ability to "get shit done". Not so with remote working. All that matters is your ability to be productive.


Privacy Badger eff.org
173 points by sbt  20 hours ago   59 comments top 15
click170 14 hours ago 1 reply      
First place I went to was "I am an online advertising / tracking company. How do I stop Privacy Badger from blocking me?".

If all it takes is MaliciousCompany.com from posting some text document in the right spot to get PrivacyBadget to whitelist the page, how is this any better than DNT?

Do they have a way of blacklisting domains that abuse this?

Edit: Also, I LOVE the idea behind this and installed it immediately to compliment ABP and Ghostery.

natch 18 hours ago 1 reply      
Nice. Some feedback: The "first run" page doesn't tell me clearly that anything has been installed or has started working. This kind of information should be really clear and prominent, the largest thing on the page. Instead it's not even there at all, as far as I can see.

Edit: Please don't reply and say "you can check if it's working by blah blah blah." That is missing the point. My point is that EFF should fix the extension to make this communication clear for ALL users.

jordanlev 15 hours ago 1 reply      
I'm curious if the functionality is only enabled if I have the "Tell sites that I do not want to be tracked" setting turned on in my browser preferences? There is nothing explicitly said about this in the FAQ's, but there are references to the purpose of this being "so sites will honor the Do Not Track feature", so it seems to be implying that it only does its thing if I have "Do Not Track" enabled?


reedlaw 8 hours ago 1 reply      
After reading about AdBlock Plus's effect on memory usage in Firefox[1] I immediately disabled it. Seeing that this is also based on the ABP codebase, I wonder if it will run into the same issue.

1. https://blog.mozilla.org/nnethercote/2014/05/14/adblock-plus...

ashmud 12 hours ago 0 replies      
"[...] in Firefox, Privacy Badger will be automatically deactivated when you enter Private Browsing Mode [...]". This is kind of a deal breaker for me. I frequently use Private Browsing to quickly open a single browser window without waiting for all my session windows/tabs to open.
donniezazen 6 hours ago 0 replies      
I haven't made up my mind if tracking is altogether bad. I certainly enjoy Google showing me relevant ads in a non-malware-appearance. Privacy is good in theory but out of convenience I keep using services that compromise my private information and I myself willingly leave personal information online on several websites. Anything is as strong as your weakest link. And their are too many weak links in my online circle.
Karunamon 18 hours ago 1 reply      
Neat! Adblock blocks ads, Noscript for dodgy scripts, and it looks like this has some overlap with those as well as a cookie handler.

That looks like the unholy trinity of tracking systems dealt with.

Gracana 16 hours ago 2 replies      
Speaking of privacy badgering... Why won't firefox let me create a security exception to view this page? Without a way to jump through that hoop, I can't even view the page.
gyosko 17 hours ago 3 replies      
Shall I remove ADB and ghostery and just go with Privacy Badger?
atmosx 17 hours ago 2 replies      
I wonder, is there any page worth visiting, where the icon does actually turn green?!
pxndx 17 hours ago 2 replies      
I disabled third party cookies in Chrome. Doesn't this basically do the same?
baumbart 16 hours ago 1 reply      
Could maybe someone explain to me: What exactly is wrong with Adblock Edge + Ghostery? If not, why do they make another similar extension then?There is no actual manual configuration needed, they don't use me for their business model (or none of that I know).
PeterWhittaker 18 hours ago 1 reply      
tl;dr: A browser add-on that blocks privacy invasive behaviour, not necessarily ads. Some ads are permitted, others are blocked. Currently in alpha, blocking only third-party objectionable behaviour; first-party blocking on the roadmap.

Cool. I shall install this forthwith.

frncscgmz 18 hours ago 2 replies      
Kinda off-topic but, am I the only one who thought that background was moving?

Had to blink a couple of times to get used to.

Create 18 hours ago 1 reply      
We begin therefore where they are determined not to end, with the question whether any form of democratic self-government, anywhere, is consistent with the kind of massive, pervasive, surveillance into which the Unites States government has led not only us but the world.

This should not actually be a complicated inquiry.


U.S. officials cut estimate of recoverable Monterey Shale oil by 96% latimes.com
62 points by T-A  10 hours ago   28 comments top 7
throwaway_yy2Di 9 hours ago 0 replies      

    "Just 600 million barrels of oil can be extracted with    existing technology, far below the 13.7 billion barrels once    thought recoverable from the jumbled layers of subterranean    rock spread across much of Central California, the    U.S. Energy Information Administration said. [...] The    Monterey Shale formation contains about two-thirds of the    nation's shale oil reserves."
Here's the source from 2009, which puts US "undeveloped technically recoverable" shale oil at 24 billion barrels, ~15 billion in Monterey (rounded apparently),


This looks dated, since the most recent "technically recoverable" estimate is 58 billion:


Lagged2Death 7 hours ago 2 replies      
Oil is of course part of a global market; that global market consumes ~85 million barrels of oil every day.

Even the higher 13.7 billion barrel figure was only enough oil to power the world economy for five months, assuming you could magically get it out of the ground fast enough.

andor436 6 hours ago 0 replies      
Interesting. David Hughes at the Post Carbon Institute said roughly this same thing in 2013. PDF here:


At the time he pointed out that much of the original estimate was derived from oil company investor presentations. Perhaps not the most unbiased source for the EIA to use.

jchrisa 9 hours ago 1 reply      
Good. Our only hope is to not burn that stuff anyway.
leorocky 3 hours ago 1 reply      
That's a lot of money just sitting there underneath the ground. There's more than enough incentive to figure out how to get it out of there.
beedogs 5 hours ago 1 reply      
I'm glad the myth of the United States as "net energy exporter" is finally being taken out back and shot.
jqm 9 hours ago 5 replies      
They mention the retrieval method as fracking.Is this a good idea along a fault line near large population centers?
Why TLS is called "TLS", not "SSL 3.1" dierks.org
185 points by timdierks  19 hours ago   31 comments top 5
tptacek 19 hours ago 2 replies      
Schneier was definitely famous in the late '90s, when this decision was made; he was famous almost immediately after the publication of Applied Cryptography, which came out when I was in high school.

SSL 2.0 is a disaster. The handshake isn't protected. Records (the data unit of SSL/TLS) do have MACs, but the MAC is secret-prefix MD5, with a key shared by encryption. Record MACs are also inconsistently applied. All of these problems are probably worse than any of the major TLS bugs --- renegotiation, BEAST, CRIME, RC4, Lucky13 --- that followed SSL 2.0.

Paul Kocher is the author of SSL 3.0, but also famous as one of the first (possibly the first) researcher to publish on side channel attacks --- he released a technical paper on square-and-multiply timing against RSA in the '90s. He founded Cryptography Research, which later built the as-yet-unbroken pay TV card system and the Blu-ray BD+ DRM system, along with publishing a crapload of crypto research.

chewxy 19 hours ago 3 replies      
The more I read into specifications and standardization stuff, the more amazed I am at how political we geeks can get.
pacaro 18 hours ago 1 reply      
When I worked in Windows Security (BitLocker FWIW), Barb Fox's office was a windowless closet with an antique computer and a bunch of boxes in it that hadn't been touched in years. I've no idea what she was doing at that time, but nobody ever saw her and her stuff was religiously moved to a new closet every time we moved buildings...
omh 19 hours ago 2 replies      
So they couldn't call it "SSL 3" because it couldn't be seen to be the Netscape proposal - fair enough.But it's a shame they didn't take the simpler route and just call it "SSL 4".
matthiasb 17 hours ago 0 replies      
There is an interesting comment below the article:"Yuhong BaoMay 23, 2014 at 10:14 AM

On this matter, anyone remember the Netscape random number generator bug:http://www.cs.berkeley.edu/~daw/papers/ddj-netscape.htmlNotice the paragraph at the end about RSA Data Security!"

Out of Prohibitions Reach: How Technology Cures Toxic Policy stanfordreview.org
30 points by stanfordreview  8 hours ago   10 comments top 2
exratione 6 hours ago 1 reply      
There is a good book whose title and author are eluding me for the moment that examines the necessity of a frontier for freedom. Freedom requires the ability to up and move into an area that is a challenge for the nearest power to control, regulate, and abuse. That is the only meaningful check on the power of the sedentary bandits that become a region's elite.

Historically, this has all been geography. But going forward, there is the opportunity to do something new with technology and section off slices of economic activity into reaches that while existing in the same geographic location as a centralized state are prohibitively expensive to control for its bureaucrats and enforcers.

The malaise of the modern world is, I think, in large part due to the shrinking of frontiers. There is little of the world left that is easily colonized but also hard for the major players to reach into, and so the states become ever more grasping. There is no safety valve by which people can up and peacefully revolt with their feet in large numbers, and that won't return until the cost of getting into orbit falls dramatically.

Meanwhile, there is cryptography.

mabbo 6 hours ago 5 replies      
Maybe it's just my browser, but my goodness that font is hard to read. I'm sure the article is quite interesting, but it's beyond my ability.
The Fourier Transform and its Applications stanford.edu
127 points by bsilvereagle  18 hours ago   20 comments top 10
pling 12 hours ago 1 reply      
Finest resource of Fourier transforms here: http://betterexplained.com/articles/an-interactive-guide-to-...

This is the one that made me get it in the end.

juanre 37 minutes ago 0 replies      
I took a class from Stanford with this name many years ago and it was an eye-opener. Bracewell's book of the same name is wonderful as well (http://www.amazon.com/Fourier-Transform-Its-Applications/dp/...).
j2kun 14 hours ago 0 replies      
Brad Osgood's lectures are phenomenal. He was trained as a mathematician, so his explanations are crystal clear in terms of definitions and where physicists sweep mathematical formalisms under the rug. After watching his entire lecture for this course, and spending a lot of time reading the course reader, I learned a lot about how to decrypt the kind of mathematical nonsense that physicists tend to say (as well as learning about the real foundations, c.f. tempered distributions and others).

That being said, a lot of these lectures can be summarized in a few sentences if you already have a strong foundation in linear algebra. For example, the fact that complex exponentials form an orthonormal basis for periodic functions is the content of the first handful of lectures, and deriving the Fourier transform is only slightly messier to explain in terms of linear algebra (this is not because of the linear algebra but because Fourier transforms are inherently a little messy).

jbert 13 hours ago 3 replies      
I'm interested in understanding more about the use of the transform in discrete signal processing. I wish I had the time to try and absorb 30 50min lectures, but I probably don't.

Can anyone recommend a more limited course or tutorial focussing on that, or should I try and extract particular lectures from this course?

quarterwave 6 hours ago 0 replies      
These are excellent lectures! I saw Chap 4, and it was very satisfying to watch the introduction to convergence, L2 norm, inner product etc. Technically, Fourier transform requires only the L1 norm (the 'Manhattan distance') to be finite, but L2 intersection L1 is a superb way to motivate distributions. These lectures must be made required viewing for all students of engineering and mathematical sciences.
EpiMath 4 hours ago 0 replies      
Also from Stanford, from longer ago... The Fourier Transform and its Applications by Bracewell. McGraw-Hill. Extremely well written with great examples and some fascinating problems. I highly recommend it. Discrete transforms are a bit of an afterthought in a final chapter, but enough to dig in and see how the FFT works.
cedias 13 hours ago 1 reply      
If anyone is looking for a quick intro to FT this was posted on HN a few month ago:http://nautil.us/blog/the-math-trick-behind-mp3s-jpegs-and-h...
sliverstorm 14 hours ago 1 reply      
The Fourier transform is possibly my favorite mathematical function, and the closest I've ever been to "Whoa, math is beautiful". Ironically enough, I reached this conclusion in a signal analysis class, not a math class.
autokad 6 hours ago 0 replies      
thanks stanford, and thanks ycombinator, i really look forward to going over these lessons
jokoon 11 hours ago 0 replies      
isn't DSL internet an application from this theorem ?
Rails GSoC projects announced rubyonrails.org
21 points by chancancode  6 hours ago   14 comments top 3
wasd 5 hours ago 6 replies      
You know what kinda bums me out? There's probably nothing more I would like to do than help contribute to Rails but I have no idea where to start. I've read books [0] on a basic idea of how it works, subscribe to every mailing list, answer questions on stack overflow, emailed 2 core contributors on tips, and read a dozen blog posts but I haven't even scratched the surface. For me, the code base is is incredibly intimidating. Every once in a while, I muster the courage to go through pages and pages of Rails issues to try to understand what and where but usually I have no idea what's going on or how to fix it. I think really is a huge problem in OSS. I'm only two years out of school but I'm not allowed to participate in GSoC/Facebook OSS Academy.

Anyone have any suggestions?

[0] Rebuilding Rail - http://rebuilding-rails.com/

bradhe 3 hours ago 1 reply      
> Randomizing the Rails test suite

This is sponsored with actual resources? Seems to me this should be a weekend project for someone?

intull 3 hours ago 1 reply      
Weren't the project list, mentors and students out long back?
Don't mess with Newegg newegg.com
1289 points by keerthiko  1 day ago   183 comments top 44
mixmax 1 day ago 13 replies      
It seems to me that the legal system in the US is largely broken, and that just about anyone can be sued if only you find the right grounds. Being sued and defending yourself is enormously expensive which is what patent trolls exploit.

Why not use this offensively against patent trolls? Find all sorts of ways to take them to court, the American legal seems to have plenty of opportunities in that regard. There are some problems with standing, but I'm sure that a concerted effort could be effective.

Sue them into the ground with guns blazing. Sue them for everything from not upholding workers rights, to misleading advertising and spelling mistakes. Make them taste their own medicine.

The effort could be crowdsourced.

suprgeek 1 day ago 1 reply      
Awesome Principled Stand by Newegg!This is one of the reasons to support buying from them.

However this only underscores how easy it is to sue over flimsy patents and how expensive and time-consuming it is to go after and shut down these horrible trolls.Add to this the fact that Patent reform was killed in the Senate by Pat Leahy & Harry Reid (Both of whom are notorious supporters of trial lawyers & pharma) and it is a net loss for the tech industry this week

miles 1 day ago 1 reply      
Despite rarely buying from NewEgg (outside of the continental US shipping is a bear), I'm signing up for their Premier membership simply to support them in the fight against patent trolls. Their product photos and customer reviews have also offered a lot of value to me over the years.
dctoedt 20 hours ago 0 replies      
The article is out of date -- in a good way -- on one point: It says that to recover attorneys' fees from a troll, the winning defendant must show that the troll acted in bad faith. The U.S. Supreme Court changed that rule last month, easing the burden of proof considerably, and giving trial judges far more latitude on that score. [1]

[1] http://patentlyo.com/patent/2014/04/discretion-attorney-liti..., by patent law professor Dennis Crouch.

TheMagicHorsey 1 day ago 1 reply      
Lee is a hero. Most patent lawyers talk in very measured tones when it comes to patent trolls, because they don't want to foreclose the possibility of feeding at the money faucet themselves.

Lee doesn't give a fuck. He straight up calls them thieves and asshats. Baller status.

slaven 1 day ago 0 replies      
I feel it's really important for us, as consumers, to support companies like Newegg. This strategy is really risky for them (despite all the good PR it brings).

It's easy for patent trolls to just move onto different targets and avoid suing combative companies like Newegg, but if we vote with our dollars maybe more companies will see that they too should take a stand.

tdicola 1 day ago 2 replies      
Wow I love that they're taking a stand, and got quite a laugh out of the image. Definitely makes me want to support Newegg as a customer much more in the future.
thedaveoflife 1 day ago 0 replies      
The lesson from this article: PR can be an effective legal deterrent. Publicize your victories.
Erwin 1 day ago 0 replies      
Cheng did a "AMA" on reddit -- here are all the questions & answers in a convenient tabled form: http://www.reddit.com/r/tabled/comments/2693ur/table_iama_hi...
ArtDev 1 day ago 0 replies      
I am a longtime customer of Newegg. No where will you find product reviews written by such a dedicated base of geeks. Newegg customer service is also really really good. I buy virtually all of my hardware on Newegg, even if its a few dollars more.That said, I am an even more loyal customer after reading this article.
djb_hackernews 21 hours ago 0 replies      
> the defense managed to move the trial out of the Eastern District of Texas, a jurisdiction that is known for favoring plaintiffs in patent suits.

They REALLY need to publish how they did that, because that'll help every other company battling patent trolls.

onedev 1 day ago 0 replies      
This is so beautiful, I am going to support the hell of out Newegg extra deliberately from now on (e.g. buying stuff even if it's more expensive, takes longer shipping).

I absolutely love this. Lee Cheng, rock on!

hkmurakami 1 day ago 2 replies      
Personally, I love the fact that this title evokes the "Don't mess with Texas" line, given that it's the East Texas courts that aid patent trolls so greatly.
ajju 1 day ago 0 replies      
Well done Newegg. From now on, Anytime I buy electronics, i am going to check Newegg first.
sgdesign 1 day ago 1 reply      
> Thanks to the efforts of Lee Cheng and his legal team, the Federal Circuit Court of Appeals ordered a trial court to reconsider its earlier denial of Neweggs request for attorneys fees and costs in the patent infringement lawsuit brought on by SUS.

Wait, so what did the trial court conclude? Are they making the troll pay or not? I feel like I'm missing something?

Also, isn't it worrying that they had to appeal in the first place?

finkin1 1 day ago 1 reply      
As the CEO of a small 5-person startup, getting sued by a patent troll scares the shit out of me. Seeing Newegg take it to these asshats puts a grin on my face. I'll be voting with my dollars by shopping at Newegg.
takinola 1 day ago 0 replies      
It seems to me that there is a good way for the industry as a whole to address the issue of patent trolls without waiting for legal reform by attacking the economics of the business.

Trolls make money by simply1. Amassing patent portfolios (the only real fixed costs for this business)2. Sending infringement letters to victims (sorry, targets)3. Walking to the bank to cash the checks of companies who cannot afford a legal battle.

Once a troll goes to court, the economics of the business start to fall apart as the legal fees add up and eat into profits. Also, they risk invalidating their patents which jeopardize future revenue streams.

It should be possible to create an alliance of companies (Apple, Google, Yahoo, Microsoft are obvious candidates) that have an interest in a strong ecosystem of innovation to put together a fund that makes legal defense grants available to anyone in the mobile/web space who can demonstrate they have a plausible defense case. The amount needed would not be large (less than $20 million a year should be sufficient to cover the entire industry) since just the fact that every kid on the playground now has the ability to face up to the bullies will reduce the bad behavior considerably.

us0r 1 day ago 1 reply      
Acacia Research has been at this for a long time now. I remember when they went after porn. They claimed to own streaming media and thought the adult industry would settle. While some did, one company took them up and won. If I remember he said it cost them $500k to defend.
swang 1 day ago 3 replies      
NewEgg and Nintendo seem to be the only companies willing to actively fight patent trolls. Anyone else?
hollerith 1 day ago 0 replies      
Right now was a good time for me to learn that Newegg takes a principled stand against patent trolls because I've been thinking of starting to buy from Newegg because I keep on hearing bad things about how Amazon treats its employees.
throwaway7767 22 hours ago 0 replies      
I really appreciate the NewEgg strategy in these cases. They're fighting the good fight. And it's a great move to make the most PR splash from their victories to discourage future trolls.

If only they shipped outside the US, I would give them all my business. :)

DigitalSea 1 day ago 0 replies      
We need patent reform now.

"their patented technology related to the registration of websites on search engines" this right here is conclusive proof the patent system in the US is broken. Lets fix this now. How many legal/government resources have been wasted because of trolls like SUS? Leave the judges to put real criminals away.

Thank you for making a good example for the rest of us NewEgg. There are too many people that are unable to defend themselves in situations like these, it is great to know there are companies out there willing to fight (even if it takes years and hundreds of thousands of dollars to win).

zinxq 1 day ago 0 replies      
Whenever I can, I buy from Newegg for this reason.
danieltillett 1 day ago 2 replies      
Does anyone know why these cases are so expensive to defend? They can't be that complex given the troll basically has nothing. Could you not just hire a junior lawyer out college for next to nothing and put them in charge of running all the defences?
heyheyhey 1 day ago 2 replies      
> Most companies choose not to recover their legal fees in patent suits because prevailing defendants are required to demonstrate that a plaintiff acted in bad faith. This is extremely difficult to prove and its usually easier to just walk away and count your losses unless your name is Lee Cheng.

Interesting. So if you're a patent troll, there is little to no downside to constantly suing companies aside from the legal fees?

rbanffy 1 day ago 1 reply      
Is there a "Patent Troll Response Command" to coordinate the response of companies being sued and to facilitate the creation of groups to fight such lawsuits together?
joshstrange 21 hours ago 1 reply      
I wonder if someone has patented the idea of sue for patents that you never actually use...

Would love to see patent trolls sued for trying to sue for patents they don't use.

superuser 15 hours ago 1 reply      
I'm a little surprised that patent trolls get such a bad rap on hacker news. I would argue that patent trolls exists to protect the small inventors. Without patent trolls, the big companies can easily infringe the small inventors' patents knowing full well that the little guys can't afford to go up against them in court. The patent trolls merely step in to enforce the rights of the small inventors.

That is not to say that software patents are a good idea or should be allowed, and one could certainly make the case against them, but that's a separate issue.

galaxyLogic 1 day ago 0 replies      
The big companies probably don't worry too much about the "trolls", and the current legislation reflects that. They have the legal and financial resources to defend themselves. The Trolls make life hazardous for smaller companies who might go bankrupt because of them. For big companies it's probably just good that smaller disrupting innovators get out of business sooner rather than later.
MrBuddyCasino 1 day ago 1 reply      
This is an interview with Paul R. Ryan, former Forbes CEO and now the guy behind Acacia Research, the firm behind the Newegg patent law suit. Was surprised he is not as slimy as I expected: http://vimeo.com/57723958
klunger 20 hours ago 1 reply      
I'm American, but have lived in Scandinavia for a couple years now. When I incorporated my bitty start-up last year, I could choose between incorporating here or in the US.

Despite the higher tax burden, I ultimately decided to incorporate here. Why? There were a lot of reasons, but the two biggest ones were:1) I didn't want to worry about patent trolls2) I didn't want to worry about net neutrality effecting my first users (we are starting local)

bsimpson 1 day ago 0 replies      
> "those asshats"


Shorel 13 hours ago 0 replies      
If only they would sell stuff to me (I'm not in the USA).
the_watcher 1 day ago 2 replies      
I really wish NewEgg had shirts that looked better than the ones they sell.
lazyant 19 hours ago 2 replies      
Great but singing victory too soon, Newegg haven't won any money yet
arjn 1 day ago 0 replies      
Newegg is my hero!
galaxyLogic 1 day ago 0 replies      
In respect to SW patents isn't the recently renewed US legislation more a problem than a solution. As I understood it, it is no longer who wrote a piece of code that exemplified an idea first, but who first filed for the patent for it?
shmerl 1 day ago 0 replies      
That's one of the reasons I avoid Amazon and prefer to buy on Newegg.
joshjdr 1 day ago 3 replies      
I agree with the principle presented here... but before we all hail Newegg, I'll explain why I have not conducted business with this company since 2009...

Here is a letter I wrote Amex then, disputing a nasty transaction with this company. https://www.dropbox.com/s/8b8dg9diowqz48y/Amex%20Dispute%20R...

This is real, and I won.

fusionefredda 21 hours ago 0 replies      
I hope for the patent trolls the same that happens to SCO
eklavya 1 day ago 0 replies      
We need more of this.
khaki54 20 hours ago 0 replies      
apparently at newegg you can say asshat on the corporate blog. I like that
sidcool 1 day ago 0 replies      
Pretty bold move by Newegg.
mantis369 1 day ago 2 replies      
Newegg are cheapskates. The publicity from doing this pays far more than the money they'd save by settling with patent trolls.
Browserify handbook github.com
108 points by mambodog  17 hours ago   56 comments top 15
mikegioia 16 hours ago 0 replies      
I must say, there was a bit of a learning curve to Browserify. Now that I have it working I feel it's one of the best tools we have for front-end development.

I auditioned Component and RequireJS but both of those felt like a kludge. Browserify lets you do node style includes as well as compile your JS into separate bundles.

I wrote a very small structure and build system [1] for our front-end projects at work that uses Browserify / Gulp and can compile everything into separate modules. It uses nginx/apache for routing and since it's all HTML/CSS and compiled JS, it's lightning fast to deliver.

I think this guide is fantastic; we just need more things like this to lower the barrier to entry.

[1] https://github.com/TeachBoost/mishra

untog 17 hours ago 1 reply      
I'm so very glad that Browserify exists. After living in RequireJS/Bower/etc. hell it really is a breath of fresh air.
jaekwon 1 hour ago 0 replies      
Here's a simpler alternative if you don't want all the bells and whistles of Browserify


dugmartin 15 hours ago 1 reply      
I've been working on a front-end project in CoffeeScript using React and running Browserify via Gulp has been both a great time saver and has helped keep my project organized.

One tip I can give is that I ended up organizing each of my React components and mixins as a module in their own folders and files and my gulpfile adds the parent source path to the NODE_PATH environment variable. By adding the coffeeify transform and .coffee extension to the browserify gulp task I can just do this in my code:

    SomeComponent = require 'react-components/some-component'    SomeMixin = require 'react-mixins/some-mixin'
No need to worry about relative paths or if it is CoffeeScript code or plain Javascript.

The other tip is to NOT require react within your browserfied code. Just load it as a script tag before your browserfied code and use window.React to get a reference.

Kiro 15 hours ago 2 replies      
I keep wondering what kind of applications people build where they have so many dependencies that they need something like Browserify. Am I the only one doing the 1. find CDN link 2. add script tag to body?
ghostwords 14 hours ago 0 replies      
Here is a browserify/watchify-based script I use for building a browser extension's JS bundles: https://github.com/ghostwords/chameleon/blob/master/tools/bu...

The script

- Creates multiple bundles, with Underscore template precompilation and source code minification (for some bundles).

- Converts every vendor library into shared modules (you don't want Underscore included in every bundle that needs it, but you want to be able to require() it in those bundles).

- Monitors your files for changes and recompiles bundles as needed when run with --watch.

I found working with Browserify a pleasant experience after RequireJS and r.js (its build tool).

flog 14 hours ago 1 reply      
BenjaminCoe 16 hours ago 0 replies      
I played with Browserify for the first time two weeks ago, building this app:


Both the libraries that the app depended on (typeahead.js, and jquery) had been published to npm. I found it really straight-forward to setup an asset-pipeline using Browserify.

I'm a big fan :)

oulipo 14 hours ago 2 replies      
I use browserify and I'm happy with it, but I have one question that perhaps someone can answer :

how can I develop a library with different modules, say lib/module/func, lib/module/other, and compile the library as static, then import it in another project and be able to require lib/module/other from the other project using only the compiled lib?

bkurtz13 12 hours ago 1 reply      
I came across and played with beefy[1] today. Has anyone here integrated it into their workflow?

[1] http://didact.us/beefy/

eranation 16 hours ago 1 reply      
Anyone has luck with Browserify + TypeScript while keeping source maps pointing correctly back to TypeScript? (or any other JS transpiler)
DEADB17 11 hours ago 0 replies      
After using browserify for a while now, I recently came across webpack (http://webpack.github.io/docs/what-is-webpack.html) which I'm finding more convenient and as efficient.


- requiring and pre-prosessing files other than js is easier

- ability to use AMD modules if you have to

- code splitting

mateuszf 16 hours ago 1 reply      
Anyone knows how to use bootstrap using commonjs/browserify? I don't want to use neither bower nor manual download / storing compiled bootstrap inside of project.
kelkes 15 hours ago 1 reply      
Main problem is when npm modules are not up to date. This is the reason i still have to use bower but debowerify helps a lot...
hamburglar 14 hours ago 2 replies      
Browserify is awesome, and I look forward to reading this guide in detail, but I must say I'm disappointed about the "avoiding ../../../.." section. I've never seen a solution to this problem that wasn't a hack. The doc is correct that using NODE_PATH makes your app "tightly coupled to a runtime environment configuration", but what it fails to note is that the other two solutions offered are just as ugly. Checking code into a directory managed by npm is simply asinine, and putting symlinks in there is just as "coupled to the runtime environment configuration" as the NODE_PATH solution. What is really needed is a reasonable (and supported) method of programmatically managing the node search path.

Why the node community is so stubborn about this point is a mystery to me and it makes me wary of node in general, because who wants to be locked into an environment where such an obvious pain point is ignored due to stubbornness?

Amazon Flexes Its Muscles in Fight Against Publishers bits.blogs.nytimes.com
110 points by kjhughes  18 hours ago   104 comments top 14
incision 15 hours ago 6 replies      
Honest questions here...

What is supposed to happen here? This article and each of the others linked don't offer much beyond jabs at Amazon.

As far as I can tell, publishers are unhappy with Amazon - period. Two years ago the hot news was about Amazon pricing books too low [1]. Now at least part of the complaint is that Amazon isn't discounting enough and allowing prices to approach list price - which I assume is set by the publisher. Isn't that a publisher problem?

Also, this all reminds me of what we used to hear in the music industry - creators hurting because the label (publisher) they're contracted with is feuding and refusing to eat whatever compromise rather than pass it on directly or indirectly.

Would it be a terrible thing if Amazon pressured books into changing the same way iTunes changed music?

1: http://www.cnn.com/2012/04/11/tech/web/apple-lawsuit-cheaper...

paulgb 16 hours ago 5 replies      
> The paperback edition of Brad Stones The Everything Store: Jeff Bezos and the Age of Amazon a book Amazon disliked so much it denounced it is suddenly listed as unavailable.

I like a conspiracy theory as much as the next guy but couldn't the book just be... unavailable? If they wanted to impede its distribution why are they still selling the Kindle, Hardcover, and Audio versions?

revelation 16 hours ago 3 replies      
These articles can really go either way, but NYT seems to continuously go the publisher side. Theres not a single Amazon statement in this article.

Remember that the majority of publishers just recently colluded with Apple to essentially fuck over Amazon. Why would we afford them the presumption of goodwill here?

umsm 14 hours ago 1 reply      
Does this article still make sense if you click on this:


And notice that the book IS AVAILABLE?

smackfu 16 hours ago 2 replies      
The main reason this is getting publicity is that the authors are getting punished but they have no power. Otherwise it's just a standard retailer/supplier conflict.

Also, note that Hachette is one of the publishers involved in the e-book suit who settled, so not exactly a great history with Amazon.

chris_mahan 9 hours ago 0 replies      
Why don't the publishers make it easy to buy books from them, instead of all this rigamarole about rights and regions? I want to go to your website, pay with a credit card, and you ship it to me, anywhere in the world, and fast.

No, instead, I go to a local bookstore, they don't have it.

I go to Amazon, they have it. I order it, two days later it's at my door, for 30% off the price on the back of the book.

So everybody does the same as me, and now Amazon is the 800-lbs gorilla in the room, throwing its weight around, and you're complaining?

You had the opportunity, 10 years ago, to kill Amazon, and you didn't, because you wanted to keep charging us more for less service.


IBM 16 hours ago 0 replies      
Looks like the publishing industry needs to consolidate further.
seacious 17 hours ago 4 replies      
What practice of Hachette is amazon objecting to? The article doesn't specify the cause of the conflict.
mmed 16 hours ago 0 replies      
That's a vulgar way of demonstrating Amazon's muscle power.
chimeracoder 16 hours ago 0 replies      
> I have supported Amazon for as long as Amazon has existed. Ive been published for 20 years now and you have sold so many of my books, she wrote in a Facebook posting she also sent to the retailer.

Why does she not blame her publisher for setting the price of her books to be too high[0]? This seems to be a regular merchant/vendor price dispute - nothing new about it.

The publisher is just a middleman here[1] - if she were trying to sell directly to Amazon at the same price, Amazon's reaction (presumably) would be to refuse to sell the book based on the prices she set. At that point, she'd have two options: (1) Lower the price of the book, or (2) Accept that the book won't be available on Amazon.

> Your actions to raise the prices of our books, place banners touting books that are similar but lower in price and saying that our books will ship in 3-5 weeks when they are in stock is not only a disgusting negotiation practice, but it has made me tell my readers to shop elsewhere and they are and will, she wrote.

This is a minor point, but for what it's worth, it appears that Amazon is saying that the books are "unavailable", not "out of stock", from the screenshot. Amazon does sometimes say that items are "out of stock" instead of "unavailable", so it's not that they're trying to imply any reason for the lack of availability - they're just saying that they are not available and not specifying the reason.

[0] This is mostly rhetorical - I can understand why she may not want to lower her price - but that's the way supply and demand works in a supply chain (ie, when you're not selling direct-to-consumer).

[1] As is Amazon, for that matter! She always has the option of selling the e-books herself, if she decides that that's a worthwhile endeavor.

davidw 14 hours ago 0 replies      
http://www.powells.com/ - this is a great place to get books, although the best thing of all is to go there in person and wander around. I generally like Amazon, by and large, and I love my Kindle, but wandering around looking at that many books in person is great too.
mpweiher 16 hours ago 3 replies      
Boy, aren't we all glad the DOJ protected poor little Amazon from the evil and all-powerful Apple e-book conspiracy and monopoly.
bhewes 13 hours ago 0 replies      
I have started two publishing companies over the last two years. What I can say on the economics of print is that the margins are not good compared to ebooks. What this article misses is the fight is not really between publishers and Amazon, but between printers and Amazon. Printers and their distribution system are getting squeezed.
btrombley 17 hours ago 3 replies      
The article is short on details, but I'm not clear why Amazon is obligated to sell a publisher's books, much less at the publisher's desired prices. Wal-mart is famous for using its size to lean on suppliers ensuring "everyday low prices." Why is publishing different?

I sympathize with authors that are hurt by this battle, but it just shows that Amazon's marketplace is becoming more important to their sales than their publisher is.

Explanation of 44.1 kHz CD sampling rate columbia.edu
111 points by jcr  18 hours ago   35 comments top 8
bartekko 16 hours ago 1 reply      
This has already been posted to HN before, but its the best explanation of digital audio I have seen: http://xiph.org/video/vid2.shtml
ar7hur 17 hours ago 3 replies      
Also, the fact that 44,100 can be factored as 2^2 * 3^2 * 5^2 * 7^2 makes it very efficient to do Fast Fourrier Transforms on moving windows. Which we do a lot in Speech Recognition and DSP in general.
jhallenworld 16 hours ago 3 replies      
This confuses me because the vertical rate is not 60 Hz, it's 3579545 Hz / (525/2 * 455/2) = 59.94 Hz. In other words it's odd that they would have chosen to be compatible with black and white instead of color.. instead of 44.1 KHz, it would be 44.056 KHz.


Well it turns out that 44.056 KHz was used for the "EIAJ digital-audio-on-videotape standard"


abbeyj 9 hours ago 0 replies      
https://www.youtube.com/watch?v=GAE-c7aksxI shows what audio recorded this way looks like when you play it back as video.

I'm only guessing but it looks like 3 stereo samples per line plus some extra data (ECC?) on the right. Its quite interesting to see how the pattern changes when the music fades out (around 3:50, 9:20, and 13:25).

I wonder what kind of sound you could extract given only the low-quality YouTube video as a source.

__david__ 11 hours ago 1 reply      
Related: Digital Cinema uses a 48Khz sample rate which gives exactly 2000 samples per frame, per channel. That makes it very easy to sync the audio to the film.
csense 17 hours ago 5 replies      
It seems strange to me that they would be re-purposing video tape for digital audio, given that digital tape technology was used in computers since UNIVAC in the 1950's [1].

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

asimpletune 14 hours ago 2 replies      
How does this make it to the top page?
linuxhansl 8 hours ago 0 replies      
It's also convenient that highest frequencies a human ear can detect is about 20khz, so the sampling rate needs to be at least 40khz (see "Nyquist Rate")
Spaceweather Radio: Listen to the Camelopardalis meteor shower spaceweatherradio.com
14 points by zaroth  6 hours ago   5 comments top 3
jrockway 3 hours ago 1 reply      
Where is the TV station broadcasting at 54MHz? I hear tons of pings on the livestream, but none in Brooklyn. (I'm not making any effort, though. I'm using a 2m yagi tuned to kind of work on 6m, and I'm inside.)

This did remind me to look for people trying to do 6m meteor scatter tonight. There are a few JT6M stations active tonight, which I don't usually hear. Unfortunately, I'm getting them all via normal propagation, not via meteor scatter. Oh well. It's nice to hear something on 6m for a change.

timthorn 2 hours ago 0 replies      
For a more graphical approach, a group at the Norman Lockyer Observatory have set up a network across the UK with waterfall plots of the audio: http://www.merriott-astro.co.uk/spam3D.htm
comrh 4 hours ago 0 replies      
Well that is pretty cool. I listen to white noise so often the static was actually pleasant, with the pings it was musical.
Panda 4.0: Why eBay lost many of its organic rankings wordstream.com
143 points by gere  22 hours ago   86 comments top 21
leephillips 21 hours ago 7 replies      
I don't usually enjoy articles in the SEO category, but I skimmed this out of idle curiosity and was rewarded by the amusing example showing how ebay paid for ads saying

  Vomit Sale!  New and used vomit!  Check out the deals now!

Gracana 21 hours ago 4 replies      
"Dynamic Keyword Insertion"

So that's what that awful misfeature is called. I hate those ads, they're always frustratingly unhelpful.

coldpie 21 hours ago 1 reply      
I've been using ebay once or twice a year for over a decade, and I've noticed their product pages are almost worthless these days. Almost the entire first scroll-page is filled with the bidding and shipping info and ads. For media like video games, there's another page of default info for the game which is identical on every single page for that game. I already know what I'm buying, you don't need to tell me the ESRB score. Then there's usually one or two lines of description from the seller. Then another page of ads and another page of the eBay footer. And this description is with AdBlock enabled!

Content I want? Current price, shipping price, and the description from the seller. Everything else is garbage. The default pictures and descriptions are especially worthless. I want pictures of the actual product I'm buying, not whatever marketing shot of a pristine product from the company.

bhouston 21 hours ago 1 reply      
It is a bit weird that "Harvard Business Review predicted that Amazon, Walgreens and other major internet retailers would soon follow eBay's lead and ditch AdWords. If youre doing SEO, you get that prime SERP placement for free, right?"

And then shortly there after eBay dropped significantly in Google's rankings. To be honest, the above statement from HBR is a major threat to Google's business.


Cthulhu_ 21 hours ago 2 replies      
TBH, it seems like eBay just hasn't moved along with the times; as the article points out, their landing pages have very little content and a ton of old-fashioned 'SEO techinques' with keywords and internal links pointing everywhere.

They now have a reason to rework their website, improve sales listings with the user in mind, clean up their pages and make them nice and lean, etc. I hope Amazon gets the same treatment, their product pages are a mess too IMO.

strict9 20 hours ago 2 replies      
It's too bad sites aren't also penalized for fixed-position social share widgets that make reading on mobile impossible, like wordsteam does.
cordite 9 hours ago 0 replies      
I hope #2 or #3 spot sites that only come up with a search page to other search engines that produce 0 relevant results die with this.

Stack Overflow is usually at the top, but when I want relevant blog entries that actually cover what I'm working with, those get shoved to the back.

po 20 hours ago 2 replies      
Wait, are they buying AdWords and then putting Google Ads on the pages that people land on? Does that make any sense? Does Google pay out for those impressions?
d23 18 hours ago 1 reply      
On a sidenote, did anyone else notice the popup that only appears once you're going to close the page? I've tried to re-create it, but it actually appears to be pretty intelligent. I was initially annoyed, since that's the standard reaction, but then I realized it didn't block my reading of the article at all, since I was attempting to leave anyway. Kind of cool.
willu 19 hours ago 2 replies      
This is basically the BloomReach approach to SEO and Google seems to be going after it in a serious way lately. The big issue is quality control. I don't think it's necessarily a bad thing to create these sorts of landing pages if they surface highly relevant results. Google's product search is not comprehensive or sophisticated enough yet to be useful for the common shopper so it's a mistake to penalize highly refined results with no good replacement.
iblaine 18 hours ago 0 replies      
This reminds me that there was a time when eBay had no organic search traffic. A few pages were indexed. About the same time eBay launched their API. An enterprising college student created a site from ebays API. Normally this wouldn't have been a big deal but the new site had static pages, easy for googlebots to crawl & pages with affiliate links. The site went from generating a few hundred dollars per month in affiliate commissions to millions. eBay clearly didn't care about SEO back then so it's a bit ironic to read this today.
adventured 21 hours ago 0 replies      
Mostly I'm curious to see what kind of bottom-line impact Google is capable of inflicting upon eBay, given eBay's immense scale. Just how dependent upon Google organic traffic are they at this point.

Nothing will rev up regulator interest like a $65 billion company willing to cry to D.C. as they lose a billion in sales due to algorithm changes.

lazyant 19 hours ago 0 replies      
With all the products eBay moves and so many users it shouldn't be difficult for eBay to reward in some way (less paypal fees, more prominent listings etc) users for writing reviews of products, creating cheap and reasonably good content. But I mean, if they buy ads for "By X" where X is any search term...
robryan 19 hours ago 0 replies      
Regarding eBay using Product Listing Ads, they already do this heavily, often to the point of being unfair (listing the same product say 5 times for 5 separate sellers on ebay)

I think it will just hurt incremental sales, rather than them being able to make up the shortfall on Google via paid means.

perlpimp 20 hours ago 1 reply      
Does this mean that some sites will get a rise of Panda 4.0 deployment?

And more interesting kind of sites will be get the rise out deployment of Panda 4.0.

my 2c

bowlofpetunias 20 hours ago 2 replies      
Wasn't eBay pretty much buried by Google for a while now? It's been ages since I've seen useless eBay results when searching for stuff like info on particular consumer products.
dabit3 19 hours ago 1 reply      
Ebay & Paypal are the worst companies I have ever had the displeasure of doing business with.
jqm 20 hours ago 0 replies      
I buy from eBay from time to time in spite of the fact I'm not completely crazy about them and wish they were better at what they do. At the moment, for better or worse, they seem to have the most sellers of the type I sometimes look for.

That being said, as a Google search user I am delighted to see them lose search ranking. Is sucks seeing eBay listed in first page search results for just about everything. If I wanted to look for an item on eBay I would go to eBay. What I want is INFORMATION about the item/topic, not a link to eBay. Now, if they could just get ehow and about.com.....

whoismua 19 hours ago 0 replies      
"The implication of this report was that eBay was going to drop AdWords as a channel and focus its efforts on organic search engine optimization.

So how did that work out for them?"

Hmmm.....just hmmm....

I do not buy that Google Search is not doing Google Adword's bidding, directly or indirectly. They know why advertises and who doesn't, by name and by category ("large brands" for example. ) So unless Google is separated in two separately owned parts (Search and Ads) I think people have every reason to question this. Especially since a drop in traffic essentially forces a site to buy ads.

the same goes for Android and Chrome, many of their features are to drive people to Google search.

jwblackwell 18 hours ago 0 replies      
Auction pages don't really belong in search results. IMO. I think they had this coming.
dcc1 20 hours ago 0 replies      
Thanks to Shitpal I have switched my shopping to Amazon. Ebay/Paypal deserve to die out.
Bits from the Debian GNU/Hurd porters debian.org
90 points by tshepang  18 hours ago   26 comments top 5
stormbrew 14 hours ago 3 replies      
It kind of seems like the least interesting possible thing to do with Hurd, given its major architectural differences from Linux, is to make it as much like Linux as possible. I'm just not sure who the target users are for "Debian GNU/Hurd" or why they'd ever be better served by it than by Debian Linux?

Edit to add: That said, since Debian seems to be the main group willing to do any kind of binary distribution with Hurd, they get to call the shots.

atmosx 14 hours ago 1 reply      
This advantages page is interesting: http://www.gnu.org/software/hurd/advantages.html
e12e 4 hours ago 0 replies      
Sorry to see them selling themselves short, as far as I can tell, coverage increased from 70% to 80% (not from 73%) -- so it's more an increase of 14%, not 10%!

Great to see this port moving forward, now I'm no longer certain my next playdate will be with Debian/kFreeBSD after all!

popee 11 hours ago 1 reply      
> Switch to pthreads.

I'm not aware what they used before, but why pthreads? Isn't this perfect opportunity to try to develop something better, introduce new concepts (async, coroutines or some kind of userspace deterministic job management)? Not sure if backward compatibility is best way to go here, but maybe i'm just talking gibberish

bitwize 12 hours ago 4 replies      
Sysvinit? Really?

systemd is becoming the standard free-Unix init. Even the OpenBSD folks acknowledge the need for a systemd-compatible init and have started a GSoC project for just that.

Meteor vs. Angular differential.io
57 points by tmetzner  15 hours ago   26 comments top 8
treve 14 hours ago 3 replies      
Meteor is still way too magic for me. Seems great for rapid prototyping of real-time applications, and perhaps things like games... But I don't think I would feel comfortable building a large application on it.

The problem space that it solves is not that hard, it just provides an extremely magical way to go about it. I imagine this makes things a lot harder to change, debug and maintain.

But then I'm the type of person who prefers boring and predictable, with a very big separation between front and back-end concerns.

I've been leaning towards the opposite architecture of what Meteor does, creating 3 entirely different layers for 1) core business logic, 2) web backend, 3) web frontend, whereas Meteor seems to want to blur the lines where things are happening.

debergalis 12 hours ago 1 reply      
One important difference between Meteor's front-end and Angular is how we track data dependencies and changes. As it happens we've been working on a Meteor manual and just published the first chapter on Deps, our 1kb library for doing this.


krrishd 14 hours ago 3 replies      
The thing that has me sticking with Angular over Meteor is that Angular doesn't care about your backend or infrastructure. With Meteor, I feel limited due to the tight integration of the server and client. Due to that, I feel like its harder to scale, and perhaps only suitable for prototyping.
xiphias 14 hours ago 0 replies      
I would recommend Meteor _with_ Angular. Although there are some things that don't work perfectly together, using AngularJS as a frontend and MeteorJS as a backend works like magic....I loved creating (internal) applications with it.

An example (not written by me)


jaunkst 10 hours ago 0 replies      
Nice write up. I too have evaluated almost every MV* framework. I started with knockout a few years back and extended it to fit the mvc pattern. Eventually I went all in with angular and have found it ideal for a few reasons, one which you mentioned; it's decoupling from a full stack. I currently have built rails application templates to generate an ideal angular full stack, and also rake tasks to compile the code base into Cordova mobile builds. I can say that without a doubt there is no going back. Complete decoupling of the client and server is the Golden goose. As far as being more meteor like it's pretty easy to spin up a websocket layer for the client and server. I personally think a Swiss army knife is a good representation of angular due to its flexibility to integrate with existing stacks. One could in theory slowly replace the entire front-end of any stack.
mrcwinn 14 hours ago 2 replies      
I would just say that the "X versus Y" approach to frameworks (as opposed to tools) is not very productive in a lot of cases. The best way to approach it is to define and understand the needs of your project, research, and choose.

For example, it might be the case that simple, real-time-ish data is very important. Meteor might be an excellent choice.

It could instead be the case that lock-in (and Meteor is definitely encouraging lock-in on both sides of the http request) is a concern for your team, and you feel it important to have flexibility or maturity on the server-side. Meteor might be a terrible choice.

X can be better than Y in one circumstance, and must worse in another. Define, research, pick.

findjashua 12 hours ago 1 reply      
From a cursory glance, it seems to me that Meteor syncs MongoDB instances on the client and the server, and therefore can only be used with MongoDB as the database. Is that correct, or is there any way to use it with a Postgres app?
GUNHED_158 6 hours ago 1 reply      
BTW, it is called "AngularJS", not "Angular".
CoreOS images are now available on Google Compute Engine googlecloudplatform.blogspot.com
91 points by freeman478  19 hours ago   10 comments top 5
DoubleMalt 2 hours ago 0 replies      
I'm anxiously waiting for it to come to DigitalOcean. But the momentum they built now seems to be really strong.
brunoqc 8 hours ago 1 reply      
Would it make sense to use CoreOS on just one machine or is it only useful with multiple machines?
CSDude 9 hours ago 2 replies      
Why no one is discussing this? Just curious. Is it a bug?
listic 9 hours ago 1 reply      
Are the official images on EC2 or any of the other cloud compute platforms?
yeukhon 2 hours ago 0 replies      
I am really surprised as CoreOS is super new to a lot of people and yet they managed to convince Google and Amazon to provide an image. That's amazing...
Mathematical Impressions: Spontaneous Stratification simonsfoundation.org
62 points by digital55  16 hours ago   3 comments top 3
pavpanchekha 3 hours ago 0 replies      
Isn't it fascinating that this has been on front page most of the day, and it has but one comment? I suppose I'll fill this echo chamber.

This sort of work is absolutely fascinating to me. Emergent behavior like this can be so varied and complex, and getting any handle on it at all is often impossible. The fact that mathematics is starting to approach such problems, and may one day discover a great edifice of knowledge that explains what happens when a few simple rules interactwhy, I would love to see the day. Recall that programming, too, often involves putting together just a few small pieces in an intricate arrangement, which causes beautiful behaviors to take place. Imagine understanding that phenomenon on a deep level!

dsirijus 37 minutes ago 0 replies      
Looks like something that could be modeled with some cellular automata rule.
theophrastus 13 hours ago 0 replies      
That was very interesting! thank you for posting that. i've forwarded your link to a scientist i know who works on sedimentation in riverbeds who'll find it a very nice reference. (e.g. 'angle of repose' is a surprisingly complicated concept)
Ask HN: What do you do when your entire being opposes the task at hand?
322 points by septerr  21 hours ago   180 comments top 87
jblow 19 hours ago 22 replies      
I felt obliged to comment because I feel I know what you are talking about and I also worry that much of the advice posted so far is wrong at best, dangerous at worst.

I am 42-year-old very successful programmer who has been through a lot of situations in my career so far, many of them highly demotivating. And the best advice I have for you is to get out of what you are doing. Really. Even though you state that you are not in a position to do that, you really are. It is okay. You are free. Okay, you are helping your boyfriend's startup but what is the appropriate cost for this? Would he have you do it if he knew it was crushing your soul?

I don't use the phrase "crushing your soul" lightly. When it happens slowly, as it does in these cases, it is hard to see the scale of what is happening. But this is a very serious situation and if left unchecked it may damage the potential for you to do good work for the rest of your life. Reasons:

* The commenters who are warning about burnout are right. Burnout is a very serious situation. If you burn yourself out hard, it will be difficult to be effective at any future job you go to, even if it is ostensibly a wonderful job. Treat burnout like a physical injury. I burned myself out once and it took at least 12 years to regain full productivity. Don't do it.

* More broadly, the best and most creative work comes from a root of joy and excitement. If you lose your ability to feel joy and excitement about programming-related things, you'll be unable to do the best work. That this issue is separate from and parallel to burnout! If you are burned out, you might still be able to feel the joy and excitement briefly at the start of a project/idea, but they will fade quickly as the reality of day-to-day work sets in. Alternatively, if you are not burned out but also do not have a sense of wonder, it is likely you will never get yourself started on the good work.

* The earlier in your career it is now, the more important this time is for your development. Programmers learn by doing. If you put yourself into an environment where you are constantly challenged and are working at the top threshold of your ability, then after a few years have gone by, your skills will have increased tremendously. It is like going to intensively learn kung fu for a few years, or going into Navy SEAL training or something. But this isn't just a one-time constant increase. The faster you get things done, and the more thorough and error-free they are, the more ideas you can execute on, which means you will learn faster in the future too. Over the long term, programming skill is like compound interest. More now means a LOT more later. Less now means a LOT less later.

So if you are putting yourself into a position that is not really challenging, that is a bummer day in and day out, and you get things done slowly, you aren't just having a slow time now. You are bringing down that compound interest curve for the rest of your career. It is a serious problem.

If I could go back to my early career I would mercilessly cut out all the shitty jobs I did (and there were many of them).

One more thing, about personal identity. Early on as a programmer, I was often in situations like you describe. I didn't like what I was doing, I thought the management was dumb, I just didn't think my work was very important. I would be very depressed on projects, make slow progress, at times get into a mode where I was much of the time pretending progress simply because I could not bring myself to do the work. I just didn't have the spirit to do it. (I know many people here know what I am talking about.) Over time I got depressed about this: Do I have a terrible work ethic? Am I really just a bad programmer? A bad person? But these questions were not so verbalized or intellectualized, they were just more like an ambient malaise and a disappointment in where life was going.

What I learned, later on, is that I do not at all have a bad work ethic and I am not a bad person. In fact I am quite fierce and get huge amounts of good work done, when I believe that what I am doing is important. It turns out that, for me, to capture this feeling of importance, I had to work on my own projects (and even then it took a long time to find the ideas that really moved me). But once I found this, it basically turned me into a different person. If this is how it works for you, the difference between these two modes of life is HUGE.

Okay, this has been long and rambling. I'll cut it off here. Good luck.

adrnsly 19 hours ago 3 replies      
I know the exact feeling you're talking about - I used to work at a wonderful small dev shop where things moved fast; whole projects were wrapped off in a week or two.

Until this one project where we were asked to 'fix' an already written Android app (written by an Indian outsource then sent to Canada). The contract was for a massive amount of money, everything looked clear cut and straight forward, how could we say no?

For almost 7 months (!!!) my team and I had endless meetings next to a wall map containing the 5000+ classes that each had to be dissected, understood and reimplemented properly. All the comments were in at least two different foreign languages, and even the best translation services (human included) could only give us at best translations like: 'not class, forwards' or 'use brick making way here', most likely due to the comments being poor in their original language in the first place (not due to the translation).

At first I had great momentum, I was an unstoppable force; then quickly things started slowing down - each task started taking hours longer, than days longer, than weeks longer. Ultra trivial fixes like the placement of one statement outside a try catch, could easily take a whole month to locate (by a team of 4!).

After pouring my heart and soul into this project day after day, grinding myself literally to the bone; I started getting depressed, physically sick to my stomach for days at a time, starting fights with co-workers over absolutely nothing, just so I wouldn't have to look at that fucking code one more time. Anything to just not look at that code one more time.

By the end of the project (which we did actually manage to complete), I was waiting for that moment of euphoria, that release of completion, that I would never ever again need to look at that code, or work on that project.

But it didn't come.

I was paid more than 100k for completion of the project, so I was well reimbursed for my time.

That's when I realized that it's really not about the money, it's not about the team, or the language; It's not about your repo, or your source control techniques. It's not about agile, and it's not about problem solving. It's not about working from an office or from home, and it's not about the mother fucking 'culture'.

When you're lying on your death bed, and you look back; will you be proud that you spent all that time and suffering to fix an app for some asshole who is trying to make a quick buck by exploiting people who aren't technologically wise enough to realize what they are doing?

The next day my boss asked to meet with me privately; thinking I would be fired (and happy with the idea) we met briefly at a local coffee shop. She said that all the anger, depression, and self loathing was 'worth it' because 'I made a lot of people rich' in the process (myself included) and they were happy to deal with that (and even to pay for therapy).

I was offered EVEN MORE money to continue working on projects exactly like these, to the company we had just discovered a cash cow of an app crop, and I was the golden goose. I could easily do this the rest of my life, and lead whatever life I wanted to outside of work.

I quit on the spot, and laughed and cried the whole way home. Knowing that I would be blackballed in the community that I had worked so hard to establish myself in.

Literally career suicide. The company didn't recover, and a lot of people were (and still are very pissed off with me - like angry emails, restraining orders, fucking pissed).

I promised myself that from now on I would only do work that I believed in enough to starve to death for (and it was looking for a long time like that was going to be the case). The truth is, if you want a job where you can make 6 figures (or even 7 if you're doing it right), you will find it. You will always find it, and they will always be there.

There is a vacuum of talent on the community of expert programmers caused by major corporations like ibm, amazon, facebook, twitter, and snapchat just filling up cubes in their 'programmer cluster'. A group of people they can throw whatever stupid, or trivial tasks at - and you won't say shit, because damn that pay is tasty. You're breaking peoples rights to privacy, doing WAY less than ethical things, and you probably don't even know it (because that's how it's supposed to work, or someone else above you clearly isn't doing their job).

My only advice is to get the fuck out. Run, run as fast as you possibly can and never look back.

Never respond to any recruiters for any reason, never respond to job offers, and don't even think about looking for another position at another company (I promise it's the same thing, no matter how they promise you otherwise, and tell you that their culture is the dopest - nothing like clubbing seals with some rad people right?).

Get off your ass, and do something worthwhile. If you can't do that, then learn how. If you can't do that, then you're a drone and you should keep that shitty job because it's the best you're ever going to do (in which case, fuck you, you make the world a worse place for everyone by whoring your skills out to unethical assholes for cash).

Make something that garners zero profit, make something that only helps people, make something that changes the world for the better. You will quickly see your entire world, and all the people in it change before you eyes. You will get more job offers in your inbox than spam, because the world will see that you don't give a fuck about anything but getting shit done and helping people.

Today I run a few companies, the largest of which is a NPO machine learning research firm offering free services to help cure cancer, track missing children, follow and assess viral outbreaks, and front line ML research pushing the needle of science forward (email: freeML@gatosomina.com for services); and some of the others include: organic vegetable gardening as a service (physical outdoor labour, everyday, which I enjoy more than anything) and free apps that assist paramedics and doctors (without ads or bullshit).

If you want to be happy, like, really, actually happy (and not just wealthy) you're going to have to risk it to get the biscuit; and it's going to be the hardest battle you've ever fought in your entire life, by at least a few magnitudes.

Good luck, it's a jungle out there.

bguthrie 20 hours ago 2 replies      
People tend to reserve pair-programming for tasks they perceive as being unusual, complex, or otherwise needing extra review. Personally, I've found it can be helpful even when you simply need to stay on task. When you both have the same goal, you can rally each other; it's typical to become more productive together than you would have been apart.

If this sounds like it could be your style, grab a buddy and see if you can hammer out some of the small stuff together. If not, some of the other suggestions here are good as well.

ryandrake 17 hours ago 3 replies      
Oh boy, so I get to be the contrarian again.

First of all, isn't it a bit dramatic to say "your entire being opposes" your task? It's not like you're out committing genocide or something. You're programming, and you have to work on a crappy programming task. Every programmer who ever worked a professional job has had to do this at some point. If the very fiber of your soul is wrapped up in your employer's MegaAccounting Client V3.0 REST API, I'd recommend re-thinking your emotional attachment to your job.

That money you get every two weeks is called "compensation" because it is compensating you for your time, which you would probably otherwise spend doing something more pleasant. This is the realistic world of grown-up work life.

If your company's Marketing bone-head says the customers want a green oval button instead of a system-standard button, well, it's stupid, but I'd laugh at how much they're paying to get this ridiculous code written and just write the damn code. It's really not worth losing sleep or sanity over. Not being emotionally attached to your work allows you to shrug off the stupid stuff that Really Doesn't Matter.

ebiester 20 hours ago 0 replies      
I wish I was done with the series of blog posts that helped me get over this! :)

I struggled with this for years and years. This is not one problem , but three: it is a problem with wisdom, speed, and discipline.

Luckily, we can learn tricks to improve each one.

If we want to attack this from the wisdom perspective, it is this: You are afraid of making the wrong decision because you are afraid to refactor. You are afraid to refactor because you don't have sufficient test coverage.

The good news is, for developers like us, test driven development is very helpful as a technique for getting us over these problems. If our team is not test-friendly, however, it will be difficult for us to make the jump because their code will not be written in ways to make it easy to test.

There are a few books I can suggest to help us jump the chasm:

1. Clean Code by Bob Martin. This book helped me think in more testable code, and also helped me understand how to make better decisions the first time around. It helped me by seeing patterns I didn't know first.

2. Refactoring by Martin Fowler. This one is old, but knowing the patterns of changing code gives us more confidence in knowing what is right, rather than hemming and hawing over what is readable and maintainable.

3. Refactoring From Legacy Code by Michael Feathers can help get from here to there. All of these help from three aspects: They help us develop a set of tests so we are less afraid of breaking existing things, they give us the freedom to experiment, and they help us break things down into smaller, more manageable problems by letting us think about "what is the next thing I can test?"

If we have the tests, we can be more aggressive in reducing complexity.


If we want to attack this from a Speed issue, then look for these things.

1. Look for patterns you use repeatedly, and try to settle down into a process. The fewer choices we make, the faster we can go.

2. Look to learn more about your chosen stack and language. It is possible that we are rewriting the wheel over and over. The more you understand the zen of your stack, the faster you can go and the more time you can devote to writing the same thing twice (without them knowing.)

3. Instead of hemming and hawing about the right solution, write all three. It is often faster to write all three and choose one than to get stuck in analysis paralysis. (That isn't to say you shouldn't think before you write code!)


Finally, you can attack this from a discipline angle.

1. Learn to meditate. By doing so, you can become more self-aware of analysis paralysis, calm your mind quickly, and mindfully choose a path.

2. Exercise. In the same way as meditation, exercise helps us learn to clear our mind and focus on command, and it helps sharpen our discipline chops.

With these, we can develop an awareness of how our body feels. Then we can develop an awareness of how analysis paralysis feels. If we can catch ourselves in the act, we can then institute something from our analytical skills: When caught in the trap, set 30 minutes on your timer, and bring out a pad of paper. If you feel you have the freedom, turn off the monitor.

Take deep breaths, and sketch out the solutions in the first ten minutes on the first page. Use UML or your own system.

In the next ten minutes, write a pro/con analysis on each path.

In the final ten minutes, make the decision. After this, your analysis time is up and you must code.

I suggest a combination of the above.

Good luck! It was one of the hardest things for me to defeat.

haroldp 14 hours ago 0 replies      
I wouldn't say that my, "entire being opposes the task at hand". I would reserve that sort of language for ethical reservations about a task. I do not do things I consider unethical.

But I do encounter many chores in my work that are boring, that are bad ideas, that are for difficult customers, or often all three. I can have the same problems getting those tasks done, just like you describe. Actually, you seem to be way ahead of me because it took my far to long to figure it out. I thought I was losing my ability to program. I was wondering if I was going to have to find another career because I had lost my ability to concentrate. I was reading books on getting things done, and concentration and trying to figure out what the hell was wrong with me. I would sit down to do a task, check email, check reddit, check hacker news, check reddit, get coffee, go to the bathroom, check reddit, "Arg! I have shit to do!" Check reddit, check IRC, etc. I caught myself more than once closing a browser tab with some distraction, pausing for a half moment to organize what I should actually be doing and then open a browser tab to the same thing again.

The insite came when I finally got something engaging to do, and I just powered through it. I could still program! How did I get in the zone? How do I get there again when I need it? Well I worried about hat for a while, thinking there was some combo of sleep, nutrition, environment and task management software that I could line all up and get back to "the zone". It finally dawned on me that I subconsciously find distractions to avoid doing things I don't want to do. What a revelation.

How do I get over it? Well I still struggle with it, but simply identifying the problem was a huge step towards fixing it. Here are some techniques that I use:

Pomodoro technique. This is a productivity trick that actually works pretty well for me. The short version is that that you make a list of very small tasks, then work for twenty minutes (straight! no phone, no emails, no coffee, no bathroom), then take a five minute break. This helps with distraction problems because you can tell yourself, "I can goof off in 7 minutes". It sounds like a lot of interruptions, but I'm amazed at how much I get done with it.

Creating crisis. I work harder with the Sword of Damocles hanging over me, so I put those swords there myself. Call me back at 2:30 and I will have this done. Then I'm good for two hours of, "oh shit, oh shit, oh shit," type production.

Pair programming (and rubber ducking). This really helps to power through crummy tasks. Unfortunately, I work from home for a tiny company. I don't have anyone to program with. But if I am really stuck, I can ask my wife to sit next to me, while I explain what I am doing, and what I am trying to accomplish, and the details of what I am coding as I code it. I can use this occasionally to get over a hump.

Change of venue. I have struggled to find some shitty bug in some shitty spagetti code for a crappy website selling stupid things for WAY too long. The only way I broke through was to take my computer somewhere else, in front of other people. David Sedaris has a great story about a book suggesting he make a change in his house to help him quit smoking. Buy a new couch or something in order to change the venue. In our comfortable habitual surroundings we act in comfortable habitual ways. So he moved to Japan to stop smoking. I can't do this every day, it's just for breaking major blocks.

Anyway, I need to get back to work. Good luck!

incision 18 hours ago 1 reply      
1.) Doing things you don't want to do, but are necessary for a paycheck or otherwise is a basic part of being a grown-up. Lacking the discipline to simply get such things done and move on is a huge handicap as it's burning loads of time and energy that could be better spent elsewhere.

2.) This is surely arguable, but I think agonizing over a lack of satisfaction/motivation in a job is likewise a waste of time. If you can get those things at work, great - if not, don't try to force it - redirect it to side projects, friends, family or hobbies.

3.) Life is really short and full of trade-offs. Be sure to regularly re-evaluate your position or you might find yourself stuck rather than simply compromising.

>'How do you get in the zone and get it done when your entire being is revolting against the task?'

Through each of the things I described above. Whenever necessary I remind myself that:

* I'm a provider and professional, my family depends on me and I'm paid to do good work - getting this done is not optional.

* My time is short, delay buys me nothing.

* I have no shortage of great things to look forward to when I'm done.

eduardordm 20 hours ago 0 replies      

I'm a manager, and sometimes I feel like you. Sometimes I need to ask developers to do things I don't believe in or things I'll throw away in a few months. This also demotivates me. You need both a lot of discipline and just a bit "aloofness" to keep going. Care less about those tasks, think about friday.

If your managers are any good, they know you have wasted hours, they know you are unmotivated, and they know those meaningless tasks are the reason, this is why you are a valued employee. I'd rather argue to death with an employee because he thinks his idea is best for the company than one that will just accept any task like a robot. But sometimes you have to implement ridiculous things into software, from clients being just crazy or because of some strange contract clause. This is when discipline kicks in. Such situations shouldn't happen often, but if they are, that's when you should move on.

You don't need to get "in the zone" to get the job done. Just start by doing smaller pieces, put your headphones on. You could just ask why feature is being built, but I doubt knowing the reason will motivate you at all.

rockdoe 21 hours ago 0 replies      
Also I waste considerable amount of time trying to do things in the most readable, maintainable and simple way possible.

Is waste really the right word here?

They don't see how many hours I have wasted, how unmotivated I am. Instead they treat me as one of their most valued employees (oh the irony!).

"When given a vague, annoying feature to implement, very carefully considered approaches and built it in a surprisingly readable and maintainable way"

What you're experiencing isn't atypical - sometimes programming something sucks! Your employer values your ability to power through it and still get good results.

martin-adams 20 hours ago 1 reply      
I can identify a few times I've experienced having something vague and complex thing to work on. If I were in your situation I'd look at the following...

1. If I'm working on something vague, try to extract more information about it. It's very hard dealing with frequent changes on a complex code base. I'd try to find out who the stakeholders are, customer is, and most importantly, what they are trying to achieve that this serves.

2. Break it down into smaller tasks and measure myself against these. I want to leave work having completed something and not return to work knowing I didn't complete something.

3. Try bringing a colleague in to help you, such as talking through the existing code and bouncing ideas off them. The energy a colleague puts in can help with motivation.

4. Make sure there is an end to it and that it's not an open scope. You'll never finish something if the stakeholder doesn't know what they actually want.

5. If this looks like it's the norm and you're not happy, while you say you can't change jobs now, put the plan in motion for when you can. Think about your CV, learning new things, etc that help. When the time is right you want to be ready to jump.

6. Get enough sleep. I find I procrastinate more when I'm tired. Of course, eat healthily and exercise.

7. Try to remove other distractions, such as any other commitments at work as a 10 minute interruption can cost you an hour if you're not in the flow of the work.

scotty79 1 hour ago 0 replies      
What are you feeling doesn't have all that much to do with what you do and what perceived atrocities you are paid to commit.

I have same feelings and I notice that they stem more from being responsible (often self assumed internal responsibility) for the state of the system no one else cares about the state of.

You are just lonely with what you do. People love you for the effect of your work, but you see that they don't care about what you do. And it makes your work meaningless (or even detrimental) from your point of view.

You imagine you could take solace from the fact that you system would be architected beautifully without all this crap people who pay you make you put in there. But that's not true. Artists are generally unhappy. They get happy though appreciation, but not appreciation of common-folk that just don't get art. Only by appreciation of fellow artists.

Programming is a puzzle. It doesn't matter what puzzle you solve. Solving a puzzle of not increasing fragility of your system by adding crappy feature is also a (hard) puzzle that can be solved better or worse. Sometimes solving puzzle brings pleasure if your solution is especially good and programmers think that's the right and only way to get pleasure out of what they do. But that's rare. For each time solution itself brought you pleasure you should have at least 10 times where your solution brought you pleasure just because someone seen it, understood it and respected it.

tl;dr Make company hire more competent people that can share your burden.

binarymax 20 hours ago 1 reply      
It sounds like symptoms of burnout. I am not an expert but I have personally suffered from burnout before...and it took me a while to get over it. It sounds like you are additionally hampered due to being personally obligated.

As far as I know the only way to get over burnout is to stop. If you do not you will suffer more. I wish I had better news.

mnw21cam 20 hours ago 1 reply      
Yes, I left such a position to go and get a doctorate, because I was fed up with the dumbing-down of the codebase, the way that my colleagues wrote absolute undocumented spaghetti cruft, I had to keep fixing their bugs, and management were making some very dumb decisions about key features. As far as I know they are still going fine, which is surprising given I was the only one who could understand how whole subsystems worked, mainly because I knew how to write safe threaded code.

But, enough on that. A few years before then, I felt like you did, but I wasn't actually in that situation. There is a very real positive feedback loop in effect - you feel like you're doing a bad job, so work longer hours on it, end up taking longer, feeling like you have "wasted" hours, and feel worse about doing a bad job.

Believe your employers when they say you are doing great, otherwise you're likely to be heading down the burnout route which had me off sick for half a year. It's not every coder that has such high standards as you, and that is not something to be ashamed of. Be proud of the code that you have produced. Think to yourself "It's just as well I wrote this bit, because if X had, it would have been awful".

I know this sounds like extreme arrogance, however sometimes it is necessary for the purposes of regaining balance. It sounds like you are being a little too humble. If it gets too bad though, get some help from someone.

ChuckMcM 16 hours ago 0 replies      
Time to gently move on to something else. There is a secret they don't tell you early enough, there is no "prize/goal/win" at the end of your life, you just die. Your life is the sum total of all the time you spend with friends and family and colleagues. And every day of that life you spend fighting yourself is a day you will never get back, you will never be able to change, and you will never cherish.

Dealing with a rough situation that you have no external control over is one thing, dealing with a lousy job you do have control over it. Let go, walk out the door, and look for something more fulfilling.

ollieglass 19 hours ago 3 replies      
As a manager I've had to ask people to do work like this. I try to share it out as best as possible, so everyone's getting the least unpalatable tasks for them. I've also made myself available to talk through why it's required.

Those conversations have taken my team and I to interesting places. I've discussed brand positioning with developers, and shared spreadsheets of time-to-value models with designers, at times going far outside of people's skill sets and comfort zones. If someone insists a piece of work is a bad idea, I invite them to argue against it but insist that I need them to make their case rigorously. Sometime they'll convince me, sometimes they don't want to work through the reasoning, sometimes I'll try and develop their case and argue against myself. I want to reach a position where we either change the task, or we're both satisfied that the task should be done. If that's too hard, then I'm after a position where they at least have rational faith in my request and my reasoning, and are ok to do the work on trust.

I spend a lot of time on this, for a few reasons.

First, I don't want to ask anyone to do something meaningless. Burnout isn't caused by workload. Workload causes exhaustion. Burnout is caused by resentment. If my team resent their work, that's a deep and important problem. I'll tolerate a only very small amount of that, but I'll let everyone know I'm conscious of it, don't like it, and am working to get away from it. Burnout is toxic and damaging to people and the group as a whole.

And secondly, this kind of explanatory work strengthens everyone's investment in the team and the work. It strengthens the team's ability to think together. As people become better informed, all of our discussions become richer and more valuable. People enjoy the work more, and can relax and trust each other more, knowing that decisions are made in ways they can understand and agree with.

Finally this is also a litmus test for me. If a company won't let me in on it's decision making, dismisses my concerns as unimportant and tells me to just get on with something, they're indicating they don't value the team in the same way I do.

Rudism 19 hours ago 0 replies      
I'll throw my hat in with the folks who are saying to get out early before you find yourself in the midst of a truly debilitating burn-out.

That being said, I've worked a couple jobs in the past where I felt similarly to you--one of which I objected to much of what I was working on not only from a utility standpoint, but from a moral/ethical one as well. The only thing that kept me going was the social network I built of similar-minded coworkers. The ability to vent, joke, and commiserate with people who felt the same way I did at the company was extremely cathartic and served as my therapy. I don't think that's a good substitute for getting out and finding something else that you actually enjoy, however, which I eventually did when I realized how it was affecting my mood even outside of work.

loumf 21 hours ago 0 replies      
You can add meaning to your work by picking goals and accomplishing them. It doesn't matter what they are -- just as long as they can be accomplished and you know that you did.

Pick things that incidentally accomplish the assigned goal. For example,

1. Pick an amount of time, like 3 hours, repeat this cycle

2. make a branch

3. implement the feature in the fastest way you can

4. think about why this isn't acceptable

5. throw away the branch

6. do it again avoiding one thing that made the last one crappy

Also, weighing merits of different solutions and picking one is your job -- no need to feel bad about that. Come up with an assessment tool that will help you decide. Time-box decision making, but don't stop thinking about your solution -- just give it the appropriate amount of time, not unbounded.

Making progress is motivating. You want to end up at the same place but have the feeling of progress making throughout the process. I believe that it's possible you are taking the appropriate amount of time to do the work at hand, but you are getting into an anxiety/depression cycle because you can't get into a flow state.

neumann 4 hours ago 0 replies      
I stated a new job after living in Europe for 6 months for a change and immediately realised it is the same job I had back home, with the same destination. The mind numbing drain of the IT work juxtaposed with the non office lifestyle I had before taking the job and was literally destroying my soul. I hated it. I now joke that I became an alcoholic in 2 weeks, because I needed to be so blind drunk every night trying to justify how this will be good for my future. And the same as you, the worst part is that my new colleagues liked me and my managers lauded my on how fast I was, delivering great work. I spent the second weekend walking around trying to imagine other jobs, other people, the work culture. Eventually I decided that I could handle the work and push through it, but only if it guaranteed that I could hang out with interesting colleagues and work on interesting problems in the future. I went back my second week and tried to analyse what opportunities I would have given my current role and handed my resignation in after lunch. My boss was shocked, asked if I'd been poached or wanted to work on something else, but I had made up my mind and couldn't wait to try the next thing.

If that story doesn't bring any comfort because you have to stay, one approach is to be open about how you feel at a team meeting and see if anybody else is willing to timeshare the task. However, if this is the sort of task you will always face day-to-day, you will eventually have to decide if that's how you want to feel everyday.

makmanalp 16 hours ago 0 replies      
Mark Twain is rumored to have said something along the lines of "Eat your frog" (it may be apocryphal, but whatever: http://quoteinvestigator.com/2013/04/03/eat-frog/). The point is that you should get up in the morning and make a point of doing the worst, most boring, most disgusting task you can think of. And don't think too hard, just get it done. You can decide whether to improve on it later. Then, the rest of the day, you'll be freed of all the worry, wallowing and indecisiveness.

The other thing is that if they value you, it's probably for a reason. You're fulfilling their expectations and providing them with value. Take the compliment and go with it! http://en.wikipedia.org/wiki/Impostor_syndrome

snorkel 17 hours ago 0 replies      
Why would your managers fire you?

Your managers demanded a stupid feature, and you took long time implementing the stupid feature due to its complexity.

The only thing missing is you need to warn your managers before you start coding such as "This is going to take long time due to the complexity, many many weeks. Also I don't think it's right for the product either."

As long as expectations are clear beforehand, and you met those expectations, then no one is getting fired, and therefore you should relax and enjoy coding Easter Eggs into each shitty feature.

swalsh 20 hours ago 0 replies      
You might be burning out, and not even realize it. I've been in a similar situation. The unmotivated mindset leads to additional hours compounding the effects.

My suggestion go on a vacation, if it doesn't get better... leave. You say you're not in a position to leave... but you have to, because its not going to get any better. You're not really doing anyone a favor by burning yourself out for them.

gknoy 18 hours ago 0 replies      
> I am assigned a feature ... that I feel adds unnecessary complexity > [My] managers ... minds are already made up.

One of the things that I found helped me the most when dealing with features like this is to Let Go of Caring about that particular thing. We fight for what we believe is best, but when a customer, manager, or other higher-ranking stakeholder decides otherwise, it's out of our hands. You did your professional duty by arguing for the Better way (as you see it), but now it's time to make the new direction work.

UX team decides buttons should be the way that pisses you off the most? It's OK, you're not the main user.Manager decides that a "Calculate" button is better than auto-re-calculating? That's ok: the users are happier using that. (We can transition later.)They want an e-mail based workflow for approving things, rather than a web-based one? That's OK: these execs spend most of their time with their phones, and don't want to be logging into the website.

Often what we feel is "unnecessary complexity" is a workaround for a key use case that we didn't realize, or yields customer happiness because it's what they asked for. In that case, it's __necessary__ complexity, just like a bit of ugly code that patches a bug. Try looking at it from the perspective of the user or the manager, and really understand why they feel it is important -- quite often, it's addressing a weakness of your software product that you were not aware of, or which you felt was unimportant.

djeebus 20 hours ago 0 replies      
First and foremost, remember that you're writing code to bring in customers. Your codebase can be beautiful, pragmatic, semantic, and have 100% test coverage; if you don't have any customers, you don't have anything.

"Unnecessary complexity to the codebase"

It depends on what you mean by unnecessary. If you mean "won't bring in anymore customers", have that conversation with your managers. Not all of them are brilliant, and no one gets it right 100% of the time. If you can prove that the feature doesn't provide value, have that conversation with them.

On the other hand, if your boss ignores your input, and you're 1000% sure that there are other features that are more valuable to your business than the one in question, you can always push that one to the back and work on something that's more productive to the company. Depending on your political and professional circumstances, your boss may not notice or care, and their boss may forget about their red herring feature; you might be able to side-step the conversation altogether. This will only work if there's more than a few items on your plate that need to get done soon, and this feature can get pushed aside without delaying or blocking anyone else.

Bear in mind that if you go this route, you're putting yourself, your career, and your neck on the line. If it turns out that it wasn't a good idea and everyone agree with you, you'll look like a genius and gain some clout as a clairvoyant; if it turns out it was seriously necessary, you'll look like someone who pouts when they don't get their way. Either way your boss may also hold a grudge. I'm not saying it's the greatest way to go, just adding it as an option. It's helped me more than a few times in my career, but it's also frustrated my bosses a few times. Be gracious if you're shown wrong though, and quick to admit defeat if it's obvious you chose the wrong path, and you should be fine no matter what happens.

cognivore 18 hours ago 0 replies      
Wait, how long have you been programming? 'cause this is essentially the job description of every programmer I know.
falcolas 20 hours ago 1 reply      
Not a therapist, but have a look (or better, have a professional have a look) at ADHD-PI. What you've said describes perfectly how I feel at work a lot of the time, and it's what I was diagnosed with.

I seem to have a finite pool for motivating (or more accurately forcing) myself to do work. And when that pool is empty, it's off to HN or Reddit I go. Frustrating, and I still don't have a solution yet.

Hope this helps.

orky56 17 hours ago 0 replies      
It seems your internal struggle about your perceived inefficiency is burning you out. Rightfully so if you are wasting time on what's not particularly important. Do your managers value the quality of your work as much as you do? If not, do you think you'd be able to live with a slightly lower quality deliverable that frees you from the stress? Perhaps it would allow you to work on that feature you do want to work on.

We have a right to be happy. We should make decisions that satisfy the majority of our lives and where do what we love. For things not under our control, we still need to love what we do.

The easiest solution to your problem is creating discipline and decisiveness. When you give yourself more hours to work than you are expected to, you create a vacuum of inefficiency. You work unsustainably on things of little value. Instead I would force you to a) figure out your success criteria, b) what are those steps, c) prioritize those steps, and most importantly d) set time limits for each of those steps. The constraint of time will force you to get to the 80% quickest. I have written some articles on these exact problems and in the process of creating an app with those insights. Feel free to read more here: https://medium.com/produce-productivity/ee13c1600b6b

e12e 6 hours ago 0 replies      
> (I am not in a position to change jobs at the moment. I am helping my> BF's startup by doing this job.)

Quit. Get out. Work out a plan with your BF. It's no good to you or himif you destroy yourself on work you hate. Be happy and poor togetherrather than rich and dysfunctional apart.

I've never had to work (for a long time) in a job I truly hated, butI've felt the pain of working in a company with a poor managementculture -- it's taken me a long time to get back the joy of developmentsince I left. I now work in a completely different, low paying job --but it's better being payed less and not having to compromise your workevery day. I'll probably end up with another job in the industry (well,I hope, anyway!) -- but I'll be very careful in choosing where I apply-- unless I manage to make a living independently.

For you it sounds pretty much anything, anywhere would be an improvementthough...

I had a gf that worked in a job that crushed her (shedid the right thing, moved away, got certified as a padi instructor andnow lives with her husband and their child, both working as divinginstructors -- I'd say she made the right choice :).

Quitting might not mean that everything works out for you and yourcurrent BF -- but it sounds like staying will ensure that things willnot work out for you.

Anyway, good luck, whatever you end up doing...

neverminder 19 hours ago 1 reply      
I'm in a state that you've described pretty much every day. This is reality I'm afraid. Only the best of the best of us get to choose what they want to do, the rest are having a hard time surviving most of the time. I work in a software company and absolute majority of my coleagues are not interested in technology at all. Some of them sit on the same chairs for 15 years turning some ridiculous specs into useless code. As soon as the clock strikes 5 they get up from their chairs and proceed to the exit with unchanged zombie faces. I can swear I saw cows doing that somewhere in the countryside. I spend all the spare time I have to get as good as I can so that I could eventually not be ignored anymore and find a job that I would really like.
ScottBurson 16 hours ago 0 replies      
Also I waste considerable amount of time trying to do things in the most readable, maintainable and simple way possible. This means weighing merits of different solutions and choosing one. I am a really hesitant decision maker, resulting in more wasted hours.

This time is not entirely wasted. Even in the worst case -- where the code you are so carefully writing winds up not being used after all -- you are getting good practice in code craftsmanship. The next time you are faced with a decision similar to one you are making now, you will make it more easily: not only have you considered the issues before, but you know how one of the possibilities actually worked out. This is how one builds experience.

I usually find that writing code slowly and carefully is in fact the fastest way to get it done, because it minimizes debugging and rewriting. There are exceptions, such as exploratory programming, when you know you're going to throw the thing away anyway, and in small utilities built for personal use; and there are times when getting something working quickly is important (for a demo, for instance) even though you know you'll have to rewrite it. But these are exceptions. When you're implementing important functionality that's going to be in the product for the foreseeable future and that others will have to maintain and build on, the slow, careful way is best.

It seems to me the real problem here is that although your managers value your work, they don't listen to your architectural opinions. That's a serious problem. Maybe at some point you'll need to tell them, "if you want it done that way, you'll have to find somebody else to do it". Pick your battle carefully though -- it needs to be a case where their way is clearly and substantially suboptimal.

jejacks0n 9 hours ago 0 replies      
As a programmer and perfectionist with Impostor Syndrome (http://en.wikipedia.org/wiki/Impostor_syndrome), I've learned some ways to mitigate these frustrations and stress causing issues, and figured they might be worth sharing.

I think many of us know your pain, and as a consultant I'm exposed to it on a pretty regular basis. It takes some of the fun out of my job for sure, but I don't let it stress me out. First, we should always want to be passionate about the projects we work on, and I think this is a result of being passionate in general. Being passionate makes it enjoyable, and it allows you to bring your best work forward (which is rewarding), but in our industry we must always create a balance of cost and quality in the midst of a very complex process. To me, this all boils down to priorities and expectations.

When you take your own priorities and combine them with those of someone else, you will never be able to get them to mesh completely. Your priorities may be to make quality code, or to make it elegant or smart -- easily maintainable, extensible, etc. etc. These are things that make it fun, and programmers all know the benefits of these things. Clients, or your bosses, may not understand the importance of these things, or they may, and they may be willing to pay it down later, whatever the case may be, there are conflicting priorities at play and this is the thing you must mitigate to avoid stress.

For me, I must either disregard the external priorities entirely and do it the way I believe it "should be done", or I must disregard my priorities entirely and adopt the external priorities as my own. This may result in technical debt, or a slow progression in the future, or can raise the potential of bugs to be introduced, but these are not my concerns if they are not part of the external priorities.

It's important that you communicate all of my concerns up front, and if it doesn't impact the priorities that are communicated, you must trust that it's ok. If you don't trust that it will be ok, or think you will be negatively impacted by doing it the way you're being asked to do it, you should leave. A management(or client)/ employee relationship is built on trust, and if you don't have that trust you will be less happy than you could be.

buckbova 18 hours ago 0 replies      
When this happens to me I take the time to refactor all sorts of "dependencies" in the process. It ends up being a net positive. Yeah, I added some complexity where it wasn't needed in one area but I've removed some legacy code or redesigned an ugly hack.

They don't know this code is generally unrelated or don't complain to me about it. Only problem with this is I can now be opening up new bugs because these revisions aren't always fully QA'd.

doktrin 14 hours ago 0 replies      
I can't say how much this post speaks to me. I've felt similarly for the last month or so, or ever since I was assigned my current project. I don't have any actionable advice, so I'll just share my current situation.

Without going into details, in my case the task is implementing a terrible, hacky solution for a total edge case problem. It's something I will probably never do again in my entire career.

It's draining. It claws at my self esteem, as I sit in the office wasting literal hours during a day not doing anything. The output of the 4-5 hours of actual work I put in over the course of a week appear satisfactory to the stakeholders, which is mind blowing.

I know that the sooner I get this done, the sooner I can move onto something more interesting. However, just working on this particular task has sapped my will like nothing I've experienced before in my career as a developer.

CaRDiaK 19 hours ago 0 replies      
I get like this more often than I like to admit. I just break the entire thing down and write a multitude of check box's. Personally I'm using the bulletjournal technique (www.bulletjournal.com)

If I cant get the motivation then I need more abstraction. Abstract until you drop! You are naturally conditioned towards completing things and positivity. That's why people get badly addicted to games like farmville and such. You do something simple, you get something back, you do something else, you get something else. Really your just baking time. But the psychology of achieving is where the addiction comes from. It's not the game. It's the fulfilment from completing something. You need to see this progress visually so you feel like your moving.

It's not uncommon for me (when I'm really low and scraping the barrel) to have a task like for a job such as this;

[ ] Open Sublime[ ] Set-up folder structure[ ] Skim read spec[ ] note areas of concern for later [ ] Describe required method to self / colleague / rubber duck [ ] pseudo code initial method [ ] expand pseudo to code [ ] looks in spec for extra details [ ] list who needs to be contacted for further information[ ] email manager estimate[ ] take a break...

Now you can start to get "little wins" even on something you don't really agree with / want to do. The goal now becomes to tick those damn boxes, not to implement some feature you don't agree with. It might seem strange to tick a box for something as simple as opening a program, but if that's the level you need for your motivation then that's OK. The reality is these check box's are just mental milestones for progression. What's really important is your ticking them though. If you find yourself for hours on end not doing the list, the list is wrong somehow. Perhaps you don't have small enough tasks. Perhaps the tasks are too hi level and need to be split into sub tasks on those. Just tick, tick, tick.

Try it, it might work for you, it might not. This sure helped me though! Good luck.

lnanek2 15 hours ago 0 replies      
This is par for the course for programming. I usually just shrug, write it their way, and figure it is their money they are wasting. It's my job to mention better ways, but in the end, do it how I'm told. One work place in particular we often rewrite the same thing 3 times over. Sometimes it gets better, sometimes worse. On rare occasions, things do actually work out better their way if they knew a different product was coming down the line with different requirements, or a graphics designer pushed really hard for something that ended up making the app look cleaner or kept her engaged in the project even if it was a PITA for the programmers, etc.. So sometimes you'll discover it isn't so bad after you implement it. For the rest of those times, just grab a personal project, or hit a hackathon, and do it your way. Then don't grasp so hard on having it your way on work projects.
neeleshs 15 hours ago 0 replies      
Yes, I have been in these situations. For me, there was no getting in the zone - I used to spend a lot of time pushing back, trying to oversimplify a solution, or just freezing because I was not stimulated enough by the task at hand.

Ultimately, I chose the path of gritting my teeth and getting over it. During that phase, the code quality suffered a little, but I did not have to waste hours and hours of my life freezing on it. This phase lasted for a few months in some cases.

This is by no means a long term strategy - I accept it as part of any programmer's life and simply deal with it without being emotional about it as much as possible. I have been fortunate enough to get more exciting work than mundane stuff

Jean-Philipe 20 hours ago 0 replies      
Unless it's morally against my ideals, like violating privacy, stealing money from kids with phones, etc., I don't see that many problems with features I don't agree with. They want it, they pay, why not? Surely, if it was my own company or a team I'd value, then I'd hesitate to implement that feature and argue with everybody about it. But at some point, I leave the project and once I don't I own it anymore, I don't have problems with features I don't like. That is, unless they tell me /how/ to solve the task.

What helps me most is finding a technical challenge that makes the feature interesting and fun to implement. This shouldn't be too hard, if you are free to design the feature technically. Hope that little hack helps you getting things done.

flipped_bit 20 hours ago 0 replies      
Welcome to programming!

"Also I waste considerable amount of time trying to do things in the most readable, maintainable and simple way possible"

Motivation is tied to your attitude here as you are looking to do more 'interesting' work, whereas the task at hand looks boring. However the task at hand could be important for the company, so it is important to take trouble understand the big picture here. Most engineers (and I am one of them) are too self-centered to do this, and this can be debilitating.

It involves coming out of your shell, being proactive to talk to the business, product and other areas and see why these set of features that needs to get done has important implications.

At the end of the day, everything is about service. If you enhance your attitude to think more in a service-oriented way (it is not all about you), this changes your 'attitude profile', and in turn can boost your motivation factor by several orders. Suddenly what looked boring becomes very important. It may mean to be more pragmatic ( no ideological fixations on 'purity of code'), roll up your sleeves and get it done.

The valuable service to the customer, can lead into repeat business, which adds to the bottom line, and that later could mean more bonus for you, which you can use it up for that special time with your BF that you have been planning for a while.

scardine 19 hours ago 1 reply      
Don't get so emotionally attached to the job, it is not professional.

Sometimes I have the impression that the younger don't know how to take it like a man. There is a difference between complaining and whining, guess which one makes a man miserable...

Reality is hard to change, but perception is easy. You can really improve your happiness by reworking your perception.

Take some distance and look at the big picture: as an Employee, your main concern is if the pay check cashes. Everything else is ultimately a problem for the business owners (professionals are pragmatic, not cynic).

If your vision does not align with management and you happens to be right, it is a lot more sad for the company than for you personally. It is not your baby - wish them good luck, do your side of the deal as well as you can and don't suffer over it. You have your startup, your own baby to look after.

jhh 20 hours ago 0 replies      
I don't think that's specific to programming. It's what we all experience when we procrastinate.

Set yourself small very clear goals which you write down and where you commit yourself to finishing them in a given amount of time.

However, what your mind is telling you with the feelings you experience in my opinion is something along the lines of "Don't do this, it's not great".

So when you experience this very often, you need to change something in your life, or else you'll fall into depression because you have overcome your inner hesistation one time too often.

Don't take this as a scientifically accurate account, just my personal experience.

zawaideh 15 hours ago 0 replies      
Every job has some aspect of it that you will resent, and we've written about it on our blog (http://blog.sandglaz.com/how-to-do-tasks-you-simply-resent-d...).

I've been there before, and had some periods of time at a previous position where it felt like every minute of the job was a struggle. Getting things started was the most difficult for me, but once they were started, I could get them done.

If this job is just to pay the bills, and is not critical for your career, then:* Work on autopilot. Do what is required of you, and use some of your time on the job to learn things that would advance your career. For example, for each 4 hours worked, allow yourself an hour of learning something new to advance your career.* Find outside activities that you look forward to each day. Don't let the job define who you are. If you do, it could crush you.* Since they value you, ask to work reduced hours if possible. The less time you need to commit to the job, the less likely you are to burn out.

However, I can't help but recommend that you stay on the look-out for a job that brings you satisfaction and challenges you to do your best everyday.

stopachka 18 hours ago 0 replies      
The biggest thing you can do is to align yourself as working together with your managers. You are not a code monkey.

What does this mean?

Well, if they assign you a vague task, you get clearer about it, you ask them why they want to do it, what the objective is. A lot of the time, you could be wrong, and with their objective it makes sense. A lot of the time you'll be right. The best way to show it is to mock it up, and explain your thinking on why it's wrong.

The biggest killer is when you feel like a code monkey, it's usually not the work.

Sir_Cmpwn 20 hours ago 0 replies      
The question I thought this title was asking, and one I'd like to hear answered, is: "What do you do when you're asked to do work that you feel is unethical, as a developer?" For example, I was recently asked to build a system wherein users would be refunded actual money into "credits", and allow the administration to modify the value (1 credit != $1) arbituarily.
mmilano 14 hours ago 0 replies      
You're there by choice because your BF needs your help, yet you write about how you're surprised they won't fire you. That probably makes less sense than any feature request they have sent you.

It's a good question though.

After analyzing requests I have issues with, I will setup a meeting to discuss what I think are the issues, and propose a better solution.

If they push it off as "This is what the customer (or some other decision maker) wanted", I ask if we know if they have considered the issues and if we can propose alternatives.

If they still want to move forward, I ask or work with them to discover more detail about how it will be developed, and make sure they fully understand and explicitly acknowledge each piece I think is insane, irresponsible, or otherwise.

It usually doesn't get to that with good managers or clients. If it does, and it happens regularly, it's time to fire them and move on.

thisone 19 hours ago 0 replies      
Have I been in these situations? All the time. I care about the software we produce, so I have strong opinions about the development of it.

How do I handle it? I say my piece, I listen to the response from my boss. If he disagrees with my analysis, then I accept it, sit down and do the work to the best of my ability.

toxiczone 12 hours ago 0 replies      
I don't have any tips for you. I am stuck in the exact same situation. I'm actually thankful that you shared your story and several of the comments posted here. It made me feel less lonely with my situation.

The quitting part, moving on to a new job is not an option for me as I am convinced that it is the same exact situation in most businesses around my area.

I started working on some personal projects which helps a lot, but does not solve my problem.

I find myself pushing to the last minute before the task at hand is due. The extra rush of adrenaline from the looming deadline gives me the kick I need to overcome the meaningless work I am about to do...

Good luck.

MartinCron 19 hours ago 0 replies      
A very short mantra that has helped me: "Own what you own".

That is, if I see a project as someone else's, and my job is to help them do their best, I am happier than if I see a project as "mine" and other people are just screwing it up.

Like many important life lessons, I learned this one a day too late.

peter-row 11 hours ago 0 replies      
Grant me the serenity to accept the things I cannot change, courage to change the things I can, and wisdom to know the difference, right?

Your problem is not really knowing if you can change things. Or whether it's worthwhile to change things. Ultimately, you can't really know whether it's better to try to change things (communicating better, focusing more on design vs writing code faster, getting a new job), so you have to accept that.

So ... whatever you choose to do, you can't really beat yourself up over making a bad choice. It's a hard decision. Whether you stick with the job and try to change people's minds, do things the way you currently are (but without stressing so much), or find a new job is a difficult decision, but no choice really stands out as a clear winner (from the little you've said), so just pick one and go with it.

If you want a new job, go hit up linked-in.

If you want to do things the way you currently are, just accept that programmers "waste time" - there's a reason why competent programmers often only write 10 lines of code a day - it's not easy work.

You can try to communicate better, but really, some people just don't listen. Or maybe the managers don't have a choice - they either have managers or customers.

Finally, work harder on documenting / presenting your progress. It never hurts to write stuff up, and explain the decisions you're making or the technical reasons why progress is slow.

bdcravens 21 hours ago 1 reply      
Find something about the task that intrigues you, and build your motivation around that. A new gem, or new language feature, etc.

I've also found focusing on tests helps. Write as many tests as possible - focusing on getting those to pass. In theory, by the time you're done, the feature will be to.

veganarchocap 19 hours ago 2 replies      
Currently fighting that same problem, I'm more of a programmer, but I'm being placed on really, really fiddly UI 'features'.

I've made about 10 cups of tea, gone to the toilet about 6 times, read every tweet tweeted in the past 24 hours. Started three arguments, considered quitting and storming out... it's horrible and I'm glad you posted this because I've been going through exactly the same thing.

motters 17 hours ago 0 replies      
If I was in that situation I'd try to get a different job. I know how hard it is to do that in the current economy though, so failing that I'd just do the minimum needed and be uncompromising about working only the assigned hours so as to maximize my utility outside of that particular employment role.
sidcool 18 hours ago 1 reply      
I might be playing a devil's advocate here, but isn't our job as an employee to follow the direction and vision of the management? I am not asking you to sell your soul. It's just that sometimes in a career one might need to do work that one considers below his/her capability. My manager sometimes makes me fill up excel spreadsheets of who is working on what and for how many hours. It sucks, I hate it. But I have to do it.

I am not mocking your situation. If it's really bad for you, follow jblow's advice. But if it's a once in a while demotivation, swallow the pain and go on. You will reach greater heights and from there these menial times won't matter.

Just my two cents.

cheetos 17 hours ago 0 replies      
I was in the same position as you five years ago. I decided to leave and work on my own product. I worked 80-hour weeks for months and years, sacrificed my health and relationships, but the motivation of working on my own thing kept me going. It was incredible. Just a few months ago, the product was acquired, and I joined their team. And now I'm dealing with the same nonsense I was dealing with at the original job.

As developers, this problem isn't going away any time soon. Our options are basically to create our own thing and be our own boss so there is no management to frustrate us, or just give in, write the code, take the check, and enjoy our lives outside of work. It's that simple, but it's also quite liberating when you allow yourself to accept it.

JoeAltmaier 19 hours ago 0 replies      
Argue more compellingly. Your managers don't 'get to' make the decisions, they are responsible for making decisions, using the best information available. As their best programmer, you are the source of that information.

When I am asked to do what is not rational, I refuse and give argument. But to play this card you have to be willing to pick up your coat and leave, not as a threat but as a last resort.

You say you're stuck there, but the reasons are not yours, they are someone else's. Get over that and your options open up.

Havoc 17 hours ago 0 replies      
>>Have you been in such situations?

Similar - not coding though.

>>How do you get in the zone and get it done

I treat it as an optimization problem. Specifically because I have a problem with this too:

>>I waste considerable amount of time trying to do things in the most readable, maintainable and simple way possible

So I consciously aim to force that compromise between quality & time more towards the time side. That goes against my fundamental nature, but I've come to the conclusion that I must learn this...and as a result it feels more like a learning & personal development challenge rather than me doing something I don't want.

jheriko 20 hours ago 0 replies      
you have to make a choice imo. you can either suck it up and get on with it or flat refuse to do it. if you feel strongly enough then refuse to do work and quit the job... fulfil your contract to the minimum possible whilst giving them every legal reason possible to want to pay you to go away.

however i feel inclined to reserve that for serious problems, like weak leadership, oppressive or immoral behaviour etc. rather than poor features or undesirable work...

doing things you don't want to do is part of work. letting your leaders make their mistakes and learn from it is part of it too. i'm strongly inclined to say you just need to grow up a bit and get on with it... and be grateful that this is a 'problem' for you because its nothing compared to what most people consider to a problem in the workplace.

lberlin 16 hours ago 0 replies      
I can't comment on the situation of writing code for useless features for bad managers. That is a separate mental hurdle.

But I think all of us sometimes struggle with sitting down and getting things done. When we have a bad day, it's because we struggled making decisions and didn't end up accomplishing very much in our own eyes. We're our own harshest critics.

One thing that I've realized (actually just in the last few days) is that you simply feel 10 times better at the end of the day if you write a lot of code, knock of tasks on the to-do list, and generally "get things done".

Knowing that diving in and doing hard things will make you feel good makes a huge difference for me. It's like "Ok, this might suck a little getting started, but it's what will actually make me feel good and happy." It's really easy to sit and think, or read the internet, but it's not a good feeling at the end of the day.

As far as wasting time, whenever I'm struggling coming up with an approach or solution to a problem, I start writing it down. It usually doesn't get too far just in my head. But if I map it out, write it out, I get back to working on it much faster. An inefficient solution that works gets you much closer to the final product than struggling to find that "perfect" solution right off the bat. Make it work, then optimize.

tomohawk 19 hours ago 1 reply      
You can't care about the problem more than the customer, or you'll go crazy.

That is not to say you shouldn't be proud of the workmanship of what you build (not quite the same thing as being proud of the product).

Unless you have a position where you have design authority, stop worrying about the why, and focus on the workmanship. Impress those that do have this authority with how well you do with what you're given.

If you believe that you have insights into making a better end product, then learn to communicate those insights at the appropriate time (before they've made up their mind). Try to get ahead of the curve and propose your ideas.

marvin 20 hours ago 0 replies      
My suggestion: Major lifestyle change before you burn out and involuntarily go out of business for six months. Take control of this while you still can.
Nursie 9 hours ago 0 replies      
Express your concerns, do the work as well as you can, find another role.


tks2103 15 hours ago 0 replies      



Listen to music.

I never found the ability to rationalize a task I dislike. Instead, I find joy elsewhere and try to preserve that feeling as I tackle the task.

TheGunner 20 hours ago 0 replies      
I'm glad I'm not the only one that gets this sometimes.

I can completely identify with some of the points made, my particular frustration is working with appalling specifications that are 9 times out of 10 incorrect/incomplete quiet often leading to features being written multiple times. It's demoralizing. I have no particular solution, some will say just knuckle down but it's easier said than done, there are some tasks that just can't be made interesting. Unlike the OP I can change job and am, next week.

untog 19 hours ago 0 replies      
You should change jobs. I know you are trying to support your BF's startup (do you have equity in it?) but if he really cares about you he'll understand that you are on the brink of utterly burning out and need a change.
ebbv 20 hours ago 1 reply      
While I can 100% relate to your scenario, a big part of being a professional at any job (not just development) is being able to set aside your personal feelings and emotions and get your job done.

It's good that you are getting your job done, but it seems that you are still having issues setting aside your personal feelings and emotions. This is pretty normal for inexperienced developers. It's something you should focus on working on.

Here's how I developed that skill:

1) Remind myself that this is not my company or my project. It's someone else's. There's no reason for me to feel so personally invested in the project as a whole. If I've voiced my concerns and thoughts and been overruled, then my job is to get what is asked of me done to the best of my ability.

2) Have side projects that ARE personal and that I CAN be emotionally invested in. When you have a side project where you do call the shots and it's done 100% the way you want, you will find it is easier to not be so emotional over your day job.

3) Lastly, I have found that as I get more experienced and better at explaining myself, situations where managers overrule me and tell me to do something that is against my own recommendation become more and more rare (they'll still happen sometimes as long as someone above you can make unilateral decisions, so never expect it to fully go away.)

It's good that you've recognized your situation needs to change. Best of luck.

swframe 20 hours ago 0 replies      
1) Look at the problem a different way and try to find a way to make it more interesting, attractive and (most importantly) impressive. I had to find and fix a tedious problem so I wrote a visualization, defect detection and automatic correction tool. If you have the freedom, try solving it with a new language or technology that you've always wanted to learn.

2) Challenge yourself to finish the project as quickly as possible. If a realistic estimate is that the work will take 1 week then try to finish it in 1-2 days. If it is awful work, try to get it over as quickly as possible. It helps if you can find an existing solution that you can use as a starting point.

3) If you're paid hourly, you might consider outsourcing the problem to someone off of elance. You should reframe the problem so that it doesn't require you to share any info (source code etc) from your employer with the person you outsource to. Ideally, ask the person to create an open source project on github.

AnthonBerg 16 hours ago 0 replies      
Coffee and smoking make this much worse for me. (In fact when I don't smoke and drink coffee I don't have this problem - whereas when I do, I do.) Leaves me to conclude that it's based in anxiety.
JSeymourATL 18 hours ago 0 replies      
You've got a huge opportunity here to practice the art of Managing Up and Managing Oneself -- impacting your quality of life.

- Eliminate ambiguous requests. Can you probe for your managers stated/unstated objections & needs?

- What's the expected outcome? Are your recommendations easily understood and compelling? Is your business case sound?

- If the managers are happy with schlock work, can you ever be OK with that?

Ultimately, the power is yours.

cliveowen 20 hours ago 0 replies      
Frankly, it's just called programming. Programming is that pesky, resilient three-headed monster between your idea and the finished product, you have to give in and tame it.
m_coder 20 hours ago 0 replies      
It seems to me that this kind of situation is what some types of programmers try to escape by creating "amazing" code. This is the kind of code that you come back to a little while later and wonder what you were thinking when you wrote it.
aniro 15 hours ago 0 replies      
I just read this stern but lovely dirge in a novel last night..

"Do you wrestle with dreams?Do you contend with shadows?Do you move in a kind of sleep?Time has slipped away.Your life is stolen.You tarried with trifles,victim of your folly."

Life is short. It is time to see through the trap you have woven around yourself and move along. Just do it constructively so that in the end, EVERYONES interests will be better served.

lectrick 19 hours ago 0 replies      
Learn to write GOOD test suites. Once you realize that they are preserving your sanity, they will actually become fun to write.
jeffrwells 16 hours ago 0 replies      
The advice of burnout, changing jobs, etc is well covered already.

I have been doing sole crushing work for years in school. When you don't have a choice, the most useful thing for me to get started is the pomodoro method. Spend just 25 minutes of agonizing work and plan what you want to do for the 5 minute break. Usually after 1 or 2 cycles I actually get focused and motivated enough to make some progress.

gmarkov 20 hours ago 0 replies      
Consider the following - maybe your managers realize how vague task is, they also realize that you put a lot of pressure on yourself to make it, as I understand without strong support. I have been many times in same situation, usually when this happened first: I read "The humble programmer" :-),which reminds me that there is always something that I don't know, second: look again on the task and try to find its challenges, things that after completing them will make me a better programmer.
fenesiistvan 19 hours ago 0 replies      
Just search the internet for "get the shit work done" to find the answer for your problem. Really. You can find also some good practices.

I believe that most of our jobs can be divided to two parts:

-the fun part (interesting/fun/profitable work)

-the shit part (boring tasks/emails)

So, just get the shit work done when it needs to.

KhalPanda 20 hours ago 0 replies      
> What do you do when your entire being opposes the task at hand?

...anything other than the task at hand, obviously. :-)

bowlofpetunias 19 hours ago 0 replies      
For one thing, stop feeling guilty.

Whatever the reason you are feeling depressed with your current situation (already lots of good suggestions in this thread), feeling guilty about wasting time or cheating your managers is basically a form of inflicting self-harm on top of everything else.

You're getting paid for whatever you do, and apparently the people that pay you are happy with the results even if you aren't, so just put that aside and focus on what makes you happy.

rabino 20 hours ago 1 reply      
Open HN.

No, seriously. I go work somewhere where people can see my monitor. Helps me keep out of Facebook, etc.

pechay 20 hours ago 0 replies      
Don't let yourself get paralysed by indecision.
pasbesoin 17 hours ago 0 replies      
I spent a lot of time forcing myself to conform to others' wishes and will. Or to "work around" the problems, e.g. by staying late -- both to get some quiet time at work in which to concentrate, and to avoid some nasty neighbor issues at home.

Ultimately, I ended up at another definition of that word: "Spent".

I'm just saying...

iondream 19 hours ago 0 replies      
sounds like you might need therapy. I've had a similar problem and speaking to a therapist helped.
moron4hire 20 hours ago 1 reply      
Actually, you could probably quit and it wouldn't be as big of a deal as you expect. Most people over-estimate the risk of quitting. And most people are a lot more understanding than we give them credit for.

Every time I've reached that point that you have described, I've quit. It was the best thing for me every time, too. There is no point wasting your time doing something you don't want to do, especially if it's for someone you care about. You'll just do a shitty job and you don't want to dump shitty jobs on people you care about.

Is it just that the work is boring, or are you being asked to do unethical things? I mean, either way, I would quit, but if it's anything unethical I would urge you to run as fast as possible.

However, if it's just "boring" work, perhaps recasting it in a different light might help. Look at it as a game of seeing how many you can finish in a single week. Stop worrying about doing the "best" job on it. If the project is so boring to you, then you probably shouldn't care so much about the quality of it. Just dump out some garbage, get the checkboxes filled, see how much you can get away with. Make it a learning experience, a chance to test your boundaries.

ChristianMarks 14 hours ago 0 replies      
OP, do not listen to the moralizers who tell you that you need to exercise discipline and will power. Let them deplete their limited reserves of will power and see how far it gets them: you can change your environment so that you thrive in it. And that beats relying on will power and discipline by orders of magnitude. Quit early and often.
aaronem 20 hours ago 0 replies      
You have no power to choose the features you're assigned to implement. The most, then, for which you may reasonably be held responsible, even by yourself, is that you implement a bad idea in a good way. From the sound of it, you've got a lot of practice at that, and you've made it a habit. That being so, you have nothing for which to reproach yourself. Cultivate detachment, and relieve yourself of the need to try to take on more responsibility than your authority can support. This will free you to concentrate on what you can control, i.e., the quality of your implementation.

And, if you can't change jobs, then consider coming up with a side project. It doesn't have to be commercial, or even of particularly general application; even if you're just scratching an itch of your own, it'll give you scope to exercise the agency whose absence in your day job is giving you fits.

peterwwillis 19 hours ago 0 replies      
So there's this feature, and you don't like it. You don't want to write it. So your brain starts backing away from it like it's a burning ship. You begin to give yourself excuses. You subconsciously imagine it will take a long time or that it will be tedious. You are basically subconsciously convincing yourself that you will hate it, for any reason. And the less you want to do it, the harder it will be to make yourself do it.

But it's in your head. Using simple tricks you can change how your mind interprets the thing, and put yourself ina more receptive state to be able to accomplish the task without it seeming like a battle of wills.

First, put yourself in a good mood. Listen to your favorite music, eat or drink something pleasant, think about the fun things you'll be doing soon. But whatever you do, don't villify the work or think "I can't wait for this to be over!"; that's just more avoidance.

Once you're in a better mood, walk through the work in your head so you understand everything you need to do, and estimate the time it will take, but shorter. Try to find something positive about it to work towards, or something good or interesting you want to see come out of it. It could be something as simple as timing how long it takes for you to write five methods. To prevent further avoidance behavior, remove your watch and hide your clock. If you can, move to a quiet place where you can focus with the least distractions possible.

At the end of the day, if you really don't enjoy your job, you probably need a different one. But it's a mistake to confuse a bad job with an unwillingness to do work you don't agree with. Consider yourself their savior, and do it in the best way possible so that it minimizes their crappy decisions and emphasizes your skills. Imagine you are a woodworker; maybe you didn't want to build a cabinet today, but you're going to build the best god damn cabinet those jerks have ever seen.

(Also: consider if you will be with this BF in five years and whether wasting this part of your life will have been worth it. Kind of a crappy thing to imagine, but you can't spend your life doing things you don't like just because it makes someone else happy)

JohnOfEgypt 20 hours ago 0 replies      
Been there before, luckily just few times.- Put yourself in a good mood, music helps a lot, energizing beats, try Panjabi MC!- Slice the feature into small deliverable, hint: use index cards and a sharpie, yes, it's magic.- Finish one story (index card) at a time and have a tiny celebration (coffee, cookie, walk ...) every time you do that. DON'T skip the fun part.

Always think of yourself as an explorer collecting and connecting clues on a mysterious adventure!

Keep in mind, business drives programming, not the opposite. The codebase is only worthy as long as the product is selling (with the help of your managers).

itistoday2 18 hours ago 0 replies      
Get someone else to do it.
logfromblammo 16 hours ago 1 reply      
Just check out. Hang an "out to lunch" sign on your brain.

There is no solution within your reach for management that is ignorant with respect to your job. Stop putting forth extra effort that will ultimately be wasted. Clearly, you have discovered serendipitously that no one can tell the difference between you doing your job well and you doing your job poorly. So stop trying. Just relax and do the first thing that could possibly work. Really build up some technical debt. Management probably does not even know what that is.

That way, you can use the ever-increasing bogosity of the code base as an argument for being resource constrained. Lobby for junior employees that report directly to you. The end goal is to set yourself up for a job hop into a better position at a better company.

The one you are working for now can be definitively marked as a dead end. So milk them for cash and emotionally disengage. Get your spiritual fulfillment by investing your creative talent elsewhere. Meanwhile, coast until you can bail out safely.

That's about what I'm doing at my crappy, soul-crushing job.

skimmas 20 hours ago 0 replies      
you quit.
Why Online Communities Decay Over Time rs.io
122 points by adbge  15 hours ago   123 comments top 36
ignostic 14 hours ago 8 replies      
> "When communities grow to a certain size, people no longer expect to interact in the future, and thus are more likely to defect to be petty, mean, aggressive..."

This is one of the most off-putting things about HN in my opinion. It's better than bigger social sharing sites like Reddit in that tired jokes and posts with little thought are usually voted down to the bottom, but posts that poke holes in the original argument are often top comments.

A lot of technically-minded people take great pleasure in finding and fixing bugs. The problem is that finding errors in human interaction leads to pedantry, nitpicking, and cherry-picking. This is especially true as the community grows and interactions with all but the most visible people becomes rare. People have less incentive to give others the benefit of the doubt, and more incentive to find the problems and point them out.

I'm worried about our once-little community, but I don't know how to prevent the petty fault-finding from resurfacing in such a large and shifting community.

hendzen 14 hours ago 4 replies      
The real problem with online communities is that the people who are upvoted the most are the ones who spend the most time commenting.

Generally, very successful people don't spend large amounts of their time commenting on online forums. In this manner, the biggest 'losers' in the real world, with the most time to waste on the internet, become the biggest 'winners' in the online community.

The end result is that the cultural norms of the online community end up being set by people who are the least qualified to create or enforce any kind of healthy norm.

edit: just wanted to say that I recall reading something similar on a blog a long time ago, although I cannot remember the name of the writer.

swombat 10 hours ago 4 replies      
Whilst I agree with the general thesis of the article, this paragraph seemed very distasteful to me:

> There is no reason to trust people you will not interact with again in the future. Theres no incentive not to defect. At the end of my last relationship, our interactions became significantly less pleasant as it became more obvious that it was over I would not have to deal with this person in the future, so why bother going through the motions of kindness?

Without meaning to be rude or make an attack on the author's character, the author does sound like a bit of an asshole there.

How about being nice to people because you're a nice person, rather than because you want to get something out of it? If you could murder someone and get away with it, would you? I wouldn't, because in abhor the idea of killing people. Similarly, I would act decently towards another human being even when I have no incentive to do so, simply because I am a decent human being and I don't like the idea of causing unnecessary pain and suffering to others.

As they say, a gentleman remains a gentleman even in the gutter. If you need to be surrounded by other decent human beings to be decent, if being surrounded by jerks automatically reverts you to jerk behaviour, perhaps you're not a decent human being after all, only a chameleon sort of person who will do whatever they think they can get away with.

I hope a majority of people here would behave the same way as me - decently, irrespective of the surroundings and likelihood of "getting caught". And there's the rub I guess - a community composed mostly of decent human beings will be less vulnerable to this effect than one composed mostly of selfish people who only act decently when they can see a tangible payoff.

That may be another path to survival: find the assholes and keep them out, and then perhaps you can deal with growth more easily.

incision 13 hours ago 0 replies      
>'The probability that I will interact with any one user ever again on a site like YouTube tends toward zero. I have no real incentive to be polite or to put much effort into anything I say.'

My sense of a terrible 'community' like YouTube is a bit different. I've always had the impression it's more about performing and the size of the audience - more about votes and reactions than expected interactions.

No matter how nasty or inane your opinions are, you can share them on a related YouTube video and receive anonymous validation from other people who agree with you. When you're feeling bad about yourself and want to lash out, you can post something vile and get a response.

I believe this was a source of a lot of complaints about changes to the comment system. It hurt ones ability to receive instant gratification by dropping a comment on the top of the stack.

In the bat analogy, upvotes/karma are a sort of secondary 'junk food' blood supply that costs the giver nothing and some bats don't care for it as they prefer real sustenance but others are addicted to it. The 'community' ends up as a circus of votefiends bludgeoning each other for another hit.

malloreon 11 hours ago 0 replies      
SomethingAwful is consistently high quality and has been for the 7.5 years since I discovered it. 190,000 users now, I think 90K in 2006.

The secrets seem to be

a) charging people $10 one time to join/post and view more than a few pages of a particular thread

b) segmenting into different subforums - over time they become different communities within SA that have their own quirks.

c) ruthless moderation that can and often does lead to posting probations and bans (requiring another $10 to reverse)

In particular, the politics/history, sports, video games, and arts discussions are very good.

tunesmith 13 hours ago 0 replies      
I forget the web page - I think from another HN reader - but they made the point that these challenges are the exact challenges that distributed computing wrestles with. For any problem set that a lot of resources are working with, how do you properly surface the most valuable results, how do you combine and summarize them, etc. There are a lot of discussion community sites that just try to pull in their own homegrown algorithms ("let's have a moderator!") but I suspect a lot of these experiences could be improved by reading up on distributed computing algorithms.
gedrap 11 hours ago 1 reply      
Regarding to HN, problem is that social proof takes a huge part in determining what gets on the front page.

People check /new, see that some post already has 1 or 2 upvotes, checks it instead of some without any upvotes. The upvoted one gets even more upvotes (because more people are reading it), and it's on the homepage.

A bunch of my submissions made the homepage and from what I've noticed, the threshold is about 7-10 upvotes in the first hour. So can we fairly say that a dozen of people decide what's on the homepage? Maybe.

My suggestion: don't show upvotes in /new for 30mins after submission? As a trade off, a little time might get wasted on low quality submissions but maybe there would be more better quality submissions on the front page.

jere 13 hours ago 4 replies      
Daydreaming here... so how about a community that funnels users into buckets automatically? Think of an HN where you only discuss an article with a pool of ~500 people instead of 80,000. When new users join, they're distributed to the smallest groups. Nobody is overwhelmed with an influx of noobs. And you might actually be able to start remembering the names of the active people in your group. Perhaps you could see top comments from other groups, but not interact with them directly.
ChuckMcM 13 hours ago 2 replies      
It is hard to appreciate the change in tenor the network experienced when AOL gave its users access to Usenet. I have never considered it in the context of the prisoner's dilemma as a one shot exercise but that certainly has an intuitive appeal.

We see it here on HN of course, someone creates a new user account, makes a single low value snarky comment and then off to oblivion.

An interesting counter example is twitter, which I've seen that as people become more invested in the reputation of their 'handle' the less ill considered their tweets seem to become. When that isn't the case that is also interesting.

jasode 14 hours ago 1 reply      
While the blog article mentions interesting points, I don't think its insights have much to do with technical communities such as Hacker News or Stackoverflow.

HN is mostly very civilized. (Granted, some of that is due to moderators.) So the blog's bullet point about "trust" devalued because of one-time transactions does not seem relevant. It's relevant for reddit/atheism but not HN.

To me, the problem with HN, SO, etc is the voice of experts getting drowned out by amateurs. The growth rate of new amateurs joining will always outpace new experts and each year the signal-to-noise gets worse. I haven't seen a clever self-governing mechanism that addresses this social dynamic. The upvote/downvote/karma history is not enough to solve it.

probablyfiction 14 hours ago 3 replies      
Another thing that seems to be the case is that new members are unable to become assimilated into existing culture because the entrenched users quickly become the minority and are unable to enforce cultural norms. The culture is co-opted by the newcomers.
TheEzEzz 7 hours ago 1 reply      
A potential solution:

Implement a comment recommendation system. Based on comments you've liked and disliked, the system will push comments you would like to the top.

The quality of the community you see is then completely up to you. If you like poop jokes, you'll see poop jokes. If you like pedantic attacks, you'll see pedantic attacks. And if you like insightful comments, you'll see insightful comments. As you stabilize on a community you like, you can start responding to their comments, and then they too will have the chance to vote on your comments. If they like you they'll start seeing more of you, and a micro-community will evolve naturally for free.

netcan 13 hours ago 0 replies      
I think part of the reason it that the communities finish talking about whatever it is they are talking about. When I started reading HN, a lot of the ideas that are common fare were new and interesting. Now, some are borderline cliche.
tensafefrogs 6 hours ago 0 replies      
I wrote a post a while back about how the design of your social tools can help solve this problem:


If you look at sites that are based on following users or categories they are able to scale to much larger sizes without breaking down.

jacquesm 13 hours ago 1 reply      
It took a while to find, this old kuro5hin article is a good read on the subject:


Titled "Attacked from within" it details the problems in scaling a community and community life-cycle very eloquently.

wmf 10 hours ago 0 replies      
I found this recent article about online harassment and moderation much more optimistic: http://www.wired.com/2014/05/fighting-online-harassment/ (Primary source: http://gdcvault.com/play/1017940/The-Science-Behind-Shaping-... ) Even with 67 million users, the developers of League of Legends have apparently reduced misbehavior substantially using fairly simple (although non-obvious) techniques.
analog31 6 hours ago 0 replies      
>>> These locusts were AOL users. In September of 1993, the company granted Usenet access to their entire user base, which triggered an unending deluge of noobs into the Usenet community.

Amusingly, I joined AOL in September of 1993. It was not long after I graduated and lost my university log-in, along with the e-mail address that came with it.

I chose AOL for a simple reason: I could dial up anywhere in the country and keep the same e-mail address no matter where I lived. AOL also greatly simplified the process of using the Internet. I ran a small business via my AOL address.

Each update to AOL software came via some promotion or other -- an insert in a magazine, or even a pile of AOL disks at the supermarket. At some point it became possible for an AOL user to access the Internet without the AOL software, e.g., by using mainstream e-mail and browser software.

socrates1998 5 hours ago 0 replies      
I am not sure if this has ever been done, but what if an online community grew to a certain size and then closed it's doors to new members?

Could that community avoid the pitfalls of what the article is describing?

I could see a place where enrollment closes at a certain point, then reopens once a person leaves or becomes inactive.

I would actually like to see if this would work.

jds375 12 hours ago 1 reply      
Great article. That being said, seeing some proposed solutions to this problem would have been nice. One strategy that Reddit employs quite well is the Subreddit system. This creates smaller sub-communities that aren't victims of the 'large' community problem. Of course, overtime a subreddit becomes a default or gets too many subscribers... but it's still a decent solution.

I think it'll be interesting to see how growth affects Hacker News. I'm still very impressed with the quality of the articles and comments (yes, there are some bad ones here and there, but compared to most sites HN is excellent)... I think the downvote threshold for HN has actually been quite successful in encouraging people to post useful comments. It gives a goal for people with low-karma to strive for, thus encouraging them to post better content. I think a more extensive reward system like this has potential for creating a better community.

known 1 hour ago 0 replies      
I'd say online communities "diverse", not diverge. E.g. http://i.imgur.com/4sftcoo.jpg
andylei 14 hours ago 2 replies      
> I have no real incentive to be polite or to put much effort into anything I say. Even my reputation will remain intact whos going to witness it?

> When communities grow to a certain size, people no longer expect to interact in the future, and thus are more likely to defect to be petty, mean, aggressive, and to put little effort into their contributions.

If this is true, then HN should put users karma score next to their username when they post.

jusben1369 13 hours ago 3 replies      
"Decay" is a loaded word reflecting the author's bias. All communities change over time as they grow. Their culture then reflects the users. We may not like that community but clearly a lot of people do (after all these are the largest sub reddits we're talking about right?)

This is sort of the "This neighborhood was so great until all the yuppy/hipsters moved in and the art stores were replaced with coffee shops serving $6 lattes" argument.

ChrisNorstrom 12 hours ago 0 replies      
This fits perfect with what PG said in a Tech Crunch Interview in 2013 http://techcrunch.com/2013/05/18/the-evolution-of-hacker-new...

"[Paul Graham] wanted to make Hacker News a place to recreate the way Reddit felt in the good old days"

"He explains that [Hacker News] was community of insiders in the hacker world, and it has gradually been getting diluted."

That is what I spend all my time thinking about, he says.

He worries that Hacker News will become what he calls an old crumbling building.

The community has been in a perpetual but slow decline because the site is growing, he says.

cjslep 13 hours ago 0 replies      
I agree with the general premise. However, I also believe there's probably a way to shift the threshold depending on the culture and community.

When I was asked to be a moderator of brand-new (at the time) forums for a very popular Minecraft mod pack, it was being flooded with quite a large volume of people who would not adhere to some basic rules. The rules were quite simple and straightforward, but that didn't stop me and the owners of the site from straight banning large numbers of people.

The pure shock of forcing the "Yes we will see you again, you are not anonymous, and your reputation matters" into the system caused a lot less posting activity to take place on the forums, but the quality of each post was well worth it. A lot of people got banned trying (and failing) to wrap their brains around this concept.

The end result was I actually felt proud of helping shape an online community that was large, effective, and constructive. As it grew, so did the number of other moderators and that "critical point" kept shifting right, so we could have more users and still maintain a quality community. However, this requires a very proactive approach.

YarnBall 12 hours ago 1 reply      
I agree with the author's thesis but I think other reasons apply to other communities.

Ideally, you would like to ensure the "greatest good for the greatest number" in a community. Consequently, good or happiness in a community is measured according to the preferences of the majority sometimes to the detriment of the minority. That is why, relative to the number of more intellectually engaging posts, you will see more LOLCats and animated gifs on the front page of Reddit. As somebody on here mentioned many people go on the internet for leisure, and intelligent/civilized discourse for them does not fall under that header.

As far as I know, HN was started to foster startups-tech community and I am optimistic because HN's subject matter is specific enough and the community concerned with this subject matter is small enough, for it not to devolve into another Reddit (meaning no offense to Reddit, I still visit there).

suby 13 hours ago 0 replies      
The author hasn't been to reddit in years if he thinks that r/atheism and r/politics are still default subreddits.
slvv 13 hours ago 1 reply      
> "When communities grow to a certain size, people no longer expect to interact in the future, and thus are more likely to defect to be petty, mean, aggressive..."

Wow. I can't say whether this is true or not, but how depressing. Instead of counting on this behaviour, what if we tried to change it? Kindness, respect, and general "give the other person the benefit of the doubt" attitudes could make a huge difference. I just can't get around the idea that not interacting with the same person means you can not care how you treat them... that's crazy.

steve_benjamins 12 hours ago 0 replies      
The solution (in so far as there is a solution) is to cultivate a culture. Large communities remain civil through culture.

Last week I wrote a post called "How to Cultivate Culture" that received a good amount of attention (outside of Hacker News) about this: http://www.sitebuilderreport.com/blog/6-ways-to-cultivate-cu...

gojomo 4 hours ago 0 replies      
Some other influential writing on this subject:

Clay Shirky: "A Group Is Its Own Worst Enemy"http://www.shirky.com/writings/herecomeseverybody/group_enem...

Xianhang Zhang: "The Evaporative Cooling Effect"http://blog.bumblebeelabs.com/social-software-sundays-2-the-...

thereckoning 2 hours ago 0 replies      
There's a simpler explanation. The average person is not especially bright, funny, or articulate. The larger a community, the more it regresses to the mean.
adventured 9 hours ago 0 replies      
"The development of trust and kindness between two people depends on the probability that they will interact in the future."

Not true. Communities can - and should - use other incentive systems to encourage good behavior. 1) Point systems 2) Public shaming 3) bans / hell bans / abuse flagging / suspensions 4) various combinations

The threat of taking things from people that they've earned, even if it's as silly as 'fake internet points,' can be an extremely powerful enforcer of behavior, given the system is set up properly.

bowlofpetunias 12 hours ago 0 replies      
Maybe it's just a lot simpler: size and success attracts douchebags and morons. It's not limited to online communities. Cities, sports teams, rock bands, movies, you name it, you see it happen again and again. Success attracts the kind of people who act like a-holes in any context.

And yes, I'm aware of the great irony of posting this rather superficial comment in this thread. But I'm not sure if I'm actually wrong...

orionblastar 8 hours ago 0 replies      
Two online communities that I had to leave because they became really mean and decayed over time was IWETHEY and KURO5HIN.

Even Slashdot decayed and when Dice bought them out it was more about commercial stuff and less about technology and making cool stuff.

Reddit is over-run with trolls on various sub-reddits they started out in /r/atheism as fake atheists trolling people and then spread to other sub-reddits. Mostly 12 year old kids who think it is funny to grief people.

hellbreakslose 13 hours ago 1 reply      
Nice post, Well thats the cycle of life. Everything has an expiry date!
api 10 hours ago 0 replies      
I really like this for not defaulting to the standard, lazy, fallacy-of-self-exclusion explanation of "most people are dumb."

The same effect seems to occur with large social movements. I've noted for many years that once anything becomes a "movement," it becomes shallow, trendy, and dishonest... even if the original seed of the movement had a good point in the beginning. Once it becomes big there is no longer any incentive for people not to abuse the movement as a marketing gimmick or a source of political power.

ChrisNorstrom 14 hours ago 3 replies      
This is the most valuable article I've read on HN all week. The fact that it's not on the front page is dissapointing. EDIT: It IS on the front page. Hurray!

Personally I feel HN itself is having this very problem with its community right now. It's not only gotten too big but user "Probablyfiction" nailed it on the head. Too many newcomers destroy the existing culture instead of assimilating into it. The more I read about immigration problems in the USA, Europe (mass influx of Arab immigrants), Africa (mass influx of Chinese immigrants), Isreal (influx of African refugees) the more I notice this same assimilation problem exists in real offline communities as well. [New] Growth (too much too fast) can hurt communities by destroying the original characteristics, culture, and qualities that made them successful in the first place. Time and moderation needs to be given to ensure the new follows the rules of the old when applicable.

Stay Classy Makerbot openbeamusa.com
184 points by thealphanerd  13 hours ago   56 comments top 12
noonespecial 7 hours ago 0 replies      
Complaints about the author, methods, prior art etc aside... I've got a lathe here from the late 80's that has CNC. It has tool depth sensing via electrical contact and a bed leveling algorithm. Taking stuff that has existed for 30 years that anyone with community college level machine shop training knows about, tacking "with the 3d printerz!1!!" on and running to the patent office is a giant dick move on the same level as all of the "on the intertubes" patents we've been dealing with.

They may have great intentions. Who knows, but boy-howdy if it walks like a troll...

scoofy 10 hours ago 0 replies      
Shameless plug:

Bld3r.com co-founder here.

I started working on bld3r, because i was unsatisfied with thingiverse (owned by makerbot/stratasys). I'd like to see the community put a stop to a potential facebook-like hold on 3D model sharing learning since we are learning makerbot is very rapidly changing their culture from open hardware cultural icons, to an anti-social corporate subsidiary.

I'll hit some fairly basic bullet points:

* We are a functional 3D printing repo and social network, and in the top 3 alternatives to thingiverse.

* We on github (AGPL), and i'd happily accept pull requests: https://github.com/bld3r/bld3r

* We are built on google's app engine, so you can take our site and use it as a base for building your own social network and launching it in a couple hours or a couple of days.

* One major feature is that you do not have to upload 3d models to us. You can if you want, but you don't have to. We'd actually prefer if people host files elsewhere (via dropbox, github, tpb, etc., even thingiverse). You can then submit a link to your object and it'll appear on our front page crowd-sourced with reddit-style voting.

* We do not sell 3d printers, so if you do, we'd love to give you some free advertising while we grow our site. We are currently working on a contest feature, so within a month, if you want to host a contest, you can design what you want on our site, and launch it to promote your printers (Lulzbot was the first of such manufactures to do so, and we are very grateful to them for the notable bump in traffic and name recognition).

There are many more things we do to prevent even ourselves from exploiting a network effect in 3D repos.

We are not without our warts right now (this is neither of our main occupations, it's just a labor of love to keep 3D printing open), but please give the site a visit if you're interested. I live in SF and my co-founder lives NYC. We'd both be happy to get a beer and talk about the site if anyone is interested in using it as a base for another open social network.


bryans 12 hours ago 6 replies      
The author claims prior art based on things that were published in 2013, but Makerbot filed their provisional application on October 29, 2012. This also explains why the patent was filed October 29 of 2013, as that would be the last date they can file.

I don't really care if you hate the patent system, or hate that somebody wants to treat 3D printing as a traditional business instead of altruistically open sourcing all the things. To publicly lambaste a competitor through disinformation just because they don't share your personal values is about as classless as it gets. This is open-and-shut witch-hunt territory.

klunger 1 hour ago 0 replies      
OK, a few things.

1. Patents are very VERY specific. Someone can have a patent for Thing A and you can make Thing B that is quite similar to Thing A, with just a few minor adjustments, and it is not an infringement. This is why there are tons of patents out there that describe pretty much the same thing, with very minute differences.

The takeaway is: just because Makerbot / Stratasys is getting a patent on autoleveling does not mean no one else can do autoleveling. It just means they cannot do it the exact same way.

2. A patent troll is an entity that has a patent portfolio, but has no actual products related to anything in that portfolio. They make their money by suing people (or bullying little guys into settling out of court).

Makerbot / Stratasys makes 3D printers. It is not trolling for them to file patents related to 3D printing technology. You might think the patent system is broken or feel that patent filing is not in the spirit of open source hardware (valid points which I personally share), but it is not trolling.

So, let's not undermine the legitimacy of those criticisms by conflating one particular (arguably douchey) business strategy with patent trolling (another, unarguably douchey strategy).

sitkack 7 hours ago 0 replies      
This whole thing is stupid. Leveling is a problem, "autoing" it is not patent worthy. Lots of things have some solution applied to them to "auto". This is a case of patenting a problem, not the solution. And if the solution (sensors and actuators) have been applied elsewhere, then there isn't anything patentable here. Move on, solve harder problems.

The Stewart Platform [0] was invented back in the early 50s, I could apply an SP to any leveling problem. I shouldn't be able to patent leveling anything at this point. Leveling is a solved problem. Putting a computer in a feedback loop is a solved problem, one should not be able to patent feedback loops or computers or trivial applications of both.

[0] http://en.wikipedia.org/wiki/Stewart_platform

rubiquity 12 hours ago 2 replies      
I'm completely ignorant here, but when I read a "slew of patents" have been filed, two things come to mind:

1. A startup that is trying to raise some funding is filing the patents as a requisite of an investor (it sucks, but it's part of the startup/investor game)

2. A startup that was acquired by a larger company and the acquirer is trying to protect its shiny new purchase

I noticed Makerbot was acquired by Stratasys last year so point #2 seems likely. These filings are likely to be more on the behalf of Stratasys than Makerbot. Again, I'm not saying it's right, just saying it isn't surprising.

bernardom 12 hours ago 3 replies      
Business reality: patent trolls exist.

Rational strategy: patent things that you think you have no business patenting. Use for defensive purposes.

If Makerbot starts using such patents offensively, then anger is warranted. Not before.

e_modad 10 hours ago 0 replies      
Terence is doing something vitally important. 3D printing is likely to be a "next big thing" and we have a duty to ensure the technology stays as open as possible.

As a community, we're lucky that ideas like 'open source' and 'freedom to tinker' are highly valued. Each of us has benefited tremendously from that commitment. But it wasn't an accident. Hackers, scientists and engineers have been fighting mini-battles over those ideas since the days of the 60s counter-culture.

When I stop and think about it, I feel a lot of gratitude and respect for our colleagues who set the precedent for an open Internet so early on. We have an obligation to pay that precedent forward so that technologies like 3D printing and DIY Bio can develop into vibrant ecosystems like the Internet.

the_watcher 10 hours ago 2 replies      
Has MakerBot acted on any of these patents? If they are acquiring them defensively (a good move if they plan on working on them, lest a patent troll file the patent), I don't have a big problem with this. Of course, assuming altruistic motives is naive, I just wonder what their motives are.
higherpurpose 12 hours ago 2 replies      
Does prior art, even backed by concrete proof, still matter now that US also has a "First to file" patent system?
jamesdullaghan 11 hours ago 1 reply      
Does anyone care to explain to me why there is no patent service that takes care of this process for open projects for protection of said projects? A patent would be granted under an open entity, but never used, unless a company used the patent for closed source. It seems that this could be a great way to fund open source projects. Reverse patent trolling.
lotsofmangos 12 hours ago 2 replies      
The reprap ormerod is using an infra-red sensor for bed levelling, so no contact force. http://uk.rs-online.com/web/p/3d-printers/7952333/

There was a nice bed levelling project I saw on hackaday a couple of years ago that was cool as well, I think their method isn't covered by this patent either - http://hackaday.com/2012/04/23/automated-bed-leveling-with-o...

Also, the idea of bed leveling using contact force and other methods was discussed in the reprap forums at least as far back as January 2008 - http://forums.reprap.org/read.php?1,8028

       cached 24 May 2014 10:02:01 GMT