skysight-inc/HackerNews huggingface dataset:
Just give your boss what he wants. Optimize for metric "number of bugs solved". Fighting back costs way to much energy and is usually useless.

I have been in similar situation before. I joined team with absolutely un-maintainable code. Build process took 1 hour, was semi-manual and involved 3 machines. This was mission critical application, but management rejected any sort of investment into maintainability. We made QA builds only once a month, because it was too tricky to test and verify entire app.

I fought back and cleaned worse mess in my free time. I automated and virtualized build into single machine. I wrote 'sort of' integration tests to automatically verify build. At end we even had continuous integration.

But it was not me who benefited from improved productivity. Number of closed bugs in UI skyrocketed. But I usually do hard & sneaky concurrency issues, which were still hard to fix. At end I was marked as 'unproductive' and eventually quit.
Can you make the server run in AWS, with all the data encrypted client-side?
That's what we did for Filosync, so the user doesn't have to actually configure a server (the app configures it using our supplied AMI).
Having written a book and created a YouTube channel isn't any sort of evidence for the validity of much more than the creators ability to create a book and YouTube channel.

The ability to make a book in service of own's argument is evidence of a great deal many things: at the very least, dedication and conviction to one's argument.

The space race was about international posturing and displays of technological capability as a deterrent to engaging in nuclear war.

This is 100% valid, and yet it resulted in us putting a man on the moon, so you haven't really detracted from the argument.
The Chinese Governemnt does. They had a plan to industrialize a country of a billion people, and they are half way through as the plan continues apace.

They didn't have a choice - population growth in an agrarian country was a disaster for the country. They had to do something or see their country plunge into famine and chaos. And therein may be your answer - they did it because they had to. Western societies can coast a long way on the momentum they have picked up earlier.

Necessity is the mother of innovation.
Yeap, except it's a complete different league. Cocos2D-X (which is the real cross-platform equivalent) is an absolute nightmare for beginners. Last time I checked, there was no documentation except in chineese, and you wouldn't even know where to look when you wanted to do some networking.

Unity truly is a marvelous piece of technology and ecosystem.
Everyone here seems to agree that "exceptions are for exceptional conditions". The problem is that when you get down to details, there is disagreement about what exactly is an "exceptional condition".

e.g. - you are trying to open a file for reading. The file does not exist. Is this exceptional? That depends on context, but the function that opens the file, being in an independent library, is usually designed without this context.

If it does throw an exception, some people complain that "of course it'e expected that file won't be there sometimes! that's not exceptional".

If it doesn't throw an exception, some people complain that "we tried to open a file, but didn't succeed, of course that's an exception". But if you want to avoid an exception in this case, you'll need to check for existence before opening (LBYL "look-before-you-leap"), and get into a race condition (TOCTOU "time-of-check,time-of-use"), which is really bad.

So it very often happens that you are forced by your ecosystem to use exceptions for normal control flow. Claims that you can only use it for "exceptional / unexpected" tend to be incompatible with a project in which you do not develop/control all of the library you use to your strict standard of exceptionalness.
SEEKING WORK - Remote/Short term in house if you are located in a kick ass city.
UI Designer/Front End Developer. Proficient HTML/CSS/JS. Working knowledge of Ruby on Rails, PHP/mySQL. 11 Years experience.

E-mail: ryan@liquidtrends.com

http://www.linkedin.com/in/ryanjanvier

Dribbble: http://dribbble.com/ryanjanvier

Latest work:

http://liquidtrends.com/sodacreek/ (design, wordpress theme development)
http://liquidtrends.com/cre (design, wordpress theme development)

Based in Canada, eh.

*Bonus skill: Startup experience, bootstrapped/co-founded http://www.croovee.com
That was my first thought as well, glad to see that Joel is on the same page.

After writing a fair amount of Go recently, I've come to believe that usage of explicit error returns only appears to increase code density. In reality, it exposes the complexity of correct error handling and forces you to factor your error handling logic accordingly, rather then letting you sweep it all into a few top level handlers.
May be used by startups to make demo videos.
Our house was built in 1976. It took a while to find it though, could use some overlay options or a search bar. Really interesting and cool though! :)
Test when you lay down abstraction. If you know your expectations about some code, then it's worth testing in proportion to the amount of dependency you have on those expectations holding.

If you don't yet know the expectations/abstraction you have for some code then you're still deep in the design phase whether or not you like it. Good tests—like good static types or property checks—can be useful to smoke out the properties your abstraction will eventually fulfill. If they slow you down, don't use them.

But once you know your abstraction and start depending on it then please test. Most likely a good test will, right there, show you that you don't actually know your abstraction very well.
EU proposes to fit all cars with speed limiters
Take a look at world demographics for a second. The top 10 countries by birthrate are poor-as-dirt African nations. Surprise, they didn't sit down and say "I'm not having any more children until the government guarantees me $10,000/year for each baby".

Yes, maybe you won't have children born purely as a cynical money-grabbing exercise. But people who actually want children (aka the people you want having children) will have them regardless.

They may have to budget for them or, I don't know, get a job.
The dollar equivalent of the value the companies get in return would be an order of magnitude more than what Kaggle charges the companies/clients that sponsor the contests.
Enjoyed the video, disappointed there's no actual discussion to be had about it here :(
<nitpick type="obligatory">The name of the language is Go, not "Google Golang"</nitpick>

That said, this was, for me, the single weirdest thing to get used to when starting to program in Go, coming from a mostly Python/Java exception-style background. (I imagine it's easier if you're a C programmer).

However, once I got into the swing of it, I realized I really, really like Go's error handling, and I can't imagine going back to Python's exceptions voluntarily. Returning errors makes code much more readable, and it also reduces the risk of code suddenly failing because of an exception that got thrown somewhere that you can't even find easily.

Go also gets a more subtle point correct: errors are interfaces, not types, which means that you can use any type as an error, as long as it supports the "Error() string" method. This is irrelevant 99% of the time, but I've seen a few pieces of code which utilize this feature very effectively.
Linus has stated his opinion about C++ code at the kernel. You just have to search it, you'll find.

The TLDR is very alike his TLDR for bool. C++ is too complex, it's hard to know about everything it's doing behind the scenes, and he wants total control of the code on the kernel.
"the fuck are you storing on your hds that is not public knowledge?"

Personal emails to my fiance? Personal photographs that I am not posting all over the Internet? Business secrets, maybe things that I had to sign an NDA for? How about this: if you have nothing to hide on your hard drive, send me a disk dump and let me look through. If you do not want me looking through it, why should I feel OK with the CBP looking through mine?

"travelling with your porn collection?"

Suppose someone only has one laptop (shocking!). Would it be that crazy to think that they might be traveling with their porn collection?
This old gem, huh?
5 things technology will allow you to do with your brain by 2050
Interesting POV from Icahn and definitely in stark contrast to the "Founder-CEO" philosophy being embraced by the startup community.

I can only speak from my perspective as what the article would define as "pre-investment CEO", which I daresay, isn't demanding of the title "CEO" at all.

Too many young entrepreneurs get overly ambitious with the titles and noise, and forget that before all the levels of management and bureaucracy (Chesky's 3 Roles), a business needs first a product and to sell it. Execute as a builder or a seller first, then, MAYBE then, you'll get to worry about titles and management roles.
This is a problem of architecture. Should you mix error handling with application logic? You have to handle errors somewhere, but they pollute the otherwise clean problem-solving code. One solution is to just let the exceptions bubble up and the other is to handle them immediately. If you let them bubble up, you can have a separate module that can do the right thing, notify the user, restart the app or something else. This way, the error handling is somewhat cleanly separated into its own thing. Sometimes you want to handle errors immediately, because only the code where the exception happens, knows how to deal with it. This is where return codes might be better. A lot of it depends on the desired behaviour. Sometimes you want the software to immediately exit or restart if there is a critical exception, sometimes you can safely ignore errors if real-time experience is more important. Sometimes all you want is to log the exception and/or notify the user. Does anyone have experience with aspect-oriented programming and does it help solve any of these problems?
[disclaimer: I work at https://circleci.com, so I do have a vested interest in disagreeing with you ;) ]

I think is a strawman. If running a huge suite of automated verification was really cheap, then airlines would run it before each flight.
Well, it isn't that nobody has it. Larry Page wants to get us off fossil fuels as fast as possible given that he's basically an advertising executive. Similarly, Elon Musk would like to get us off oil and get us to Mars, but again, he's just a CEO.

Having a few billion dollars in your pocket is great, but it's no substitute for controlling the wealthiest and most powerful nation on Earth.
This is NOT OK. You're swallowing all exceptions and assuming that they are your special case.

The fix is to have a specific nonambiguous name for your exception, so that other error conditions still work properly. As examples consider the StopIteration and GeneratorExit exceptions from Python's standard library. (See http://docs.python.org/2/library/exceptions.html for a list of built-in exceptions.)
The mode degree of Central Party members is in Engineering. The mode degree of Congress is Law.

http://en.wikipedia.org/wiki/Mode_(statistics)
Ask HN: What's a reliable long-term personal storage medium?
Having just moved from a big house to a small apartment, I realized how much crap I carry around with me. From hundreds of printed (slowly decaying) photos to boxes full of (scannable) paperwork.

I realized that I don't particularly trust digital storage because of a recent harddrive failure that was unrecoverable (I lost several months worth of photos).

So, HN, what's the best way to store photos, documents, scans, and anything else in terms of longevity (5-10 years+)? What's a good strategy in terms of backups and even file formats?
That does not work, the sum of infinite zeroes is still zero.
I actually did mention that. :)

I think the system is pretty good. The only problem it has, that I know of, is the price. The user of the service has to pay for every single authentication. Couple of years ago the price was 14 cents per authentication. That was enough for a one government project to second guess their choice of authentication.
And when you'll succeed, I'm not sure you'll feel like being in some kind of "Land of the free": http://www.nytimes.com/2013/09/01/us/fbi-sharpens-scrutiny-o...
I'm not too worried about titles either, just what does the person who identifies in that role do? Pre-investment, they are a builder in many cases who makes code or makes a community or makes something. In each of the stages, it seems that the role changes radically.
Why do you assume people want children so much that they will sink into poverty just to have them while working their ass off thus never getting to actually see these children?

What if only 10% of people actually want children in post-job society? What if birth rate plummets to .5? What's your plan?

I politely bring your africa argument down because neither of us live there and you don't want me raising martian examples.
There is an answered stackoverflow question with some info on math and a working demo
http://stackoverflow.com/questions/12168795/algorithm-to-sim...
Here's my, yet another, alternative to the many nice shell hacks out there: a bash/zsh "up" command that does "cd ..", or "up <n>" does "cd .." n times.

function up () { if test $# = 1 ; then s=$( printf "%$1s" ); s=${s// /..\/}; cd $s ; else cd .. ; fi; }
SEEKING WORK - iOS/Android - Boston, MA/Remote.

--------------------------------------------------

iOS/Android app development firm located in Boston, MA is looking for new projects. My email is in the profile for more details.
micropreneur.com

itulip.com
That was a bit of sarcasm. Sorry I didn't make it clearer.
SEEKING WORK — India( remote )

I've been designing logos and building websites for over 6 years now. Check out my portfolio: http://www.dffrnt.com and my dribbble: http://dribbble.com/vjk2005

Email: vijay@dffrnt.com

Most recent work: Logo for Pomodorize.me - http://i.imgur.com/GTBdgFD.jpg
While I'm not familiar with the Erlang paradigm that inspires it, the dire[1] library in Clojure is designed to decomplect error handling from code that may generate an error. I like this approach a lot.

[1]: https://github.com/MichaelDrogalis/dire
hmm? you're adding an offset to a pointer (the base of the object), which is still not going to equal 0 even if the offset is 0.
I don't know I think closed just seemed natural human behaviour as oppose to opening things up. There is a different realm in custom hardware like phones and tablets where vendors are just dicks. They don't make it possible to run any other software. I have been waiting for years to run Linux on a consumer device. After years of Android and iOS all we have is the Nexus 4,7 and 10 which are still in beta so their experience isn't so great.

The biggest influence for the industry was created by Apple, and Steve Jobs is definitely sour at what Bill Gates and then later Eric Schmidt did to Apple. It's not really surprising, these large companies will naturally go towards more closed down systems.
I had the privilege of flying on a private plane this summer. "Not held to the same level of scrutiny" is a major understatement. There were no checks whatsoever, only a gate with a keypad standing between us and the airplane. We could travel with whatever we wanted on the plane. Yes, we had as many duffle bags as there were people, and no, nobody was even around to ask what was inside those bags.

It is a clear illustration of the utter pointlessness of the TSA checkpoints. The kind of terrorists who attacked us in 2001 could have used a private plane packed with C4 just as easily as a commercial jet.
We consider greenpeace terrorists now?
Yes, well, that's probably what many would love to do. Please tell us how.

In the mean time, let's go for the alternative that seems less ideal but concrete and doable.
Entelo - San Francisco (Mission), CA - Full-time - http://www.entelo.com/

We're building a company at Entelo with a mission of changing how companies hire and think about talent acquisition. We have over 90 customers including Box, Yelp, Square and Groupon and recently announced our series A round of funding http://techcrunch.com/2013/06/19/entelo-the-big-data-recruit...

Our team is small so you'll play an integral role in building something meaningful.

We work out of a beautiful and well-lit loft in the Mission, close to Coffee Bar, Blowfish, Atlas and a host of other cool coffee shops and restaurants.

Some of our perks include free UberX or Lyft rides from Cal-Train or BART, 1:1 matching for donations to non-profits, and 100% coverage of employee health care premiums.

Current openings:

Engineering - http://www.entelo.com/jobs/engineering

Sales - http://www.entelo.com/jobs/sales

Marketing - http://www.entelo.com/jobs/marketing

I'm the founder and you can email me directly at jon at entelo dot com or call me at 310-351-7275.
It's perfectly reasonable that image processing and television are optimized for accurate skin tones. But they are optimizing for light skin tones by using test images such as Lenna, the BBC's test image [A], and the BBC's "Flesh Tone Reference Card" [C]. I think this harms image quality for dark skin tones.

Television broadcast systems include automatic skin tone correction that "looks for colors in a specific [colorspace] area and any colors within that area are made a color that is closer to the skin tone." There's actually a "correct" skin tone and colors are adjusted to be closer to it. This is implemented in chips [D] for TV signal processing and even at the LCD panel controller level.

I've noticed reproduction of dark skin colors is much worse on video conferencing than light skin colors, so this isn't just a theoretical complaint.

[A] http://www.theguardian.com/tv-and-radio/shortcuts/2012/apr/2...

[B] http://www.videointerchange.com/color_correction1.htm

[C] http://my.safaribooksonline.com/book/-/9780750683951/chapter...

[D] Examples are the TDA884X PAL/NTSC/SECAM TV processors, SAA7154 video decoder, and the TW8817 LCD controller.
Don’t look for evangelists among the people who think your product isn’t worth $19

This quote from the post serves as a great TL;DR
Running batch and long-running, highly available service jobs on same cluster
Hey Paul, I totally agree that the cost of running big test suites can be mitigated and CircleCI is doing awesome stuff there.

That does nothing to address the problem of maintaining a large suite of tests tightly coupled to your code. That is, the cost of updating many example-based tests when you change the code.
SEEKING WORK - Remote, Amsterdam, London

Syadmin as a Service

Do you want to improve your scaling, resilience and reliability, but don't have a full-time Ops person on the team? Why not rent one?

I work with startups and web agencies to help them spend less time worrying about technical problems, and more time growing their business.

How can I help you?

- Expert sysadmin services, on tap

- Continuous Integration for your infrastructure

- Infrastructure design and implementation

- Server maintenance and optimisation (performance and cost)

- Quickly get up and running with tools like Puppet

About Me

I'm writing a book on AWS System Administration that will be published by O'Reilly later this year.

Here's an AWS case study for an infrastructure I built:

http://aws.amazon.com/solutions/case-studies/fashiolista/

If you think these services could help your business grow, let's talk.
mike@fadedink.co.uk
Could not disagree more. For reference, my company (https://circleci.com) probably has one of the largest test suites in Clojure (approx 16kLOC in the test suite, > 5000 assertions).

The value is testing is that it saves time in the long run. If you don't have a decent test suite, then as your product matures, you become unable to do anything because each new feature breaks a dozen old things.

Alex is right about the opportunity cost (see my own post "Testing is bullshit": http://blog.circleci.com/testing-is-bullshit/). But not testing is also an opportunity cost.

Basically you can spend T minutes writing tests, or D minutes debugging problems that tests would have found. If you don't test at all, then D will rapidly (within weeks possibly) become so high that you can't get anything done. By contrast, T will rarely go above 50% of time spent on a project (and if it is, you need to rethink how you test, unless you're building rockets or medical equipment).
We know. ReactOS has been around for many years.
I think they are US jurisdiction, not territory, it's like an embassy.
There are ways to remove them. There might also be a reason to remove them, in light of the spying involved, if Germany discovers for example that SAP is more negatively impacted by the US spying than positively by the commerce with the US. Same with planes (that's where the suspicions are the highest) car makers and tool machine makers.
You can make methods easily return multiple values in C# with Tuples. They are very handy.
Why waste time rewriting Unix...
Who Will Prosper in the New World
SEEKING WORK - native British freelance developer (also, relocating to Amsterdam). Seeking remote or on-site work.

##About
I'm an experienced iOS Developer and have just released my tenth app, an app for social-music startup Songdrop which represents my strongest build to-date: https://itunes.apple.com/gb/app/songdrop/id687335694?mt=8

Before that I built an app for Audi that was well received and currently has 4.5/5 stars on the iTunes store: https://itunes.apple.com/gb/app/audi-mileage-tracker/id53130...

Please take a look at http://iandundas.co.uk/portfolio for more examples of my work,

You can contact me:

Twitter: @id
Email: contact[-at-]iandundas.co.uk

Cheers! Ian
Btw, if there was a chemical attack, there are 3 possibilities: a) Assad, b) Rebels (who may already have got access to some chemical weapon), c) CIA doing business as usual.

And as always, we'll never learn the truth in time.
SEEKING WORK -- Remote or local. I'm based out of nowhere in particular, and can travel to interesting places for short-term on-site contracts.

Generally, I do Java/Clojure, backend and full stack development. In a past life I wrangled enterprise Java for a major finance company, working on performance, integrity, and scalability for a trade processing app handling tens of millions of trades daily. I've also done work with parsing, domain specific languages, full-stack web development, custom high-speed message queues, and security and encryption. I like to solve hard problems.

Github: https://github.com/eightnotrump/

Linkedin: http://www.linkedin.com/

Contact: mike.thvedt@gmail.com

The buzzword list: Java, JEE, JMS, Hibernate, Spring, jUnit, Clojure, Ring/Compojure, jQuery, Mocha, Oracle and Postgres SQL, Mongo.
> What someone tends to say makes no statement about their current argument.

Not so. If someone has lied in the past, that is evidence that their conscience permits them to lie, and so they are more likely to lie in the future.

> The take away from that story should be that every statement has to be evaluated in isolation.

Again no. The takeaway is that you should not lie, because if you do people will be less likely to believe you in the future.
It sounds like the company is on its way to tanking. It might not have hit the tipping point yet, but if the senior leadership made a mistake at putting their worst manager on the best team, well ...

... My point is that, if you step up and lose your job, you got out while it is still good. If you don't step up, eventually, the company will collapse and now you are out of options.

If you don't feel secure about it, perhaps you might want to start being open to looking for other opportunities.
Good advice. Have you tried using contracts (pre/post conditions, assertions, invariant checks) in your code? I find them to be a useful way to encode those expectations in the code before you test.