I’m a government contractor.  Government contractors (and I assume many folks in private industry who work with data that should be protected) work on networks in which sys admins keep things locked down.  This presents real challenges for software developers.

1.  The tool list one uses has to be blessed.  Meaning, the tool itself and its version.  Meaning, there’s always a lag for anything to move through the process.  You’d like to use an IDE with a time-saving or other productivity feature?  Well, we already scan these other 3 – not sure why we need to add your 4th one to the list…..

2. The operating system one uses has the same challenge.  The time required to cross-check an operating system, given the base layer at which it operates in the technical stack, is significant.  Don’t think you’re using that new optimization anytime soon….  And, of course, tools which require relatively new versions of OS’es (Docker, say?) are tied up for a good long time.

3. For those of us with Linux operating environments, locked down operating systems often mean working with dated yum repositories.  You want that thing that was released 6 months ago?  It might make its way in in another 6 months when that repositories’ contents are brought inside.

4. “Air gap”…   We’re not even talking about compatibility here or concerns about dated artifacts…   Don’t think about using a yum repo that’s not already been imported in.  It’s just not “there” for you to use…

Challenge of the day: I want to use a Chrome extension for use in AngularJS debugging.  An older version of the extension’s available in my world, but my / my team’s primary development environment is CentOS, which doesn’t support Chrome.  There are folks who’ve contributed scripts to get Chrome running on CentOS, but those require access to repos which our sys admin team likely won’t let come through…  Reasonably certain of that, but still working through a set of steps at home to set up a CentOS VM, install Chrome, and install my extension.  Key items being that all things needed for installation have to be able to be brought in as specific artifacts.  I’ll need to test by installing them on my VM and then disable Internet access out to verify no secrets up my sleeve.  None of that can really happen on the work network – need to prove it _can_ all work out here to be able to then make an argument to import the artifacts in where my team can make use of them.

My work-around hack in the meantime: from another OS, ssh tunnel my web app’s port across and through, so I can run Chrome from the supported OS and hit my not-yet publicly accessible web application.

None of the above are things you ever get exposed to in college, etc – you figure our your own hacks to get your job done once you hit the field.  That’s what makes you an engineer, rather than just a code monkey…

Motorcycle dreaming… I have this image of me on a cruiser, feet out slightly in front of me, riding down the road. The road isn’t crazy, but it isn’t an empty country road, either.

Have had this dream for a good long time. Long ago, I did my first bit of dream fulfillment, buying a black leather motorcycle jacket at a yard sale. I’ve checked out bikes in parking lots and in magazines while waiting for haircuts. I’ve ridden on the back of bikes, and have a brother-in-law who was gracious enough to let me drive his bike around his apartment parking lot.

What I haven’t had is a license and my own bike. This week, I started to correct that. On my birthday, I started my first day of a 4 day motorcycle class. Tomorrow I get to move from classroom to driving range. I’ll happily get up early on a Saturday to get a chance to advance this dream. I’ll be on a Harley Davidson Street 500…  not thinking this is my dream bike, but I’ll happily learn on it for a day or two.

Can’t wait to see what the weekend holds, and where my heart and brain are re: motorcycles by Sunday…!

Doing AngularJS development for work.  Relatively new, but getting things done.  Have learned the angular.element($0).scope() command to let me poke around in FireBug, but find it, well, lacking.  Batarang appears to be the thing to practically use…

Batarang is a Chrome extension.  The machines at work are CentOS.  CentOS apparently doesn’t just nicely have Chrome.  It could have Chromium, which would apparently support Batarang, but our yum repos don’t have such nice artifacts within them.

Geek hack of the day: ssh tunnel into my CentOS machine from another machine which does have Chrome.  Install Batarang on that other machine.  Invoke my web app in the remote machine, over ssh tunneling, as if it were localhost.  Bada-bing.  Final note: add to the dev wiki at work to help the next guy/gal out, rather than have them beat their heads against the same wall.  Software developer productivity win.