Archive for the ‘Everything Else’ Category

Struggling With a Lot of Things Lately

Sunday, January 6th, 2013

This last week at home has been a real struggle for me. I'm trying to figure out why I'm working as hard as I am in a job with pretty much no bonus structure and co-workers that think that coming in at 8:00 am is too early. I'm not saying they are wrong, I'm wondering why I'm working as hard as I am if they are seen as OK?

There's similar stuff going on at home. I'm working harder than ever, but it appears to be a completely thankless job - even from those that should know better.

So the latest is that the project manager for the project at The Shop said that he had to have certain transparency features that he has now - when we move to the new demand system - that we've already moved to, by the way. He said that he needed two features that I an specifically told him he was not going to have if we moved forward with this project, and he said he was "OK" with that. I've come to learn that he's the one individual that I've talked to at work that consistently never really listens to me.

Oh, I don't think I'm singled out in that regard - I'm sure there are lots of peopler he doesn't listen to, but when I take a lot of time to lay things out clearly, and carefully, and he buys off on them, it's more than a little annoying to see him do a complete 180 when it's now deployed. It shouldn't be a surprise, but it's incredibly frustrating, and it's really gotten me thinking.

Like why do I even try? Why not just give him the crap he's asking for, and then when he gets it tell him he didn't listen to me, show him the emails, and then stare at him in the face. If he thinks he doesn't have to listen to me, maybe he doesn't? Who am I to say?

At the same time, I'm ready to quit. Of course I won't, but this is exactly what I hate most about the places I've been recently - crappy management. Really crappy management. If they want me to do something weird, or talk to this legacy system, or whatever, at least I can understand that reason and move on. But when the manager of the project is countermanding his own orders, then it means there's nothing I can count on at all. There's no reason to say anything, and in short, everything is a waste if time.

That's what's so frustrating. Feeling like I'm wasting my time. I hate that.

Anyway, tomorrow is the first day back, and I'm going to present my case, point out that he was told about these, and then let him pick. After he chooses wrongly, I'll just talk to my management (other management, this place is like Office Space) and tell them that this is the one thing I hate, and has caused me to leave other places. I'm not being mean, or nasty, but if they understand the total crap this is, I think they'll at least understand my position - even if they don't applaud my response to it.

They can't like wasting their time anymore than I like wasting mine.

I got a lot of anger towards a lot of people right now. Wanna just throw it all away, but I have to deal with these people, and that makes it very very hard.

Happy Birthday to Me!

Monday, December 31st, 2012

Cake.jpg

Well… today I'm 51 years old. Honestly, I can't remember ever thinking that I'd ever be this old. It feels ancient - until I think about how I felt a year ago, then it's not so bad. It's not that I feel old really, it's that I just never imagined being this age.

As Liza says, it beats the alternative, and that's true. I've got a lot of things I still want to do, and that means I need to hop to it and get a move on.

And she made me this fantastic double-decker pineapple upside-down cake:

http://farm9.staticflickr.com/8076/8332431178_3f5c01c9ea_m.jpg

It is delicious!

Merry Christmas!

Tuesday, December 25th, 2012

Christmas Tree

It's been a very nice Christmas Day… the presents were a lot of fun, and then we went and saw This is 40 - which wasn't all that good, but it was nice to get out and see a movie - even if it wasn't really funny. The year's almost done, and I'm sure I'll be working on things here while I'm home, but it's nice to take a little rest and just give thanks.

Google Chrome dev 25.0.1364.2 is Out

Wednesday, December 19th, 2012

This morning I noticed that the Google Chrome team released dev 25.0.1364.2 and once again released completely useless release notes. It's really amazing how little effort some people will put into their craft. But then again, I've worked with a lot of folks like this, and thankfully I'm still totally baffled by their attitude.

I hope I never understand them.

Google Chrome dev 25.0.1354.0 is Out

Monday, December 10th, 2012

This afternoon the Google Chrome team released 25.0.1354.0 to the dev track. Unfortunately, the release notes are more than terse, and of no help to someone at all. I wonder why they even bother?

Google Chrome dev 25.0.1349.2 is Out

Friday, December 7th, 2012

Google Chrome

This morning I noticed that Google Chrome dev is now up to 25.0.1349.2 with another nearly useless set of release notes. While I like that they provide a link to the SVN log, that's not really release notes by any stretch of the imagination. I write very nice commit messages, but even I know those aren't anything like release notes. They're far too detailed. I wish they'd write release notes and not just reference the SVN logs.

Hanging out at Caribou!

Saturday, December 1st, 2012

So this is the first time I've had to hang out at Caribou! while Liza is working. It's a zoo here, with a book signing and the place is packed! Still… I'm trying the Hot Apple Cider, and it's really quite tasty.

Hanging out at Caribou!

I was hoping it'd be a nice quiet place to get a little reading or coding done, but that's just not in the cards. Not unless I go deaf in the next 60 sec, or they close this book signing by a mass exodus.

Oh well… it's still great to see Liza work. It puts a smile on my face.

Like the picture.

Google Chrome dev 25.0.1337.0 is Out

Thursday, November 29th, 2012

Google Chrome

It's almost the leet version number, but not quite. This morning Google Chrome dev 25.0.1337.0 was released with virtually nonexistent release notes. I guess the same maintainer is back at it. Just gotta wonder what they are thinking. I can write a few paragraphs a day on what I'm doing and they can even be bothered to make decent release notes?

Googlers. Go figure.

Decided to Switch to Homebrew

Thursday, November 15th, 2012

Homebrew

I've got an old install of Erlang, and Clojure, and I need to update them for work I'm about to do, but I don't feel like doing the same old installs… I'm going to try Homebrew for package management because it's working so well for my work laptop. So I cleared out the old installs of these packages, which was a chore - basically, complete directories in /usr/local/ or in ~/Library/ and I also took the time to clean up my .bash_login and .bashrc because they had additions for the PATH, and even DYLD_LIBRARY_PATH that needed to be removed as well.

Once I had the old stuff removed, I installed Homebrew with the simple command:

  $ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

and it installed itself just fine. Having done this already, I knew what to expect, but the next steps were really nice:

  $ brew install erlang
  $ brew install leiningen

where Leiningen is the Clojure package manager and REPL tool. Once I had this installed, I noticed that /usr/local/bin wasn't early enough in my PATH to make sure that I picked off the Homebrew commands and not the native OS X commands.

Actually, Homebrew itself, pointed this out to me. Nice installer. So I had to track down where this was happening. Interestingly enough, I wasn't adding /usr/local/bin/ to my path - the system was! In /etc/paths there's a list of paths to add:

  /usr/bin
  /bin
  /usr/sbin
  /sbin
  /usr/local/bin

and I needed to change it to:

  /usr/local/bin
  /usr/bin
  /bin
  /usr/sbin
  /sbin

to get things right. Now, I had the PATH right, and both Erlang (erl) and Clojure (lein repl) started up just fine. Sounds like a no-op, but I'm on more recent versions, and for the work I'm about to get into, switching to Leiningen is a must.

But I didn't stop there… Oh no… I kept on cleaning things up. I don't even have Qt on this box, but that was in my PATH, and the Groovy, and a lot of other things that I don't have and don't need. All cleaned up.

By now my .bash_login and .bashrc are looking almost spartan. But then I was wondering about PostgreSQL. Was that on Homebrew? Would it work with Apache2 on my OS X box? Since I had the time, I decided to try it. So once again, I followed the simple steps to migrate from one package to the other:

Step 1 - make a complete backup. I went into my home directory and backed up everything in my server:

  $ /usr/local/pgsql/bin/pg_dumpall -U _postgres -o > pgbackup

Step 2 - shut down the old version, and remove it's startup script from the system-wide install location:

  $ sudo launchctl unload \
      /Library/LaunchDaemons/org.postgresql.postgres.plist
  $ sudo rm /Library/LaunchDaemons/org.postgresql.postgres.plist

Step 3 - remove the old install and all the symlinks in the man pages and the /usr/local/bin directory that I did myself with this install:

  $ cd /usr/local
  $ sudo rm -rf pgsql-9.1

there was some shell magic in the removal of the links - like an ls piped into a grep for 'pgsql' and then removing them. Nothing fancy, but it took a little time.

Now that the old PostgreSQL install was really gone - even from my .bash_login and .bashrc, I was ready to install the PostgreSQL from Homebrew. One of the reasons was that it was 9.2.1 and the previous install was 9.1.

Step 4 - install PostgreSQL:

  $ brew install postgresql

Step 5 - create initial database for Homebrew PostgreSQL install:

  $ initdb /usr/local/var/postgres -E utf8

Step 6 - set it to start on my login, and start it now:

  $ mkdir -p ~/Library/LaunchAgents
  $ cp /usr/local/Cellar/postgresql/9.2.1/homebrew.mxcl.postgresql.plist \
        ~/Library/LaunchAgents/
  $ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Step 7 - reload databases from initial dump:

  $ psql -d template1 -f ~/pgbackup

At this point, we can run psql and access the databases, and I'm sure I'm up and running, I needed to see about the integration with Apache2 - I have to have that working for some projects I've done, and are still working on.

Step 8 - activating PHP in Apache2 config on my box. Edit the file: /etc/apache2/httpd.conf and uncomment the line that looks like:

  LoadModule php5_module libexec/apache2/libphp5.so

and restart apache:

  $ sudo apachectl graceful

Step 9 - make my ~/Sites directory executable again. Create the file /etc/apache2/users/drbob.conf:

  <Directory "/Users/drbob/Sites/">
    Options FollowSymLinks Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>

and at this point, I had the quite familiar PHP info screen up and my simple database accessing page worked like a charm. I'd successfully completed the migration!

But was I done? No!

I've been running boost 1.49.0 for a while, and I like that I figured out how to do universal binaries of the libraries. Very nice. But then I checked Homebrew:

  $ brew info boost
  boost: stable 1.52.0 (bottled), HEAD
  www.boost.org
  Not installed
  github.com/mxcl/homebrew/commits/master/Library/Formula/boost.rb
  ==> Options
  --with-icu
    Build regexp engine with icu support
  --without-python
    Build without Python
  --with-mpi
    Enable MPI support
  --universal
    Build a universal binary

so I could update to boost 1.52.0 and get the same universal binaries without missing a beat! This might be really nice. So I removed my own boost install:

  $ cd /usr/local/include
  $ sudo rm -rf boost
  $ cd /usr/local/lib
  $ sudo rm -rf libboost_*

and then I installed boost from Homebrew:

  $ brew install boost --universal

Odd… I got:

  ...failed updating 22 targets...
  ...skipped 12 targets...
  ...updated 10743 targets...
 
  READ THIS: github.com/mxcl/homebrew/wiki/troubleshooting
 
  These open issues may also help:
    github.com/mxcl/homebrew/issues/14749

The hint was to run brew doctor and correct all the errors. Well… I had a lot of them - all from my manual boost and gfortran installs. So I ditched my old gfortran install and cleaned up all the problems and then I re-ran the install:

  /usr/local/Cellar/boost/1.52.0: 9086 files, 362M, built in 6.1 minutes

When I looked in /usr/local/include and /usr/local/lib I see all the boost code, and I even checked that I got the universal binaries:

  $ file /usr/local/lib/libboost_wave-mt.dylib 
  /usr/local/lib/libboost_wave-mt.dylib: Mach-O universal binary with 2 architectures
  /usr/local/lib/libboost_wave-mt.dylib (for architecture i386): Mach-O dynamically
    linked shared library i386
  /usr/local/lib/libboost_wave-mt.dylib (for architecture x86_64): Mach-O
    64-bit dynamically linked shared library x86_64

Excellent!

Now to put back gfortran from Homebrew:

  $ brew install gfortran

and after cleaning up more cruft from the old gfortran install, it installed and worked just fine!

I have now successfully removed all the third-party builds I once used with Homebrew. This is amazing stuff.

Google Chrome dev 25.0.1323.1 is Out

Tuesday, November 13th, 2012

This morning I noticed that Google Chrome dev 25.0.1323.1 was out and the release notes have returned to a more spartan style. Yes, people can read SVN logs, but that's not the point - really, is it? If you take the time to make a blog post about the release, you should be able to make release notes that say more than "Read the SVN logs".

Still… progress is nice to see continuing.