878 karma · joined February 11, 2011
I documented my transition in some of the sections on this page: https://justdavis.com/karl/it/davis/servers/eddings/vms.html
Imagine how much fun it'd be trying to get that to build. Multiply the terror that inspires by (at least) 100x.
I don't; that's a bit of a sweeping generalization. I happen to enjoy writing webapps in JAX-RS and Wicket, and I know a number of folks who enjoy writing them in other frameworks.
You're absolutely right, thanks for the correction.
> The aggregate effect of free money is what will determine the outcome.
And this:
> Not what exceptional individuals might achieve with it, but what a lazy drunkard would achieve with it matters)
Contradict each other? The "aggregate effect" = "lazy drunkards" + the effect of "exceptional individuals" + the effect of everyone else. So it really isn't the lazy drunkards that matter; it's the overall effect that does. If, on average, it improves society then isn't that a win?
Very often, when talking about basic incomes and similar programs, people seem to say things like "twice as many people will take advantage of the system and be lazy." To me, that's not a sufficient criticism: it all depends on the percentages. If a program increases the percentage of bottom feeders from 1% to 2%, say, but also doubles the quality of life of everyone else, that would be a huge win to me. Obviously, the numbers I chose in my example are probably unrealistic, which just further illustrates how important it is to actually determine what the numbers are/will be.
I've been using it for the last year or two and love it! One of my favorite features is how easy it is to generate separate coverage information for unit tests vs. integration tests. Sonar provides excellent support for it, as well.
Good! You're right: the JDK's implementation is perfectly acceptable, and you'd be crazy to write your own. I certainly haven't, either.
But if you have any CS education, I'll bet you know what a linked list is at a high level. And I can probably verbally walk you through turning that into a "spec" that's good enough for a basic whiteboard implementation of one that supports a couple of basic operations. It's (hopefully) just another fizzbuzz: a simple problem to demonstrate that you can code something/anything. The overwhelming majority of applicants can't.
That said, hiring quality engineers is HARD, and often ends up coming down to a numbers game. If I've got 100 applicants to go through and know (from past experience) that over 80% of them couldn't code their way out of a wet paper bag, then I need short, deterministic interview techniques that will identify those candidates who are actually worth my time. Thus: fizzbuzz. I've met lots of folks who talk a great game, have all kinds of experience listed on their resume, and yet somehow can't write up a linked list or fizzbuzz solution in any language.
So, I accept that there will be some false negatives in order to more quickly narrow the focus down to those few rare folks that can actually code. It sucks: it isn't entirely fair to folks who struggle with stress/nerves, but I need a 5-15 minute litmus test that can be done remotely and I haven't found anything else more effective.
Short of wasting everyone's time with take-home projects (which I often employ in later stages of the interview process), what other options are out there?
Both of those environments are mixed-OS. The build farms are composed of a Jenkins master with multiple slaves of various OSes: Ubuntu, RHEL, and Windows. My home network is running Kerberos and OpenAFS (amongst many other random things [1]) on Ubuntu and Windows.
> We don't believe in hiding too many OS details from you -- for instance, not only do package names vary between distributions but think about how Apache is managed so very differently between Ubuntu and CentOS -- in fact, we've observed in many cases that trying to pave over those things can make content a lot harder to work on.
I don't know... the Puppet module for Apache [2] seems to do a reasonably good job of managing this. Admittedly, pretty much none of the "main" Puppet modules support Windows, but the underlying resource system absolutely does, so adding that support is just a matter of submitting pull requests to the modules.
[1] Everything's documented here: https://justdavis.com/karl/it/
Based on that example and the modules you mentioned, I'm guessing that the only real mechanism for multi-OS playbooks are separate sets of YAML files for each OS? If so, that's not exactly a great abstraction, though I'll agree it is workable. Still seems to be leaving Windows out in the cold altogether, as well, which is a show-stopper for my mixed environments.
[1] https://github.com/ansible/ansible-examples/tree/master/riak
Ansible doesn't seem to have this, which makes it a non-starter for me. The project mentioned above that I'm working on is a build farm, and that farm includes Ubuntu, RHEL, and Windows boxes. Ansible also doesn't look like it was designed to shield Playbook writers from the underlying OS much, either. At least, it doesn't seem to have any analogue to Puppet's OS-independent `package` resource; Playbooks all call yum or apt specifically.
That's a shame, because it does look a lot simpler to get up & running with. Learning Puppet and building up useful manifests for it has been a real slog.
This correlates well with the article here, as it turns out that resumes were more useful as a writing sample assessment than a work experience assessment to this company.
Are you saying that when developing in Node, you don't have to interact with npm or other build & deployment utilities? End-users of packaged Java applications don't have to interact with Maven any more than end users of packaged C applications have to interact with Make.
My understanding was that having a CA's private key just enables someone to issue new child keys for that CA. That vulnerability could be addressed with certificate pinning.
I've worked in organizations where the hiring process the OP is advocating for (short one hour, possibly non-technical, interviews) demonstrably led to serious problems in that organization. Have you ever sat in on technical software engineer interviews? It's beyond horrifying how many developers I've seen that have a great resume, a decent portfolio, talk a big game, but literally can't solve a fizzbuzz-style problem on a whiteboard. I'd say the percentage in my area of developers who fail at this is at least 80%!
Think about that... if your hiring procedures are lax, possibly 4 out of every 5 developers on your team will be ludicrously incompetent. I don't care how tight the hiring market gets; dumbing down interviews is simply not an option with those kinds of odds.
If you haven't already seen it, you should read Atwood's article on the same subject: "Why Can't Programmers.. Program?" [1].
[1] http://www.codinghorror.com/blog/2007/02/why-cant-programmer...
I'd guess it's (at most) as secure as the underlying OS containerization support.
... which is a pretty big problem, right? Especially since I don't think FF is likely to pick up NaCL unless/until hell freezes over.