skysight-inc/HackerNews huggingface dataset:
The way I've handled that in the past to have a bit map for every attribute so the object owner can indicate which properties have changed, in some cases one side or the other is the owner of that attribute so it is accepted by default, sequence numbers can resolve other conflicts, and then custom merge logic can resolve others. Works perfectly.
Looks like a great explanation for why the pricing model changed. There must be a gazillion apps around that are also incredibly wasteful by accident, and in the old model nobody had any reason to debug and fix the issues. After all, the code looked totally innocuous.
Fed Sues US Banks Responsible for Mortgage Meltdown
Watir is what Facebook use I think, it has plugin support for most of the major browsers and tests are fairly easy to write.
Check out Ghostbuster (https://github.com/joshbuddy/ghostbuster).
> But Facebook's track record seems to be to befuddle the user and trick or opt them into sharing things wider than they understand or want.

Just like Google did with Buzz

That was such a clusterfuck that for most people Google is in the same bucket as Facebook when it comes to 'caring about user privacy'
This was a copyright issue about locally hosted images. Heise changed the initial image and everyone is happy.

I'm happy to hear you trust Google, but trying to warp this into a smear on Facebook (my employer) about trust is in poor taste.
"Point and laugh at [Mozilla] until they look up from counting their money long enough to realize that the entire value proposition of [Mozilla's] business model is at risk"

????
I'm no accountant, but my understanding is that cash on hand cannot be recognized as revenue if it carries a contingency (e.g., having to pay out to merchants). Please correct me if I am being naive on this point.
Thanks! Remember to 'Show HN' when you hit beta / have it up on the chrome extensions site.
Here's Jeff Atwood's take on it: http://www.codinghorror.com/blog/2009/07/nobody-hates-softwa...

"I think you can tell a competent software developer from an incompetent one with a single interview question: 'What's the worst code you've seen recently?' If their answer isn't immediately and without any hesitation [the] two words 'My own.' then you should end the interview immediately."
You say you have been programming, but not if you are solely a programmer or building a product as well. Perhaps it would be easier to think of code as a medium to achieve a higher goal, which is functional software. I'm inclined to believe that this is more important than "code beauty" which is something highly subjective and tends to be constantly evolving with your experience.

Note I am not promoting spaghetti code. If it's not blatantly incomprehensible (i.e. you abide to some common sense) and works, you are set.

Of course this is my view after having spent non-trivial amounts of time making code beautiful, modular and reusable instead of trying to solve the problem at hand. YMMV.
Ask people to look at it and give you feedback. There's a new Stack Exchange just for code reviews that you might want to check out:

http://codereview.stackexchange.com/
You do want to improve, but just relax and do your best work. Continue to learn and read other people's code that you respect. But don't let your desire to improve and impress others stress you out. Also, consider the rule of threes on reusability: http://www.rimmkaufman.com/rkgblog/2007/10/16/rule-of-three/

It seems possible you are being exposed to mentors that are being too harsh on you. Certainly you're being too harsh on yourself. Go forth boldly and code.

Take some time to read about _why's philosophy on coding and making mistakes. I think it would do you a world of good.
Refactoring your code or yourself is not a terminal process.
Are cars causing Global Warming?
Gedit autocomplete
This is a little jumbled to me and it has the glaring problem that what I really want, to see what my usage looks like, whether that's an issue and an easy way to fix it, simply does not appear.

It's certainly an interesting thing for the curious, but it doesn't provide any important information to me qua user. Even the presumably important things, like data rates or dropped calls, aren't really: I have very little (no?) control over how this impacts me since my behaviors are prescribed largely by external demands, I simply hope the network cooperates.
Note to Microsoft PR flacks: it now behooves you to rail against the oppressive Linux monoculture.

Also, there must be quite a few underdog skins hanging in your walls, try donning one of them for greater effect.

(But do not kill whatever seed you now have of what will be the Microsoft Linux release of 2016/17.)
How to See a Supernova This Weekend From Your Backyard
I use Sizeup under osx to get window snapping via keyboard shortcuts. It also gives you a set of shortcuts to throw the current window to different desktops.
I wouldn't really think too much into it. I've had the "not good enough" feeling for years, in fact, ever since I started programming!

A few years ago I started working on a game, the best ever I thought. I was so clever with everything I thought and oh I wouldn't need to refactor because I would do it right from the start!

Of course I moved on and started to work on other things for a while and when I came back I thought it was horrible, almost unusable!

This happens all the time, though at a lesser extent, for me. When I notice something new, fresh, nice or beautiful way of doing things the old way is simple not good enough. Why did you ever do it that way?

Don't bother too much - it's normal and it shows that you're always evolving and getting better. And after all, you learn by doing mistakes not by doing everything beautiful and perfect from the start.
Sorry that would be my legal training. Perhaps you can attempt to construe the sentence in the spirit it was written (like with badly drafted law ;0), you sound like you're intelligent enough to do that. Commas aren't free you know ...
"The implication is that he may have lost an argument with his boss re: the odds of going to jail if that memo was published, and decided to flee the scene of the crime before it went down."

Why so uncharitable? Resigning, rather than participating in something they believe is wrong, is exactly what people with integrity do. Do we have any reason to believe that the argument wasn't about, say, whether sending the memo violates the spirit of the quiet period? Whether current and future investors would be best-served by the memo becoming public? How to spell "revenue"?
Show HN: Helloh, a Ruby gem to compare Rails localization files
I never happened across chacha.com results in any of my searches. I'm unsure of it's purpose, based on its website. What does/did it do?
Ask HN: What do you use to test job queues?
Wondering what people out there use to test parallel processing of jobs through a queue of workers? I spent 3 hours debugging this one bug because I had to rely on logging statements rather than a more programmatic approach.

My stack is python with celery+redis forming the workers & queue.
I use a custom selenium test runner that runs them in parallel (php). I plan on neatening it up and releasing it at some point if theres interest.

It also has a 'live mode' which is useful for writing up new tests. It basically follows a file and whenever there is a change it begins running the commands from that line onwards again. If it hits an exception it'll pause there and wait for you to fix the broken test/site before resuming.
This happens a lot in the media business, which relies quite substantially on actual freelancers, who tend to be high-priced writers, directors, designers, composers, editors, and so on - many with their own agents.

That large pool of legitimate freelance labor has provided media companies with the cover needed to pass of their regular staff jobs as something other than permanent employment. The cynical (read: accurate) term used by people stuck in these spots is 'permalancing'.
> I would love to hear your thoughts on this.

An e-mail address in your profile would have made that possible. (Chronicdb looks interesting and complements something that I've been thinking about. I suspect that you've implemented many of the relevant mechanisms.)
Binary bomb - a playful introduction to assembly language
My sympathies, I was there, too. The key to me was finding what I was really passionate about and doing it. Detaching from outcome.
FWIW, my copy of Parallels 6 has a "Download Chrome OS" in its File menu. Last time I tried it, after some delay I was met with a functional copy of Chrome OS (I don't even recall having to answer any questions).
Thinking you aren't good enough is the first step to getting better. At the risk of sounding cliched, it's the journey not the destination that's important. You never arrive at perfection anyway, so I wouldn't worry!

The best thing I can suggest is expanding your horizon as far as possible. Your profile says you're a RoR/JS programmer. Go learn some Haskell (or any other functional language; I started with Racket) and you'll find a truly different way of looking at programming, one which will change your style forever.
I don't think they're as comprehensive. Regarding Facebook, it only has

||facebook.com/campaign/impression.php?
||facebook.com/js/conversions/tracking.js
||pixel.facebook.com^
I think this more a life issue than a code one. In some ways if you're not looking at what you did a couple years ago and thinking "Wow, I would do that so much better now" then you aren't progressing.
Ask HN: How do you fairly compensate foreign employees?
My startup is currently at a stage where we can afford to hire an employee at below-market wages. We are a US company, but the employee we'd like to hire is located outside the US.

If we hired a US employee, we'd simply make up the difference with equity. This aligns the employee's incentives with ours (we all want to make the equity worth more), and this seems to be the valley standard.

However, for a non-citizen, equity is tricky business. Equity is basically a package of rights, enforceable via US courts, and it would be difficult for a foreign national to use US courts to enforce their rights. (For this reason, I'd be very leery of accepting equity in a non-US corporation.)

Another possibility we've considered is a pay package that pays out when we get funding. E.g., after funding, we pay back salary + above market wages. This behaves similarly to equity (i.e., low pay up front, more if business succeeds).

From our perspective, either solution (or some linear combination of the two) would be excellent.

Does anyone have suggestions on how to fairly compensate employees in similar situations?
Congratulations!

You have healthy appreciation and respect for work better than your own, always a good sign, and it means you should expect to keep improving simply by keeping at it. Same is true in any field.
Amazon is about to pull an Apple
Do you have a link to _why's philosophy on coding and making mistakes? A quick Google search did not yield anything.
Thanks.
Good article, but isn't the author describing Huffman codes?
Some folks have the idea that that leaders boss people around and tell them what to do. That's actually micro-managing or dictatorship depending on whether it's corporate or government level.

Leaders are people that inspire others who follow them in some way. It's not about being an authoritarian or having power.
I remember a friend from high school who worked as a Production Assistant (PA) in LA. Among other tidbits I heard, like driving across the city for Christina Aguilera's lunch, was the fact that every fourteen days (or maybe it was ten?) most of the entire production staff was fired en masse and then rehired the next day. Otherwise, according to union rules, they had to become part of the union.
Is it conceivable that a service like this could be distilled into Fabric scripts to be run against any hosting provider? I could do without the auto scaling since it would be easy enough to issue the command manually when needed.
what you think I should do to improve on that

Rewrite.

Write some code, make sure it works, and then look at places where it's ugly and figure out how to rewrite it so that it's better.

You won't write good code the first time, unless you're writing something that's trivial for you (too easy).

While the examples are too Java specific, the book Refactoring by Martin Fowler is a terrific introduction to the skill of improving code.
Some things require manual testing. Animations and a lot of visual stuff needs to be analyzed holistically; there are sometimes visual quirks that are near impossible to write tests for but can easily be detected from someone quickly viewing the site.

Have different environments set up. After every big push, run through a simple user flow to make sure what the user will actually see is what you intended.
I was doing it on my website, I never had any problems with facebook.

Actually, I had other problems with them, and what they did is just plainly banned my application and blocked my website from using facebook API.
So the only thing that kept your startup from being able to mint a certificate for *.GOOGLE.COM was the physical security of a single Unix box?

The setup you describe is actually worse than what happened with Diginotar. There's a public record of Diginotar being added to the browser roots, complete with audit statements tying PwC to attestations that Diginotar was ready to be a CA. Nobody in hindsight agrees that a good decision was made there, but at least we know it was made.

There is no way to account for Verisign signing CA=YES keys for private companies as a convenience; we can only trust Verisign when it says "anything we do with our private key we do with security measures adequate to the task of protecting the entire Internet". Well, I don't want to pin the safety of the entire Internet on Verisign's ability to secure a Unix box they don't even have physical custody over.

Diginotar isn't what upsets me about the browser CA situation. Subordinate CAs are.
I thought you were talking about Panda the antivirus at first. And now I'm wondering if it's still existing.
Unicode is really fun. In a similar vein, my first Rails app was a URL shortener that also takes advantage of Twitter's Unicode character counting method:

http://menosgrande.org
I hope for you that you'll never think your code is good enough. Keep growing.
Gondor looks fantastic. I love the fact that PaaS is picking up and there is more competition. It is such a fantastic idea.

We have been hosting on DotCloud for our django apps and are extremely happy with it. The fact that we can scale up on demand is great. We can add any number of instances by using a simple push command. On top of that the support that DotCloud provides is superb.

All the best to Gondor and DotCloud, I think the pie is big enough for both of them.
Reusable code/efficient code is usually more complex and less readable. I find this is usually not a big issue, as I can always refactor change to the design I need later.

Just in time, not just in case.
Get Rid of Your Legacy System in 10 Months
I don't think there will be any issues that you can fix. "Walk somewhere else to get better coverage" is the level of control that customers have.

What carriers can do is tell you what caused the problems you had, what if any patterns exist (map), their assessment of performance, the impact, cause, and resolution of problems, and how your experience compares with others. Basically, demonstrate through transparency that they're confident in the service they're providing.

As far as being jumbled, I agree. They're definitely first drafts. Taking it further would depend on what data a specific carrier already collects.
7 Eleven in Taiwan has the same system. It's a delivery option for Taiwan's big online store http://pchome.com.tw/ and Taiwan's eBay http://ruten.com.tw/.
I'm not sure that it isn't. I'm worried about the maintenance costs of keeping it up to date - but maybe that is the price you pay.
How Much Should I Weigh For My Age &#124;  Easy Question, Not An Easy Answer
I think the contingencies you're talking about here are things like channel inventory and buybacks, not "any expenses".

"The money you have before accounting for expenses" is practically the definition of "revenue", isn't it? When people say "revenue" they're talking about the top line.

I'm not an accountant either, but having worked with them my understanding of "revenue recognition" is, loosely, "the point at which a promise of income can be accounted for as actual income". For instance, when a reseller commits to move Nx1000 units of a product at $Y, when does the producer get to account for $Nx1000xY dollars income.
I never considered any of FB privacy curtailments to be 'clusterfucks' in the sense that they involved Buzz-level incompetence, bad planning, or lack of foresight.

To the contrary, I always felt FB knew exactly what it was doing, and was operating in a very calculated way. Three steps forward and (maybe) one step back.
This all makes sense, but the point that 'sunchild was raising wasn't about gross vs. net revenue; it was the fact that Mason was talking about their revenue without talking about their offsetting liabilities.

I have 100% confidence that any 2 people on HN could, given enough time to dig through accounting details, find something to disagree about in the 10K of any public company in the world.
How could that possibly even work? Was it really just 'you're fired... okay you're hired', or was there a day in between, or what? If the union and the employees had any sense at all they would have called bullshit on that.
What’s Tripping Up Cloud Projects?
How is this different than NowJS (http://nowjs.com/)? I don't mean to imply that two similar modules cannot exist; I am just curious if there is some fundamental difference between the two or if Racer is just a project that isn't as far along.
NASA Scientist Hansen Arrested at Tar Sands Protest
A good tool for blocking domains like these from appearing in your search results is the personal blocklist extension for chrome (made by Google): https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbd...
Given the recent controversy with cnet wrapping downloads with their own content, do you have another link?
I recommend then you start taking tiny bits of software architecture to improve your code and your understanding of code structure. It can help with reuse, better practices, etc. For example get a copy of Ruby Design Patterns.

The things you will read about in it can open your eyes for better recognizing where you can improve your code, how ti apply _this_, how to solve _that_, and can give you ideas and new ways to look at structuring your code for better reuse.

Design patterns aren't an end on itself, but means write more modular, readable, understandable code.
Nobody made any such "proposition".
Wedding Bands At Music Live
What Do You Make
I've just put up a consulting website. Although some pages are still blank, the website should be finished by 6 September.

http://www.jackkinsella.ie/about.html
Steve Denning on Customer Delight
Panasonic's TVs have FreeBSD in them because some high-up execs are afraid of the GPL after some other device maker was sued over some GPL violation. Just a bit of trivia.
I use qUnit all the time because I wrote lots of jQuery plugins for everything that we do at my small startup. Then we have a QA team in India that are always clicking through the site and finding new bugs (they also have extensive selenium scripts that go through the whole site every night, but oddly enough none that run the unit tests... grr).
I thought most businesses financed payroll with periodic short-term loans? If you can be 100% sure you'll get the credit it's better to put that money to work than have it lying around.

(Then one day the credit dries up and you're hosed, I'm not commenting on the wisdom of the strategy but my understanding was it is standard practice.)
"Where once Samba and Apache sold Linux to the world they are now just part of the plumbing."

What I'm taking away from this article is that indeed Linux has became plumbing. Long gone are the glamorous times when Linux and the FOSS movement in general were the underdog and apparently the price for victory is becoming a commodity.
If it solves the business problem your clients are paying you to help them with, your code is definitely good enough.

The people with opinions about your code are probably not paying you. So coding well is more like being polite to them. Really good code makes their lives slightly easier than average code (which is way better than no code).

But politeness goes both ways. If they see you trying to improve, they'll probably try to help you.

PS - When people want to get better at somthing, the biggest mistake they make is assuming they can get better inside their current comfort zone. So if you want to improve, get lost for a while. Try writing an OS. Or a physics engine. Or learn a Lisp. You'll be surprised how fast Experience - From - Elsewhere translates into more skill in your day job.
I'm not forgetting those, they just aren't relevant to the discussion. "deeply pervade" != "exclusive option"
Hours, and 21 million years, after it happened.
"A small number of good products" doesn't mean "no flops". It's a strategy, not an outcome. It means Apple doesn't make printers, not that it never ends up making the iPod HiFi.
For men, you should weigh whatever weight results from being able to see your abdominal muscles (they don't have to be "six packs," merely uncovered by fat) and having enough muscle able to run across the street comfortably and win 25% of arm wrestling matches.
It works for me, I don't like the 3-5 seconds of warm-up time before each search though. I mainly use it for quick-launching applications though and Launchy does a much better job of it.
The two things that help me the most in this department are:

1) write tests first because then you can write something ugly that works and then refactor underneath passing test coverage

2) expose yourself to other peoples code. My tendency is to stare at my own stuff all day (or other people's unattractive code). A natural place to look at good code is to be quick to open up libraries you are using in a project and rummage through them as the need naturally comes up in your work
This team of people is ridiculously good. They probably wrote half of the Django packages you use.
Unlike Germans - who had the Statsi to contend with, and before that the SS - Americans have never been exposed to a genuine, law-unto-itself, every-phoneline-tapped, free-to-kidnap-torture-and-kill secret police force.

One of the clearest lessons learned is that once these things take root, they are incredibly hard to dislodge. When they do go, it's only due to truly cataclysmic change. What naive Americans may regard as absurd hyper-sensitivity or a hopeless lack of technical sophistication is often an acute awareness that never letting it happen again means banning a lot of stuff that young innocents casually dismiss "as just being how the internet works".

Evgeny Morozov (author of "The Net Delusion" http://amzn.to/nOOxzQ) observes that casual openness is exactly how the web can be used to work against you. He makes the point that while folks safely ensconced in California should be grateful for their freedom from truly abusive government, they should also be a lot more sensitive to the concerns - and outright trauma - still found in places that haven't been so lucky.

Of course, I'm over-simplifying his argument a bit. If you want a more complete (and much more entertaining) introduction, RSA did an especially good animation of a talk he gave, which you can see here: http://www.youtube.com/watch?v=Uk8x3V-sUgU