• Welcome aboard HomebuiltAirplanes.com, your destination for connecting with a thriving community of more than 10,000 active members, all passionate about home-built aviation. Dive into our comprehensive repository of knowledge, exchange technical insights, arrange get-togethers, and trade aircrafts/parts with like-minded enthusiasts. Unearth a wide-ranging collection of general and kit plane aviation subjects, enriched with engaging imagery, in-depth technical manuals, and rare archives.

    For a nominal fee of $99.99/year or $12.99/month, you can immerse yourself in this dynamic community and unparalleled treasure-trove of aviation knowledge.

    Embark on your journey now!

    Click Here to Become a Premium Member and Experience Homebuilt Airplanes to the Fullest!

Doodling with an open-source map solution - "PiFlite"

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

imamac96

Well-Known Member
Joined
May 10, 2018
Messages
89
Location
North Texas / South Bay
Like a lot of things in my life, this will probably never be finished, but I am goofing around with an open-source ForeFlight competitor / EFIS thing.

GitHub - cobelu/PiFlite

The reason why this is important is because practically every option we currently have (that I know of) is implemented in JavaScript/Python/C++. These are terrible choices and have no business being in an airplane. It’s super easy to create mistakes in JavaScript and Python unless you take the safeguards necessary that most people think are a waste of time. C++ is not memory-safe. In comparison, Rust has no possibility of a kernel panic. I can check on every update to the code that no unsafe changes were introduced. This does not mean there will not be bugs. However, this does mean that stupid memory-related bugs cannot happen (which is a lot of them).

Rust compiles to native code, so the plan is that this will be hosted on a Raspberry Pi. I started goofing around with this because it's exactly what one of my chapter members asked for when he was unsatisfied with the sales pitch for the iPad system from Falken. Apple can yank support for your iPad app at any time. Apple can introduce wide, breaking changes (Swift has changed a lot in the last few years since I learned it). In contrast, this can be a self-contained unit that can support updates for a much longer time. Further, if it's open-source, then I don't make money, but at least stuff has a shot at getting fixed in a reasonable amount of time.

The other thing is that I'm building it on top of DuckDB, which is very fast. ForeFlight is built on "tons of SQLite databases" (as I was told). SQLite is better for insertion, but DuckDB is arguably better for retrieval/analytics. An example of why this is important is that I should be able to do very fast lookups for search ("what's that airport that's near me that starts with KGY?"). I won't have as many features, but I'm in a good place to have good performance on a crappy little RP.

I have a long, long way to go and will likely never get anywhere far with this, but I need an excuse to write whatever I can in Rust because I’d like a new job. I want my career to move in that direction. It doesn't really do much at this time besides download some data from the FAA and load it into a little database, but I work on it when I can. This is a lot of new stuff for me, so it's moving slow.

Anyway, if there are nerds out there, here’s something wacky that I hope to crunch away at while I wait to be able to move back home to work on my airplane projects.

Thanks,
Connor
 
Back
Top