Vibe Coding a Guitar Tablature App
TLDR
Here’s the app if you don’t want to read through my wit below.
Code, Music, Kids, Sleep
Here’s the app if you don’t want to read through my wit below.
I’m learning about robotics with my hard-working son (his blog), and we’re starting the journey learning Ev3dev. Ev3dev is “a Debian Linux-based operating system that runs on several LEGO® MINDSTORMS compatible platforms including the LEGO® MINDSTORMS EV3 and Raspberry Pi-powered BrickPi.” Basically, you flash the OS on a microSD card, stick it in the Mindstorms EV3 brick, and it becomes the OS on the brick. With that, you can do all sorts of linux things - for now, we are using it so we can utilize Python to control the robots (via Python ev3dev)
Hello loyal blog readers! I know you’ve been eagerly awaiting another post from me, I apologize for taking so long. I had (once again) let blogging fall to the wayside, but I’m working with my son Mark (junior in high school), learning about programming and robotics. He has many interests, but for now, is thinking Computer Engineering. I’d be remiss to not try and teach him some of what I know.
AWS (and other cloud providers like Azure, GCP, etc) are powerful toolboxes for building any sort of application. However, with great power comes great responsibility (and complexity). I want to build a backend for my Donut Shop app (ie, a data store and REST API), so will need several components to work together (DynamoDB, Lambda, API Gateway). And while I could create these manually in the AWS console, that would be bush league. A missed opportunity for learning, and building something scalable. Because once this is built, I’m naturally going to want a robust ecosystem with different environments (dev, stage, test, prod), and a fully automated CI pipeline!
Now that I’ve decided to learn and use AWS Cloud Development Kit, I’ve got to configure programmatic access. As I stand on the shore, looking out into the broad, deep ocean that is AWS, I’m a bit nervous. IAM has always confused me, even with guardrails. Now I’ve got to figure out how to set this up on my own!
Recently a new donut shop opened in my town of Mt Zion, IL. While it’s a welcome addition (Dunkin was across Decatur, only other option is Casey’s), they have a flow problem. Customers line up at the door, employees ask them their order one person at a time, the line grows.
We may have entered the “lean times” with my blogging and learning. To be fair, I took the kids skiing this weekend, and knew I was going to have a few days of no ML. And I did manage to get off my butt this morning (Monday, w/ holiday) and start Geron Chapter 12 (Custom Models and Training with TensorFlow). But I’m sensing echoes of past attempts that went off the rails. It is so crucial to diligently stay ON TASK, and do at least a little EVERY DAY. Similar to diet/exercise (which I’m also trying to keep on course!)
It’s getting boring in Marty Neural Net-ville. Pleased with the results of slowing down, I’ve gone back and re-read Geron Chapter 10. And while doing so, have begun building a cheatsheet of all NN things. Never again will I be reading about a new concept, and realize I don’t really know the fundamentals it’s building upon! My own little AI winter, if you will.
I’d like to start out with some tattling - I didn’t work on ML at all this past weekend. I’ve had a streak of doing something every day for a couple of weeks, but not this weekend. And I have no excuse - there was lots of sitting around the house taking place. I’m of two minds on this. On one hand, “give yourself a break!”. On the other, “that’s a slippery slope. Get off your ass!”. For now, I’m simply going to write my weekly summary today (Monday), and move on.
As planned, I spent most of this week working a few Kaggle competitions involving Neural Nets. This mainly consisted of:
Oops, I did it again. A project eagerly started, big plans, big dreams. This time it was Machine Learning, and I was motivated. Cool subject matter, cutting edge, and I had the book that was going to get me there. Look out world, here I come!
The humble Computer mouse was a revolutionary advance in the human/computer interface. Sitting alongside the keyboard, the mouse allows “pointing” at things on screen. And “clicking” when you’d like an action taken. With it, windows slide around, context menus open. The mouse is can be critical to people’s “computer workflow”. However, it comes with a grave cost - your time.
This week we have cool happenings in India, thoughts about thinking, and other snappy tech walk-thrus!
This is the 4th post in a series walking through Svelte’s online tutorial. In the first post we covered Introduction, Reactivity, and Props. The second post explored Logic and Events. The third post dove deeply into Bindings.
This week we have more articles about coding and software, and even a funny meme! So much knowledge, goodness, and humor, I could barely fit it all in.
This is the 3rd post in a series walking through Svelte’s online tutorial. In the first post we covered Introduction, Reactivity, and Props. The second post explored Logic and Events. Today we will explore Bindings, which are used to “tie” variable and state values with inputs.
In my quest to find my writing voice, I’m experimenting with different formats. Walkthroughs, fiction, examples … and now, “here’s what I read this week”. A simple list of links and articles, with some thoughts and commentary on each. This may not work or last, but what the hell. It costs a small amount of my time, and it might provide something valuable to someone. Away we go!
This is a continuation of Aaryavir Mentions Svelte, a gripping saga of one developer’s brave stance against the status quo. Troubles had arrived at the Dandy Candy corporation. Their sales application was broken, and everyone argued about how to replace it. Aaryavir, the hero of our tale, valiantly stuck out his neck, and suggested they use Svelte for the rewrite. You could have heard a pin drop.
This is the 2nd post in a series walking through Svelte’s online tutorial. In the first post we covered the Introduction, Reactivity, and Props. This post will continue where we left off, exploring Logic and Events. With these in your toolbelt, you’ll be further down the Svelte path, well on your way to creating something useful!
Svelte is a reactive Javascript framework that hit the scene in November of 2016. Reactive JS UI frameworks are nothing new (React and Vue are popular ones), but Svelte differs from them in a fundamental way. Those reactive frameworks perform their “magic” by utilizing a Virtual DOM within their runtime. Svelte, however, builds this reactive logic directly into the code during the build/compile stage. As a result, it doesn’t rely on a Virtual DOM. The end result is a smaller and faster runtime.
Svelte is a Javascript component framework, created by Rich Harris in 2016. Similar to frameworks like React and Vue, Svelte is a reactive framework, with a key difference: rather than using a “Virtual DOM” to drive reactivity, Svelte uses a compiler to produce lean and efficient Javascript. In other words, rather than doing the heavy lifting in the browser at runtime, Svelte does it ahead of time, in the build phase.
The past few months had been pretty rough at the candy factory. Hell, the past few YEARS had been rough - lately it had been downright unbearable. Aaryavir, the hero of our story, was a developer working on Dandy Candy’s marketing website. While he used to love the work, recently he’d been in a downward spiral. The whole company was struggling with morale. Sales were down, negative emotions were up, and the future was bleak. Management was starting to pound tables, looking for easy fixes, and people to blame. Heads were starting to roll.
I’ve danced and dabbled with Javascript for years. Plain old javascript, JQuery, Angular, Vue, along with an assortment of other frameworks. But I still consider myself a Javascript newbie. I know enough to be dangerous, but don’t trust myself with the “bigger decisions”. Today I’ve decided to take the necessary steps to change this.
Recently at EarthClassMail we wanted to migrate our “PDF generator” system to Azure, so I began researching our options. There are plenty of solutions out there that create PDFs from images, but we also needed OCR results to make the PDF “searchable”. I figured we’d be able to locate a .Net library that would do the trick. Or possibly an affordable service that offered a cloud-based API to generate PDFs…
You hold an architectural idea in your head, but are struggling to communicate it. Team members think differently about what things are called, where they live, and how they tie together. Someone erased the whiteboard (and what was there was impossible to read a few days later anyway). You’ve seen diagramming used in other places, but you don’t want to install some crappy tool with an impossible user interface (and what do all those symbols mean anyway?!).
We’ve seen the glory of App Insights. We want the pretty charts, and all the deep tracking. But we’re on a legacy system, not a cloud service running in Azure. Are we forever out in the cold, looking through a window at the luxurious comfort within?
The magic of the cloud - infrastructure on demand! Spin up the queues, and stack up the messages! Queues, something we used to have to manage ourselves, now forever delegated to the experts. But we still need to track them, and know whether things are working correctly. How to peel back that layer?
Thousands of items moving into and through inventory. Wide variety of information to track. Myriad things can go wrong. How do we tell whether everything’s working? How can we know when things run more slowly than usual?
If you’ve been a little bored by some of my earlier posts, and found them dry and technical, hold onto your hats. This one’s technical, very specific, and will only interest a tiny portion of my tinier audience. Your boredom will runneth over, and your skimming abilities will be put to an extreme test.
I’m a sucker for learning new frameworks and ecosystems, and get a big rush generating fancy charts, so was in nerd paradise when I worked on this post’s project. The overarching goal was:
Last post I laid out some reasons for using AWS API Gateway for creating REST services. In this post, I’d like to walk some of the pieces involved, both within AWS, as well as some external tools that can take it to the next level. In order to cover all the things, I’m going to paint a high level picture, with links to pages providing more detail.
We’ve had a recent need at Earth Class Mail to expose a REST API for external partners. They want to upsell our services, and we’d like a crack at their wonderful, shiny customers. While we’ve already got a decent library of well-defined, publicly-exposed web services, there were a few shortcomings we wanted to address:
Ahh, to have a blog published. Such satisfaction. Look at me, a published author! It wasn’t always this way, however. Once I decided to blog, and had stockpiled a few ideas to write about, I didn’t know where to put it all. Or how to put it there. Vague recollections of “Blogger” and “Blogspot” crossed my mind, but I hoped things had progressed since my last foray. Where do we go from here?
Time to start YAB (Yet Another Blog)! I’ve made several half-assed efforts over the years to start a blog, and each one fizzled out very quickly after inception. Here’s why: