Bubble Programming isn’t there yet…

Rating: 2 out of 5.

Okay, so I was stumbling through the internet in a blind rage, trying to get a simple little application that handles a small amount of data up and running. I’m sure anybody with some but not a lot of experience programming has done: When you recognize something that should be easy for someone with experience but isn’t yet easy for you. About to give up and settle into gathering data manually, I found it, the one the only, the bubble.

Bubbles Logo

Claiming to be web apps with a visual programming language, you say Hell Yeah and start digging in. You may have disliked scratch when you were being forced to do it in school, but now that you’re only concerned with getting something working, an app builder sounds like a dream come true.

So you start digging in, and sadly you start to find the problems.

  1. So I was trying to get a new web app going in under a day; it was for an exercise that has to be moved online due to COVID. It only needs to run for a day, and It’ll never have to host more than ten people using it simultaneously. Jesus $29/month if I want all the advanced features… like having a custom favicon. It’s a little thing, but it lends an air of quality, and honestly, with the user interface and features available, no default stock media library to create beautiful backgrounds. It can’t afford to lose that one extra squirt of modern beautiful web design.
  2. I can’t have multiple revisions live. Seriously you’re going to charge me another $29/month for every app I want to have live full-featured online simultaneously—no ability to create a beautifully polished piece of work and then refine it repeatedly. Honestly, No Biggie, I can take down the other sites, and you can allow me to have one live with all the features at a time. NO seriously, you aren’t allowed to do that. They don’t let you swap which app is full-featured around; you pay for one app to have the full feature set, not your account. Honestly, I could get this if you were running large sites that take lots of server power, but most people will be running low volume apps like me.
  3. Why are you getting Regex in my simplicity? This one might be a personal taste of how I like things, but the moment something is going to toss Regex or something that an average individual doesn’t understand how to describe, you are no longer a tool for those people. To split an input string by commas, one has to use Regex expressions. Now having this doesn’t preclude someone like me, with a background in Electrical Engineering, who can code in C, C++, VHDL, Verilog, and several others over the years. But you’re no longer a quick, easy little app builder, you’re a tool for people who know what they’re doing, and the hassles that come from being visual, outweigh the benefits brought by a simple getting started. You are the Visual Basic of web programming, but worse because you’ve gone way too far with the visual programming at this point, without keeping it accessible to everyday individuals.

So what is the conclusion of half a day of fiddling around with Bubble trying to get stuff to work nicely? It’s a neat toy, but if you want to do something simple quickly, you’re better to invest the time, learn a traditional programming language, and not run up against a random weird limitation of the platform. That being said, the bubble does have it’s place. The no coding statement is an out and out lie, but I will use it again. Why you may ask, would you use it again if you’ve had such a bad experience working with it, well I’ll tell you why?

When I realized it’s problems and tried to get a refund for it. They gave me account credit. And I accidentally purchased it twice, so that’s two months of the bubble for me to percolate on. I was never suckered into thinking it was great, but I only really wanted to support it for a month in return for letting me run a quick exercise online, and now that my simple task has proved too hard for it, I’m frankly annoyed I have to support it at all.

Written April 30th 2020


Journal Assignment 1

Writing this post as an assignment for an Academic and Business Writing course being offered online through It is an absolutely fabulous website offering courses on various subjects. Therefore I’m suring up my writing skills and getting some training.

The Reasons I Write?

While I’ve written for almost every reason there is to write, I primarily write for the fun of it. It is a genuinely enthralling experience to convey information and ideas into a reader’s head as clearly as possible. That being said I have not always been a good writer, and in many ways, I’m still only an okay writer.

I still need to get faster at writing. I need to be more precise on my first pass so that I can write when I need to, as opposed to when time allows. I still need to be more persuasive in my business writing. I need to be able to convince people to hand over hundreds of thousands of dollars. I still need to craft longer, more intricate stories, unhindered by plot holes, and story dead ends. I still need to write more informative academic papers, ones that can change my field, sharing my research.

I have a long way to go.

All that being said, while I dread the writing I’m bad at or feel most insecure about. I genuinely enjoy the writing I’m good at. When my words flow like wine, and people understand what I’m trying to say. What I need to improve the most is my business writing, where I have the most cracks in my ability, I loath it with a passion, even though I have to do a lot of it.

If this course can offer me the mortar and cement to fix the cracks in my writing abilities, I will be thrilled and eternally grateful.


Pretending to be an Artist

Well as the days of being stuck in quarantine or more so staying at home trying to minimize how much I expose myself and my mother to the scary thing of the year… COVID-19 if the reader is lucky enough to be far in the future… I am pretending to be an artistic individual. To that end, I’ve bought a drawing tablet to hook up to my computer and use Adobe Illustrator and Adobe Photoshop.

After about half an hour to an hour of fiddling around, I came up with this. My standard thing I’ve started drawing whenever I’m pretending to know what I’m doing in terms of art.

I really should stay away from art... but I'm not that smart.

This quarantine thing cannot go away soon enough… Seriously…


Selling my 3D Printers

There is a little joke that goes around in my friend group. That I’m cursed to have technology brake early on me, and for weird unexpected reasons. A little while ago I bought a couple of used 3D printers and they have indeed met the same date as a lot of the technology in my day to day life.

So I’m selling off the equipment that I don’t use and has a tendency to brake dramatically on me. I spent today trying to fix a slipping issue on the main printer and failing. It needs to be disassembled oiled and reassembled. Fingers crossed I can find a buyer, at the very least listing the machines for sale was a soothing experience after today’s frustrations.


Learning More Art

In my million pronged approach to the infinity of options available to me in so far as self improvement I have not neglected art.
Am I terrible… Absolutely!

Will I still proudly tout my hasty finger drawing on an iPad pro just to see what’s possible. Absolutely!


Making Cookies on my Day Off!

We finished helping my brother and his wife move into their new mansion. It’s certainly a nice home, but goodness gracious I’m as sore as they come.

Making some cookies to relax while listening to the end of Winter from the Lunar chronicles. Next on my list is to perform some updates to the lab website and do some writing. Maybe work on some of my side projects or my real work. The wonderful life quarantining from COVID-19.



Getting Started with FPGAs

So you’ve decided that you want to start working with FPGAs in your projects. I highly support this decision. FPGAs are amazing devices that are highly underutilized despite their power to transform designs. Your first step is to determine what size of an FPGA you want, and what additional features you’re going to need to get. I recommend starting with a development board and then going through several prototype stages before moving to custom board designs.

Here are some of my recommendations as far as potential board choices. I will admit a heavy bias towards Xilinx FPGAs both due to my personal experiences with them, and due to my negative experiences with Altera equivalents.

Large Boards (Big projects, full Linux)

Zedboard ($450)

Zedboard from Digilent's Website
Attributed to Thomas Springer / CC0 Image from Wikimedia Commons

The Zedboard was the first genuinely high-end FPGA board that I used. Using a Xilinx Zynq processor, it’s got all the peripherals you could want to explore plus a high pin-count FMC connector to add larger boards with additional functionality. If budget isn’t an issue, this pricey darling of a board has HDMI out, VGA, out, ethernet, sound, eight switches, five buttons, a small built-in screen, a healthy 5 PMOD out connectors for various peripherals. You should be able to test out any peripherals you want and then move onto a smaller board without the extras later.

The Zynq FPGA onboard has Dual-ARM cores alongside the programmable logic and can be set up to run Petalinux to interact with the peripheral hardware.


The board is more than a few years old, and so some of the guides no longer work with the latest software, but if you’re resourceful, this is still one of the best boards for developing FPGA based solutions for real-world applications.

Medium Boards

Basys 3 $150

The Basys 3 board was the first board I did more serious development on, and the board I learned to work with FPGAs on. It’s got far fewer peripherals in comparison to the Zedboard, and the Artix 7 FPGA onboard is far less powerful; however, for the price point, the number of peripherals makes it ideal for medium scale development. For the budget price of $150, it comes with VGA out, USB, 16 switches, 16 LEDs, a four-digit seven segment display, five buttons, and four pmods to add additional functionality. If you’re not processing a genuinely massive amount of data, this is an ideal solution for getting your feet wet with FPGA development and building your prototypes.

While the Artix 7 FPGA on the board doesn’t include an onboard ARM core, the programmable logic is more than large enough to accommodate a soft MicroBlaze core to handle sequential timing as needed.


The board is also several years old, but because it doesn’t include any advanced peripherals, it is far less reliant on tutorials to get up and running. I’d highly recommend the board to someone serious about developing for FPGAs but who doesn’t need the power of having full arm cores at their disposal.

Pynq Z2 $120

For those of you who are fans of Python, the Pynq boards are set up to handle a Jupytr server on their ARM cores from which you can load and control different overlays on the programmable logic using basic Python commands. The documentation is once again somewhat lacking, but when you have it figured out you can load and reconfigure different programmable logic overlays and perform different hardware accelerated functions on the fly.

Small Boards (For embedding in products/ projects)

CMODA $75-90

I haven’t had the privilege of working with this board directly myself; however, these breadboard-able FPGA modules come in multiple forms. They are the ideal solution for anyone who things custom Digital logic would be great, but who doesn’t have the budget to pay for them. Running another Artix 7 FPGA as mentioned above, it has the space to perform most potential applications without issue.

FireAnt $40

I picked up several of these boards for my projects from a Crowdsupply. One of the few FPGAs that I like which aren’t produced by Xilinx, they’re an extremely small FPGA with an underdeveloped development platform; however, they’re still some of my favorites. Why… cause they are cheap enough to be left embedded into prototypes without sweating over the costs. Produced by Trion a relatively unknown FPGA producer, I’m genuinely excited to find somewhere I can make use of their devices in my future works.

Trenz Zynq Module $120

Another board that I’m itching for the opportunity to purchase and test out. A Zynq based module in a 40-pin dip package seems too good to be true. The amount of power in such a small space, so easily integrated into other devices is a dream come true.


Cinnzeo Studying

Well, with Covid-19 leaving everyone in an out and out panic there is a finite silver lining in the lack of people in public spaces. Why hide away in a corner when you can study in the middle of chinook mall and not be overwhelmed by the noise of the area. Now my getting distracted by the smell of Cinnzeo is another story and well horrible for my health my stomach now sits contentedly full of cinnamon deliciousness.

Today my primary goal is writing practice with a lot of low risks and no risk writing I need to do. I’m avoiding the hell that awaits me tomorrow with the real sum of my work.

How to form a narrative out of something that doesn’t have a natural narrative structure is something that still befuddles me. Maybe simply writing more stories until it comes naturally is the answer?

I was just approached by a homeless man, although you wouldn’t know it from looking at him. Standing around 5′ 8″ tall with softer features and a slight tan to his skin. He was friendly, asked me for a coffee. On his head was a black beanie, with a black felt jacket and a light dress shirt, one would easily mistake him for a businessman if not for the tone of his posture. Neither afraid nor proud dissapointment was clear on his face when he realized I wasn’t going to be buying him the coffee he wanted, he moved on without objection or complaint, but slightly put out. I almost regret not buying him a coffee.


The importance of thoughtful design

So doing an engineering degree shifts your perspective on the world. Where an ordinary person can look at something without analyzing it for improvements, or get frustrated at something without wanting to beat up the person who designed it, an engineer can’t. A bad design, a difficult system, a frustrating rule, doesn’t matter. They’re all up for a redesign, and I could do it better…

Plug with incorrectly spaced sockets allowing for things to be plugged in to two different outlets simultaneously.At least that’s what I like to think. I’m not arrogant enough to believe my hype and believe that I can do no wrong, but how can so many people these blatant brazen mistakes, and then let them sit for years without correction. The answer I must admit is not that I’m better than these other designers, but that it can be hard to see problems in advance, and it can be hard to correct them once they’re found, and there’s rarely enough time to THINK about the design in full.


Let’s take my plug here. I’m sure some engineer was happy to see this design through safety testing, and probably never even thought to try plugging a device into different plugs simultaneously. Also, if they did, they might very well have dismissed it as an unlikely event, limited by the costs to correct the issue (redoing the plastic molding and boards); they probably just brushed it off and moved along. I’ve been dealing with online application forms recently, and there seems to be a lot of, “well correction takes time,” “well making it better takes time,” “well explaining this takes time” attitude to these online systems. The system is put up, and then not corrected. Years go by, and the system is kept as is, people suffer through the system and adapt. 

This seems like a case where it’ll only ever be small errors, and they remain hidden for years. People adapt to fit the scenario, and they only get revisited once they cause problems.

Do I have a solution?


Making sure you do a full working prototype can help alleviate some of the mistakes, showing your designs to a neutral party, but all I can ask is that people who design and create, revisit their old projects once they’re deployed. Find where your old designs can be improved. Share what those improvements can be so that we can all learn. If you find a system that is difficult to deal with, don’t passively accept it.


When to make a Hardware Design!

As an electrical engineer, it is easy to see solvable hardware problems where there aren’t any. It’s the classic case of when all you have is a hammer, and everything is a nail. Sadly, however, it is rare that a hardware solution is truly the most appropriate, and when it is, there is often existing hardware that can do the job sufficiently well. So I’ve been thinking of how to decide on a solution. When to pull out the wallet for an existing solution, and when to pull out the EDA tools and get down to work. When to pull out the microprocessor and when to pull out the OpAmps and analog components, even when to pull out the big guns and go to a chip-level solution. These are the ideas I’ve come up with so far.

Do you want a hardware solution