St. Pete Pitch Night takes place online tonight from 5:00 to 6:30 p.m.! See pitches from five St. Petersburg entrepreneurs as they compete to win up to $5,000 by pitching their community-based businesses.
From the 34 business who applied, these were the ones selected:
This is an election year, and The Mad Botter’s contest is an election contest. Contestants are asked to develop an open source project that addresses ballot access or in some other way assists with voting. Perhaps something to help people find the closest polling station? Virtual “I voted” stickers? An aggregator for open information about candidates? A “Yelp” for polling places? (You can find more ideas here.)
Here are the contest details:
No purchase is required to enter.
Your solution must be posted to a publicly accessible Github repository with the appropriate license included.
You must be a US high-school or undergraduate college student.
If you are below the age of 18, you must provide written parental consent to have your submission considered; this can be done via email.
In the event that you win, The Mad Botter INC is granted the right to post a picture of you in the winning announcement and other applicable venues; if you are below the age of 18 your parent or guardian also provides permission for this by consenting to your entering the contest.
The winning entry will be the one that shows the most practical potential and creativity and will be selected by The Mad Botter team.
All submissions should be sent to sales@themadbotter.com and include a brief bio, explanation of the solution, and a link to the Github repository.
I was a recent guest on the show (Episode 25), and we talked about how the Toronto tech scene changed from dismal to dynamic, how I stumbled into developer evangelism, learning iOS programming via raywenderlich.com and then joining them, SwiftUI, Python and Burning Man, the hidden opportunities that come with having to stay inside during the pandemic, and more!
Open a Swift playground in Xcode and enter the following code:
let formatter = NumberFormatter()
formatter.numberStyle = .spellOut
let number = 87654
let spelledOutNumber = formatter.string(for: NSNumber(integerLiteral: number))!
print("\(number) spelled out is \(spelledOutNumber).")
Run the playground code, and you’ll see this:
87654 spelled out is eighty-seven thousand six hundred fifty-four.
Having come from the world of C, where you format strings using printf() and formatting strings, and later from other languages where you use whatever formatting method its string class provides, I’ve ignored most of Swift’s classes that derive from Formatter — with one notable exception: DateFormatter, which is indispensable when working with dates and times.
I’m now looking for an excuse to use this capability.
As I typed “DateFormatter” a couple of paragraphs above, I remembered that DateFormatter had a locale property. It’s for ensuring that any dates you present are in the correct form for the locale:
I wondered:
Does NumberFormatter have a locale property?
What happens if I changed it to something other than my system’s default of US English?
So I changed the code in my playground to the following:
let formatter = NumberFormatter()
formatter.numberStyle = .spellOut
formatter.locale = Locale(identifier: "fil_PH")
let number = 87654
let spelledOutNumber = formatter.string(for: NSNumber(integerLiteral: number))!
print("\(number) spelled out in Filipino is \(spelledOutNumber).")
I ran the code and saw this…
87654 spelled out in Filipino is walóng pû’t pitóng libó’t anim na daán at limáng pû’t ápat.
…and my response was “Ay nako!” (translation: OMG!)
How about Korean?
let formatter = NumberFormatter()
formatter.numberStyle = .spellOut
formatter.locale = Locale(identifier: "ko_KR")
let number = 87654
let spelledOutNumber = formatter.string(for: NSNumber(integerLiteral: number))!
print("\(number) spelled out in Korean is \(spelledOutNumber).")
The output:
87654 spelled out in Korean is 팔만칠천육백오십사.
My response: 세상에 (“Sesange!”, which is pretty much Korean for OMG!)
No tech, entrepreneur, or nerd events have been posted for this day…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!
Mike Dominick, who runs The Mad Botter — which develops automation/integration software — moved to the Tampa Bay area three years ago. It’s been my experience that Tampa Bay techies don’t do things halfway, so it shouldn’t be a surprise that in addition to the day job, he also has a technology- and open source-focused podcast named The Mike Dominick Show.
I had the privilege of being the guest for Episode 25 of the Mike Dominick Show, which we recorded yesterday afternoon (that’s its player above), and it was a fun conversation that covered:
The Toronto tech scene
Taking up the accordion
How I got into developer evangelism
Learning iOS programming via raywenderlich.com and then joining them
Remote work and the pandemic
WWDC 2020 and SwiftUI, Python and Burning Man
Windows Phone and my time as a Windows Phone Champ
What I’ve been doing while looking for work
The hidden opportunities that come with having to stay inside
Mike ends each podcast with two questions — one tough and one easy. The tough question he asked me was “What question should I have asked you that I didn’t?” You’ll have to listen to hear how I answered that one.
Don’t just listen to my episode — be sure to check out previous ones, including these ones that I’ve enjoyed on my daily bike rides:
One of the reasons I write for raywenderlich.com — the premier mobile developer tutorial site — is that they’re wonderful people to work with, because they’re such good people. And as good people, they’ve put together something to help developers during this time of pandemic and quarantine: RW Community Care. It’s a series of office hours, livestreams, bootcamps, and more, running until August 22 — and all events are 100% free!
Here’s what RW Community care offers…
Read iOS Apprentice for free!
I learned iOS programming back in 2012 by reading and doing the exercises in an earlier edition of iOS Apprentice, which was written by Matthijs Hollemans. While I’d done some mobile development as a Windows Phone Champ during my time as a developer evangelist at Microsoft, it was this book that set me on my path as a mobile developer.
I owe a lot to this book, which is why it was a big honor to co-author the eighth edition with Eli Ganim. For the summer, you can read it online for free at RW Community Care. Whether you’re completely new to programming or — like me, back in 2012, experienced at programming but new to iOS development — you should check out iOS Apprentice on RW Community Care!
RW Talks
RW Talks happen weekly, cover all sorts of topics that mobile developers will find interesting, ranging from the deeply technical to the inspiring. Upcoming talks include:
Can’t attend some of the other live events, or prefer to collaborate on discussions as a community? Or maybe you’re more the type to hash out challenges or problems with a group of like-minded developers? There’s a Discord server that you can join!
Office Hours
Not everyone has easy access to a senior mobile developer, especially when everyone seems so busy these days and our teams are more physically separate then ever before.
Want a senior member of the development community to look over your current project, run a critical eye over your professional résumé, or review some code you’ve been struggling with? This program is designed to do just that.
If you need someone to help you with deeper questions on your particular project, or to lend a critical eye to your resume or job search, you need Review My Stuff!
The current coronavirus pandemic has given me a chance to do some spring cleaning at home, which in turn led me to revive some old computers that have been sitting idly in a closet. I figure I could put them to work doing interesting things.
Compaq 610 (2009-era 4GB Core 2 Duo)
I’ve given an old Compaq 610 a new lease on life with Peppermint OS, a lightweight Linux distro that runs really well on old machines (the Compaq is a 2009-era machine with a Core 2 Duo processor). I also installed VS Code, Node, Anaconda, and React on it, making it a lean, mean machine for that upcoming Python course I’m teaching.
As with the Compaq, I set up the ThinkPad with VS Code, Node, Anaconda, and React. Since it’s got the processor power and 16 GB RAM, I also put Android Studio 4 and Flutter on it. Between some mobile projects in my near future, and the need to have a machine for running servers and other automated tasks, it’s going to prove to be quite useful.
The Raspberry Pi’s “hard drive” is actually a microSD card that fits into an easily-accessed slot near one of the edges of the board. The process of updating the Pi’s OS is pretty simple: You use the Raspberry Pi imager on another computer with an SD card slot (and a microSD-to-standard SD card adapter) to rewrite its contents.
The Raspberry Pi is a pretty good Python machine, and I may end up using it while teaching that Python course, if only to show what’s possible on a computer that’s smaller than a deck of cards (when it’s not in a case) that you can get for about $50.
Since it’s powered by an ARM chip, it offers an opportunity for a kind of programming that most other machines don’t offer: ARM assembly programming!
It looks like it’s going to become an ARM-based world:
ARM-based chips power IoT devices,
Smartphones are generally powered by ARM-based chips, and
With this upcoming sea change, it doesn’t hurt to have some familiarity with ARM assembly language. Even though smartphones have ARM chips, the Raspberry Pi is a much better platform on which to learn ARM assembly, as it allows you to do development and execution in the same place.
It may have been a while since I’ve done assembly language programming — first on the 6502 in high school on Apple ][s and Commodore PETs, and later in university on NS32000 boards connected to Digital Unix machines — but I found my return pretty simple. It didn’t take long for me to cobble together a “Hello World!”-style app on the Pi.