When you’re experienced in life…

And you have a 10-15 page paper due for your masters class…

You start with a beer…

And you don’t plug in your laptop, so time is ticking…

And you write a WordPress post…

And then maybe, just maybe, you write your paper.

After another beer.

(Inspired by “When You Give a Mouse a Cookie” and an impending group project deadline.)

While my thoughts are fresh on my latest CTF…

Pluses:

  • Throughout the event, in top 3. Currently in top 2, but closing out for the day to get other things done.
  • Figured out a few things: interrogating VMDKs via extracting them; linking up a shared drive in Kali
  • Had some success with python scripting to interrogate Word documents to find hidden data, as well as to find md5 and sha1 hashes. Sha-1 grep string was: ‘[0-9A-Fa-f]{40}’

Need to learn:

  • reverse engineering to interrogate malware or other executables
  • faster ways to traverse Wireshark data. Getting protocol statistics is a good starting point – want to get better there
  • executing random files – need VMs stood up for Windows to have them ready to roll…

Hmmm – I thought the CTF was closing out tonight, but it’s not until Sunday night. I need to carefully tread this, for the sake of my health and marriage..

I started a masters program a few weeks ago. Tuesday is the due date for the last project in the first class. We had three weeks to do it, where “it” includes a 10 page lab report on password cracking tools, a 10 page white paper discussing a particular medical organization, its data breach(es!), and what we’d convey to the board for an action plan moving forward. Good bit of work, but spread over 3 weeks and 5 people, presumably not so bad.

The first week mostly went by, and nothing happened. Note: our group, as are the other groups in the class, was randomly assigned by the professor. Further, because it’s an online program, none of us had ever met or interacted with each other before. We had a deliverable due a week in for a communications plan and a project plan. I had vowed to not be the stuckee trying to herd cats, but as the week went by, I eventually caved and setup the group meeting. We “met” and established regular checkpoints on Sunday, roughed in a communications and project plan, with a goal of completing our initial research and building out a rough outline by the following Friday.

Friday came, and the shared outline document had… my contributions. Another team member had added two links with no context as to why we’d use them. Another teammate had been in the document and edited it – to remove a character and replace it. Not looking strong. I asked each team member for commitments, documented them in our outline, and we said we’d meet again on Sunday, that they’d work on the outline building off of what I’d put together.

We met on Sunday. I’d committed to working up the lab report so it was out of the way. That took me a good portion of Saturday, as the assignment guidance required me to interrogate each password separately, and across 16 passwords with two different cracking strategies, there’s a good bit of tending and screen captures. On Saturday, I had a system, worked it through, and then wrote up the paper, which included several discussion questions outside the scope of the lab itself, requiring further research. Answered all but one of the questions, and bounced a question to the professor to help us better tune our lab report response. On Sunday, the team met again, and our outline was… no further. But the team divided the sections we thought needed covered in the whitepaper, each team member took a few segments, and each team member committed to writing their section before this past Friday. The theory was that I had written the lab report, we’d pull in some small sections from that, but that the rest of the team was responsible for the lift on the whitepaper, and I’d help with the smoothing of the paper and the setup of the presentation.

It’s now the final Sunday before things are due. On Friday, most sections of the paper were still empty. I pointed that out Friday morning in our group chat and said I wasn’t bailing folks out. Members of the team collaborated on Saturday morning, though still not in the document itself. We’re now on the final Sunday call, and folks are attempting to arrange the bits of content that they’ve written into something. We’re still missing segments of information and are over page count, grammatically incoherent in some places, and just a mess overall.

Did I mention I hate group projects? My only saving grace is that I can demonstrate my own individual contributions through the completed paper and through version history in Google Docs. Several are now slogging through online. I’ve left the call but said I’ll be on standby once the folks who are still wrestling thing they’re in better shape so we can do the pruning of the paper and work the presentation. UURRRRRRGHH!!!

Quarantine, day N… Was at work last week, and now off again.

Early in, I set up a Google Doc in which I listed goals for the quarantine. Projects I could accomplish with the extra time. Some of them are already complete – I got my Grace Hopper application in, built out some challenges for a CTF, planted seeds. Some are in progress – about half of the front yard has had its onion grass removed. I’ve done more running and pushups. Still working towards pullups. Have mostly left the burpee goal alone, though I think that’s on the list today.

What I’ve realized isn’t strongly on the list are household organizing or cleanup projects. I could wash windows. I could dust floorboards. I could… These are the sorts of projects my parents used to give me when I’d done something wrong, though. The sort of work penance aspects to grind a spirit down. I’m not in the mood to punish myself.

What I keep doing is more minor things: clean up a corner. Put away something that’s been in the wrong place for far too long. Work to keep the kitchen quasi-clear with all of the extra food preparation going on. (Somehow kids love making food, but never connect it with the extra cleanup.) Go for more long walks with my hubby. I’m most of the way through a puzzle, which is usually something we only do over Christmas break. Try a new recipe or two once in a while… We had a Monte Cristo casserole the other day that was pretty good!

The weeks without a rhythm are long. Completing big household projects and then seeing them be overrun would be too discouraging. So I’d describe myself as pacing. We’re in a time of unknown length and I’m just trying to make it through.

Monday, day 1 of quarantine for me. The kids have been off of school for a week, but this was the first day I was told to stay home from work. So, what did I do?

Mostly… worked. On either work (IRAD supervision, resume tweaking for a staff member, phone meeting to get news of quarantine, pulling together ideas for kids & STEM) or our church website (solved some email problems for folks, updated a page or two). Got Cameron up and harangued him for not going to therapy. Planted some seeds. Got in a workout (burpee hell!). Got in a run. Listened to a webcast on cyber machine learning. Snuggled some cats. Uh, wrote a blog post.

Ultimately, stayed pretty busy. 4 more days to go this week…….!

Folks who are paying closer attention to this blog than it warrants may have caught notice of a link in the left navigation to a ‘Kubernetes 101‘ presentation. That link came about when I was asked a year or two ago to give a presentation at work on Kubernetes. I built the presentation deck based on a presentation I’d put together at a previous company which they were kind enough to give me access to again, and THAT presentation was a recap of some training materials I’d built out for a customer. So, I’ve gotten to present on Kubernetes a few times.

I’m now on my third project making use of Kubernetes, or k8s for short. The first go-round, I helped developers understand how to deploy things to it and someone else stood up and maintained the cluster. The second project, I built tools (“operators”) to run within k8s, as well as built scripts that automated the deployment of our clusters. This go-round, we’re using a new k8s distribution, with its own tooling for deployment and administration, and part of my role is to figure out whether our team found all the bits I’d been able to turn on in previous installations. (Auditing, for the record, is a good thing…). With each new project, k8s has matured and my angle for working with it has changed, so I get to learn and try new things.

That’s generally how software and systems development works… no one (or at least, vanishingly few) ever really knows a tool or language inside and out completely, particularly in connection with its full ecosystem. I’ve gotten to write Golang, Ansible, and Java (via k8s’s client-sdk). I’ve used REST APIs invoked via curl or hit the same endpoints using kubectl and its command syntax to interrogate k8s internal state. I’ve figured out how to query Prometheus using PromQL, and then how to interact with a time series database to which we’d exported the Prometheus data. Oh, and with each new release of k8s (they’re about to release 1.18), the capabilities and APIs change.

I got to interview an internship candidate today, and she (yay!) asked me what sorts of things you have to know to be a good candidate for our company. I told her a few of the technologies our current interns are using, but tried to make clear that the biggest thing about a career in technology is that you have to keep learning. That you have to keep humbly realizing you don’t (and can’t!) know it all. That you keep plugging away at deepening and widening your experience. That sometimes your experience tells you to bring in someone whose breadth and depth hits the problem from a different angle than your own.

Today was a fun day. Can’t wait to see what projects 3, 4, … and n, in k8s or other things, bring my way.

I’ve concluded that the metric by which God will assess my life isn’t dollars but the individual people whose lives I’ve touched.

Clayton Christensen, in an article for Harvard Business Review, “How Will You Measure Your Life”

Mr. Christensen is most famously known for writing “The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail”. He passed away yesterday.

How Will You Measure Your Life

Check the article for how he answered three questions, and why he thought they were the right three questions:

  • how can I be sure that I’ll be happy in my career?
  • how can I be sure that my relationships with my spouse and my family become an enduring source of happiness?
  • how can I be sure I’ll stay out of jail?

I’ll keep thinking on the three, and perhaps answer in a later post. Will just say up front that his questions are worth pondering.

It seems fitting after a long day of responsibility and leadership that I should look down at my feet and see wiggling ears on my socks. I remember that I paired these socks’ color with an executive ensemble designed to give a good impression in the office today. I put on my black boots to pair with my slacks, and the boots and the slacks covered the ears. But now the boots are off, the day is done, and the ears can wiggle. I am pleased in an illogical sort of way.

I spent most of last weekend at my alma mater, UMBC. Friday night, I met some new mentees through the CWIT mentoring program, and Saturday and Sunday were spent at HackUMBC. So, lots of opportunities to observe undergraduates in action and answer questions about what sorts of things my company does and who we hire.

The hackathon was a very interesting experience for me. Participants got started after lunch on Saturday and turned in their projects Sunday at 1. There was no guidance on what to build or who to build it with, other than that teams could consist of 1-4 participants. There were a few prizes offered by sponsors such as ourselves for which a team could go after – ours was for best data visualization but others sought best hack using Docker, best use of public financial data, or best use of Google Cloud Platform, just to name a few. There was nothing stopping a project from applying for multiple categories: I know we saw a project for our data visualization judging that used financial data and Docker containers – not sure if they hosted anything on Google Cloud Platform.

The goal of a hackathon isn’t only to win prizes, of course. It’s also supposed to give teams a chance to learn and apply new skills. The team that won our prize used Unity, a gaming engine. Other teams used d3.js or plot.ly or Google Maps + some HTML or even Minecraft (linking directly to that project – innovative idea). Some teams got farther than others: one team had a great concept and a locally installed Jupyter notebook (via Docker, if I remember correctly: check off a potential prize category) with a well-built out machine learning model that they could reason about and defend. But they just hadn’t gotten to hooking up their prototype UI to their data. Another team had a drop-down list to trigger a visualization, but could only as yet talk to their concept of the visualization. That didn’t win them our prize, but still gave those teams a good bit of interesting experiences to talk to us about.

Remember, these students had 24 hours to bring together a team, put together a project concept, and then execute on their concept. Now, I know practically that some of these folks team regularly together. And at least one team indicated they’d been scraping Twitter data ahead of the event to give them a leg up on building out their display that needed geo-located tweets. Still, though: I saw team formation happening in the hackathon Slack channel and at the tables in front of our sponsor area.

What was more amazing to me was that a few teams came up to our table and asked my guidance on what tools to use. Some of that happened late in the afternoon on Saturday. Meaning, they were picking their toolkits on the fly, and then building out their app without prior experience in at least portions of the stack. For a project that had a hard timeline, though admittedly loose requirements. Wow – the very thought gives me personally the shudders, were I in their shoes. Uh, I’d want to form my team knowing that folks had complementary skills that could come together to solve a generic set of problems. One team told me they didn’t know how to interact with databases and knew they wanted one, so they coded up a flat file database on the fly. I have to believe I’d have taken a different route, but kudos to them for pulling something off with it.

I’m trying to imagine how to use that hackathon idea for an event at my company or through BWIC. I’d have a hard time personally carving out a full weekend: attending the event during the day was a big enough lift, but many of the students stayed overnight. One indicated to me she’d had a great idea and burst of energy after her 20 minute power nap. Ugh. Been there, done that, don’t wanna go back! But maybe spreading it out over a week would work. Or constraining it to a day. It just looked like so much fun!

Today I turned 45. Usually on these 5 year mark birthdays, my hubby and I do a big birthday shindig, seeing as he turns the same age just some 12 days later. But this year he’ll be away on our “both”-day, as well as on his birthday. So this year’s celebration is a little more muted.

Markers for 45:

On Friday, I picked up eyeglasses. I finally realized that blurry vision while driving isn’t so good. And now realize I’ve generally been compensating in life – every time I take off my glasses I’m quickly reminded that my eyes don’t work as well as they used to. Somehow it wasn’t _quite_ so obvious before glasses.

On Saturday I went to the gym with my daughter, after doing a Crossfit workout earlier in the day. On Saturday I set a new PR. Still pushing my max forward so I can keep telling Cam I can bench more than he weighs.

On Sunday Clementine did her thing. 5 years ago, Clementine wasn’t even yet an idea for me. Now she’s a regular part of my life that I find most enjoyable. I’m even bringing in a little money with her this year, maybe just enough to cover what I otherwise spend…

On my actual birthday, I did the work thing and melded software to my will. Although I’ve had opportunities to step away from a technical path, I find it highly rewarding, both mentally and economically. After work, I did a Crossfit workout that had me doing 50 kettlebell swings and 50 burpees. I hate burpees – have since first introduced to them in college. But I think some 30+ years after first introduction, I’m doing them at least as well as I did then. Oh, and I PR’ed in my back squat, too.

So, thinking this 45 thing is OK. My hair color is still my own (with the occasional white hair), my body still more than works, and I’m finding lots of interesting things to get into. Oh, and my dear hubby and kids still love me! Yep, liking being 45.