Carmen Huidobro

(she/her) | Developer Relations, Technical Content and OSS

How Objective-C Made Me a Versatile Software Engineer

Apr 20, 2023

Special thanks to the incomparable Sylwia Vargas for helping me structure and focus this post better, as well as to Uli for making kind corrections.

Asking for Help Effectively as a Software Developer

Nov 13, 2022

Let's face it, getting stuck on a programming problem stinks, doesn't it?

My experience speaking at DevRelCon 2021

Nov 15, 2021

What a year! In 2021, when I started my first role in DevRel I also spoke at this year's edition of DevRelCon.

Pre-recording conference talks

May 11, 2021

Most of the conference talks I've given this year have not only been online, but also pre-recorded.

My first few months as a developer advocate

Apr 24, 2021

I have spent the last 10+ years freelancing and contracting as a software developer. This January, that changed when I became a developer advocate at CodeSee.

Hosting a Podcast from Scratch

Jan 23, 2021

A few months ago, Timea and I started hosting the Gender Equality over Coffee podcast, as part of the Women Techmakers Vienna organisation. It's been a blast!

How we did audio/video for our online conference

Oct 25, 2020

This year's Women Techmakers Vienna conference was meant to take place in March 2020, but had to be postponed. After three months of monitoring the possibility of holding it later, we as a team decided to hold it online.

Running GUI Linux applications in WSL 2

Sep 30, 2020

I've been really enjoying my time using the Windows Subsystem for Linux, or WSL for short. With it, I've been able to develop web software on Windows with the Linux environment familiar to me.

Granting user read/write permissions to a USB device in Ubuntu Linux on boot

Sep 22, 2020

One of my recent projects involved having a cash register print receipts to a thermal printer. In order to do this, we had a Sinatra server running on boot on the device that would, upon receiving a POST request, print out the ESC/POS data.

Running a learn together coding group remotely

Jun 13, 2020

Our coding study group Study Jams needed a place online where folks could come together remotely, share and learn together, as we've done in person for a number of years.

Here's the story of how we managed to make it work!

5 things I learned from a major React Native upgrade

Apr 26, 2020

One of my recent gigs was bringing out an update to a React Native app. This involved getting it ready for newer versions of iOS and their recent requirements on the app store, as well as Android's 64-bit app requirement.

It looked pretty clear like the update would involve updating the react-native dependency. Specifically, updating to version 0.59 at least would be necessary.

Thing is, the codebase I was starting with was on 0.55.4. Given the how fast these things move and APIs change, this is no small upgrade.

What's the best policy for managing dependency upgrades?

There are a lot of wonderful pieces out there on what the best policy for managing dependencies is. This is not one of them.

My aim is to relate my experience having done an upgrade and provide some lessons learned. A common theme I see passed around is that "if it hurts, do it more often".

Why is upgrading dependencies so daunting?

Going through a series of dependency upgrades can be a long, difficult experience.

The most common difficulty in doing these kinds of upgrades that arises is the brittle nature of interconnected code. When we code, we learn that changing one section can cause another to break. This is why we have disciplines to avoid these problems, such as the many different flavours of testing.

But what about open source dependencies? This code is neither tested nor "maintained" by us (assuming we're not maintaining that specific library), so to speak. We depend on contributors to keep these up and running.

That said, my role in this project comes in managing their versions. See, third-party code will oftentimes depend on other third-party code. In our case, an update to react-native might impact how react-navigation performs, since the latter has development dependencies on the former.

Some lessons learned while making the upgrades

With all that in mind, let's go over some of the things I learned while performing such an upgrade:

How we made our Rails test suite about 75% faster

Mar 8, 2020

One of my recent tasks has been to take the current test suite for a large-ish Rails app and speed it up as much as possible. This is the story of how I managed to do so without compromising the integrity of the tests.

Updating data across multiple browser tabs using Vue.js and Vuex

Jan 15, 2020

What a start to the year! Let me set the stage: I'm in the process of building a cash register / point of sale system, which uses Vue.js and Vuex.

Just go for it: The story of dance-mat.js

Nov 25, 2019

This is the story of my first proper hardware project.

Before Just Dance, before Beat Saber, one of my favourite music games growing up was Dance Dance Revolution.

Let's look into how Birgit and I built our very own Dance Dance Revolution Controller, from scratch! All the code is available on Github.

Breathing Life into the Panoptikum Facebook Messenger Bot with Elixir and Phoenix

Aug 5, 2017

While attending the super-fun Vienna BEAMers study group, where we learn all things Elixir and Erlang, I've been making tiny contributions to the Panoptikum project, which creates a podcast-oriented social network. It's been a great opportunity to contribute to a project at the same time as learning a completely new language.

YAML subtlety with saving strings

Aug 17, 2015

Ok, so this one had me stuck for ages, and I thought I’d share what went wrong. I was trying to save strings into YAML, something like the following:

Let's make our first Rails app

Jun 9, 2015

Welcome! If you're here, you'd like to learn to make Rails web apps. I'd love to take you through making the quintessential "To-do" list.

Ingredients

  • 1 computer
  • 1 Terminal or Command Line Prompt
  • 1 installation of Ruby and(on) Rails
  • 1 text editor
  • 1 happy coder

Integrating ActiveRecord with an SQLite3 database and RSpec Shoulda matchers into your Sinatra app

Jun 5, 2015

I ran into a lot of trouble getting this set up! Finally, everything fell into place.

While planning out a Sinatra app for a new project, I decided to use ActiveRecord to handle my data storage.

Let's make Nyan Cat using the 'gosu' gem

Apr 30, 2015

When I'm not fighting crime and going about my daily coding life, I'm teaching kids to code computer games.

We've recently been using the gosu gem, which is a ton of fun to use and makes creating games really simple.

When making an introductory game, I want to avoid using the 'space shooter' example.

I therefore decided that it was time to make an adorable game where you have Nyan Cat pick up sweets!

Internationalization in RubyMotion Projects — Part 2

Jan 3, 2015

Over the holidays, I pondered on how I could make these scripts for slurping up localizable strings in RubyMotion projects easier for myself or other developers.

Internationalization in RubyMotion projects

Dec 3, 2014

It's not all Bachelor Project for me! One of my contract projects at the moment is to write an OS X app using RubyMotion.

Coaching at Rails Girls Vienna 2014

Nov 21, 2014

Last weekend, I had my first experience in coaching at a Rails Girls event.

I loved every minute of it.

If you've ever wanted to try out web programming in a great environment, or help out, what are you waiting for? There are events all over the world!

Homesick App — Setting up a CoffeeScript-written Node.js project

Nov 10, 2014

This is part of an ongoing series of posts about Homesick, my bachelor project.

PyLadies Vienna's Introduction workshop to Django

Nov 8, 2014

Django Girls

(Many thanks to @FloorDrees for the photos!)

Homesick App — Playing stored audio data on Android

Nov 7, 2014

This is part of an ongoing series of posts about Homesick, my bachelor project.

Homesick App — Recording and Storing Audio on Android

Nov 5, 2014

This is part of an ongoing series of posts about Homesick, my bachelor project.

The Android side of the client is hosted here.

I've had a small handful of experience in Android development, so I've drawn up a simple activity with two buttons for the time being:

Homesick App — Install plugins in Android Studio

Nov 4, 2014

This is part of an ongoing series of posts about Homesick, my bachelor project.

Starting out with Homesick

Nov 2, 2014

My Bachelor project is called "Homesick App", the description being as follows: