Console #74 -- Tile38, Blitsort, and Air

An Interview With Joshua Baker of Tile38

Sponsorship

If you, or someone you know, is interested in sponsoring the newsletter, please reach out at console.substack@gmail.com


Not subscribed to Console? Subscribe now to get a list of new open-source projects curated by an Amazon engineer in your email every week.

Already subscribed? Why not spread the word by forwarding Console to the best engineer you know?


Jobs

Want to be paid for contributing to open-source? Check out the Console job board!

We’ve got some great open-source jobs from Canonical, SUSE, Brave, and many others. But, we’re looking for more!

If you’re an employer looking to get your job in front of thousands of the best engineers on the planet, you can request to post your job here.


Projects

tile38

Tile38 is an open-source, in-memory geolocation data store, spatial index, and real-time geofence. It supports a variety of object types including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON.

language: Go, stars: 7720, watchers: 204, forks: 474, issues: 114

last commit: October 02, 2021, first commit: March 04, 2016

social: https://tile38.com/

air

air is live reload for Go apps.

language: Go, stars: 4724, watchers: 41, forks: 317, issues: 68

last commit: July 11, 2021, first commit: October 12, 2017

replace-jquery

replace-jquery automatically finds jQuery methods from existing projects and generates vanilla js alternatives.

language: JavaScript, stars: 773, watchers: 17, forks: 25, issues: 4

last commit: September 20, 2021, first commit: August 24, 2021

social: https://twitter.com/sachinchoolur

blitsort

Blitsort is an in-place stable adaptive rotate merge sort based on quadsort.

language: C, stars: 285, watchers: 8, forks: 8, issues: 1

last commit: July 11, 2021, first commit: July 05, 2021


Console is powered by donations. We use your donations to grow the newsletter readership via advertisement. If you’d like to see the newsletter reach more people, or would just like to show your appreciation for the projects featured in the newsletter, please consider a donation 😊

Donate To Console


An Interview With Joshua Baker of Tile38

Hey Joshua! Thanks for joining us. 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?

I'm a retired programmer currently living in Tempe, Arizona. As a child I grew up in Alaska. I taught myself to program at a young age. A friend in junior high let me mess around on his dad's old IBM PC. I would learn from the manual that came with the computer, and I made programs in Basic. I skipped college and jumped into doing programming professionally. I helped local small businesses with their websites and databases. I later started a design and development agency with a friend, which morphed into an iPhone app company. We made an app called Golfshot GPS. It was a big hit with golfers and was even featured in an Apple commercial.

I sold the business a few years later.

I now write open source software in my free time. My favorite languages are Go and C.

Wow! What was growing up in Alaska like?

I had lots of interesting experiences. My dad worked for an organization that provided resources and logistics to remote villages. He was sent out to these villages to help with town management, and me and my brother bounced around with him. The smallest and most remote place I remember was Nikolai. We lived a stones' throw from the Kuskokwim river. Fishing trips, mushing, snowmachines. So many adventures. The downside is that we moved a lot so it was hard to keep connections with childhood friends.

Why did you choose Tempe?

My wife and I chose Tempe when we started Shotzoom, the company that made Golfshot GPS. Tempe is a business friendly town in the Phoenix metro valley. It also has the Arizona State campus in the downtown area, which is the university that my wife was attending at the time.

Is Golfshot GPS the reason you were able to retire?

More or less. I wasn't initially thinking about retirement after I sold the business. I goofed around with a couple other business ideas, but at the same time I started dabbling in open source. Right away I found joy in pure coding without being bogged down by the responsibility of maintaining a business and customer expectations. So much so that open source has taken over my coding life ever since.

Since you're retired what takes up the majority of your day now? Tile38?

Tile38 is still a passion for sure, but it doesn't take up the majority of my time. During the pandemic, my wife and I bought a little land in northern Arizona to build on. A getaway from the scorching Phoenix heat. We are in the process of building an off-grid geodesic dome. Learning to build is taking most of my time.

I've heard of people building and living in these! They're fascinating. That's amazing that you're building one on your own. Do you have any resources you're using to do this?

There's no way I could do it on my own. My wife is doing much of the work with me. We also have friends and family that are pitching in.

We watched a bunch of videos on YouTube about off grid building and geodesic domes. We decided on getting a dome kit by Pacific Domes. They're well established and provide a ton of support.

What's been the most surprising thing you've learned about the process so far?

We're still very early in on the process, but county permitting is a bit perplexing. Every county is different, but ours needs a septic system permitted and installed before we break ground. Even though we plan on using composting toilets.

What's been the biggest challenge?

Right now it's just finding the time to get up north and doing the work. The property is very rural, it's about a four hour drive from our Tempe home.

Aside from dome building, what are you currently learning?

I'm spending a lot of time learning about more accurate ways to do geospatial calculations. I'm experimenting with ellipsoidal geodesics and such. I recently ported GeographicLib Go, which is a pretty sweet library that provides nanometer accuracy.

Why was Tile38 started?

A few years ago I was working on a little urban agriculture product. It had some automation features and I thought it would be helpful to have specialized software for managing the geospatial and geofencing. That software became Tile38 and it's been my biggest time suck ever since.

Are there any overarching goals of Tile38 that drive design or implementation?

My main goal right now is to keep things fun. I have no major milestones or deadlines. I'm generally driven by whatever tickles my fancy.

What trade-offs have been made in Tile38 as a consequence of these goals?

I occasionally get people trying to push me to add stuff to Tile38. I don't mind when it's an awesome feature that will help everyone. But often it's something they only need for their company, or something that's just not a good fit. It's never fun to say no, but I can't make everyone happy.

What motivates you to continue contributing to Tile38?

The people mostly. I like to hear about their positive experiences. It's just so rad to think that some dev on the other side of the planet is able to solve a hard problem because of a little code I shared on the internet.

Is Tile38 intended to eventually be monetized if it isn’t monetized already?

Tile38 is not currently being monetized. I've explored doing so in the past but the business models around open source database software are not that interesting to me. If I do choose to monetize in the future, it will probably be a modest geofencing service built on Tile38. Something simple and affordable.

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

I will continue building better, faster geospatial operations. And possibly the geofencing service that I mentioned.