Categories
Current Events Programming

“Whyday’s” tenth anniversary is Wednesday!

While sorting out the image archives of this blog over the weekend, I noticed this photo:

In case you don’t recognize it, it’s a picture an underappreciated classic of programming literature known as why’s (poignant) guide to Ruby, a book written by the enigmatic programmer and artist who went by the nom de plume of why the lucky stiff.

That’s when it hit me:

Is Whyday still a thing?

And if not, can we make it a thing (or at least capture its spirit) again?

why’s (poignant) guide to Ruby

During the the ’aughts, Ruby exploded from obscure programming language whose best documentation was in Japanese and became the darling tool of startups everywhere. A good chunk of that popularity came from Ruby’s killer app, Rails.

However, at least some of wave of Ruby programmers that appeared at the time has to be credited to _why. Yes, that’s the commonly-accepted short from of his name, and no, the underscore is not a typo. If Rails’ preternaturally handsome creator  David Heinemeier Hansson made Ruby cool, _why, with his “skinnier, edgier Jack Black” appearance and style, made Ruby fun.

While there were a number of books on Ruby at that time, why’s Ruby tutorial, why’s (poignant) guide to Ruby stood out. First, there’s that title. But that was only the beginning.

The book’s first page looked like this:

It featured whimsical recurring characters, such as the cartoon foxes whose catchphrase was “Chunky bacon!”…

…not-quite-sane science adventurers, who, when not dynamiting retirement homes, will teach you the basics of classes and branching…

The “Dr. Cham” chapter features code like this:

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, it 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.

Thankfully, the book and soundtrack preserved online. Go ahead and give it a look. I’ll wait for you here.

_why’s code

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, Aaron Patterson’s Nokogiri, was designed to use Hpricot’s syntax.
  • RedCloth, a module for using the Textile markup language in Ruby.
  • 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 à la Greasemonkey
  • 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.

(And because this was a _why project, it had a manifesto. Read it; it’s good.)

Here’s the Hackery Hack site:

_why’s performances

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 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.

Whyday

In 2010, a year after _why vanished into the night, Glenn Vandenburg declared that August 19 should be celebrated as Whyday.

Here’s what he wrote on the Whyday site:

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.

This Whyday, I plan to celebrate by starting some kind of creative project. (Actually, I plan to start a couple.) 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:

Articles on _why:

Categories
Current Events Tampa Bay

What’s happening in the Tampa Bay tech/entrepreneur/nerd scene (Week of Monday, August 17, 2020)

Hello, Tampa Bay techies, entrepreneurs, and nerds! Welcome to the weekly list of online-only events for techies, entrepreneurs, and nerds based in an around the Tampa Bay area.

Keep an eye on this post; I update it when I hear about new events, it’s always changing. Stay safe, stay connected, and #MakeItTampaBay!

Monday, August 17

Tuesday, August 18

Wednesday, August 19

Thursday, August 20

Friday, August 21

Saturday, August 22

Sunday, August 23

Do you have an upcoming event that you’d like to see on this list?

If you know of an upcoming event that you think should appear on this list, please let me know!

Join the mailing list!

If you’d like to get this list in your email inbox every week, enter your email address below. You’ll only be emailed once a week, and the email will contain this list, plus links to any interesting news, upcoming events, and tech articles.

Join the Tampa Bay Tech Events list and always be informed of what’s coming up in Tampa Bay!


Categories
Current Events Tampa Bay

What’s happening in the Tampa Bay tech/entrepreneur/nerd scene (Week of Monday, August 10, 2020)

Hello, Tampa Bay techies, entrepreneurs, and nerds! Welcome to the weekly list of online-only events for techies, entrepreneurs, and nerds based in an around the Tampa Bay area.

Keep an eye on this post; I update it when I hear about new events, it’s always changing. Stay safe, stay connected, and #MakeItTampaBay!

Monday, August 10

Tuesday, August 11

Wednesday, August 12

Thursday, August 13

Friday, August 14

Saturday, August 15

Sunday, August 16

Do you have an upcoming event that you’d like to see on this list?

If you know of an upcoming event that you think should appear on this list, please let me know!

Join the mailing list!

If you’d like to get this list in your email inbox every week, enter your email address below. You’ll only be emailed once a week, and the email will contain this list, plus links to any interesting news, upcoming events, and tech articles.

Join the Tampa Bay Tech Events list and always be informed of what’s coming up in Tampa Bay!


Categories
Current Events Tampa Bay

The “Tampa Teen” behind the “Twitter Hack”

The good news: Tampa Bay is the location of one of the biggest high-tech stories of the year!

The bad news: It’s because the breach that everyone calls the “Twitter Hack,” in which several verified accounts were used to scam people out of an estimated $100,000 in a single day, has been traced to a 17 year-old Tampa resident named Graham Ivan Clark. His story has been published in the New York Times article, From Minecraft Tricks to Twitter Hack: A Florida Teen’s Troubled Online Path.

The scam

The scam involved hijacking the Twitter accounts of celebrities, politicians, businesspeople, and other “blue check” people and using them to post tweets like the one below:

It didn’t matter that offers to “double your money” from Jeff Bezos, Barack Obama, Kanye West, and Kim Kardashian were simply too good to be true, even with the appeal of “giving back” to help ameliorate the suffering caused by COVID-19. Enough people with enough disposable income to invest in cryptocurrency were fooled.

The exploit

In order to pull off the scam, he would need access to these “blue check” accounts. There are a handful of ways to do it:

  1. With Twitter, you can log in with your username (which is publicly known) and a password. A weak password — that is, one that’s easily guessed, or one of those lazy passwords that too many people use — makes for an easy target. This might work for accessing one or two accounts, but not for a lot of them.
  2. Exploiting some weakness in Twitter’s software or infrastructure to gain access to their system. In spite of the stories you hear about hackers, this is a high-effort, low probability-of-success scenario.
  3. Social engineering: Fooling or intimidating the people who run, administer, or maintain a system in order to get them to let you into that system, or provide enough useful information to do so.

The initial reports indicate that Clark took the social engineering route and convinced someone at Twitter that he was a fellow employee, and as a result, got access to a customer service portal. Vice’s Motherboard posted some redacted screenshots of what this portal:

This shouldn’t be all that surprising — the human element is often the most “hackable” part of a system:

In the end, this scam is best described as “high-concept, low-skill.” In fact, the way they went about it has been described as “extremely sloppy.”

The Bitcoin addresses listed in the tweets turned out to be traceable to Coinbase accounts belonging to Clark’s accomplices, who registered them with their real driver’s licenses. One of them even did so from their home IP address, an amateur move that’s been a staple of computer heist movies and TV series since WarGames, and it was a key plot point in Hackers.

The NYT TLDR

You should read the New York Times piece on Clark, but if you want the highlights, here they are:

  • He is 17 years old, a recent high school graduate, and he lived by himself.
  • A Minecraft player since the age of 10, Clark became known as “as an adept scammer with an explosive temper who cheated people out of their money,” according to people who knew him.
  • A former Minecraft friend said this of Clark: “I knew he really wanted money and he was never in the right mind-set. He would do anything for some money.” Another friend describes him this way: “He’d get mad mad. He had a thin patience.”
  • Family life, as the NYT puts it: “Mr. Clark and his sister grew up in Tampa with their mother, Emiliya Clark, a Russian immigrant who holds certifications to work as a facialist and as a real estate broker. Reached at her home, his mother declined to comment. His father lives in Indiana, according to public documents; he did not return a request for comment. His parents divorced when he was 7.”
  • In 2016, he played in Hardcore Factions — Minecraft with PvP and all the baggage that goes along with it — and built a YouTube audience while doing so. He also scammed fellow Minecraft players: “One tactic used by Mr. Clark was appearing to sell desirable user names for Minecraft and then not actually providing the buyer with that user name. He also offered to sell capes for Minecraft characters, but sometimes vanished after other players sent him money.”
  • Under the handle “Open”, he gained a reputation for being “a scammer, a liar, a DDOSer”:

  • Of course, he eventually migrated to Fortnite.
  • Around the same time, he joined the OGUsers forum. The NYT: “His OGUsers account was registered from the same internet protocol address in Tampa that had been attached to his Minecraft accounts, according to research done for The Times by the online forensics firm Echosec.” On OGUsers, he also disappointed customers by failing to meet his end of the bargain after being paid.
  • Want to guess where in Tampa he lives? The NYT posted this photo of his apartment. Let’s see if any of you have good satellite image/map image search-fu:
Clark’s apartment. Tap to see at full size.

(My guess is Wesley Chapel, judging from the architecture, artificial lake, and the availability of “stroads” in which to open up the throttle on his BMW. What do you think?)

  • He moved from Minecraft to Bitcoin.
  • He was also into SIM swapping, again to relieve victims of their cryptocurrency. Last year, he was involved in the theft of almost $900K worth of Bitcoin, when hackers SIM swapped the phone of a Seattle tech investor. By doing so, they gained access to several of the investor’s accounts. Clark was one of them. Despite being caught by the Secret Service, he wasn’t arrested because he was a minor.
  • He made enough money to live in an apartment by himself, drive a BMW 3 series, maintain an expensive gaming setup, and own a gem-encrusted Rolex.

Local news could use some local techie help

In my old home town of Toronto, whenever a story like this broke out, the local news stations went to the tech community to get background information. I was often one of those community members consulted:

Unfortunately, there isn’t such an arrangement here in Tampa, so local news’ coverage has had me rolling my eyes. I suppose it made for some good entertainment:

Maybe we Tampa Bay techies need to get on their radar and become go-to people for information when stories like this arise.

Photo: The Undercroft sign, featuring the Undercroft’s “mascot” — a stag standing upright in a suit, leaning jauntily against an umbrella, walking stick-style.At the very least, local news should have The Undercroft on speed dial to provide some much-need background info and context when the story’s about a system being compromised.

Categories
Current Events Tampa Bay

What’s happening in the Tampa Bay tech/entrepreneur/nerd scene (Week of Monday, August 3, 2020)

Hello, Tampa Bay techies, entrepreneurs, and nerds! Welcome to the weekly list of online-only events for techies, entrepreneurs, and nerds based in an around the Tampa Bay area.

Keep an eye on this post; I update it when I hear about new events, it’s always changing. Stay safe, stay connected, and #MakeItTampaBay!

Monday, August 3

Tuesday, August 4

Wednesday, August 5

Thursday, August 6

Friday, August 7

Saturday, August 8

Sunday, August 9

No tech, entrepreneur, or nerd events have been listed for this date…yet!

Do you have an upcoming event that you’d like to see on this list?

If you know of an upcoming event that you think should appear on this list, please let me know!

Join the mailing list!

If you’d like to get this list in your email inbox every week, enter your email address below. You’ll only be emailed once a week, and the email will contain this list, plus links to any interesting news, upcoming events, and tech articles.

Join the Tampa Bay Tech Events list and always be informed of what’s coming up in Tampa Bay!


Categories
Current Events Tampa Bay

This Saturday: The Suncoast Developers Guild Conference — FREE and ONLINE!

Banner: Suncoast Developers Conference - Saturday, August 1, 2020

The Suncoast Developers Conference, a free online conference for developers organized by Suncoast Developers Guild, happens this Saturday, August 1st, from 10:00 a.m. to 3:00 p.m.! Register here to join in on the geeky fun.

The conference will be made of bite-size (15 minutes or shorter!) presentations by Tampa Bay techies and demos of capstone projects by Suncoast Developers Guild alums. Here’s the schedule, which is subject to update:

Time Presentation
10:00 a.m.
  • Opening ceremony
    (Suncoast Developers Guild)
  • Badges? We don’t need no stinkin’ badges!
    (Jason L Perry)
  • Will it Scale?
    (Robert Bieber)
11:00 a.m.
  • Demo: Smash Bros Combo
    (Kento Kawakami)
  • Your Friendly Neighborhood Type System
    (Dylan Sprague)
  • Demo: Evolution X
    (Cody Banks & Abtahee Ali)
  • The Rubber Duck Pal Program
    (Daniel Demerin)
12:00 p.m.
  • Furry Friends
    (Colter Lena)
  • Demo
    (Trent Costa)
  • Don’t Crash! CSS-Modules in React
    (Dylan Attal)
  • How to start your own Coding Podcast 101
    (Vincent Tang)
1:00 p.m.
  • Pull Requests, and the Developers Who Love Them
    (Michele Cynowicz)
  • Demo: Rollerblade Buyers Guide
    (Abe Eveland)
  • Post Bootcamp Reflections: Rebuilding my capstone in React Native
    (Liz Tiller)
  • Create games, visual novels, and fast food dating sims (and learn programming) with Ren’Py!
    (Joey deVilla)
2:00 p.m.
  • Demo
    (Rob Mack)
  • “You do belong here” and other affirmations and ways to beat imposter syndrome.
    (Michael Traverso)
  • A Taste Of Docs As Code
    (Kat Batuigas)

Once again, it’s free-as-in-beer (and not free-as-in-mattress) to attend, and all you need is an internet connection! Register here.

Since opening their doors in the summer of 2018, Suncoast Developers Guild’s coding school has graduated over 100 students, and before that, they taught people to code in their previous incarnation as the Tampa Bay branch of The Iron Yard.

In another life, I was a developer evangelist who travelled across North America and I saw tech scenes from Palo Alto to Peoria. I can tell you that one of the signs of a healthy tech community in a small- to medium-sized city is a coding school that acts as a social/technical/gathering place. If your city had one, things were looking up for local techies. If not, it was a safe bet that the place was experiencing a brain drain.

Here in Tampa Bay, Suncoast Developers Guild fills that vital role, and it does so spectacularly. They’re a key part of the heart and soul of tech in the area, and it shows in their efforts, such as events like this.

Thanks, Suncoast Developers Guild! I’ll see you on Saturday!

Categories
Current Events Tampa Bay

Online workshop TONIGHT — “Hackathons — Who owns the IP?”

Photo: Brett C.J. Britton

Here’s the TLDR:

  • What: An online workshop where Tampa Bay’s best-known tech lawyer and IP attorney, Brent C.J. Britton, will talk about the intellectual property issues surrounding hackathons.
  • When: Tonight! As in Thursday, July 30th, 2020, from 6:00 to 7:30 p.m.
  • How/Where: This Zoom meeting.

Let’s face it: The purpose of many (but not all) hackathons — even if it’s not the primary purpose — is to promote one or more tech company’s wares or services, or to act as a scouting exercise to find new talent. This is especially true when a hackathon is organized or sponsored by a for-profit company and especially when they encourage or require you to use one of their products, services, or APIs.

What if you participate in a hackathon held by a for-profit company and your idea is a really good one? Who owns it?

This workshop will be led by Brent C.J. Britton, local IP/techie lawyer, and generally the first guy I run to when I face some kind of intellectual property issue (and yes, I have, when a copyright troll was getting up in my business).

Check it out tonight!

Here’s Brent’s bio:

Brent Britton is the only graduate of the prestigious MIT Media Lab to become a lawyer. Brent holds degrees from the University of Maine, the The Media Lab at the Massachusetts Institute of Technology, and Boston University School of Law. He is Managing Partner for the Tampa office at De La Pena & Holiday LLP, where he advises companies on emerging business and technology law, intellectual property, complex commercial transactions.

 

Brent is the author of Ownability, How Intellectual Property Works and one of the most interesting and entertaining speakers in the Tampa Bay area on Startups, IP and related matters. He is recommended on Linkedin by a futurist as: “Visionary, pragmatic, insightful and full of life with a capital L”.