If I have to rewrite stuff for low latency, I'd rather start it as an independent library so that other projects can reuse the code.
228 karma · joined November 26, 2020
Currently working on embedded Rust for a bike computer: https://jazda.org/
Contact:
- email: newcoophn.dcz @ porcupinefactory.org
- irc: dcz on libera.chat
- Matrix: @dcz : chatwave.org (remove the spaces)
If I have to rewrite stuff for low latency, I'd rather start it as an independent library so that other projects can reuse the code.
In reality, UVC is not suitable for a phone, so we can't leverage that. There are some camera drivers in the kernel already, but not necessarily ones that we could buy or meeting our expectations. Even if there were, that still leaves us with the problem of connecting the cameras to applications in a standard way, so we can't really avoid working on libcamera.
The problem of camera diversity is not limited to open source either, because a similar infrastructure to handle all the different cases must be replicated by closed drivers as well. I don't know about Macs, but the Surface laptop is a Windows beast.
How would that translate to the Web? IMO by blurring the distinction between the rendered page and the page source. Nothing to hide!
I went ahead and did just that on my own blog: https://dcz_self.gitlab.io/posts/brutalism/
I want to continue trying to make the world better, including sustaining myself through Open Source. Pretty much the dream.
The remaining piece of the dream is to challenge/indulge myself and build a bike computer (jazda.org).
If the world hadn't been on the brink of multiple crises I'd be doing basic science though.
I will have to port the NimBLE stack to Tock OS, and that's guaranteed going to be complicated, so someone who knows at least how Bluetooth works in general would be invaluable.
The web site was put up before I started the firmware work, so obviously no pictures :) They will come once the project becomes more useful.
I will sell them together with a Bluetooth wheel/cadence sensor once I figure out Bluetooth.
Typically they are about as flexible as calculators, but this CPU has been shown to run Doom, so it's a general-purpose computer too :)
I spent the past 2 months improving Tock OS - added GPS and file system - and yesterday got the display running:
https://github.com/tock/tock/issues/2846#issuecomment-108617...
I could use some help adding new drivers (esp. Bluetooth, but also simple ones like touch screen) and if someone explained Bluetooth Low Energy or Apache NimBLE to me, that would be awesome.
Contact me here or through the web page (which needs some work too): https://jazda.org/community/
Adding comments took me a long time and lots of effort in comparison – I described that on the blog too: https://dcz_self.gitlab.io/posts/potion/
It's been up for almost a month and I already engaged one person. That's less than discussions on Mastodon, but it serves as an obvious meeting point for readers, so I guess it's not entirely a wasted effort.
The hardware is a little less to my tastes: the one I picked up has a GPS unit, plus a display that can stay on for days (weeks?) on a single battery charge, plus it's readable in the sunlight.
Otherwise I think there will be a fair share of software reuse between the projects.
The goal: a privacy-preserving, standalone fitness assistant on which you can load custom apps.
I always wanted a bicycle computer that I could program, which would help me not gethurt while training, and which would remember where I like to cycle. The modern ecosystem is full of devices, but I haven't seen a programmable one, much less one that can also survive for weeks on battery and wouldn't sell my data.
The moment has finally come, and I found a decent base!
I bought a Bangle.js 2 smart watch and a couple sensors, and have just started adapting it for this purpose. I'll need help getting the Bluetooth stack running, as well as creating an application to download and compare GPS trails.
The project is not formally announced yet, but feel free to contact me over email or Matrix (see profile).
Edit: obligatory mention of Rust as the preferred language ;)
Which use cases would a query language fail to help with?
My second impression about the Bangle.js is: "oh no, JavaScript only?". Still, it's much better than building the same thing from scratch, except it may still take effort on the software side.
Having another interested person involved would be amazing for my motivation! Btw, one of the reasons I wanted hackable hardware was to map road surfaces on OSM ;) GPS alone doesn't add much to OSM in my area any more.
I am on purpose not addressing the exchange of information between people – never considered it, no vision, would just confuse me.
I'm also not so keen on indexing. I'm envisioning this more as a file system layer, where data is added to the database as it gets saved. Ideally there would be no way to access the data outside of the database (that would cause desyncs and the need to reindex stuff). We don't need no POSIX file systems ;)
There might be some hierarchy between tags: PhD/laser experiment, PhD/dissertation, but there's rarely a need for it to be more than 1-2 levels deep, so I prefer to suffer the pains of inadequate hierarchy rather than inadequate queries. Or at least I would if I could try it out.
Ironically, the fact that a topic-specific UI is needed for topic-related tasks is another strike against closed software. Something open would have been a starting point for other sorts of views (email? PDFs?), but when there's no modification, there's no ability to do that.
I hope it can be adjusted to my needs: I expect I'm going to have to find solutions for tracking files' sources, for snapshots, and for remote/removable storage, in addition to all the UI work.
I'm willing to part with some money to have someone implement it for me if I see there's demand.
It would have been interesting to see how it organizes the UI, but there's no demo version for Linux :P
1. Building an open source bicycle computer. It's been over 20 years since they arrived at the scene, and there still isn't one that you could hack! An outrage! No published sources yet, I'm getting stuck on not having much experience building physical things.
2. Getting rid of the directory hierarchy. I have 10K photos, 30K emails, 10000km of GPS tracks, and 10 years of chat logs. Why can't I find anything among them? I own a computer, after all. I have 10 folders called some variation of photos/Cologne/2020/flowers! Having to organize them myself is tedious and a fool's errand, so I'm leaning towards using a database as a file system, to let me just query for files. Geo queries using a map? Yes please. Selecting bounds on a timeline? Oh yeah!
Turns out I'm not alone, Microsoft tried this with WinFS, and failed. But the idea lives on: https://www.nayuki.io/page/designing-better-file-organizatio...
3. Writing. I hope I can find the time to expand on the above on my blog.
0. Linux compatibility: minimal driver problems, hibernation can fail less than 1% of the time. 1. Touchpad with mouse buttons (ideally 3) is not negotiable. 2. A decent keyboard with all keys from the home/end/... block. Full sized arrows would be nice, half-sized are a no. 3. Not bigger than a sheet of A4 paper. 4. A non-glare, wide angle display. 5. Good WiFi sensitivity and performance. 6. A hard drive activity light is quite useful. 7. When it inevitable gets thermally throttled, it should still be useful for web browsing. 8. Mute/mic mute buttons are nice. So are volume buttons. 9. Open firmware: WiFi, coreboot, libreboot. I'm a hacker, and don't like fences.
Same thoughts about the Framework laptop. I hope it becomes an option in the future.
With self-governance included in the package, it's not imposible to turn into another Framasoft in the long term.
The cooperative will have a strong free software focus, equal salaries, and ownership=membership.
The aim is to start with freelancing to reduce risk, and then develop more product-like projects. Let's see if we can make the social side work.
Email in my profile.