1,803 karma · joined August 27, 2007
https://en.m.wikipedia.org/wiki/Article_9_of_the_Japanese_Co...
In my state, which has comparable starting salaries, $56k assuming they obtained some professional certification along the way. Otherwise, $50k. (For comparison, an engineer straight out of college could expect to make maybe $75k.)
I find the idea that we should destroy the entire school system to ensure that a small handful of undeserving people are not able to serve out their career on a still-very-modest salary quite mad.
At least they won't have to change the acronym.
(That page is actually out of date; it's actually somewhat better maintained than it appears there.) It seems to have fallen out of favour somewhat as Git's own native porcelain has improved over the years, but I know there are still some kernel developers using (and maintaining) it.
Personally, I find it allows me to do things trivially and routinely that others find difficult or impossible. I still prefer it even though I know how to accomplish the same thing using native Git commands (like rebase -i).
One of the things I like most is the lack of global (as opposed to per-branch) state of the kind that Git rebase relies on. So if I want to go switch to another branch in the middle of a rebase, I can. If I have unapplied patches that I haven't deleted, they'll still be there in a month or a year. I never have to worry about whether I am in Git's weird rebase mode or not, or decide whether I have to use "git commit --amend" or "git rebase --continue" (it depends on whether you specifically asked to edit the patch or there was an error applying it, and if you forget and guess badly Git does the Wrong Thing) because the commands are always the same, and the list of applied and unapplied patches is always right there to see.
Sadly, you would be surprised at the number of embedded systems that store and pass around their state using global variables, despite the obvious stupidity of that approach.
(For the record, I am not a web dev and I did indeed spend several years working in the field of embedded development.)
1) OpenStack is written almost 100% in Python
and
2) Nobody involved heavily in OpenStack ever has to go looking for work - recruiters will come to you, whether you want them to or not.
As a bonus, it's an exciting project and a great community: http://www.openstack.org/community/
Hopefully the mods will enforce the HN guidelines and rename this submission with a non-linkbaity title :)
This thread adds nothing interesting to the conversation. Please just stop.
Coverity is free for Open Source projects, why is he paying for it at all?
In contrast, being data-driven means selecting goals that are easy to measure without any attempt to justify them as intrinsically more valuable than other, more difficult to measure goals.
The reality is that goal-selection is always at least somewhat arbitrary, and words like 'data' and 'science' can be and often are used as a cudgel anyone who might support different (arbitrary) goals.
https://en.m.wikipedia.org/wiki/Seisachtheia
was a regular feature of the ancient world:
https://en.m.wikipedia.org/wiki/Jubilee_(Biblical)
and occurs on a smaller scale in our own society on a daily basis:
https://en.m.wikipedia.org/wiki/Bankruptcy
So if we ask a so-called expert on the subject, what will he say?
Among economists, the scheme is regarded as unprecedented and exceptional. "I can't think of anything comparable," Dean Baker, co-director of the Washington-based Center for Economic and Policy Research, told The Washington Post.
Of course he's against it anyway.
And getting yields to that point has come at the cost of an environmental and social catastrophe in the US. It's also uneconomically expensive - though it's easy not to notice because the government pays junk food companies to buy the excess and feed it to us at ultra-low prices.
Why on earth would you want to inflict that on Africa too?
http://dreamsongs.com/Files/DesignBeyondHumanAbilitiesSimp.p...
Your code is fine - you're not storing everything twice, but he is (in _set_both()).
This uses twice as much memory as it needs to (and opens the door to potential inconsistency) by storing everything redundantly in both the attributes dictionary and the underlying dict.
Setting an item with a non-string key (e.g. An int or even unicode) is silently ignored.
myDict[u'foo'] = 'bar' # <- this ought to do something
Setting or deleting an item with the same name as an existing attribute (e.g. the name of a method) will replace or delete that attribute. myDict['get'] = 'foo' # <- should not replace the method myDict.get
This can't be initialised with kwargs or an iterator like an ordinary dict can.But yes, the idea of storing everything twice (once as an item and once as an attribute) just so you can unconditionally add defaults in __getattr__ is… bizarre and will break things horribly as soon as you accidentally do something like:
myDict['get'] = 'foo'If all you care about is rotating in another 19000 warm, cheap bodies every year then you have no worries: just submit 40000 applications every year and roll with whatever comes out of the lottery.
If, on the other hand, you are like the author and want to hire one particular person with a specific skill set, you have a roughly 50% chance of being able to do that in between 6 and 18 months from any given point in time. (Note that there's no way to do it in less than 6 months.)
The system works well only for the very companies that are exploiting it. I know that the US missed out on 2.5 years of tax revenue that it could have had from me had I not moved to another country that made getting a work visa trivial because of this issue. That worked out great for me, but I still struggle to see how it made America better off.
I think this is half right. There was quite a bit of cargo-culting going on. But the fundamental error was to try to apply the project-management process for the construction of other kinds of artefacts to the design of software. I wrote about this very topic here:
http://www.zerobanana.com/essays/reclaiming-software-enginee...
You're correct that no other engineering discipline attempts to use waterfall-style project management of its design process. They don't really use it in the construction process either (in practice, design tends to continue alongside construction), though it probably has at least been attempted.
It was no surprise to see that the authors of this piece are in fact among the originators of the Rational Unified Process. They claim to have corrected their mistake; in fact they are still pushing the same wrongheaded ideas as they were in the 1980s.
Still, assuming his research is accurate at best it comes out at like ~$12 per hour before tax, unless you play russian roulette on the insurance. This of course assumes that it's your full-time job, otherwise the car payments will further reduce the hourly rate.
So I can corroborate what this article is saying: Uber has absolutely no clue where you are even given both an address and map co-ordinates. Presumably they rely on a terrible reverse geocoding implementation and discard the other information. That's surprising, because years ago I used to work on firmware for navigation devices and I don't recall reverse geocoding ever causing major issues (there were always minor inaccuracies when you round-tripped the data, but you never ended up on the wrong side of town) - I thought it was a solved problem.
For the record, neither Google Maps nor Apple Maps have ever had trouble distinguishing between those two locations (though humans sometimes do), so they broke it all by themselves.