perl globe

The election was no one person's fault

I've recently identified a failure in my own thinking and thought I'd share.

Like many people, I found myself stunned after the election. Like many people, I spent a fair amount of time talking about it with those around me. About a day later, I noticed I had been saying things like this:

"This election was all down to Comey and Johnson. If Comey had just followed investigative procedure and kept his mouth shut until he knew there was something there, Clinton wouldn't have lost her giant lead. If Johnson hadn't split the vote, she would have won."

I then saw this out on the Internet: Summary: it's the press's fault because they gave Trump lots of coverage without ever drilling deep on any of his failings. This really brought it into focus.

Collapse )
perl globe

Honest question: What do Republicans want?

Most of us live in news bubbles these days, where our perceptions are slanted one way or the other based on the media we consume. My bubble is Democratic/technocratic/humanist and it leaves me fuzzy on those on the other side of the aisle. I was realizing that I don't know what the positive drivers are for Republicans, and was hoping someone could educate me. Note that I'm not talking about politicians, I'm talking about private citizens who vote Republican.

Here is my understanding of the Republican desires:

* Unfettered access to guns
* Support for farmers (maybe?)
* Increased defense spending
* Christianity is good, Judaism is okay, everyone else get out.
* Reduced taxes, especially on business
* No immigration
* No acknowledgement of climate change
* No marriage except one man + one woman
* Reduce government spending (primarily from science and art, maybe?)
* No nuclear power (maybe? Many Republicans seem to be pro-fossil fuels, anyway.)
* I'm not clear on where they stand on alternative energy (e.g. wind, solar) but my impression is they generally disfavor it
* No drug legalization efforts or approaches other than policing (e.g. no free needle programs)
* No abortion
* No national health care

Aside from the first three, these are all negative desires -- they want things to NOT happen, or at least happen less. Now, I get that this is all under the "decrease government spending" rubric, but I don't have a sense that they (that is, "citizens who vote Republican") particularly want those things at all. I don't hear a lot about nuclear power companies affiliated with the Republican Party, or operated by people who vote Republican. Ditto for science in general.

What are their positive drivers? What sort of thing do they want that could be framed as "do more of X" or "make sure X happens", where X isn't the reduction / elimination of something?
perl globe

How do you stay current?

Question:  What do you do to stay current with (the world | your career | your friends | etc)?  What do you read / practice / etc?
Background: As a programmer I'm constantly chasing the state of the art curve, and it's constantly moving out from under me which leaves my skills less marketable.  The news (politics, world events, etc) usually either bores the socks off me or makes me furious; this gives it a tremendous ugh field, yet I feel like I should keep up with it.  My friends' lives are complex and busy and staying up to date with what's happening for them often feels overwhelming, yet not doing so means that those relationships fade.
I often wish there were a service that would send me a summary every day saying something like what I put below, along with links to more information.

How do y'all stay current with your lives, careers, and the world?
Example "stay somewhat current" report that I wish I could get emailed to me:
*) Here are the things you need to know about politics so you don't sound clueless.
  *) Donald Trump insulted a gold star military family
  *) Hillary Clinton is ahead in the polls by X
  *) There was a massive riot in <country> that was caused by <thing> and that's important to the US because <reason>
  *) <country A> is talking about imposing trade sanctions on <country B> because <reason> and that matters to the US because <reason>
*) Here's a summary of the lives on the friends you've expressed interest in tracking:
  *) Alice and her husband Bob had a baby, , on <date>. Alice will be on mat leave until <date>
    *) Charlie is responding well to chemo
  *) Danielle is moving to <place> for a new job as a <title> with <company>
  *) Emily is enjoying her new relationship with who she met on in
*) Important upcoming dates:
*) Al's birthday
    *) Kim's wedding
    *) Your parent's anniversary

*) You said that you're a web programmer.  Here are some relevant tech trends:
  *) Jobs are trending down for Ruby and up for Haskell
  *) 'Containers' are the new hotness.  Containers are just slightly gimped FreeBSD jails.
  *) MEAN stack is continuing to gain mindshare and LAMP is continuing to lose it

perl globe

Spaghetti law

There's a term in programming, 'spaghetti code'.  It's not a compliment.  It refers to messy, disorganized code that is difficult to follow and uses bad practices such as GOTO commands instead of proper subroutine calls.  Spaghetti code is a nightmare for anyone who has to come along later and work with that code.  I have just been reminded that the U.S. body of law is spaghetti; laws reference other laws and provide edits to other laws -- actual textual edits, not simple amendments.  I very much doubt that those original laws have pointers back to all the places that have subsequently edited them, which means that they aren't trustworthy sources.  This is a thing that I knew, but didn't really think about until I started looking into it.

Want examples?  Look behind the cut.  (Not for the faint of heart.)

Collapse )

I suppose this is why the quote exists:  "Law and sausages:  everyone wants them, no one wants to know how they are made."
perl globe

Deliberate practice, how and why

There's a term, "Deliberate Practice", that gets thrown around in my circles a fair bit.  I recently went and read the original paper by Ericsson et al.

As with most academic papers, there's quite a bit of fluff in it -- e.g., the entire "Brief Historical Background" section, which has no bearing on the actual facts discovered by this study.  If you boil it down, though, here is what you get:

Collapse )

Did I miss any important points?
perl globe

Pointless algorithm questions and cowardly interviewers

Tech interviews frustrate me.  Well, actually, interviews frustrate me.

I just had a phone interview (audio only).  The guy asked me a lot of questions about my background.  I answered them as honestly as I could, and I'm not sure if the result was positive.  The conversation went something like this:
Collapse )

So here's what I find frustrating:  this is a pointless question that has no relevance to the actual job, he doesn't have the guts to tell me to my face that I flunked his pointless test, and I'm probably not going to get the job even though my experience is very much in line with what they need.  The part that irritates me the most is the "not having the guts to say so" part, though.
perl globe

How not to advertise for a programming job

I'm in the middle of jobhunting for programming work, and I just found the following ad.  I'd like to review it in the hope that the tens of thousands of people () who (a) read this blog and (b) are responsible for writing ads for technical jobs might learn something.

(Cut tag around the ad itself so as not to text-wall you.)

Problems with this ad:

  1. Too much babble about your company history.  I don't care how many staff you have, how many countries you're in, or when you were founded.  I care about what skills I need, what I'm going to be doing, and how much money you're going to pay me.

  2. I don't care about the benefits package.  There's nothing here that's both unusual and significant.  Don't waste my time.

  3. You lead off with:  "The Applications Developer role will be responsible for supporting projects that involve the development, implementation and deployment of applications to $COMPANY. "   Really?  The Applications Developer job will develop applications?  Who could have predicted it?

  4. Job Responsibilites:  This was written by a pointy-haired boss and is a waste of space in your ad.  "Efficiently manage workload and projects within set timelines and to agreed budget, achieving set objectives.  Assimilate and apply new job-related information in a timely manner"? How is this different from any other job?  Again, I care about: what I will do, what skills I need, how much money you'll give me for it.  Anything else is useless.

  5. Job Requirements.  This is a bit of a pet peeve, but asking for both a Bachelor's degree and 5 to 8 years experience is stupid.  If I have 5 years experience it means I can do the job, regardless of whether I have a diploma.  Don't waste my time.  (In my case I have 20 years, so I'm almost certainly qualified for anything you're likely to want based on this vague and poorly written ad.)

  6. The buzzwords you use matter, and you're using the wrong ones. 

    • Prototype is a Javascript library, and Rose::DB::Object is a database interface.  Both of them lost to their competitors (jQuery and DBIx::Class, respectively).  This means your shop is either out of date and change-resistant or someone non-technical wrote this ad and no technical person checked it.  Sloppy.

    • Saying you want someone with both CVS and git experience is bizarre; CVS is a legacy version control system that hasn't been widely used since the 90s.  git is a recent and au courant VCS that is the system of choice in most modern shops.  CVS was replaced by git for very good reasons; if you are using just CVS it means your shop is outdated and change-resistant.  If you are using both CVS and git it means that you don't understand overhead costs and system integration, and you never thought to research ways to migrate your CVS repository into your git system.  (Which is quite straightforward.)

    • Saying that you want both mod_perl (the correct capitalization) and Catalyst experience is equally bizarre.  mod_perl was largely replaced by FastCGI for good reasons.  Catalyst is a modern web framework which is easy to integrate into a FastCGI environment and running it under mod_perl seems odd.

  7. Everything that comes after 'Design and documentation of code' is more meaningless pablum.  Again, don't waste my time.

  8. List the salary range! This is the number one thing that I and any other job applicant is looking for!  The salary is the first make-or-break as to whether I'm going to apply.  Why would you not list it?

Finally, the single biggest blunder:  buried in the middle of all this blather is the line "Please apply using our online application system." There's no link.  I have no way to get to your application system.  You provide a link to your homepage, but neither the word "Job" nor the word "Apply" appears on that page.  Do you really think I'm going to dig around your site hoping to find a way to send you a resume?

Collapse )
perl globe

Fairly amazing email conversation I just had

There's a startup advertising through my social graph; they sounded somewhat interesting and I'm looking around for work, so I reached out.  I explained my CV and asked some questions about the job.  Here's the ensuing conversation; it's condensed a bit, but all of their words are direct quotes.

Them: Our ideal person wouldn't need a salary.

Me: Sorry, I'm going back to programming because my savings are running low, so I need a salary.
Them: What's the minimum you would accept?
Me: I think I can get $X - $Y on the open market.
Them: Yeah, those are reasonable numbers.  I just wasn't sure what your trade-off was between "making lots of money" and "working at a company that's actually doing something of serious value." ;) If there is none, then we definitely can't compete.
Me: You're assuming that those are mutually exclusive goals.
Them: I think there is definitely a trade-off, but then again I have a very high bar for what constitutes "serious value." :)
Me: Good luck with that.

What a sanctimonious jackass.
perl globe

Kickstarter == chocolate!

Minor bit of solicitation here:  I'm hoping to send people to a friend's Kickstarter where the rewards are chocolate:
My friend Tracy Wolf does chocolates that are better than any professionally-made chocolates I've ever had.  A few years ago I asked her to teach me / help me to make a few batches so that I could give them to family as presents.  They were amazing -- people had trouble believing that I had made them, and everyone raved about the.
Tracy is opening Cable Car Cakes and Chocolates, a bakery/chocolate shop, in San Francisco and has just launched a Kickstarter to pay for the necessary equipment (enrobers, mixers, etc).  The rewards are chocolates!
Again, the Kickstarter is here:

If you enjoy chocolates, if you like to support small business owners, if you would like to try some incredible treats, go check this out.  (Also, if you're financially minded, the reward chocolates are less expensive than buying good chocolate at the store!)
If you think you might want to pledge please do it soon!  The first 36 hours of a Kickstarter are incredibly important -- Kickstarters that don't fund well during that time tend not to fund at all.
perl globe

Impressions on El Capitan

I've been using OSX 10.11 (El Capitan) for a month now.  Before this I was using OSX 10.6.8 (Snow Leopard).  Here's how EC stacks up.

Summary:  Wait a few months or a year before upgrading.  Hopefully Apple will get some of the issues ironed out.

Collapse )