Console 50

Kaboom, Hummingbard, and Tauri

Sponsorships

Faves

What trends are tech giants focusing on? What articles and tweets do they consume? On Faves, you can find just that: Marissa Mayer (former Yahoo! CEO), Lucy Zhang (founder of FB messenger), Madhu Muthukumar (Head of Product @ Robinhood) and more curate the content that informs their thinking. Sign up today.


kaboom

kaboom.js is a JavaScript library that helps you make games fast and fun!

language: JavaScript, stars: 268, watchers: 16, forks: 3, issues: 4

last commit: April 12, 2021, first commit: November 12, 2020

https://twitter.com/slmjkdbtl

Hummingbard

Hummingbard is an experimental client for building decentralized communities on top of Matrix.

language: Go, stars: 50, watchers: 7, forks: 5, issues: 17

last commit: April 07, 2021, first commit: March 01, 2021

Tauri

Tauri allows you to build smaller, faster, and more secure desktop applications with a web frontend using Rust.

language: Rust, stars: 15458, watchers: 239, forks: 317, issues: 67

first commit: April 24, 2021, last commit: July 13, 2019

https://twitter.com/TauriApps

vue-notion

vue-notion is a fast Vue renderer for Notion pages.

language: Vue, stars: 361, watchers: 7, forks: 15, issues: 5

last commit: April 15, 2021, first commit: December 15, 2020

https://twitter.com/jnnksbrt


An Interview With tga of Kaboom

Hey! tga, let’s start with your background. Where have you worked in the past, where are you from, how did you learn how to program, what languages or frameworks do you like, etc?

I grew up in China and got into programming in high school by learning to make websites and stuff. I went to the US for college and got interested in games and game dev, mostly learning to program by doing projects. I don’t like a lot of languages and frameworks and that’s a big drive for me to learn tech in order to build my own in order to replace some ugly dependencies (for personal projects. In collab projects I have to treat dependencies with another mindset), but there is still a lot of software I like, e.g. Lua, love2d, amulet, dear imgui, sokol, SQLite, software made by rxi.

Where did you go to school?

I went to Parsons School of Design at NYC, majoring in Game Design.

Do you like NYC? 

Mixed feelings I guess, I don't like the city that much but there're so many important memories here, and important people.

How did you get into coding from game design and what resources did you use to learn?

At first I was trying to make games with lua + love2d, it's a lot easier to learn to program if you're clear about what the desired output is (in this case, I recommend having the game designed before engineering). Once I learned the fundamentals of programming I started to learn how my tools work and tried to build my own tools, then started a rabbit hole of going deeper.

The learning process is very random and not systematic, mainly just jumping around the internet looking for articles, books, and other people's code and read the part that interests me. But, this also leads to fragmented knowledge, I know a little about a lot of stuff but am not an expert in any field. It's tough to find resources about what exactly you want to learn, I’m still learning how to learn everyday.

A lot of people quit, or find it too difficult because they set out to "learn how to code" rather than trying to build something and picking up coding as a by-product of that.

Yes! Actually my first encounter with programming was reading K&R due to some recommendations and I didn't understand anything for days. It instantly clicked when I saw some colors on a screen with HTML, CSS, and Javascript.

Who or what are your biggest influences as a developer?

Programming-wise, the experience of learning Rust, C, and building game engines has helped me a lot while learning. Also, some ideas from UNIX, suckless and cat-v (yes my head is very poisoned with these teachings but they actually work very well with my goals), have influenced how I choose to build things.

Video games have been a huge influence on me, especially the works from Blake Andrews, increpare, thecatamites, Michael Brough, and a lot more. Also every film I watch, all the music I listened to, all the people I met, and every place I’ve been. 

What’s your most controversial programming opinion?

Everyone should build their own tools.

What is one app on your phone that you can’t live without that you think others should know about?

I guess the most needed one is Music (I manage a local music library with Apple’s Music app on both macOS and iOS), my phone is basically a portable music device. I also can’t live without Wechat, Weather, Map, and Camera. I actually have 100+ games on my phone but I never open any of them. Like my steam library, I really should go through all of them sometime. 

If I gave you $10 million to invest in one thing right now, where would you put it?

If you don’t ask for any return, I’ll just put it directly into my bank account and work on my own stuff full-time and not worry about money forever. 

What are you currently learning?

Learning / working on my scripting language with the awesome Crafting Interpreters.

What have you been listening to lately?

Been looping on Quasimoto.

Why was Kaboom started?

It started from Amjad (CEO of Repl.it) and I talking about how we can build a game programming environment for beginners.

Where did the name Kaboom come from?

Kinda a low effort name, I wanted a name that felt good when you say it out loud, and didn’t have too much meaning. Kaboom then comes to mind, not my proudest creation in life, but I think it works so far. 

Are there any overarching goals of Kaboom that drive design or implementation? If so, what trade-offs have been made in Kaboom as a consequence of these goals?

One big trade-off is the level of abstraction. Kaboom is trying to be easy for beginners. So, a lot of abstraction is needed, but sometimes that gets in the way of power users. Kaboom is trying to define each layer of abstraction well, and expose as many interfaces as possible without being messy (like exposing the lower level drawing / audio API, which isn’t handled well as of v0.1.0). The tool is targeting beginners and intermediate users, but we still want it to be smooth for pros.

Are there any competitors or projects similar to Kaboom?

Not really competitors but serves a similar audience to Microsoft Makecode, I think they did a really good job on building a gamedev environment. 

How do you balance your work on open-source with your day job and other responsibilities?

I’m currently working at Repl.it and they’re paying me to work on Kaboom haha! My official role is actually designer so now I’m constantly splitting my time between design and programming. It’s pretty flexible, typically each week has a priority and I’ll decide if I work more on Kaboom or design at the start of the week.

How do you like working at Repl.it? I’ve heard some very good things about the product and company.

I'm enjoying it! The culture is super good, everyone is super nice and chill, and yes we have some really badass engineers doing lots of cool cutting edge stuff.

If you plan to continue developing Kaboom, where do you see the project heading next?

With the initial launch, the next milestone is to make sure people can actually make stuff without blockers. 

What motivates you to continue contributing to Kaboom?

Kaboom also serves as an experiment ground for me solving my own problems in game dev, always motivated to serve my own needs. Also with the initial launch it looks like some people really liked it, happy to serve the kind, warm-hearted, and creative people. 


Like what you saw here? Why not share it!

Or, better yet, share Console!

Share Console

Also, don’t forget to subscribe to get a list of new open-source projects curated by an Amazon software engineer directly in your email every week.