Pictured above is the back of the packaging for Samcorn’s 9H tempered glass screen protector for smartphones. I chuckled at the “Protection of God” sticker that seals the box — these screen protectors are good, but they’re not that good.
Of more interest to me is what they’re protecting: a Google Pixel 7 phone with 128GB storage, pictured above. It’s not the newest Pixel anymore, but its specs are pretty good (its benchmark scores are 813,114 for AnTuTu v9: 813114, 3288 for GeekBench v5.1, and 59fps for GFXBench). I picked up a refurbished model for a little over $300. If you can find one at this price, it’s one of the best “bangs for the buck” in smartphones right now.
I’ve got a whole lot of mobile development articles coming up — for both here and the Auth0 Developer Blog — and having a nice Android unit will come in handy.
DevOpsDays Tampa Bay, our local edition of the DevOpsDays conferences, takes place next Thursday, September 21st, at Armature Works! Tickets are $150, and there are deals for students. Register before it’s too late!
DevOpsDays is the name given to a series of community-run technical conferences covering topics where software development (the “dev” part) and IT infrastructure operations (the “ops” part) intersect. A DevOpsDays conference isn’t a commercial affair; instead, it’s a labor of love made possible by volunteers from the community, for the benefit of the community. This makes for a friendly “community” feel, which I love in a conference.
Nora Jones keynote!
Nora’s name is often mentioned in the same breath as the phrase “chaos engineering,” which is “the process of testing a distributed computing system to ensure that it can withstand unexpected disruptions.” Or, to put it more succinctly, “f*** around and find out.”
She started doing chaos engineering as a team lead and senior developer at Jet.com (it’s since been acquired by Walmart), continued doing it at Netflix, and at Slack, she held the title of Head of Chaos Engineering and Human Factors. She’s also the co-author of the O’Reilly book Chaos Engineering: System Resiliency in Practice. These days, she’s at Jeli, where she’s the founder and CEO.
DevOpsDays Tampa Bay will start with her keynote, How do we talk to each other?, which will run from 9:00 – 10:00 a.m.
Here’s the abstract:
How surfacing communication patterns in organizations can help you understand and improve your resilience.
As a system increases in inevitable complexity, it becomes impossible for a single operator to have a clear, unambiguous understanding of what’s happening in the system. Understanding the system requires a joint effort between teammates and technology. Often, we are too focused on the single-operator experience to improve this. In this talk, we will uncover how communication patterns in organizations can reveal how systems actually work in practice, vs how we think they work in theory — and use this knowledge to improve the resilience of our systems.
Talks
Here are the conference talks, which will run from shortly after 10:00 a.m. to 2:45 p.m.
Realigning DevOps: Customers and Learning First, with Kishore Jalleda
The Startup DevOps Playbook – Making It A Success From Day One, with Aman Sharma
Building Resilience: A Journey of Crafting and Validating Our Disaster Recovery Plan, with Yedidya Schwartz
The Power of DevOps in the Real World, with Randy Pagels
Simplifying Cloud Native Chaos Engineering: A Deep Dive into Chaos Mesh, with Soumyadip Chowdhury
Best Practices for Securing CI/CD Pipelines, with Lizz Parody
The OpenTelemetry Hero’s Journey: Working with Open Source Observability, with Josh Lee
Open Spaces
From 2:45 to 4:30 p.m., there will be Open Spaces, which are unscripted and spontaneous breakout sessions on any DevOps topic. Who determines what the topics are? You do!
DevOpsDays Tampa Bay’s Open Spaces will follow the Open SPace principles, which are simple yet powerful guidelines:
Whoever comes are the right people.
Whatever happens is the only thing that could have.
Whenever it starts is the right time.
Whenever it’s over, it’s over.
Wherever it happens is the right place.
Armature Works!
And finally, there’s the venue itself: Armature Works, Tampa’s food hall, and my favorite local conference venue. It’s a great space to hold an event, and the food and drink there make conferences so much better. I know I’m going to get a Buddy Brew Coffee and a Bake’N Babes cookie while I’m there.
I already own one of the three (Artificial Intelligence with Python, Second Edition), but I’m not going to complain about getting two new-to-me books at 50 cents each!
The books are:
Artificial Intelligence with Python, Second Edition, by Alberto Artasanchez and Prateek Joshi. This book is a great introduction to artificial intelligence via TensorfFow and Python, and great companion for the other two books in this one-dollar set.
Machine Learning with PyTorch and Scikit-Learn, by Sebastian Raschka, Yuxi (Hayden) Liu, and Vahid Mirjalili. PyTorch offers both neural networks and tensors, Scikit-Learn provides a collection of machine learning algorithms, and this book walks you through both.
Transformers for Natural Language Processing, Second Edition, by Denis Rothman. The “T” in ChatGPT is “transformer,” and this book covers them extensively. I’m looking forward to the exercise where you use Hugging Face to pretrain a RoBERTa model from scratch.
Are you looking for an economical way to become an AI development expert? Spend a buck on these three books, get any computer made in the past dozen years with plenty of RAM (SODIMMS for old computers are pretty cheap these days), and do the exercises in the books. We’re early enough into the new AI age that if you do all these, you’ll be ahead of most aspiring AI developers out there.
September starts this week, and each week in this new month has its own big Tampa Bay tech event, with new opportunities to learn, network, make friends, and take part in “The Other Bay Area’s” tech scene!
These events, which are covered in more detail below, are:
An evening of tech career guidance (keynote and panel discussion) and networking at Tampa Bay’s premier tech gathering space.
Tuesday, September 26 Embarc Collective
SocialCode x Tampa (Thursday, September 7)
The SocialCode is the name for events that tech recruiter Oscar Technology hold worldwide, and they’re holding one in Tampa on Thursday, September 7th!
The event:
The SocialCode x Tampa
TL;DR:
An evening of AI (3 short talks and a panel discussion) and networking in a swanky Hyde Park venue.
Recommended if you’re:
• Interested in AI (that’s the speaker and panel topic) • Looking for tech work (because it’s sponsored and run by a tech recruiting company) • Looking for a fancier event (it’s in Hyde Park)
When:
Thursday, September 7, 2023 5:30 – 8:00 p.m.
Where:
Hyde House Public Studio 1646 W Snow Avenue, Tampa FL
This event, The SocialCode x Tampa, will focus on AI and feature these speakers:
Craig Bosco, Data Scientist at Gale Healthcare, who’ll talk about how predictive analytics can play a part in healthcare staffing, the role of AI in automation and operational excellence, and how different types of AI can be used to augment the skills of a limited workforce.
James Gress, Generative AI Director at Accenture, who’ll talk about how various organizations are harnessing the power of generative AI to drive innovation in their products and enhance operational efficiency, and how we can use multiple technologies across the entire software delivery lifecycle.
Yours Truly, Joey deVilla, Senior Developer Advocate at Okta, who’ll talk about two different approaches to human/AI synergy — “centaur” (human head/non-human body) and “minotaur” (non-human head/human body) — and how to get on the right side of this equation.
BSides St. Pete 2023 (Friday/Saturday Sept 15 – 16)
BSides is the name of a series of cybersecurity conferences that grew from the “overflow presentation” at Black Hat and are now their own thing! The St. Pete edition happens on the weekend of September 15th and 16th, with the training sessions on the 15th and the conference proper on the 16th!
The event:
BSides St. Pete
TL;DR:
Deep cybersecurity knowledge will abound, with a full Friday of training sessions and a full Saturday devoted to a Black Hat-style conference.
Recommended if you’re:
• Interested in cybersecurity and infosec (that’s what this conference is all about) • Looking for cybersecurity and infosec work (there’ll be lots of people from security companies there, and some of them will be recruiting) • “Homesick” for Black Hat and/or DEFCON or didn’t get to go this year • On a budget and want to get the most hardcore conference bang for your buck
When:
• Training sessions on Friday, September 15, 10:00 a.m. – 3:00 p.m. • Conference day on Saturday, September 16, 8:30 a.m. – 4:00 p.m.
Where:
St. Petersburg College – Seminole Campus 9200 113th Street N, Seminole FL
How much:
• Friday training sessions: $1 (really!) • Regular admission: $25 • College/university student admission: $15 • Middle/high school student admission: $10 • Elementary school student admission: $1
If you want a taste of what BSides is like, check out my article, Scenes from BSides Tampa X 2023, which I attended this spring. BSides St. Pete will continue the tradition of sharing deep cybersecurity/infosec knowledge, but on the St. Pete side of the Bay this time!
The Friday training sessions will be:
Blue Team Workshop – Network Attacks, with Laura Mayeux from Vectra AI
Introduction to Hands-On Purple Teaming, with Bryson Bort & Chris Peacock from SCYTHE
Splunk Boss of the SOC, with Will Robus from Outpost Security
The Saturday conference sessions will be:
Between Two Palms: A Session on Burnout, with Elvira Reyes and Chris Machowski
Complexity is the Enemy: How to start doing Cyber Risk Management with Dan Holland
How I Learned to Stop Worrying and Build a Modern Detection & Response Program, with Allyn Scott
Exploring Threat Actor Strategies on Exploitation of Emerging TLDs, with Pat Gelin
Integrating Cybersecurity into Organizational Culture and Portfolio Management, with Carlos Rodriguez
How to Build a Cybersecurity Journey, with Ivan Marchany
Getting into Cybersecurity, with Stacey Oneal
A Urinal Story: Human Behavior & Security, with Daniel Lopez
Navigating New Cybersecurity Regulations: Charting a Course for Success, with Terri Khalil
Everything I Needed to Know About Practical Cybersecurity, I Learned from my Mom, with Michael Magyar
Creating your Security & Compliance Audit Framework, with Michael Brown
Building a Comprehensive Framework for AI Systems Security: Methodology and Grading, with Wilson Bautista
IAM Security and So Can You: An Intro to Identity Access Management and How to Beat It to a Pulp, with “Uncle Raydar”
Adversarial Prompting: Exploiting Large Language Models, with Sam Decker
Enhancing Chrome Extension Security: Fortifying Your Browser Experience, with Aishwarya Ramesh & Nagarajan Samuel Ogunlade
Cyber Supply Chain Risk Management and Evolving Governance, with Joshua Weathers
How to Wage War and Bypass Congress: a Primer on Gray Zone Warfare, with Jon “Cochise” Buzin
Getting MAAD-AF to Attack Microsoft 365 & Azure AD, with Arpan Sarkar
The Boring Parts of AI: Risks and Governance of Large Language Models, with Dan Fernandez
This event charges admission, but it’s pretty cheap — register here!
DevOpsDays Tampa Bay 2023 (Thursday, September 21)
Devops is underrated, which is a terrible shame, because software and systems don’t happen without it! Luckily for us techies in Tampa Bay, we have a conference on devops, and it’s happening on Thursday, September 21!
The event:
DevOpsDays Tampa Bay
TL;DR:
A full-day conference dedicated to DevOps (“Dev” as in “software development,” “Ops” and in “IT operations”) in Tampa’s best conference venue.
Recommended if you’re:
• Interested in devops, CI/CD, and setting up, operating, and maintaining all the things that make software development and delivery possible (that’s what this conference is all about) • Looking for devops work (there’ll be lots of people working in devops there, and some of them will be recruiting) • Curious as to how software and systems get built and deployed beyond the planning and coding phases
When:
Thursday, September 21, 2023 8:00 a.m. – 5:00 p.m.
Where:
Armature Works 1910 N Ola Avenue, Tampa FL
How much:
• Before September 1: $100 • After September 1: $150
An evening of tech career guidance (keynote and panel discussion) and networking at Tampa Bay’s premier tech gathering space.
Recommended if you’re:
• Wondering what the next move in your tech career should be (that’s the main topic of this meetup) • Looking for tech work (there’ll be lots of people working in tech there, and some of them will be recruiting) • New to the Tampa Bay tech scene or haven’t been to a Tampa Bay tech event in a while
This event will feature Candace Williams, who will share her inspiring journey into the world of technology. From her early days to becoming Associate Director, Cybersecurity at Raytheon and starting Cyb(H)er Ally, Candace’s story is a testament to what’s possible in the tech industry.
Following Candace’s keynote address, there will be a panel of accomplished industry professionals ready to answer your burning questions. Guided by the audience’s inquiries, this discussion will focus on the invaluable lessons they learned when starting their tech careers and finding their own unique paths in the industry.
Today, August 19th, is “whyday.” It’s been a while since anybody’s made a fuss about this day (as far as I know), but I still think it’s a day worth celebrating, even in little ways. I’m performing a couple of whyday rituals today, and perhaps after reading this, you will too.
It’s called “whyday” after the programmer / artist / author / musician who went by the name “why the lucky stiff.”why the lucky stiff is a long name to keep saying (or typing) over and over, so we referred to him as why in spoken word, or _why (and yes, the leading underscore is intentional) in writing.
In the book’s first page with text, _why explained why the word “poignant” — which means “creating a sense of regret or sadness” — is included in the title:
I’ll be straight with you. I want you to cry. To weep. To whimper sweetly. This book is a poignant guide to Ruby. That means code so beautiful that tears are shed. That means gallant tales and somber truths that have you waking up the next morning in the arms of this book. Hugging it tightly to you all the day long. If necessary, fashion a makeshift hip holster for Why’s (Poignant) Guide to Ruby, so you can always have this book’s tender companionship.
And immediately after that, he tells the story of Bigelow, an apparently abandoned dog he found on the street, adopted, which then ran away five minutes later. This story takes up five paragraphs, none of which make any mention or Ruby, or even programming.
But it was all preamble:
It wasn’t much later that I pulled my own Bigelow. I printed out a bunch of pages on Ruby. Articles found around the Web. I scanned through them on a train ride home one day. I flipped through them for five minutes and then gave up. Not impressed.
I sat, staring out the window at the world, a life-sized blender mixing graffiti and iron smelts before my eyes. This world’s too big for such a a little language, I thought. Poor little thing doesn’t stand a chance. Doesn’t have legs to stand on. Doesn’t have arms to swim.
The intro was weird. It rambled and went into precisely the kinds of tangents that you weren’t supposed to put into a technical book. It was packed with comics featuring foxes lost in a large city, yelling out nonsense that — for a little while, at least — became catchphrases amongst Ruby developers:
If you were the kind of person who always wanted their tech reading to just get to the damned point, you’d find reading the poignant guide an exercise in absurdity and frustration. But if you were new to programming, it was a friendly guide that didn’t look as intimidating as your standard programming book.
The foxes would go on crazy adventurers, and when they weren’t dynamiting retirement homes, they somehow managed to cover the teach you the basics of Ruby (and even programming in general).
The “Dr. Cham” chapter featured this illustration…
…and this example of Ruby’s case statement in action:
def dr_chams_timeline( year )
case year
when 1894
"Born."
when 1895..1913
"Childhood in Lousville, Winston Co., Mississippi."
when 1914..1919
"Worked at a pecan nursery; punched a Quaker."
when 1920..1928
"Sailed in the Brotherhood of River Wisdomming, which journeyed \
the Mississippi River and engaged in thoughtful self-improvement, \
where he finished 140 credit hours from their Oarniversity."
when 1929
"Returned to Louisville to pen a novel about time-travelling pheasant hunters."
when 1930..1933
"Took up a respectable career insuring pecan nurseries. Financially stable, he \
spent time in Brazil and New Mexico, buying up rare paper-shell pecan trees. Just \
as his notoriety came to a crescendo: gosh, he tried to buried himself alive."
when 1934
"Went back to writing his novel. Changed the hunters to insurance tycoons and the \
pheasants to Quakers."
when 1935..1940
"Took Arthur Cone, the Headmaster of the Brotherhood of River Wisdomming, as a \
houseguest. Together for five years, engineering and inventing."
when 1941
"And this is where things got interesting."
end
end
And let’s not forget the elf with a pet ham and the cat:
For new programmers, the poignant guide was an approachable book that didn’t try to bury you with jargon. For experienced developers, it provided a refreshing take on programming concepts. If you were looking for a Ruby reference, you were reading the wrong book. But whether you’d been a programmer for 20 minutes or 20 years, it was a fascinating, engrossing read that made you think about programming differently.
If that wasn’t enough, the book came with its own soundtrack. In addition to being a programmer and illustrator, _why was also a musician with a tendency towards the “indie rock”-style, and he wrote a song for each chapter.
In addition to the poignant guide, _why also wrote a fair bit of code, some of which became de facto or even de jure Ruby standards:
Hpricot, an HTML parser that became the Ruby de facto standard for a while. The current de facto standard parser (at least I still think it is; it’s been a while since I’ve done anything in Ruby) is Aaron Patterson’s Nokogiri, which uses Hpricot’s syntax.
Markaby — short for “markup as Ruby — which was a DSL to generate valid HTML using Ruby blocks and methods instead of tags.
Camping, a Markaby-based microframework inspired by Rails. Its code amount to less than 4 kilobytes.
Hobix, a YAML-based weblog application written in Ruby.
MouseHole, a personal web proxy that can rewrite the web à laGreasemonkey
Syck, a YAML library for C, Ruby, and several other languages. For a time, Syck was a part of Ruby’s standard libraries. It’s still available as a gem.
unHoly, which converted Ruby bytecode to Python bytecode, which made it possible to run your Ruby applications on the Google Application Engine.
bloopsaphone, a crossplatform chiptune-like synth, based on PortAudio with a Ruby frontend.
Of his creations, my favorites were the ones that were part of his mission to solve what he called “The Little Coder’s Predicament,” which is that in spite of the fact that we had better computers, software, and networks in the 2000s, the barrier to entry for programming — especially for kids — had become much higher:
In the 1980s, you could look up from your Commodore 64, hours after purchasing it, with a glossy feeling of empowerment, achieved by the pattern of notes spewing from the speaker grille in an endless loop. You were part of the movement to help machines sing! You were a programmer! The Atari 800 people had BASIC. They know what I’m talking about. And the TI-994A guys don’t need to say a word, because the TI could say it for them!
The old machines don’t compare to the desktops of today, or to the consoles of today. But, sadly, current versions of Windows have no immediately accessible programming languages. And what’s a kid going to do with Visual Basic? Build a modal dialog? Forget coding for XBox. Requires registration in the XBox Developer Program. Otherwise, you gotta crack the sucker open. GameCube? GameBoy? Playstation 2?
His solution to the Predicament was to first write Shoes, a simple toolkit for Ruby that use web page concepts to build desktop GUI apps for macOS, Windows, and Linux:
Shoes formed the basis of Hackety Hack, an IDE combined with a tutorials system that was a lot of fun to use. Here’s a screenshot of Hackery Hack in action, being used to write a “Hello, World!” program:
Since _why was developing this tool for children, he went straight to the subject matter experts: 25 children and their parents, whom he consulted and used as testers as he worked on the project.
I was at RailsConf 2006, where _why gave a multimedia extravaganza of an evening keynote presentation. It was something I’d never seen before or since at a keynote: Part programming lecture, part video show, part concert complete with his band, the Thirsty Cups. You either left this performance either scratching your head or wanting to take programming to strange new heights.
After the show, I had a chance to hang out in an unexpected gathering of people that included both _why and Martin Fowler, which was an amusing, enlightening, and amazing experience.
Why’s performance at RailsConf 2006 probably opened the door to my own performance during RailsConf 2007’s evening keynote with Chad Fowler on ukulele:
_why’s disappearance
As you were reading this article, you may have noticed that I have only referred to its subject as “why the lucky stiff” or “_why”.
You may have wondered — quite fittingly — why?
There’s no definitive answer, but there are some hints.
Like a lot of creatives, the person behind the “why the lucky stiff” persona is an intensely private person. _why could be the out-there guy performing songs about how Ruby’s error handling just sounded so much more capable and effective with its rescue statement versus other languages’ try and catch (“try to catch me, I’m falling!” he’d joke), but the person lurking behind the mask wanted privacy during his downtime.
_why made it a point to reveal as little about himself as possible, and most of us were happy to indulge him. Most people were happy to simply know and address him as “why”, and in the community, it was a point of etiquette to not try and dig too deeply.
Of course, even in those pre-GamerGate, pre-“shitposting”, pre-chan-ruining-lots-of-the-net times, _why’s secrecy didn’t sit well with some people, who for some reason, just had to know the name of the person behind the _why identity was. So in 2009, they dug deep, and eventually found his name (as well as his wife’s) and publicized it.
_why may have also been a victim of Open Source Success, when a little project that you worked on in order to scratch a creative itch becomes so popular that many other projects depend on it. Suddenly, your project is no longer just a little thing you worked on, but a big thing that people expect you to maintain and upgrade. I’m reminded of a line from Byrne Hobart’s article, Working in Public and the Economics of Free, and it’s simultaneously hilarious and sad:
Running a successful open source project is just Good Will Hunting in reverse, where you start out as a respected genius and end up being a janitor who gets into fights.
As a result of the factors listed above, plus some others probably known to no one else but _why, the internet presence of Why the Lucky Stiff vanished on August 19, 2009. His sites, blogs, social media, and code repositories all vanished. I wrote about it the day after it happened.
Luckily for us, all of his work — well, the work that he’d released to the public, anyway — was open source, and with the effort of some dedicated Ruby and Rails developers, his projects were saved. Some people even took them over and expanded on them. Other projects became the basis of newer, improved projects.
On August 19, 2009, Why the Lucky Stiff withdrew from the online community. We in the Ruby community wish him well, but we really miss him.
Why gave us a lot of cool software and other things, but what he really gave to the Ruby community was a spirit of freedom, whimsy, and creativity. When Why took the stage at the first RailsConf, in 2006, he strapped on his guitar, walked to the microphone, and yelled “Put your best practices away!”
Discipline, care, and responsibility are important; we owe our customers, employers, team members, and families to take our work seriously. At the same time, though, we need to play. If we don’t occasionally break out of the mold of our “best practices,” we can easily miss many wonderful ideas, some of which can bear rich fruit (just as Camping and Hpricot led to Sinatra and Nokogiri).
On Whyday, we’re encouraged to borrow a page from _why’s book and creative, instructive, collaborative, and crazy. The site suggested doing things such as:
See how far you can push some weird corner of Ruby (or some other language).
Choose a tight constraint (for example, 4 kilobytes of source code) and see what you can do with it.
Try that wild idea you’ve been sitting on because it’s too crazy.
You can work to maintain some of the software Why left us (although Why is more about creating beautiful new things than polishing old things).
On the other hand, Why is passionate about teaching programming to children. So improvements to Hackety Hack would be welcome.
Or take direct action along those lines, and teach Ruby to a child.
The Whyday site lives on, but it’s been a while since I’ve seen anyone make a fuss about Whyday.
I thought that given that we’re in the middle of a pandemic and that we’re all spending more time at home (at least I hope we are), there’s no better time that now to bring back the spirit of Whyday.
Today, on this Whyday, I’m celebrating by working on a creative project that involves a mishmash of technology, comics, and possibly music. If you can, you should start one, too!
Recommended reading and viewing
Got eighteen and a half minutes? Then you’ll want to watch this documentary on Why the Lucky Stiff and how he inspired the Ruby developer community: