Skip to content

Pride, ethical debt, and an e-card side project

Erica Pisani
Erica Pisani
3 min read
Pride, ethical debt, and an e-card side project

It seems like I blinked and June has flown by! I'm now back home in Toronto and trying not to melt in the heat waves that seem to be happening more frequently in Ontario.

One of the highlights of the past month for me was getting the opportunity to celebrate Pride in not just one, but two major Canadian cities!

Parade float for the Assembly of Manitoba Chiefs in Winnipeg
Ada all decked out for Pride in Toronto

I hope for other folks who celebrate Pride in June that you also had a good one!

Things that I'm musing about right now

A concept that I've learned about recently and have been giving a lot of thought to is "ethical debt".

It's a form of debt incurred in software development when choices are made that prioritize speed of delivery while deferring thought and discussion over the ethical ramifications of what is being created and its wider impacts.

If you're interested in learning more about ethical debt, you can find the podcast where I first heard about it here. The current boom in AI is driving more conversations around this and will likely continue in the months and years to come.

I might write more on ethical debt in a future post, but at the moment I'm still digesting what I've learned so far and am continuing to learn. I'm particularly thinking about how an average software developer like myself would engage with and manage this kind of debt alongside the traditional 'technical debt' that we're more familiar with in our profession.

Fun things I've been up to

Toronto Public Library e-card

After a long hiatus, I've finally gotten a chance to pick one of my side projects back up again - generating a barcode from the library card number of my Toronto Public Library (TPL) card.

I know there are mobile apps that let you store various loyalty, membership, or library cards on your phone, but it was a great excuse for me to build a project in React Native for learning purposes.

At the moment I'm deploying the project as a single page web application to test that the barcode generation works correctly, but, at the end of this, I'd like to try and publish it as a small Google Play app so that once it's installed, there's no need to make a request to any server. I'll share a link to the Github repository once I'm there!

Things I've learned from it so far:

  1. There are different types of barcode formats that libraries can use

In trying to figure out which one TPL used, I found out that the three most common ones used by libraries were "Coda 39", "Codabar", and "Follett Interleaved 2 of 5".

I learned that 'patron' labels (your library card number) typically start with '2' whereas item labels for books, movies, etc. typically start with '3'. From the book that I had checked out at the time, this looked to be accurate for TPL.

Now for what I consider to be the nerdiest part of this project - to determine if TPL used one of the three formats mentioned previously, I used online generators to create a barcode from the item number of the book I had checked out and compared it with the barcode that I saw on the book's label. I also checked it against my library card number/barcode to confirm.

Turns out TPL uses the Codabar format.

  1. Rendering a barcode in Javascript is extremely annoying

I gotta admit, I nearly pulled my hair out trying to do this. There's a package called jsbarcode that does a lot of legwork for you but I struggled to get this working nicely in my project. Fortunately, someone had put together a sample of using the package in a React Native app and I'm forever grateful to them for unblocking me on this.

Following Copa America

It's the first time that Canada has been invited to play in the Copa America football tournament and we're in the semifinals! I haven't been following the tournament too closely because I feel like I accidentally jinx the team I root for when I do watch.

That being said, I'm planning on taking the risk on tomorrow because Canada will be up against Argentina and I'm sure it'll be a wild game to watch.

randomside project

Comments


Related Posts

Members Public

Learning in public, preparing for conferences, and learning about the world of global payments

Hi folks! I hope you're all doing well. The past couple of weeks have been filled with friends, family, and amazing food for me as the Thanksgiving long weekend was just last week here in Canada. This past month, I've been trying to get through my

Members Public

A month of using Vim

I've wanted to dedicate time to learning Vim for probably a decade now. When I was just getting started as a junior developer, I remember thinking that the people who used it in their day-to-day were "so cool" and felt a bit of awe at how

Members Public

Brag sheets, AI at the edge, and free tier economics

While my summers are usually filled with BBQs, camping trips, and seeing some of the festivals in my city, this summer needed a bit of time dedicated to something that I haven't done in a while: interviewing for a new role. I'm fortunate in that I