skysight-inc/HackerNews huggingface dataset:
Good question...

I've worked on enterprise software and people in the company thought of me as one of the better programmers there, but when I do open-source stuff I feel like an imbecile.

I quit my job and wanted to learn and get better, but I don't know how to start.
In addition to this, reading and being able to understand other people's code will provide great returns. You learn about styling, coding standards, architecture, patterns, etc that you might have never stumbled upon if you attempted to code everything yourself.
Ben Goldacre writes for The Guardian. What else would I be talking about?
Can Greenwald's digital magazine Intercept help to reinvent journalism?
I have an 8 year-old boy. I taught him thus: "If you didn't earn it, it's not yours, so don't touch it."

Regardless of how unwise or immature his actions were, the company should not have treated him the way they did.
Why does this link need to be shortened at all?
Will it play nice with my iTunes library?
Are you trying to write user registration from scratch? There are already these components available with most frameworks in Python, PHP. You don't need to reinvent. These framework come with appropriate DB tables, primarily in MySQL or PostgreSQL.

Most books on database driven website will give you enough to get started.
Read more code. Edit code others have written. Maintain a wide variety of projects. Try to start your own.

Failure can be tough and sneaky: I didn't want to fail, so I Googled to see how others did it until I was sure... Then found I couldn't reach a consensus, and ended up "researching" for months. Sometimes doing it wrong isn't failing, after all, you've just found a way that didn't work-- that's progress.

Oh and reading or knowing how to do it isn't doing it. There can be quite a bit of work to doing it yourself, don't skip the exercises at the end of the metaphorical chapter ;-)
Can you explain what you mean by "a lack of a MW is welfare?"
Yes, that sounds about right. Spend the time necessary to understand before you inflict your lack of understanding on the world.
I wrote all 130,000 lines of code from scratch. I own all rights . I place in the public domain for any use.

God says...
can_you_hear_me_now anger listen_buddy Oy what_do_you_want
other I'll_think_about_it absetively_posilutely climate
do_over air_head biggot vote BBC awful Terry listen_buddy
really radio You_can_count_on_that once_upon_a_time hey_Mikey_he_likes_it
no_more begs_the_question but_of_course Shakespeare umm
harder_than_it_looks you're_no_fun how_do_I_put_this don't_even_think_about_it
how's_the_weather abnormal heads_I_win_tails_you_lose
I_have_an_idea duck_the_shoe it_figures whazza_matter_for_you
Venus love Mars manufacturing husband peace Oh_Hell_No
huh how_hard_could_it_be spending crazy not Hasta Oh_really
you're_wonderful play

God wrote some of the code.
Coincidentally my current employer does not negotiate either (well, not for standard developers...)

Our companies can safely refuse to negotiate because 1) they can let other companies in the area negotiate to set prices for them (without negotiation, determining the value of an employee becomes massively inefficient, mostly at the expense of the unemployed, who will tend to accept positions lower than they could negotiate for, lowering the overall regional salary), and 2) because generally for standard dev positions, they are aren't looking to hire a specific person. Any person that fits the roll will do, and there are plenty.

You want a college grad to start training on your software stack? Well sure then, figure out the regional salary for recent college grads, offer lots of college grads that salary, and take those who accept. So long as you have enough grads to choose from and eventually the positions get filled, who cares right?

You want recent Standford grad Joe Smoe who recently made waves online demoing that really cool shit that accidentally compliments [Top Secret Project]? Without negotiation, fat chance. There are no regional stats for Joe Smoe's expected starting salary. You either negotiate or your gamble.

If you are finding an employee to fill a position, you can get away with no negotiation if others in the industry still negotiate. If you are creating a position for a person, you have to negotiate.

If every company were forced to acted as our companies do, and for every position that they were filling, it would be catastrophic.
Reflecting on 3 years at Facebook
That's my point exactly... They didn't learn to make those snap decisions in an MIT classroom, they learned them through thousands of hours of hands-on, practical simulations and real life events. Just like Bob...
Agreed. Even as simply the 'less' technical cofounder, if I can spot an opportunity to increase my more-technical team members time coding, I do it.
To rephrase: write more code. months later, look back at your early code, see if it still makes any sense to you today ;-) rinse, repeat in different languages, situations or version numbers.
"It would be like a computer hacker saying that it's impossible to get a security vulnerability from buffer overflow if you use a language that always manages memory, and then that managed language suffers a vuln from memory corruption instead. Laymen three years later would only remember "impossible to get security vulnerability from managed memory"..."

Ehh. The flip side of this is that most of the "experts" use this kind of language to hide their uncertainties, while also overplaying their hand. It wouldn't be unreasonable for the layman to remember the phrase "impossible to get a security vulnerability from managed memory", because that's the strongest part of the statement -- the part of the statement that's intended to sell a technology. People don't remember the long strings of caveats that come later, nor should they.

My point still stands: we aren't very good at predicting failure cases, so it doesn't serve us well to focus on the caveats of a statement that begins with "this can never happen". Any statement that begins with an absolute like that is almost assuredly incorrect.
Looks like a great way for filtering the ones you want to work with.
Pay raises after tenure are nowhere near what you see in the private sector. And people who get tenure at Cal or UT are exceptional. Do you think the smartest 30-40yos in Austin outside UT are only making 500k?
Also, a larger part of the Apple v. Samsung cases was about design patents rather than software patents.
This is a killer feature for Zapier and i'm really excited. Zapier has been a huge time saver for us at BetterVoice.com.

How many times do you get approached by customers or other vendors about "when are you going to integrate with XYZ" product? If you just integrate ONE time with Zapier, you're immediately connected with over 200 other online services. Then your answer to those customers/vendors can be: "We're integrated with Zapier, so you guys should integrate with them too and you'll get all the other benefits as well". With that answer you accomplish 2 things: 1) you shift the burden to them (2) you can use Zapier as a "testing ground" to see how popular an integration with a particular service is. If one particular Zapier connection starts taking off, then you can consider a direct integration. If only a few people use a particular service connection, then you haven't lost anything.
Apple: Don't Kill OpenNI
This is actually quite flawed. The correlations between starting salary and continuing salary (at the same company) is close for large and meaningful data partitions. You can glean some of the indights (if you don't have firsthand experience, if you do...this is obvious) from something like this study. The TLDR is that adverse starting points are meaningful for explaining career earnings anomoly.

http://www.nber.org/digest/nov06/w12159.html
"welfare for noneconomic businesses"

My reading is "subsidy, because they can get labor at below what it's actually worth", which is not necessarily a claim I would make but it doesn't seem incoherent.
Try C++, join the dark side! In addition to chocolate chip cookies, we promise C++11 move semantics for returned objects/values. The cookies/cake might be a lie. :-)
Astonishing portrait of Assange, who is far stranger than I could have guessed.
I'm an (ex-)academic myself and can really understand the author's position and concerns, but I wonder if this situation has been so much different in the past. Academia has always been a highly competitive field with a high workload and comparatively low salaries as compared to industry, so it obviously is not for everyone. I think though that the article omits many of the benefits of positions in science, so I want to list a few (of course not all of these apply to all positions in science):

-You don't have a boss that yells at you and tells you what to do.

-You can work on your own projects and ideas (if you're capable of developing such).

-You can't get fired , or at least the likelihood of you being fired is pretty low.

-You can do a lot of traveling (conferences, summer schools, workshops, exchange visits)

-You can work with very intelligent and motivated people.

-You can work on hard, interesting and (sometimes) important problems.

Personally, what I miss most since leaving science is the possibility to work on really interesting, hard problems, because although most companies will tell job applicants that they're working on really cool and important stuff, most of the work consists of pretty boring, uninspiring things (this is not necessarily different in science, but at least there there are some really cool things mixed in between the boring parts). As one of my colleagues once put it, "the problems are hard and complex in an uninteresting way".

So, I think if people would have the choice between a well-paying position in industry and a position as a research scientist, many would choose the latter even if it meant a lower income and a higher workload. The author is of course absolutely right about the fact that there are not enough "B-level" positions in science (i.e. permanent researcher positions situated somewhere between post-docs and professors), which really has to change in my opinion. Personally, it makes me sad to see so many brillant PhDs leave university and work e.g. as data scientists in companies where they basically try to make people "click more on stuff".
We have been using the feature for a while, it has become an integral part of our system. The Zapier team is great and always willing to help out with any issues we have, above and beyond what you would expect.
Very nice! This looks very useful and easy to use.

How much boilerplate text do you need on either side of a token in order to identify it? Put another way, how much can the template emails vary? If the template format changes is there any sort of notification? Did you use the simplest implementation that could work or is this much more complicate than it looks?
I use an ALSA config for this on a multichannel sound card. I plug my headphones into the rear port, speakers into the front port, and turn down the rear volume with alsamixer.
I've found the following really sets apart my programming now vs. earlier in my career:

1. I write and rewrite more now. I view the first time the code works as just the first draft (like I would with a paper). Earlier in my career I thought that making it work meant I was done.

2. I spend a lot more time thinking about what's happening in the code and why. I have found some of my best work to happen after days of thinking about small bits of functionality.

3. I get the domain (ie. the big picture) much better. This is insanely valuable and helps me step back.

4. I listen more to opposing views. That's not to say I don't argue my point, but afterwards I spend time to rehash what the other person said when I have no pressure to respond. This guides my thinking a lot as it give me an opportunity to change views/positions.

5. I'm increasingly tolerant of other technologies. I use x, but y must be good too b/c smart people use it.

5.a While I'm more tolerant, I'm less distracted. When I was younger, I spent more time switching technologies to learn "new things". Now I spend more time going deeper on my current stack to learn new things.

6. I now think its ok to write code in a "non optimal" way if it makes it easier for the entire team to work with. I don't believe in writing to the LCD, however I do believe programming just a little above the team's moving average capability is probably better than writing above everyone's head (whether by me or someone better than me).
This is not malicious and does not violate any App Store rules. It's just not good security.
Same here regarding version control.. until one day I after graduating from college I nostalgically searched for my old college files... and... oh the horror... my files where somewhere between "project1.final_backup_almost_final.java" and "project15.final_not_working.java.backup3" going through more strange things which I can't even think of why I named files like that, along the lines of "epsiloneridani43.final_working_working.tosubmit.java" and of course the project file I ended up sending to the teacher was something like "project16.working_again3.java" ...sigh
"The AR callbacks are wonderful for coordinating the domain model. Often times you'll want to create auxiliary objects when something else is created. That's what's it's there for. Or to otherwise keep the integrity of the domain model in place."

No, they're not. They're great for coordinating activities around your database. That's not a domain model, unless your domain is databases. Conflating domain with database through the use of active record doesn't mean that structural models are domain driven, and events based around database interactions aren't going to be any more domain driven than the active record objects themselves.
Microsoft puts creator of 'Scroogled' ads in charge of strategy
I note that bug 62588 still remains unfixed:

https://bugs.freedesktop.org/show_bug.cgi?id=62588

This particular bug was known as 741 back in 2009:

http://lists.freedesktop.org/archives/pulseaudio-bugs/2009-D...

Is it perhaps the case that Pulseaudio is an example of a complex program where the original developers have gone elsewhere? All the easy bugs get fixed, the ones that require deep knowledge remain forever.
It's good you recognized that. In many cases, an intermediate programmer with expert-level group skills (including things like commenting) is worth much more than an advanced programmer with poor group skills. But often people neglect their group skills; they aren't "sexy".
If you get a queasy feeling after you eat something at a local eatery, and you go throw it up at the earliest opportunity, I don't think anyone would fault you for not wanting to go there anymore.
50 Insane Facts About Bitcoin (Infographic)
Why would you even consider using this app?
Yeah, I have a NAT and... I takes my chances. (Wait, don't they defeat those? Hmm.)

Actually, they aren't hooked up right now, though I suppose if I were paranoid, I'd keep a second WiFi network disconnected from the net most of the time. It's a shame though that they used WiFi -- ZigBee Hue lights have worked great for me, and Bluetooth LE goes forever.
I try to avoid giving time estimates where possible as well. In practice sometimes you have to, though, and if you have said "I'll have the answer by tomorrow" and tomorrow comes and this turns out not to be the case, you say something along the lines of: This turns out to be a trickier problem than met the eye; here's what I've found out so far; do you want me to keep looking for a solution?
Aren't burner phones that way because you want to ditch the entire phone to erase any link to you after using it in an incriminating way?

Even if this app was "secure", it wouldn't prevent the need to ditch a phone. LE can subpoena the company, find out which IP:port connected for whatever user/message. Then go to cell company and get records and track the cell.
Thanks for the heads up on Z-Wave, but you've also just inadvertently described the WeMo product line as well, minus the ongoing security issues they'll have and a lot of times they just go offline completely until you manually reset them. Really horrible.

What do you recommend then? Zigbee?
My great life simplification was to aim for a library I can enjoy when shuffled without having to babysit the "Next" button.

Sadly I was far from that in my most meticulous days where I wouldn't even delete tracks I hated because that would violate the sanctity of the discography. And I didn't want MusicBrainz to doubt my thoroughness.
Piracy is not the only reason why you would decrypt an app.
This seems really useful but I can't think of an example usage. Can someone share an example where this is useful?
Portable Motor for CitiBike, Bay Area Bike Share, etc.
Facebook only had 3.3 billion in cash, and I seriously doubt they spent more than a billion on this deal.
This is incredibly clever. Zapier has already built a fast-expanding platform to relate structured business data, and now is taking steps to grow it even further by structuring unstructured data. SaaS mainstays, watch out.
Actually, these days I think it means the same thing from your banker and your loan shark...
"If we print $1000 per month per person and give it away for free, it's very possible to get the real economy moving, raise standards of living substantially, and incur very little cost in the real economy of work, goods and services."

I'm a staunch support of a moderate basic income, and I'm open to printing some of that, but this seems absurd. In the first year, you'd be printing more dollars than we have in circulation. I can't imagine demand for dollars would keep up.
> avoid this by checking that I can make the test fail when I expect it to fail, by editing some values or commenting something out.

Whenever I do this, I feel awful, because:

> But that doesn't scale, that only saves you once

You need to fuzz test your tests. (I always forget the name of the awesome Java tool for this....) If you can randomly mutate your test code (negate boolean conditional, etc) and your tests still pass, they fail.
I do this by symlinking a different file to ~/.asoundrc and restarting whatever process is producing audio. Crude but it works.

In contrast the time I tried to set up pulse for this purpose I could not get it to produce any sound at all from any output device (everything working fine when stuff is talking directly to alsa).
Here's a contrary point of view: by his own admission in that article, Higgs has published "fewer than 10" papers in the last 50 years! What has he been doing since 1964?

Raw metrics like papers and citations are easily gamed, and not great ways to evaluate productivity, but surely there are limits...

(And before you say, "but he gave us the Higgs!", several other researchers did closely related work at the same time [1], so humanity would still know about a mass-producing scalar boson.)

[1] https://en.wikipedia.org/wiki/1964_PRL_symmetry_breaking_pap...
It was uploaded to BigQuery for analysis of a huge dataset.

Now there's a question about whether you can trust a US company, or any cloud company, with UK health data, but this article - and the Guardian article linked - are being deliberately misleading here, I think.
I think you've got a typo of "chose" vs "choose" in the step that asks the user to "chose" where the data should be sent.
Yeah this is definitely unfortunate. The forums remain high-quality in the meantime.
Software Craftsmanship - Simplicity
How did he break the law?
The article applies, but presumably zero is a Schelling point. If there's no other specific value that everyone can agree is special, it may be that you would see continual upward movement only after we've made it nonzero.
I hope you're not referring to http://pastebin.com/W8B3CGiN

Those 100 line functions wouldn't make it through any half decent code review. Zero modularization, dal is inextricably linked to almost every piece of logic in the thing. Its an object called "Bitcoin" and I have a feeling it is 95% of mt gox' business logic if not all of it, it even writes raw xml to a temp pointer before dumping it into a cache and then making calls to header(). Separation of concerns? What are concerns?

Sure its tabbed neatly, and its got camelCasing, its using some form of orm/query thingy going on in there, but its still one hell of an unmaintainable, untestable mess.

I'd rather a thousand lines of spaghetti than ever having to work on something like that.
"A packager downloads a random tarball off the internet, often over HTTP and/or unsigned and unverified."

Unless the packager is on the mailing list for the project, which many are as it helps them keep up to date on changes.

"The packager uploads the same tarball to the distro build system (you trust them, right?)"

Now the package is in one place, so when you say, "SSH on Fedora seems to open a connection to this random server in Ft. Meade!!!" everyone else can check and see if that is what is happening. Now you have thousands of people investigating the bug -- not so bad. Compare this to, "I downloaded something that is supposed to be PuTTY, which I found via a Google search, and it is acting funny!"

The fact that everyone who uses Fedora or Ubuntu is running the same code is pretty helpful. It is not much, but it does help.

"The packager's script for building the program or library is executed by the build server"

In a chroot jail, or an SELinux sandbox, or a VM, or any number of other environments that help to isolate the build process from the rest of the system. In theory, the build server has quite a bit of protection from malicious packagers.

Also worth noting is that packagers' actions are logged and would probably be audited if a user sounded the alarm and nobody could figure out what was happening. It would take a lot to pwn the users of a distro in any meaningful way, because keeping it secret is hard -- your victory would be short-lived.
> &structure

AFAIK, that's only a legal function signature in C++.

To the point of the question : when I wrote that, I was specifically thinking of 2-dimensional arrays, not structs per se.
Governments, the Law and Robocars
Chess Opening Moves
Both wikipedia records need some good rewriting.
Ah, thanks! Fix committed and pushing.
Kind of off topic, but pianobar is a great commandline Pandora client, if you're into that sort of thing.
As for math games, I can recall a few interesting examples:

Algebra for children:
http://www.wired.com/geekdad/2012/06/dragonbox/all/

Interactive tutorial for sequent calculus:
http://logitext.mit.edu/logitext.fcgi/tutorial

Ancient Greek Geography:
http://sciencevsmagic.net/geo/
If 48% is distributed over 100% of the population, and 52% is distributed over 1% of the population, that sounds pretty disproportionate to me.
http://www.cbsnews.com/news/paypal-makes-ebay-customer-destr...
The "encryption secret" was implemented in version 1.2 of BitTorrent Sync: http://www.bittorrent.com/sync/developers/api - but for now you'll need an API key to generate them.

Alternatively, you could roll your own solution on top of Sync by encrypting your files on your own and creating a Sync folder of the encrypted files.
It can actually get pretty complex, the technique we're using is a wacky hacky hodgepodge of Google diff-match-patch that works surprisingly well! If you run into any that don't work, just let us know and we can add it to the test suite and figure it out.
If there was the same people (person) behind it.. No.
The scariest place to be as a programmer is when you look back at what you did 6 months ago and still think to yourself that its pretty good. A little regret is a good, good thing.