There will be three key themes for this hackathon:
Pandemic preparedness and recovery: Every day in this region, software developers are solving problems for non-profits, businesses, families, and communities. As COVID-19 has shown us, this recovery depends on solving problems in creative ways. How can we best be prepared for the next pandemic?
Inclusion, diversity, and intersectionality in the tech workforce:Yes, Houston, we have a problem. When a workforce does not represent the communities it serves, it causes harm and hampers vibrant solutions. SDG’s is working to change this; come and help us.
Building a smarter, more connected Tampa Bay: Developers understand both sustainability and problem-solving. Harness our power by solving a Smart City challenge that will elevate us all. Can we build IoT and Smart City solutions that help our region’s residents without hurting their privacy?
There will be three cash prizes for each theme: $1000 for the main prize, $750 for the runner-up, and $250 for the solo participant. That’s nine prizes in total!
Once again, this event will happen online. You can hack in the comfort of your own home — all hanging out will be done on Discord. Registration and participation is free-as-in-beer.
Greg Leonardo. Tap the photo to see his LinkedIn profile.
Greg Leonardo is an important part of the Tampa Bay tech scene: he’s behind the annual Tampa Community Connect conference (which grew out of Tampa Code Camp) as well as a lot of Tampa Bay-based Microsoft and Azure meetups. Along with his wife Kate, who’s also an important part of Tampa Bay’s tech scene, he runs Webonology, a tech consultancy, and they’re offering their time to help people affected by 2020’s general chaos to get back on their feet.
He writes:
If you know any small business or are a small business affected by the riots and need assistance with technology or options for technology for the business, please reach out to me. I am donating my available time to help these small business owners get back on their feet and/or save their businesses. We will work at providing as much as we can during this time to help anyone get back on their feet.
I know Greg — he’s got a big heart and gets things done. He has my highest recommendations, and if you need his help, you can reach him at info@webonology.com.
In addition to the fact that having my own blogs lets me control and own my own content and “look and feel”, add links and additional interactive content, and not be under anyone else’s editorial control, there’s a reason I don’t use Facebook (or any other social media platform) as my primary way of messaging the world: so I rely on amoral, self-serving jackholes like Mark Zuckerberg as little as possible. For me, Facebook’s true purpose is to point you to my newest articles.
Context
“If you enable a scumbag, then you are a scumbag” is tip #99 in the 20th Anniversary Edition of The Pragmatic Programmer. Andy and Dave talk about it in their interview on the Code Newbie podcast. They say that it’s a reminder of the power that software has over people’s lives these days, and “as programmers we are blessed and cursed with the fact that we are creating the new world. The world is now formed largely in code and that’s incredible responsibility and obviously it’s being misused.”
New York Times: Zuckerberg Defends Hands-Off Approach to Trump’s Posts.Timothy Aveni, a Facebook software engineer who resigned after Mr. Zuckerberg’s decision to leave up Mr. Trump’s posts, said on his Facebook page on Monday that the company wasn’t enforcing its own rules to ban speech that promotes violence. “Facebook will keep moving the goalposts every time Trump escalates, finding excuse after excuse not to act on increasingly dangerous rhetoric,” Mr. Aveni said.
CNBC: Civil rights leaders say they’re ‘disappointed and stunned’ after call with Facebook’s Zuckerberg and Sandberg. “We are disappointed and stunned by Mark’s incomprehensible explanations for allowing the Trump posts to remain up,” wrote the leaders, Rashad Robinson of Color of Change, Vanita Gupta of the Leadership Conference and Sherrilyn Ifill of LDF. “He did not demonstrate understanding of historic or modern-day voter suppression and he refuses to acknowledge how Facebook is facilitating Trump’s call for violence against protesters. Mark is setting a very dangerous precedent for other voices who would say similar harmful things on Facebook.”
The Verge: How to think about polarization on Facebook.“Our algorithms exploit the human brain’s attraction to divisiveness,” read a slide from a 2018 presentation. “If left unchecked,” it warned, Facebook would feed users “more and more divisive content in an effort to gain user attention & increase time on the platform.” […] Fixing the polarization problem would be difficult, requiring Facebook to rethink some of its core products. Most notably, the project forced Facebook to consider how it prioritized “user engagement”—a metric involving time spent, likes, shares and comments that for years had been the lodestar of its system.”
At some point in the mid-90s, after the release of the games MYST and The 7th Guest, came an explosion of multimedia software on CD-ROMs. Until that time, building any kind of software was a tedious, error-prone process, and doubly so if it had to display animations and video, play multi-channel sound, and react to users’ keyboard taps and mouse clicks, drags, and drops. You’d have to double that effort again if you wanted to make it for both Mac and Windows.
John Henry Thompson changed all that with Lingo, the programming language for the cross-platform multimedia authoring tool known as Macromedia Director (formerly MacroMind Director, and later Adobe Director). It was the very first programming language that used to make my very first applications at Mackerel Interactive Multimedia, my very first workplace, for paying customers. As with Marc Canter, who co-founded MacroMind, I will be forever grateful to “JT,” as he was known in those days, for helping get my start in what’s turned out to be a pretty nice career.
Here’s a quick taste of the sort of things people created with Lingo and Director. It’s also a taste of the digital aesthetic of the mid-1990s:
Since the download speeds of the time were about 10 minutes per megabyte on the fastest modems under ideal conditions, there was really only one way to get Director: in a shrink-wrapped box like the one pictured below…
…which contained CD-ROMs and a lot of manuals fashioned out of dead trees:
John was always living with one foot in the world of tech and one in the world of art. He studied computer science at MIT, but while there, he also minored in visual arts. During that time, he took a year-long break from MIT to take part in a year-long program in painting and drawing at New York’s Art Students League.
“While I was there, in ’83 or ’84 I started combining my interest in the visual arts with computer graphics… I started doing stuff at the media lab. I focused there on integrating my interest in multimedia into my computer science degree. I got a minor in visual studies where I got exposed to film making, graphic design, photography, all that… It was actually not well known, but there was a lot going on there in the visual arts in MIT. I did a lot of independent work there, I built some 3-D graphics systems and an interface to broadcast equipment, some real-time video processing things, sort of like music video effects, and from that, that took me more into the video production end of things, and I was hired from there, that was ’84, I got a job at the Droid Works [a spin-off company of LucasFilm], on the EditDroid project, which we were building a non-linear editing system. This was before digital video, this was based on laser disks, and so that’s how I ended in the Bay Area working in San Rafael.”
“From the early days I was interested in the Macintosh, so I took that opportunity to start looking around for work on the Macintosh, and I got a Mac Plus and through some people at DroidWorks, actually the husband of one of the employees there, I got in touch with Marc [Canter, founder of MacroMind, the original name of Macromedia]. At that point Macromedia was based in Chicago and they were making VideoWorks and MusicWorks and GraphicWorks. They’ve been around for a while – they were one of the first major applications on the Macintosh. They were there from, I think they started in ’84. I don’t know if you know, but VideoWorks started out on even before the 512K Mac. It was quite a feat that it was able to run.”
A 1987 magazine ad for VideoWorks II. Tap the image to see it at full size.
“So I got in touch with Marc through this friend from DroidWorks and he said he was looking for someone to write the accelerator – it was in a lot of ways similar to QuickTime. That was my first work with them.”
From the accelerator project, John moved to working on the color paint program in Director, which let you create and edit bitmap images in Director projects. He was still a contractor when he added Lingo into version 2.0 of Director on his own initiative:
“I wanted to see some of my work on interactive languages that I had been using for interactive art in a commercial product… I was still a contractor, or a consultant, but most of my time was spent with MacroMind products at that point. The company’s focus at that point was 3-D Works. It was kind of an unsupervised project – what they had at that point was VideoWorks Interactive, which was a central, BASIC-like language hooked on to the animation engine and that was used for the Guided Tour on the Macintosh.”
“And that was where Lingo started – it was a replacement for that BASIC language. (We were using a BASIC language) that I think was copied out of an article in Dr. Dobbs, so it was a very rudimentary implementation of a BASIC interpreter – you had single character variable names, the variables were typed by their names.”
“Lingo was a replacement for that. It started out just incrementally, because I was doing interactive stuff myself and I wanted to use Director to do it, so first I plugged in the xobject stuff, which was some code I had set up to control video disk and some other stuff that I was using in my interactive art. So, xobjects went in from day one, and then I started putting in more of the traditional features you find in a language: recursion, untyped variables, all that kind of stuff.”
“…from its very first incarnation it was object-oriented. Back at that point – this was ’87 – this was when C++ and Objective C were making headway and I’ve done a lot of research on Smalltalk and the Lisp environments.”
I programmed in Lingo from 1995 to 2000, and there are unmistakable elements of Smalltalk and Lisp in there, along with a strong HyperTalk accent. These screenshots of script windows should give you a taste of the language:
Lingo allowed me and the other developers at Mackerel to crank out applications for floppy disk, then CD-ROM, then Shockwave apps for the web, for both the Mac and Windows, in a fraction of the time it would’ve taken in C. I wrote interactive multimedia desktop applications for a number of clients, including AOL, Microsoft, Toyota, USF&G,Dairy Farmers of Ontario, and Delrina, and I wouldn’t have been able to do so without John and his language, Lingo.
I had the opportunity to meet John in 1996 at the afterparty for the Macromedia User Conference in San Francisco, and it was wonderful to speak with him. It was the first time I’d ever had a chance to talk to someone who’d made a programming language that I’d used. I thanked him then, and I’d like to repeat it now: Thank you, John, for Lingo, and for getting me started on my career!
What he’s been up to recently
He made an appearance on the YouTube channel The Coding Train in 2018, where he talks about Director and some of its modern descendants:
Earlier this year, he was a guest on the Coding in the Wild podcast, where he talks about his recent project, DICE, short for “Distributed Instruments for Computed Expression,” which is an open source platform for exploring that intersection of art and programming: