Thanks to Renoir Boulanger for the find!
Hey, all you cool cats and — er, Tampa Bay techies, entrepreneurs, and nerds! Welcome to week 4 of the Florida general stay-at-home order! I hope you’re managing and even thriving. It appears that event organizers are adjusting to our new, temporary version of “normal” — there are online events aplenty this week, including one on Sunday. Stay safe, stay connected, and #MakeItTampaBay!
To stay on top of the latest Tampa Bay events as well as all sorts of interested tech articles (you’ve got to see my current series on COBOL), be sure to check out Global Nerdy (globalnerdy.com) regularly!
Monday, April 20
- Tampa SEO & Internet Marketing Meetup with Steve Scott — 5-Day SEO Mastery Class @ Monday, 8:30 AM to Friday 10:30 AM
- Sandler Training — Thriving During Abrupt & Imposed Change (1 of 3) @ 8:00 AM to 9:00 AM
- Grit Daily Tampa Tech Mixer: Will Robots Serve You Next? @ 9:00 AM to 11:00 AM
- Tampa Bay Tech Career Advice Forum — Computer Coach Informational Session @ 11:00 AM to 12:00 PM
- Coaching for Everyone: Sarasota-Manatee — GSCA April 20th “Virtual” Meeting @ 11:30 AM to 1:30 PM
- Thinkful Tampa — How to do Business in the Sharing Economy @ 12:00 PM to 1:00 PM
- Thinkful Webinar | Beginners Guide to JavaScript: Array @ 12:00 PM to 2:00 PM
- NerdBrew Anime watch Party @ 6:00 PM to 12:00 AM
- Tampa Bat DevOps Meetup — TB not so DevOps monthly meeting online: Importance of communication @ 6:30 PM to 8:30 PM
- South Tampa Toastmasters — WOW! Practice speaking from the comfort of your home and learn how to use ZOOM! @ 7:00 PM to 8:15 PM
- Thinkful Tampa — Thinkful Speaker Series || Evolution of Product Management @ 8:00 PM to 10:00 PM
- Thinkful Webinar | Free Crash Course: JavaScript Fundamentals @ 8:00 PM to 10:00
- Thinkful Webinar | Learn UX/UI Design with Thinkful @ 9:00 PM to 11:00 PM
Tuesday, April 21
- Tampa Bay Agile — v-Lean Coffee @ 7:30 AM to 8:30 AM
- Design Thinking – Fall in love with the problem, not the solution. A human-centered approach to solving problems @ 11:00 AM to 12:30 PM
- Keystone Mastermind Alliance – KMA Network — ZOOM at NOON – Virtual Meeting @ 12:00 PM to 1:15 PM
- Tampa Bay RPA — [Webinar] How to Leverage RPA to Speed Up Pandemic Responses @ 2:00 PM to 3:30 PM
- Thinkful Webinar | Intro to Data Analytics: SQL Fundamentals @ 3:00 PM to 5:00 PM
- Tampa HashiCorp User Group — First-hand Experience with Consul from The Chronicle @ 6:00 PM to 7:30 PM
- WordPress St. Petersburg — Livestreaming on a Budget: Getting Started in Live Stream Technology @ 6:30 PM to 8:30 PM
- St. Pete .NET Meetup — Dependency Injection and Unit Testing in .Net Core with Chris Ayers @ 7:00 PM to 9:00 PM
- Thinkful Webinar || Optimize Your Online Learning @ 7:00 PM to 9:00 PM
- Thinkful Webinar | Learn Data Analytics with Thinkful @ 9:00 PM to 11:00 PM
- Thinkful Webinar | Intro to Data Science: Python Fundamentals @ 9:00 PM to 11:00 PM
Wednesday, April 22
- Tampa Bay UX Group — Virtual UX Coffee Talk @ 8:00 AM to 9:30 AM
- 1 Million Cups St. Pete — Upward Drone Solutions @ 9:00 AM
- 1 Million Cups Tampa — LeapCaller / Sophie Meraki @ 9:00 AM
- Tampa Bay WaVE — Coffee Connections with Fortress Commercial Real Estate @ 10:00 AM to 11:00 AM
- JOB FAIR – Central Florida – It’s Virtual! @ starts Wednesday 10:00 AM and runs through May 21
- Thinkful Webinar | Getting Started in Tech @ 12:00 PM to 2:00 PM
- Thinkful Webinar | Intro to Data Science: Predictive Modeling @ 12:30 PM to 2:30 PM
- CMG / Tential — How top executives are working through a Digital Transformation @ 2:00 PM to 3:00 PM
- Heart of Agile: Reflecting on Reflection @ 6:00 PM to 7:00 PM
- Suncoast Developers Guild — Whiteboard Challenges @ 6:30 PM to 8:30 PM
- Rotary Means Business Tampa Bay — Virtual Happy Hour @ 7:00 PM to 8:00 PM
- Thinkful Webinar || Learn Digital Marketing With Thinkful @ 7:00 PM to 9:00 PM
- Thinkful Webinar | Learn Web Development With Thinkful @ 8:00 PM to 10:00 PM
- Thinkful Webinar | Data Science Fundamentals: The Pandas Library @ 8:00 PM to 10:00 PM
- GDG Suncoast — Firebase Virtual Event – Codelab: Get to know Firebase for Web @ 9:00 PM to 11:00 PM
- Thinkful Webinar || Intro to JavaScript: Build a Virtual Pet @ 10:00 PM to 12:00 AM
Thursday, April 23
- Tech4Good Tampa — [ONLINE] Social Engineering 101: Don’t Get Manipulated by Attackers @ 11:30 AM to 12:30 PM
- Thinkful Webinar || What is UX/UI Design? @ 12:00 PM to 2:00 PM
- Thinkful Webinar | Data Analytics: Diving Into SQL Joins @ 12:30 PM to 2:30 PM
- Free Video Production Classes – TV/Internet — YouTube Basics (ONLINE CLASS) – FREE for Hillsborough County Residents @ 3:00 PM to 4:00 PM
- Videos y mas Videos — Estrategias exitosas para iniciar y operar un negocio durante la crisis de COVID-19 @ 5:30 PM to 7:00 PM
- Tampa Women in Agile – Celebrate! @ 6:00 PM to 8:00 PM
- GDG Suncoast — Firebase Virtual Event – Building Secure Apps with Firebase @ 6:00 PM to 8:00 PM
- cYbor Security Meetup — Pa$$word101: An evening of secret sharing (Members Only Live Stream) @ 6:00 PM to 8:00 PM
- Tampa Bay Power BI User Group — (Remote/Teams) Increasing understanding, adoption, and Insights! @ 6:00 PM to 7:30 PM
- Tampa Hackerspace — ONLINE Electronics Breadboarding Class @ 7:00 PM to 9:00 PM
- Thinkful Tampa — Thinkful Webinar | Free Crash Course: HTML & CSS @ 8:00 PM to 10:00 PM
- Thinkful Webinar | Learn Product Management with Thinkful @ 8:00 PM to 10:00 PM
- Tampa-Orlando Software QA/DEV Meetup — Software Test Automation Meetup and Networking Session (ONLINE) @ 8:00 PM to 10:00 PM
- Tampa Bay Young Professionals Group — Free Project Management Online Course @ 9:00 PM to 11:00 PM
- Thinkful Webinar | Free Crash Course: Natural Language Processing @ 9:00 PM to 11:00 PM
Friday, April 24
- Tampa Bay Professionals (IT, Sales, HR & more) — Dale Carnegie Skills for Success Workshop: Free ONLINE Meetup @ 9:00 AM to 10:30 AM
- Spring 2020 HCC Startup Toolbox Speaker Series — The Future of Work @ 10:00 AM – 11:30 AM
- Tampa Bay Agile — LeadingAgile: Building Blocks of Agility Lean Coffee @ 12:00 PM to 1:00 PM
- Free Video Production Classes – TV/Internet — TV/Internet Video Production – Intro(ONLINE CLASS)-FREE for Hillsborough County @ 2:00 PM to 4:00 PM
- Tampa Bay Foundation for Architecture and Design — How We Move – A Virtual Gallery Experience @ 5:00 PM to 8:00 PM
- Sarasota InfoSec Community (SIC) Events — Virtual Happy Hour! @ 6:30 PM to 8:30 PM
Saturday, April 25
- Hack The Box Meetup: Tampa (Remote) @ 11:30 AM to 4:30 PM
- WordSmitten Writing Workshop :: Saturday 1 PM – Online Sessions @ 1:00 PM to 3:00 PM
- Thinkful Webinar | Product Management vs. UX/UI Design @ 1:00 PM to 3:00 PM
- Thinkful Webinar | Intro to Data Science: The Art of Visualizations @ 4:00 PM to 6:00 PM
Sunday, April 26
Do you have any events or announcements that you’d like to see on this list?
Let me know at joey@joeydevilla.com!
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!
A first crack at COBOL
It’s been an age since I last played with COBOL. The last time I got to noodle with it was on a terminal in the math building at my alma mater, Queen’s University. The terminal was hooked up to a large time-sharing system running software that couldn’t be run on my computer at the time — a 640K PC-XT made by Ogivar, which was once the top PC manufacturer in Canada — but could probably be handled by even the bottom-of-the-line laptop at Best Buy running a copy of Ubuntu Linux.
I wrote my first COBOL program in a long time today: Stupid Interest Calculator. It’s not unlike an old starter assignment from an “Intro to COBOL” course that a university in the late ’70s and early ’80s would put on the curriculum.
****************************************************************** * * Stupid Interest Calculator * ========================== * * A sample COBOL app to demonstrate the programming language * and make me doubt that I’m living in the 21st century. * ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. STUPID-INTEREST-CALCULATOR. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. * In COBOL, you declare variables in the WORKING-STORAGE section. * Let’s declare a string variable for the user’s name. * The string will be 20 characters in size. 77 USER-NAME PIC A(20). * Simple one-character throwaway string variable that we’ll use * jusr to allow the user to press ENTER to end program. 77 ENTER-KEY PIC A(1). * The standard input variables for calculating interest. * The principal will be a 6-digit whole number, while * the interest rate and years will be 2-digit whole numbers. 77 PRINCIPAL PIC 9(6). 77 INTEREST-RATE PIC 9(2). 77 YEARS PIC 9(2). * And finally, variables to hold the results. Both will be * 5-figure numbers with 2 decimal places. 77 SIMPLE-INTEREST PIC 9(5).99. 77 COMPOUND-INTEREST PIC 9(5).99. PROCEDURE DIVISION. * Actual code goes here! MAIN-PROCEDURE. PERFORM GET-NAME PERFORM GET-LOAN-INFO PERFORM CALCULATE-INTEREST PERFORM SHOW-RESULTS GOBACK. * Get the user’s name, just to demonstrate getting a string * value via keyboard input and storing it in a variable. GET-NAME. DISPLAY "Welcome to Bank of Murica!" DISPLAY "What's your name?" ACCEPT USER-NAME DISPLAY "Hello, " USER-NAME "!". * Get the necessary info to perform an interest calculation. GET-LOAN-INFO. DISPLAY "What is the principal of your loan?" ACCEPT PRINCIPAL DISPLAY "What is the interest rate (in %)" ACCEPT INTEREST-RATE DISPLAY "How many years will you need to pay off the loan?" ACCEPT YEARS. * Do what who-knows-how-many lines of COBOL have been * doing for decades, and for about 95% of all ATM transactions. CALCULATE-INTEREST. COMPUTE SIMPLE-INTEREST = PRINCIPAL + ((PRINCIPAL * YEARS * INTEREST-RATE) / 100) - PRINCIPAL COMPUTE COMPOUND-INTEREST = PRINCIPAL * (1 + (INTEREST-RATE / 100)) ** YEARS - PRINCIPAL. SHOW-RESULTS. DISPLAY "Here’s what you'll have to pay back." DISPLAY "With simple interest: " SIMPLE-INTEREST DISPLAY "With compound interest: " COMPOUND-INTEREST DISPLAY " " DISPLAY "Press ENTER to end." ACCEPT ENTER-KEY. * Yes, this needs to be here, and the name of the program * must match the name specified in the PROGRAM-ID line * at the start of the program, or COBOL will throw a hissy fit. END PROGRAM STUPID-INTEREST-CALCULATOR.
Just look at that beast. It’s got all the marks of a programming language that came about in the era of punch cards, teletype terminals, and all the other accoutrements of computing in the Mad Men era. Note the way variables are defined, procedures without parameters or local variables, ALL-CAPS, and clunky keywords like PERFORM
to call subroutines and COMPUTE
to assign the result of a calculation to a variable.
Here’s the output from a sample run:
Welcome to Bank of Murica! What's your name? Joey Hello, Joey ! What is the principal of your loan? 10000 What is the interest rate (in %) 18 How many years will you need to pay off the loan? 5 Here’s what you'll have to pay back. With simple interest: 09000.00 With compound interest: 12877.57 Press ENTER to end.
I’ll go over this app in more detail in an upcoming post. In the meantime, if curiosity or boredom got the better of you and you followed the instructions in an earlier post of mine and downloaded GnuCobol and OpenCobolIDE for macOS, you can either enter the code above or download the file and take it for a spin (1KB source code file, zipped).
Are you looking for someone with both strong development and “soft” skills? Someone who’s comfortable either being in a team of developers or leading one? Someone who can handle code, coders, and customers? Someone who can clearly communicate with both humans and technology? Someone who can pick up COBOL well enough to write useful articles about it on short notice? The first step in finding this person is to check out my LinkedIn profile.
This afternoon (Friday, April 17, 2020) from 2:00 – 3:00 p.m. EDT, Established — an organization focused on helping organizations with their innovation, startup, and communication strategies — will showcase the following startups working on COVID-19 solutions in an online presentation:
- Aperiomics (2018 Grand Prize Winner; Established Ventures Portfolio)
- Fiveable (2019 Top 100)
- Kamana (2019 Top 100; Established Ventures Portfolio)
- Lazarus 3D (2018 Top 15)
- One Milo (2018 Top 100)
You can find out more about these startups on Established’s “Startup of the Year” COVID-19 resources page.
Registration for the event is free; just register on their Eventbrite page.
Save $20 on Beginning COBOL for Programmers — today only!
Don’t forget that today, Thursday, April 16, 2020, is the last day that you can get Apress’ Beginning COBOL for Programmers at a discount! Use the coupon code SPRING20A when checking out to get $20 off orders $40 and above. That knocks down the price to $29.99 — but only for today.
Current COBOL news articles
Every time ancient banking and government software that’s still in use on “big iron” runs headlong into a problem it was never meant to handle, from Y2K to the COVID-19 stimulus check program, COBOL returns to the spotlight. Here are some recent news articles featuring the language. Most of these have been published in the last seven days:
- Ars Technica: IBM scrambles to find or train more COBOL programmers to help states
- The Cloudflare Blog: Cloudflare Workers Now Support COBOL
- The Dallas Morning News: If you’re an expert in COBOL, you’re suddenly in high demand
- Electronic Design: COBOL is 60 Years Old… But C is 48
- ExtremeTech: IBM Launches New COBOL Training Initiative, as Elderly Programmers Answer the Call for Help
- FCW: Legacy systems crumble under high demand
- Government Technology: IBM Offers COBOL Help for Government to Deal with Crisis
- Granite Geek: Calling all COBOL cowhands!
- Hackaday: HACKADAY LINKS: APRIL 12, 2020
- The Hill: NJ seeking help from COBOL programmers in coronavirus fight
- How-To Geek: What Is COBOL, and Why Do So Many Institutions Rely on It?
- InformationWeek: COBOL, COVID-19, and Coping with Legacy Tech Debt
- The Mary Sue: COBOL’s Last Gleaming: Our State and Federal Governments Are Run on an Ancient Programming Language and They’re About to Fail
- New York Magazine: NJ Governor Requests Expertise of 6 People Who Still Know COBOL
- OneZero: IBM Rallies COBOL Engineers to Save Overloaded Unemployment Systems
- The Register: COBOL-coding volunteers sought as slammed mainframes slow New Jersey’s coronavirus response
- Salon: An ancient programming language is suddenly in demand thanks to the pandemic
- Security Boulevard: COBOL, Emergent
- TechRadar: An old programming language is threatening global stability
- TechSpot: With US states desperate for COBOL programmers, IBM is offering free training
- U.S. Black Engineer Information Technology: Powerful Voices for COBOL among Youth Without Access: Connecting America with Skills
- The Verge: Unemployment checks are being help up by a coding language almost nobody knows
- ZDNet: IBM, Open Mainframe Project launch initiative to help train COBOL coders
Cloudflare now supports COBOL?!
There’s a fine line between genius and madness, and Cloudflare are riding that line by making it so that you can code Cloudflare workers in COBOL! They have a number of simple examples posted, including a Rock, Paper, Scissors web applet written in COBOL (pictured in the screenshot above).
It looks as though they’re using GnuCobol to compile COBOL code into C, and then compiling that C into WebAssembly. I like to refer to this sort of cobbling as “the Flintstones-Jetsons approach”.
Once again, how to start programming in COBOL on macOS
If you’re on a Mac and want to dive into COBOL coding, don’t forget that I have a quick and dirty to installing a COBOL compiler and IDE on macOS. If you’ve already got Homebrew and Python 3 installed, you can probably go through the process in about a minute.
Are you looking for someone with both strong development and “soft” skills? Someone who’s comfortable either being in a team of developers or leading one? Someone who can handle code, coders, and customers? Someone who can clearly communicate with both humans and technology? Someone who can pick up COBOL well enough to write useful articles about it on short notice? The first step in finding this person is to check out my LinkedIn profile.
Turn off the TV, Nix the Netflix, give Amazon Prime video a break tonight: Go watch Ignite Tampa Bay tonight at 7:00 p.m. Eastern, online at 88r.org/ignitelive! That’s when we’ll be showing the best of Ignite Tampa Bay, the event where Tampa’s most interesting people give tapas-sized TED talks!
Ignite Tampa Bay is an evening of talks that follow the philosophy of “Enlighten us, but make it quick!” It turns the standard speaker-and-audience format on its ear by adding some interesting constraints:
- Each speaker is limited to exactly 5 minutes for his or her presentation.
- Each presentation is accompanies by 20 slides, no more, no less.
- The speaker has no control over when the slides advance; they automatically advance every 15 seconds.
The five minute limit forces speakers to whittle their presentations down to the essence of their talk, and the auto-advancing slides make it necessary to practice, practice, practice.
Here’s an example of an Ignite talk from Ignite Toronto 4, which took place over a decade ago. It’s my rather drunken “Go Busk Yourself” talk:
Ignite Toronto 4: Joey DeVilla: Go Busk Yourself from Ignite Toronto on Vimeo.
The 2020 edition of Ignite Tampa Bay may have been undone by the novel coronavirus, but it doesn’t mean that we can’t hold an event. Rather than gather people at the Palladium in St. Pete — hopefully, we’ll be able to do it next year — we decided to hold a “Best of Ignite Tampa Bay” viewing party!
We’ll be showing the past decade’s Ignite Tampa Bay talks that caught people’s attention, made them think or laugh (or both), and put forth interesting ideas.
(And yes, they picked my 2015 Ignite talk on the importance of Florida Man!)
Just like the live event, there’ll also be an afterparty — and just like the real afterparty, you’re going to have to buy your own drinks.
Join the party! It’s happening at 88r.org/ignitelive tonight at 7:00.