skysight-inc/HackerNews huggingface dataset:
Perhaps I haven't made my position clear enough. I don't disagree that users are of value to Facebook, and that Facebook has an incentive to maximize that value. What I disagree with is the action that I see taken by users who are not satisfied with the exchange of value that is going on, particularly if those users are businesses.

I can understand people who use Facebook personally feeling overwhelmed when its features keep changing, though I still think they ought to realize that they don't own their Facebook pages or the content on them, and talk and act accordingly.

But a business using Facebook for PR, such as the OP of this thread, ought to understand that they are taking advantage of a service, and if the cost of using that service becomes greater than the benefit, they should look for another source for that service.
I think most people that enjoy programming would love to continue to do so until retirement.

When people ask this question, what they are actually asking is, "Do people want to hire a 50 year old programmer?"

For a lot of the HN set, I bet they would be unsure about hiring someone of such an age; and that's unfortunate.

For many careers, age is seen as wisdom. Lawyers, mathematicians, judges, accountants, politicians, scientists, MBAs, real-estate agents, bankers, journalists, doctors... In all of these fields, all else being equal, you'd probably hire a 50 year old over a 20 year old.

Programmers seem to have more of a shelf life on the open market, along with models, actors, musicians, and laborers. I think many 30 and 40-something programmers sense this and start to wonder if they need a backup plan to get to retirement (which in the US is actually often mid-60s).
Monotype: live usb for distraction-free writing
I think this is an insightful post that is equally applicable to people in their 20s (such as myself). I've been asking myself the same question of what do I want to do in the next couple of years of post-graduation. But I'm at odds with myself over the prospect of maintaining a steady lifestyle and income by seeking well-paying jobs in the tech industry, jumping head-first into the startup world, or just chasing down other lifelong dreams that have nothing to do with the world of tech or engineering.

Ultimately, it's a matter of what job gives you those three benefits (mastery, autonomy, and purpose as the article points out). Will working at Google after graduation satisfy that point? I'm not sure. Will doing a startup? I can't say as I haven't done one. Will working in some other industry do that?

I struggle to figure out what to do with the next couple of years of my life. So I'm keen to listen to what folks have to say about what they plan to do in the long-term (15-30 years out), as well as the short-to-middle term (6 months, 2 years, 5 years, etc).
Christensen (disruption guy) notes that one of several barriers to large companies leading with a disruptive technology is that they don't get excited by small wins. Disruptive technologies start small.

He suggests they spin out a little company to work on the disruption: one of the several reasons is that a little company can get excited by small wins.

As a tiny startup, with no money, you are already blessed with this. Ramen-profitability is a mythical dream; $1,000 incomprehensible riches; and a $5 sale - someone wants what you created! They'll actually pay, like, money, for it! - is a transcendental achievement.

Meanwhile, Google,Apple,Oracle,Microsoft notate their spreadsheets in millions. Less-than-a-million is a proverbial rounding-error, literally. They are incapable of growing something that starts that small. That's why they spend millions each year acquiring startups; until they eventually get eclipsed by one they didn't or couldn't buy.

Stay hungry.
There was another article on HN recently along the same lines I think. Do something else? I thought becoming a screenwriter would be cool. I've got some great titles written down. Still I write the code for my sites sometimes help friends and yes still write code for the man because it's more fun than dealing with IRS rules for running my own business (I tried that already).
I'm 53, and I program all day, by choice. I like to think that my code is getting better, too.

Reminds me of my mentor when I got my first job at Boeing. He was in his 50's at the time, and loved every minute designing systems for airliners. He eventually retired, and still freelanced doing mechanical design work. It's what he was born to do, and he was damned good at it.
Gang Used 3D Printers for ATM Skimmers (2011)
Absolutely, why would you ever do this without testing?
Are They Rivals?
Probably as soon as certificate validation is more reliable.

I can see turning off validation for stuff where you're sending non-important data to a third party which may or may not be encrypted (asyncronous API pings where you say "something happened, ask us [securely] what it was") - but that's only OK if you're just as willing to send the info over an http connection as well.

If you turn off cert validation in your app to your own API, something is seriously wrong. Unfortunately, it often comes down to simply buying a more expensive certificate that's signed by a root CA with wider trust. Given spending $50 or CURLOPT_SSL_VERIFYPEER=false, a scary number of people will choose the latter.

These libraries should provide an easy way to specify an additional root CA when validating the chain of trust - that way you could even use a self-signed cert without disabling the chain of trust check, all you'd have to do is embed your self-signing public key.

Probably more important, there should be clearer error messages when the SSL chain verification. Cryptic "verify the CA cert is OK" messages don't help much; they should say "SSL CA [name] is not in the installed trusted certificates, add trust for it with CURLOPT_CAINFO, details at example.com/ca.html" or something along those lines.

It may cause issues with root CA revocation (DigiNotar anyone?), but it's still better than disabling the checks entirely.
Adding DKIM to my Gentoo Postifx mail server
NewsBee: A Minimalist RSS reader for OSX inspired by a love of Hacker News
Police protection or citizen censorship? Spain to ban photos and videos of cops
The issue with the code above is the return statement, most likely inserted during development, with the good intention to remove it later, since the "bit of random junk" that follows would have validated the server's certificate.
To clarify that comment: you get into the semantics of "startup" and "founder" here a bit. But most folks starting companies or working in startups on Hacker News are in the kind of startups where even an early angel round has a starting valuation north of $1million. So, that's what I mean by the starting line.

Obviously, selling for a million dollars will work in some circumstances for some folks. But also it's worth remembering that it's not as much money as it once was. I once had a startup that for various reasons we chose to exit for right around GBP1million. It's not retiring money for someone who is (as I was) still young and has a lot of years to go. It's helpful, but not where most folks on here are aiming to be when they build a company.

I doubt most people driven to start companies need the perverse incentive of being broke to light a fire under their ass. Most founders I know are incredibly driven and motivation of that kind is seldom necessary or helpful.
> Nobody wants to manipulate an upright screen with an outstretched arm. It's a completely unnatural thing to do, and the complete opposite of everything we've learned about the UX.

Hence why some OEMs are offering convertible laptops and all-in-ones, which actually look pretty nice and should complement the new interface nicely.

[1] XPS 27 Touch All-in-one: http://www.dell.com/us/p/xps-one-27-2710-aio-t/pd

[2] XPS 12 Convertible: http://www.dell.com/us/p/xps-12-l221x/pd?~ck=mn&~ck=mn&#...
"Customer" and "user" are just words. To me, "customer" implies that you are paying, but I'm fine with adopting a different usage of the word for purposes of this discussion.

If you are a person who actually complains about Facebook's actions, then I disagree that without people like you, they don't have a site. Most users/customers don't appear to complain at all; they just keep using FB and adapting to the changes and never even think about the longer-term consequences. If all the people who actually are complaining now up and leave, FB will still have plenty of users/customers.

The only way that will change is if lots of users/customers start to believe that the costs of using FB outweigh the benefits. And the only way that will change is if people who can actually find or build alternatives, like the owners of businesses that make heavy use of the Internet, lead the way.

> If your startup is this cavalier towards customers, you're doing it wrong.

So, basically, you're saying Facebook is doing it wrong. Please tell Mark Zuckerberg, not me.

[Edit: added the below.]

> So, yeah, I'm their customer. I'm what makes their site a viable business.

I should probably unpack a little why I object to the word "customer" in this context. I agree that a customer doesn't have to "pay" in money; any exchange of value for value will do for that aspect of it.

But a customer knows the price of what he is buying. Facebook doesn't set a price on your usage of the site; you just use it. That means you and Facebook can't exchange price signals to optimize the exchange of value; you send plenty of "signals" to Facebook as part of your usage of the site, but those signals optimize their exchange of value with advertisers and marketers, not with you.

Economically speaking, this is the root cause of the problems the OP is complaining about; he has to post his complaint on his blog because he has no way of influencing FB the way a real customer would, through his purchasing behavior. (Except, of course, for the very crude option of "stop using the site altogether", which is the one I would favor. If enough people actually do that, FB might be motivated to look for ways to make its users into real customers instead of pseudo-customers. But I wouldn't hold my breath.)
Post Format Loops in WordPress
In my opinion, the lack of hardware to match at Retina resolution the rendering capabilities of the iPad 2 was a pretty HUGE miss on the iPad 3. I can't see anything so obviously missing from the Surface.
Great post. Kudos for having the resolve to follow through on execution and knowing when to move on. Best of luck on your other project!
It depends on your perspective, no?

If the perspective is that everything is disconnected and that you are more important than everyone else then yes, it does.

If one can see that all is connected and everything affects everything else then it makes very little sense. Those taxes pay for poor people's sustenance when they cannot work. They pay for people who can't afford private healthcare. It's rational to help them because more national unrest means more stress, less productivity and, in the end, less likelyhood of people buying your products.

The problem with being perfectly rational is that one may not consider the flaws in one's assumptions. Rationality is only as good as the information it's acting on and is not a silver bullet for making the right decisions. A blind man might conclude that while the sun may be hot at times, it's also extremely dark.
Since you were mentioned by name in the paper, and you consider their analysis to be incomplete, you should email the authors.
It should be pointed out that the loss of Haiti to a slave revolt led Napoleon to believe that the Western Hemisphere was a bad investment. That was the other major impetus.
So confusing , not only is this a mouthful but there are 2 windows 8 uis including desktop and the new UI is in other places not just Windows 8.
This is a useful consideration. It Appears to be an affliction of many (if not all "experts") of various stripes.
I love programming so yes I do hope I still am. For a living? I think I can hang. I'm 37 now so that's 13 more years. I'm still in after 18 years so I think I'll be good to go. I really do love it. It can be so painful sometimes but the results are worth it.
That's a good question. I'll try to cover this in emails. Obviously can't use real answers, but should be able to make up some reasonable examples.
I like the way you've put that. I certainly don't see being broke as a necessary condition of being scrappy, or driven. I don't see that being broke necessarily leads to being scrappy in ways that help a startup either.

I've seen (and been in) startups where the founders were more focused on short term income to pay their bills than long term success in the company - and it IS definitely possible for those two things to be at odds. It wasn't a recipe for success.

I can appreciate (and believe) that being broke may add some level of motivation for some people. I don't believe that motivation is going to be distraction free in most cases, and therefore I feel the argument falls well short of being taken seriously.
Weird that they were comparing it to Dropbox, while to me it sounds like they should've compared it to Backblaze or Crashplan.
Obligatory XKCD comic:

http://xkcd.com/927/
Would it be in the category of "if you have to ask,..." to ask for a tightly clustered list of actual impressive things? It's easy to say "a Nobel" or "a knighthood", but I suspect the mean is lower down the log scale. After all, if you've won the holy grail you might not be motivated to spend your next 5 years on a startup :).
A lot of people do because after 20 years it kind of blends all together. You're building the same thing you did 20 years ago and nothing has improved. The tools are still buggy, the managers still have no clue, and the hours are still insane.

I'm crazy, so I'm not really sure why others do it.
So long as I'm not forced to switch from C to C++ at work, I'm fine with C++ getting popular.
/metoo! devoured it and learned a lot. I recently dumped a bunch of technical books, but that is one that I kept and plan on keeping for a long time. It's got a timeless nature to it as a "working-reference" compared to only theoretical descriptions or any one specific implementation in "real-world" code.
Incredibly original idea!
This is a great point.

To add to the anecdotal aspects of the article, I see VERY few successful founders whose starting point was being broke, at the point they were starting and establishing their company. I see a LOT of successful founders who have independent wealth - often through family. I see a LOT of successful founders who saved up enough money to give them the runway to start a company WITHOUT being broke.

If you need to be desperate and incapable of paying bills before you are motivated enough to make your startup a success, you MAY not be well suited to doing a startup.
If you enjoy it, even if not your main job then it is something like gardening. A hobby even. With that aspect for many, current or past working programmers will often still dable once in a while long past this 50 year barrier being mooted as some kind of hurdle.

Now funnily enough back in say the 60's/70's and early 80's being old and indeed 50 or over was not a issue for getting a programming job. Then in the late 80's and 90's things changed to the aspect when being old was in many area's deemed against you in some indirect filtering HR way.

Now we are at a time which can and does judge people on the actual work they do in respect of programming. They can see or be shown examples of work and abilities and with that age is irrelavant if they be 13 or 113, its the results they can and have done for which they get the work. In that I would say programming has become alot easier to get your foot in the door of a company and also if your not as good easier to fall thru, nomatter age/gender or colour-spectrum-offset. Heck if a dog could do good code, it would be employed thesedays.

So the real question is down to if you want and are able to program and with that age is irrelavant, the the ability to learn is priceless.
i heart xkcd.
This is pretty fascinating for me. I got into development relatively late (30's) and just had a conversation with some of my developer mates about where they want to be in 10-20 years.

A few said they will no doubt still be programming. "Technology is changing so fast, we're the only ones who will be able to stay at the cutting edge, making our positions as developers fairly insulated." said one.

I was also thinking about a career "pivot" in a few years into management. It was really under the auspices of how employers prefer the fresh college face and cheap labour rates as opposed to the seasoned mercenary who has high contract rates.
This looks beautiful, but it doesn't release my mouse click on Chrome; i.e. when I click on the globe to click & drag, the rotation of the globe keeps following my mouse, and I can't click the "play" button.

Nice project though, as a geo guy who's been meaning to play with D3, it's inspiring.
That almost hurts to look at -- It looks like a botched attempt at a recursive method to iterate through the array.

I can imagine some poor developer, unable to figure out why it seems to always throw a StackOverflowException, putting that return statement in in frustration, and forgetting about it.
I hear ya, broke is only good because you have nothing to lose and need is a strong motivator.

It may be fun for a newly-funded startup guy to count up his illiquid shares and say "I have $X now (in monopoly money)" but as you said, it's not over until your shares are actually sold, taxes are paid and indemnifications have been released.

(saw your EDIT: I don't know how downvoting works either - it wasn't me!!!)
I recently went to an conference and found out that typical user acquisition costs ranged from $60k to $120k in order to get a top 25 title into the app store. Added to this was the fact that you pretty much had to give away the game for for free, and then hope to sell things in the game to the 2% of folks who would buy. So what this really means is that the launch of the game is really the start of an ongoing project to refresh the same title to keep user interest. These are quite daunting tasks to an indie developer who might be able to throw $20k at a project.

The best advice that I came across was to make it a point to avoid doing what ever everyone else was doing. So go after a niche gaming audience and maybe even think of another platform where the well funded publishers aren't playing.
Luckily a subset of C++ with just the "good" features has already been made and is widely deployed. It's called C.
Yes, of course. Why not?

I think the secret question behind a lot of this sentiment is: do you want to still be burning yourself out at 50? Do you want to still be working 60+ hour weeks? Do you want to still be on call 24/7? Do you want to still spend part of every release cycle in a pitiless death march?

And, ultimately, do you still want to put up with all of the bullshit in this industry?

But all of that bullshit is not an inherent part of working in this industry, it's just a byproduct of the immaturity of the industry.

The author here tries to draw a distinction between "Type A" (programming by intention) and "Type B" (reactionary programming verging on programming by accident) but there's really nothing wrong with "maintenance mode programming" as long as you're not perpetually in firefighting mode. Indeed, concentrating on polish, performance, and robustness are often fantastic ways to improve a system, provided that they are done well and not half-assed last-minute kludges.
If you forget to save your file, it won't be on your Plan 9 file server either. The only program which has the state persistence you describe is acme which can dump its state to a file and load it again later, but most every editor on every operating system can do that. And you have to run the Dump command manually, so if you forget, you lose your state the same as you would if you forgot to save before unplugging your terminal.
I disagree strongly. The value is that if APIs change (which they will), the drivers can be ported forward. Unlike all those poor routers stuck on Linux 2.4 forever, Raspberry Pi can now be maintained by the community.

The purpose of open source isn't always to learn. Sometimes the purpose is just to make your computer work.

(It's interesting that hackers were opposed to softmodems and such for many years but now people are taking the opposite stance in this thread.)
Kindle Fire might also become a good platform to focus on -- also Android users outside of the United States...
tldr; = yes

In the past I've done both hardware and software engineering as well as roles in management (manager to C-level) and now that I'm back to writing software almost full-time, I'm enjoying my career more than ever. There's something almost magical about creating something out of nothing; about finding a better way to accomplish a task; about learning a new trick (especially one that you've never seen before). I don't have gray hair (yet - although that may be a foot-race with baldness), but it's also gratifying to teach thirty-some years of programming wisdom to others. And it's not like they don't teach me tricks of their own.

BTW: I'm now 48, so 50 doesn't seem so far off.
they make this point in the paper, but still it surprises me - the level of testing for payment frameworks seems surprisingly minimal. it's pretty easy with openssl to roll your own certificates to test a bunch of different issues. you'd think that the people involved would have quite an incentive to test well.

i'm not saying that this would solve all the problems, or that you should develop critical financial software by having people that don't understand much writing tests. but tests are pretty much common culture now; you'd think people would have considered this. and the argument the paper makes is not that the programmers are clueless, but that they are confused by the API, so they should be able to think up some useful tests...

of course, integration testing with sockets is a bit more complicated than unit tests (perhaps something toolkit apis should support is a way to allow testing without sockets?), but it's not super-hard. [edit: hmm. although testing for unreliable dns is going to be more tricky.]
The worst example from this paper is Curl's API.

Curl has an option, CURL_SSL_VERIFYHOST. When VERIFYHOST=0, Curl does what you'd expect: it effectively doesn't validate SSL certificates.

When VERIFYHOST=2, Curl does what you'd expect: it verifies SSL certificates, ensuring that one of the hosts attested by the certificate matches the host presenting it.

When VERIFYHOST=1, or, in some popular languages, when VERIFYHOST=TRUE, Curl does something very strange. It checks to see if the certificate attests to any hostnames, and then accepts the certificate no matter who presents it.

Developers reasonably assume parameters like "VERIFYHOST" are boolean; either we're verifying or we're not. So they routinely set VERIFYHOST to 1 or "true" (which can promote to 1). Because Curl has this weird in-between setting, which does not express any security policy I can figure out, they're effectively not verifying certificates.
People simply empty out
Facebook does exactly the same thing with actual friends, though. Same monetization strategy too.
Yeah, we were surprised at that comparison as well. Most likely, that means we didn't communicate it well enough.
It Stands to Reason, Skeptics Can Be Sexist Too
True, those are important facts about the case.
One of the authors here... The paper is accompanied by a FAQ, which among other things explains the impact on specific software:

https://docs.google.com/document/pub?id=1roBIeSJsYq3Ntpf6N0P...

For example, broken SSL in Amazon FPS allows a MITM
attacker to forge instant payment notifications and
defraud merchants who use vulnerable SDKs. This
is a real vulnerability, acknowledged by Amazon.