Just submitted a topic for OSCON 2016…. now to wait with bated breath to see if my topic is accepted. The topic is Furby related, of course, since that broke the previous logjam of unaccepted submissions – I’m completely superstitious! A/B testing suggests that all previous topics that were not Furby-related, even those submitted in the same year as the Furby submission, were not accepted. Therefore, to optimize chances of acceptance and/or to refute the A/B testing result, submitting a Furby-related proposal. If this one’s accepted, God help me, I may be working with Furbys for the rest of my life… I may need to upgrade to the Chewbacca Furby.
Womens’ sports weekend
Sitting here on a Sunday night, realized it’s been a great womens’ sport weekend. On Friday, caught the USA Rugby Womens’ Premiere League championship series. Saw a local team (DC Furies!) and a team with former teammates (Glendale Raptors), and some great rugby play.
Saturday morning, my daughter’s soccer team finished out their season with an exhibition game – well matched teams, and LOVED seeing my daughter going head to head defending a guy we’ve known since they were both much younger. When that competitive drive kicks in with her, nobody is getting past her without a fight. That’s something I love to see, that fire in the belly transformed into energy to power her long legs.
Sunday morning, I got up and caught the Rhonda Rousey results. Surprising result – caught the replay later in the day. Kudos to both Holms for the win, and Rousey for taking the hits she did. That the undefeated champ met her match means all kinds of good things for interest in womens’ UFC.
And now Sunday evening, I’m watching the Glendale Raptors defend their WPL title. A UMBC alum is on the pitch, as is someone I’ve played with for Severn River.
Oh, I did watch the Raven’s game while I was on the treadmill at the gym. The womens’ sports stuff was much more inspiring….
Friday Evening geekery
Spent much of this afternoon frustrated at work… Tried to do something “smart” and use a provided virtual machine to run through a tutorial. First time using a virtual machine on that particular box was not pleasant. Completely slowed down my machine, and then the virtual box instance itself was slow to the point of uselessness. The VM would occasionally decide it was done, and would just close. When I finally got something close to working, VM-wise, after the first few steps in the tutorial, an instruction just didn’t work right.
So I’ve spent this evening working to get an environment on my home machine which’ll presumably let me get past the step that got blocked at work. Here’s the life of a computer geek:
* the software I need to run is compiled for a few different operating systems, but not mine.
* there is a link provided to the GitHub repository hosting the source. Good luck: the link goes to a project area that includes 4 pages of potential code repositories. Some of them are marked as no longer supported, but none is conveniently marked with a ‘Start Here’. Even the repository named Documentation is missing a README.md or any sort of file named ‘BuildMe’
* OK, maybe I can use a different operating system distribution by downloading a VirtualBox image of that operating system and getting it set up.
* Hmmm – VirtualBox installed – good. CentOS 64 bit image? Not so much – go find it.
* Now how to get the software RPMs on my CentOS 64 bit image? Need a shared drive. That requires a Guest Additions to be installed in my VM image.
* To install it on Linux requires me to add gcc and kernel-devel. Also prefers something called dkms, which I’ve not heard of before AND which can’t be found from my machine
* Finally got a shared mapped drive, after a few more Googles for missing steps. I’m still missing OpenGL support, I think, but am going to quietly ignore that until it becomes a problem for me.
* By the way, keyboard mappings vary significantly between CentOS and Mac. Meaning, stupid things like finding ‘*’ are a hunt and peck game across my keyboard. I have a README file now shared between the system to help remind me where things are.
* FINALLY have the file I wanted to share in the shared drive, moved over, granted with permissions to the user I want it to. `sudo yum install *.rpm` (after finding *, which is an intuitive Shift-]) complains about some missing libraries. Turns out there are steps listed in the software’s guide for installation of dependencies.
Let’s see – how many bullets above in terms of steps, before I get this software to a potentially runnable state? One has to be particularly bull-headed to continue moving forward. And particularly convinced that she’ll knock the next set of concerns. But sheesh.
OK, software’s installed. First execution – barf. But I know what the next thing is, and will tackle it tomorrow. It does help if one runs an IDE inside something with a windowing system, rather than just a terminal.
Lessons on a Motorcycle
A few lessons learned from my first 6 weeks or so on a motorcycle:
- 60 mph on a motorcycle feels _so_ much faster on a bike than in a car.
- Bumps in the road have a bigger impact on a motorcycle.
- A windshield is an amazing thing, in terms of changing your driving experience. My motorcycle doesn’t have one, and it can feel like I’m going to be blown off my bike.
- Turn signals don’t automatically turn off on my motorcycle. I have to explicitly check to make sure I’m not THAT annoying driver.
- 35 degrees (temperature this morning) is remarkably cold when driving 60 mph.
- Motorcycles don’t have glove boxes or other such handy places for leaving things at your vehicle.
- That rock that might put a ding in your windshield leaves a pretty nice contusion when it hits your unprotected shin instead.
- There are no windshield wipers on motorcycle helmets.
- Similarly, no defoggers on motorcycle helmets
- Or glare shields.
Biggest lesson: still a whole lotta fun. I’m not looking forward to tucking it mostly away for the winter. Thinking maybe I’ll try doing some skills practicing at the local high school over the winter – low speed controlled turn maneuvers and such…. I’m also looking forward to kitting it out with some sort of carrying bag and doing an overall general tuneup and chrome detailing.
How Old??!
Trying how-old.net, a site built out by Microsoft to help highlight their Azure and Cortana offerings, based on an announcement at Strata. My Facebook profile picture got hits ranging from 20 – 52. More 20ish (yay!) and some joker put in 99… Interesting machine learning and data science experiment. (The machine got it precisely right in terms of my actual age, though I think the picture is two or so years old, so judge “right” appropriately.)
Tech conference travels
Headed on the train up to NYC to attend Strata, which is a BigData + Hadoop conference. Looking forward to sessions on Spark, as well as getting exposure to other open source platforms which might be of interest to my company or to its clients. And, of course, interested in making contacts that help us either hire more people or enter into new business areas – particularly those that have fewer barriers to entry to bringing on people!
That’s the blend of things that go into my idea of a successful conference visit. I should come away with some 3-5 contacts that make sense to follow up with, post conference, and should find 2-3 things that I hadn’t previously really been exposed to. Oh, and I should be able to come away with some sort of themes of the event – folks were talking about topicY moreso than topicX, or the main thrust of the birds of the feathers sessions aligned or didn’t align with what I saw in the curated conference speaker topics. And somehow fit in a bit of wandering around the expo to see if there’s a commercial offering that makes sense to track or compare the open-source world to – some killer feature or ease of use bundling or new infrastructure or platform as a service offering to experiment with.
After the event, I’ll put together a summary – intent is to post it here, as well as make it available through our corporate LinkedIn page. Nerdery publicly shared!
Writing…
Writing a difficult letter to a family member, trying to clear the air of years of messy interactions. The aim of writing the letter isn’t so much to make the air truly clear, (that would take much more than a single letter could do) but just to see if there’s interest by the other party in meeting in the middle somewhere sometime. This is one of those moments where the answer could be nothing, could be a door slam, or could be a positive movement. History suggests its much more likely to be one of the first two than it is to be the third. But the very act of sending the letter will be a positive movement for me. In doing this, I’m expressing as clearly as I can my interest in moving forward. There’ll be no more unsatisfied hopes that somehow if I just expressed it differently that things would get better. No more ‘well maybe they don’t realize how awful their behavior towards me feels’ excuses. My intent is to be free of any ‘it could be different if I…’ misgivings. And then I’m letting it be. And freeing myself up to be either pleasantly surprised by a positive response, or else free to stop feeling bad about a relationship that “should” be better. Its a relationship between people who are tied together because of birth – not because of shared interests, common commitments, or shared values. One would hope some of those would be there, but being born of someone doesn’t guarantee anything more than the genetic material strands shared in common. If nothing more comes of this relationship, I hope to honor the roll these folks played in my early life, and grant that their imperfections and mine make us each individual humans doing as best we can with what we’ve got. But please, God, may my relationship with my own kids be one that I always work to nurture and grow. May I extend love to the human family, both biological and other, that _are_ in my life, and may I always seek to lend an ear and an arm to someone else who may be a bit adrift in the world.
I’ve drafted the letter… now to sleep and then revisit tomorrow before sending it.
Code review – what the heck is that?!
Code-reviewing a proposed merge request from a guy who doesn’t usually do web development, but pitches in on minor bugs. However, today, he surprised me with something I’d never seen before….
ng-show-start and ng-show-end. I saw it in the code, saw what he intended, and nearly passed it by. But then realized I’d never seen an AngularJS directive like that. ng-show’s documentation didn’t mention any such type of use, and besides, that would be a new directive. A hunt through our source code didn’t turn it up in either our angular.js source file (patched by the guys before me) or in any custom directive. (Yes, I did look for ngShowStart, rather than ng-show-start…). A hunt through Google showed a guy asking on StackOverflow how to do an ng-show-start, and getting told to wrap an ng-show in an outer element rather than do a -start / -end combination.
So I was about to bust his chops in the code review, but then realized he’d only repeated a pattern he saw in the code. Pulled it up in Chrome using the Batarang plugin to see what more I could figure out. All I discovered is that the code did what he intended, but I had no idea how it actually worked. As in, to my knowledge, there was no way that code should be useful, but here it was doing what he intended……
I finally found my answer, nowhere near the ng-show documentation. It turns out that _any_ directive can have this -start/-end behavior, thus making specific Google searches very non-useful. There’s a multiElement attribute available, which
When this property is set to true, the HTML compiler will collect DOM nodes between nodes with the attributes
<span class="pln">directive</span><span class="pun">-</span><span class="pln">name</span><span class="pun">-</span><span class="pln">start </span>
and<span class="pln">directive</span><span class="pun">-</span><span class="pln">name</span><span class="pun">-</span><span class="kwd">end</span>
, and group them together as the directive elements. It is recommended that this feature be used on directives which are not strictly behavioural (such as<span class="pln">ngClick</span>
), and which do not manipulate or replace child nodes (such as<span class="pln">ngInclude</span>
).
Not sure what words I can add to this posting to help make this easier to find for the next coder, but this counted as a couple of hours of my afternoon today…
Motorcycle – Maintenance 1
Went to try my first big adventure drive to work the other morning, and my bike wouldn’t start. Grrrrr…. Pushed it back up the driveway and headed in in my Toyota.
That evening, went to go figure out why… Symptoms: it did that morning, and then I cut it off so that I could move it down the driveway without the loud engine noise, and just start it back up again to pull out. When I tried to start it again, it just made a whirring noise. The oil light came on and my neutral light was on because, of course, I had it in neutral so it wouldn’t jump accidentally. Since it had started once, I was hopeful that there was some sort of moisture issue in play or that I’d flooded the engine. Either one should have resolved by the evening. Unfortunately, same symptoms, though now the lights looked a bit dimmer.
Theory: I needed a jumpstart. Now – where’s the battery?
Turns out it’s under the seat. Which can be gotten to using the toolkit that’s locked away under the left side panel. Which requires me to remove the left panel to then figure out how to remove the seat.
Long story short: after removing the seat, jumping the battery, taking out the battery, getting a new battery (thanks, hubby!), and then figuring out how to get new bolts (since in taking out the old battery, I apparently lost the bolts on the screws to hold in the battery), I’ve accomplished my first motorcycle repair!
Late Labor Day musings
[I intended to write this post about a week ago, and then got distracted by all things motorcycle.]
Someone on the web suggested that a good way to mark Labor Day was to think through the first jobs you had, and what they taught you in life. So, here goes…
My first “job” was as a paper route carrier at the ripe age of 9 1/2. I may have needed my folks to ask special permission, since I was so young. Each Wednesday and Saturday, one of them would drive me around to deliver my 40-80 subscriber route (varying routes over time). I got my first checking account and learned to balance my checkbook to be able to pay my district manager; I earned a life-long habit of calling folks “ma’am” and “sir” that gets me in trouble today, but got me lots of tips then; and I got my first taste of sales as I’d go door-to-door trying to convince folks to join my paper’s subscriber list so I’d earn extra money on my route or prizes from the district. Being a young kid did not protect me from rudeness from folks who really didn’t want to talk with me. I learned to not take it personally, as well as a certain amount of empathy for sales folks as they knock on my door now-a-days.
I had a paper route until at least 14, which was the earliest my state would grant a work permit for kids. The local hardware store hired me on as a cashier. I was decently good at it – kept a good attitude with customers, and liked getting customers through my line quickly. It became my own personal competition – could I remember that scan code? Could I hit the keys quickly on the keyboard without making any errors? And, of course, there’s the challenge of making sure the till at the end of night all evens out. Some of my coworkers weren’t as motivated, as one would expect in a place that pays minimum wage and hired teenagers for whom this money was spending money, not living-on money. But I was making better money than I did on my paper route, and hey, if I was going to be there, I decided I’d rather be busy and productive.
I had a few more jobs as a teenager- fast food convinced me that I needed to make sure I found a better career. Long hours on my feet, customers who definitely didn’t respect you, and the occasional filthy bathroom duty. Did I mention the customers not respecting us? I think a few went out of their way to make the nastiest messes they could in the bathroom, just to imagine us having to deal with it. Other retail gigs were painfully interesting in the Christmas rush season (lines to where?!!!) but also put more pain in my feet and less money in my pocket than I was willing to consider dealing with long-term.
I haven’t yet decided how strongly to encourage my kids to get jobs when they’re old enough. The jobs I did as a teen kept me from things like sports or clubs that I also see as valuable. In hindsight, the small money I made wasn’t actually going to cover my college costs, even though my folks’ rule was that I had to save 50% of everything I made. Thankfully, I earned scholarships to put me through, as my folks were upfront that they weren’t going to pay for school, and I don’t remember having any large stockpile set aside from my jobs. The big highly valuable life lesson jobs gave me was a sense of what things cost. Nothing like comparing my car payment to the number of hours I’d need to spend flipping burgers to earn it!