Mark Twain Quotes

Wednesday, April 29, 2015

How to be miserable at your dream job

Twice in as many years I thought I had the perfect job.  At least, I tried to convince myself of this fact.  Who could complain?  The pay was good, the people were nice, the product/service was admirable.  I wasn't just dealing with e-commerce selling widgets, I was working on software that by all rights should be making people's lives better.  There were perks like free sodas, business trips to cool places, full medical benefits at no cost.  The first one even had flex time and partial telecommute.

But I was not happy.

Turns out I am just not a good fit for certain types of companies.  Namely, larger ones.  As in, larger than I can count on my fingers.  This is not to say I am not a "team player" or that I was not "invested" in the company.  But I am finding out that working for a really small company (or being a really small company) is where I excel.

I can't be a cog in a bigger machine.  I have to be a more important, integral part of something, or I loose my passion for it.  At a small company, I am the expert.  I can make choices and evangelize for them.  I don't have to deal with bureaucracy.

The second of the two companies, I took a chance and jumped into a development stack I had no experience with (.NET and Microsoft).  Turned out I just wasn't very good at it, and I was miserable working with it.  I should have never let my standards down (sorry MS lovers).  I took the job because of the company and their product alone, ignoring the lack of experience and the fact that it was a bigger company.  That was a mistake.

I had offers from larger companies, willing to pay a whole lot more than I was making, offering amazing perks, etc.  I turned them down.  I wasn't willing to work somewhere I knew I would hate, just for a lot of money (never mind the commutes were hell).

The job I finally accepted, I told him straight up, I am not too concerned about money as long as its enough to pay the bills. I am more interested in a good company where I can be myself and be happy working with the tools I know best.

I think I've learned my lesson.  Small is beautiful. Which is the way I've always approached anything creative.  

Wednesday, April 1, 2015

An exercise in misdirection

Did you know we spend billions in foreign aid yet we have homeless people, veterans without benefits, and elderly without medicines?

Oh that's terrible!

But the biggest chunk of that foreign aid goes to Isreal, thats over $300 for every citizen there.

Well, thats good then, Isreal needs it!

However, the total amount of foreign aid is still only a mere 1% of our budget.

Heck we should be sending MORE money to Isreal!

And we only spend 3% on educating our children.  Israel spends more than 6%.

Yeah thats why we're falling behind!

19% goes to our military though.

Well then, go USA!  Get those terrorists!  We're number 1!  Support our troops!

Only 4% goes to our veterans...

Oh, uh.. well, support our troops.. er, um.. stand with isreal.. or.. uh..

Tuesday, March 3, 2015

My next computer will be...

So I've decided to build my next computer.  

No, I'm not talking about just buying a case and stuffing a generic motherboard with Intel CPU into it.  I'm talking about a portable, laptop like machine.

With the availability of alternative options like the raspberry pi, you can build interesting computers.  Yes,we're not talking powerhouses here.  But we are talking a level of flexibility and variety not seen since the early days of personal computers.

Now the PI is a little weak, even though it now sports a quad core at 900mhz.  But it is only $35.  For around $100 you can get an octo core at around 2ghz, with the ODROID.

Using an HDMI to LVDS board I can hook up almost any LCD screen, and I've got a couple old laptops I can salvage from.

Add in a MoPi power HAT and a handful of battery cells and I've pretty much got everything I need to make a decent little machine.

The question then remains: what do I put it all in.  There is the Pi-top project that has a 3d printed laptop case.  But I want something more unique.

The first generation will be a prototype made from recycled cardboard.  Then I will make a more elaborate design using Lego.  Finally, I make a permanent design using wood, metal and leather in a steampunk style.

I may not be fastest but I bet I'll get some heads turning.  Stay tuned...

Thursday, November 20, 2014

Hands off my internet connection

If you don't know what Net Neutrality is about, let me explain it to you.
Do you like the internet? Do you like how you can find things from the most obscure to the most popular? Do you like how its getting faster all the time, and that speed applies to whatever you like to do on the internet, no matter how obscure or weird it is?
Net Neutrality is the Internet equivalent of "If it ain't broke, DON'T FIX IT!"
Net Neutrality means don't f*ck with my internet!
Net Neutrality means keep big businesses from changing something that already works just so they can make more money.
Net Neutrality means equal access for everybody -- isn't that what America is supposed to be all about?

Monday, September 8, 2014

Modern development hardware needs.

So its coming up on the time when I'm thinking about what kind of computer to upgrade to.  Our existing machine is a Macbook Pro that, when we got it 5 years ago, was top of the line.  Its taken a beating, going through 2 batteries, both fans, being dropped on a corner so the case is a bit warped, a hard drive death and the dvd drive dead (but never replaced) and now the power brick.  But all in all, a very solid reliable performer and still going.

So I'm thinking, this is still a pretty decent computer.  The last time I upgraded, the difference was pretty amazing.  For the last year and half, I had a company Macbook that was brand new with quad core processor and a huge harddrive.  But it wasn't hugely noticeable performance.  If I got a brand new Macbook today, I don't know that it would really seem that much faster.

Even though I am doing software development.  More specifically, web software.  So I'm running web servers and messaging queues and databases, browsers and editors, etc.  That's more than most people run, however, its not necessarily computationally intensive most of the time.  Do I really need a spanking new, blazing fast multicore monster of a laptop?

My first thought was, it would be cool to have a portable server box.  Like, really portable.. couldn't you pack a fast CPU and an SSD into a little box running linux and use that for dev?  Wouldn't that be better?  Then you wouldn't need all that running on your laptop.  Also you could then plug that into another machine and work if you wanted to.  And you could have a less beefy laptop.

Or, what if you just went all cloud based and have all your dev in the cloud?  Heck there's even a service that lets you have a Mac in the cloud ( never mind all the other services like bitnami and heroku etc.  And if you don't like that, you could also build your own server at home and use that. The only drawback there is having a good internet connection, which might limit you if you like to work from Starbucks or something.

Either way, you wouldn't then need such a powerful laptop.  I'm thinking my next laptop will be less of a do-it-all expensive monster and more of a sleek portal into my cloud connected development envirionment.

And with the money I'll save, I can restore my kit car.

Thursday, August 14, 2014

Damn it jim, I'm a programmer, not a data manipulator!

Ah but really, I don't feel like a programmer most of the time anymore.  And yet I write code.  But it seems most of it, like 90% of it, is just boilerplate code to transform data from one form into another.

Throw in filters, validation, and access permissions at different points along the transformation chain, and you have 99% of most web applications.

Why are we writing so much code for all of this all the time?  For a project I am faced with a decision.  Do I write code?  Or do I use some service which allows me to not write code?  It seems lazy, it seems like the way out for people who just don't know how to program, why would I as a seasoned programmer make use of such a tool?

But then, why not?  If I can use Dreamfactory to create a REST API to a database (complete with auto-generated documentation, authorization and permission checking, etc) and then use Appery to visually design a mobile app, and connect to the REST API, all without writing any code.. why not?

Granted there's still some edge situations that require some coding.  But the rest is just thinking about the data, how to present it, and how to store it.

I'm not really a programmer anymore.  I'm a data manipulator.

Or maybe I can put a nicer spin on it, and say I'm a "web application architect" - because there's still the process of defining the data, deciding how best to present it, and choosing the best tools and infrastructure to support it.

Monday, May 5, 2014

The Taste of Failure

The taste was still on my lips and in my mouth as I slowly made my way through the morning commute.  It reminded me of my failure over the last few days.   With nothing else to do with my brain I replayed the events leading up to that morning.

For more years than I can remember, it has been an interest -- near obsession -- of mine.  I’m not sure why, but I know it began with wanting to make my own pizza as a child.  Today, while I still yearn for that perfect home made pizza, my current goal is sour dough bread.

I’ve been baking breads for some years now.   I would characterize the results as being successful.  That is, of course, according to everyone else.  The bread is eaten and never lasts long.  The kids love the “salty bread” (baguettes) and soft pretzels.  Whenever anybody brings bread to church its assumed I made it.

But for me, the elusive true sour dough bread has not come forth from my oven as yet.  This week, I decided to try a new method based on a sour dough baking vlog I discovered from an actual chef.  It looked promising and seemed to address the issues I felt I was having.

The problem with sour dough is that you don’t just mix up a recipe and pop it in the oven.  Its a more involved process.  There are steps.  And timing.  Its a formula of sorts.  And yet there is a lot to it that is just intuition and experience.  This seems to be the appeal for me.  Baking bread, programming a computer, restoring a classic car.  Sequences, steps, processes, methodology, puzzles and problems.  These are things that get me going!

Everything seemed to be going well.  The sour starter was bubbling as described.  The sponge left overnight looked, well, spongy.  After adding the deceptively simple ingredients of salt, sugar, oil and flour, I proceeded to knead.   I could tell something didnt seem quite right at this point, but it was coming along like it always does.  I left the dough to rise all day.

When I got home, I could see the dough had indeed risen, but then fell slightly.  I pulled out the dough, folded it, formed it into the baguette shapes and left it to rise a final time.

In the morning, it had not risen.  I knew I had no choice at this point but to bake it and hope for the best.  While baking it did expand a bit, like it is supposed to, but not enough.  When it came out, it was hard and dense.  I had just invented hardtack.

I was severely disappointed, because this was to be my lunch.  I had already cooked a corned beef the night before.  I had the sauerkraut I made last week.  I had a plan!  Yes, I am obsessed not just with bread but with the idea of making complex meals entirely from scratch.  My other goal goes back to my childhood pizza experiments, and now consists of making mozzarella from scratch, as well as the sauce, and the crust.

I made the sandwich anyway.  My son, an early riser, was excited.  He passed on the bread after eating a few bites, but he didn’t recoil in horror.  Honey Nut Cheerios just seemed a better fit.  Then I tasted the bread.  It was hard, and chewy, but not in the good way a baguette should be - lightly crunchy on the outside, with a soft smooth crumb on the inside.  No, this was dense.  But oh my!  Was it sour!  It was really sour.  Over an hour later I could still taste the sour on my lips.

So, it was an epic fail.  Or was it?  My goal this time around was to finally get that sour dough flavor, and not just the “salty bread” flavor my kids seem to love.  Well, I sure scored big time on the sour flavor!  It was just too much and the bread texture was wrong.  Its so sour I started thinking of ways I could dry out the bread and grind it to a powder and use it as sour flavoring in quick breads.

And there it was.  A failure turned into a success of sorts, and the fruits of the failure repurposed for some future productive use.  Maybe this weekend I will try again.