Joseph Choe

Personal Technology

Over the last few months, perhaps even years, a single thought has loomed before me.

I need to develop my own technology.

I’m not talking about founding a startup or anything like that. It’s a bit more foundational than that, I think.

Think about the lifecycle of a software developer. I’m hired at a company, I develop an application or build a product. I’m generating value. But when I leave, I take none of that with me.

A lot of the things I build are pretty much the same, company after company. Sign up users. Accept payments. Administrative reports. That sort of thing.

But I build it over and over again at each new company.

None of this technology I’m building comes with me as I move throughout my career to new projects. It’s wholly owned by the companies I work for.

That’s what I’d like to change.

I want to build a personal tech stack that I can use for different projects again and again.

The Hyperstack!

So what will I be building? What programming languages will I use to develop it?

Ruby has served me well in the past. But I think it’s time I moved onto something else and learn new things. I’ll still be using Ruby from time to time, but I think it’s best used as a scripting language, rather than for developing applications.

Here’s a shortlist of some things I’d like to learn:

Why these specific languages?

Elixir

Elixir looks pretty promising. I’ve already read a ton of material on the language and how to build applications with it. That doesn’t make me an expert, by any means, but I’m pretty excited!

I’m already familiar with the concurrency model, as I have experience with the Actor model. Due to the founder’s origins in Ruby, it’s also not too far a leap.

I’d certainly be interested in learning how to deploy applications with this thing, especially on OpenBSD.

C Programming

Something I’ve neglected over my programming life is learning to program in C.

Oh, I know the basics, I suppose. Loops, control flow, things like that.

But I don’t know how to build whole applications in C.

Likewise, something I’ve never done is learn how to build and develop mobile applications, whether that’s on the iPhone or on Android.

But I’m not really interested in learning Swift or Kotlin. Instead, I want to explore if it’s possible to build these applications in pure C. Or some mixture of Objective-C and C, in the case of iOS.

Is it possible? I have no idea. But I’d like to learn and find out.

Conclusion

Anywho, that’s what I’ll be devoting my time to over the next year, I think.

Something I’ve been toying with is livecoding and livestreaming the entire thing on YouTube or Twitch. Or both.

That might be interesting. Or terrifying. Or both.