Subsurface – An open source scuba dive logging platform
subsurface-divelog.org
subsurface-divelog.org
“Those two take up most of my time, but I also have this scuba diving app.”
“This is great, it shows that you can ship a full product. You should have led with this.”
The moral of the story is that this is like seeing a finger painting made by Leonardo da Vinci. It’s cool, but I expected something different. Like, it’s just too normal compared to the other things Linus’ name is attached to.
Obviously it's impossible to prove one way or the other...
You could argue that the most popular shipping OS is the BIOS, or hard drive microcode.
His name is featured on the website, and he did write the foundational code, so it’s probably fair to at least mention in a fictional job interview.
If he had been in college at the time he would have definitely decided to write an alternative to BlackBoard or Canvas.
Alright, not git or linux, but not having to deal with crap spyware from the companies behind dive computers puts it on the same level of not having to install printer/scan drivers on linux. It kind of "just works", in the quirky way of some things that just work on the FLOSS world.
I would imagine that the pain of maintaining the hardware support for dive computers is similar to supporting the computer inside cars. Multiple manufactures, multiple models, basically no standard and everyone wanting to lock the users into their own ecosystem with their own cloud sharing social network, and likely filled with ads for products of their own stuff and paying partners. A open source project would basically have to choose a very small subset which happen to be similar enough to reverse engineer the protocol, a handful specific devices which are so extremely popular that there will be a developer dedicated to each of them, plus that one company which is open source/free software friendly.
A bit more of the story can be heard in their talks, and I found a interview written down at https://divelog.blue/linus_torvalds.html
If I recall right from one of the talks, subsurface has received/bought a lot of computers in order to make them work properly with subsurface so the relation between the different hardware, subsurface and libdivecomputer is as far as I understand it quite intermingled.
From the interview I get a mixed feeling where most effort was spent. A lot of the article focus on GUI and getting cross-platform working, but in the end linus remarks that "The biggest problem spot is probably hardware and particularly Bluetooth". For me this reflect my own views of subsurface and getting bluetooth to work with my own dive computer took a while.
> In fall of 2011, when a forced lull in kernel development gave him a chance to start a new project, Linux creator Linus Torvalds decided to tackle his frustration with the lack of decent divelog software on Linux.
> Linus worked with a team of developers, and Subsurface is the result. It now supports Linux, Windows and MacOS and allows data import from many dive computers and several existing divelog programs. It provides a quick and easy way to see the key information provided by a modern dive computer and lets users track a wide variety of data about their dives. In fall of 2012 Dirk Hohndel took over as Subsurface maintainer.
> License: GPLv2
Can anyone speak to, or link to, what this is referencing?
At the same time, I’m a huge believer in dive computers. The first piece of scuba equipment I bought was a Suunto Gekko, because while I’m fine renting everything else (I’m apparently very regular sized, and I’ve never had issues with mask fitting etc either), I also think it’s stupid to do dive tables when a dive computer can just do so much better.
So I had my dives logged on the computer, but the Gekko would only remember profiles for about 20 dives or so. So I did want to download, but the Suunto downloader only worked on Windows, which I don’t have, and didn’t work for the Gekko anyway. I looked into a few projects, but they really didn’t work at all.
And then we had problems with kernel.org, and for a couple of weeks there was basically nothing kernel-related for me to do until the infrastructure was cleared up, and I started writing something to save an electronic log-book. It actually started with just parsing some XML that I had from a Suunto export that Dirk had done for me—I think I had given him my Gekko because I had upgraded to a Vyper Air, and he had saved the dives I had on it using the Suunto app and exported them as xml, so I had some data that I wanted to look at."
What caused the lull?
I've been using the commercial Dive Log [1] app for many years, which is okay, but for my type of recreational diving, it requires a lot of manual data entry for each dive. It's got plenty of "pro" features, but lacks obvious features relevant to recreational diving. In particular, its location support is awful -- a good dive app really should be built around a central dive site database so that the dive app becomes useful not just after a dive (to log your dive) but also before (to read about the under- and over-water geography, local wildlife, etc.). Dive Log doesn't even know about countries -- you have to enter them manually!
Having tried a lot of these apps, they are all pretty bad, and very few of them are free. I think the worst one I've encountered is the official PADI app. I've still not figured out how to edit a previously logged dive in that app.
Just to provide another anecdote, I have been pleasantly impressed by the (Android) mobile app. I wonder if there are significant UI/UX differences between iOS and Android apps? I don't log my dives through the mobile app which may be where the experience disparity lies. But having a quick reference before a dive of what weight I used on the last fresh water dive or what has been my air consumption at this depth in the past is pretty handy.
As for the desktop apps I've used both the Linux AppImage and the MacOS versions and find them both pretty nice to use. The fact that the dive log data is stored locally in XML makes manual tweaks super easy, for example copying over a subset of dives from a watch dive comp to my main intergrated's dive log file after a vacation.
This is interesting to me. I don't exactly remember the arguments, for Linux, Linus was always very clearly against C++. He could have also chosen Gtk, and then write the app in C.
Gtk to Qt - a strange journey https://www.youtube.com/watch?v=gGZyVSOnqm0
"Presenter(s): Dirk Hohndel"
Some of the messages:
* Their GTK code became very fragile, such that they did not wanted to touch it anymore, and could not implement new features.
* The GTK community was/is not helpful.
* The Qt community was/is very helpful.
* Qt documentation is much better than GTK.
* The Qt frameworks has more to offer (basic data structures, etc).
* CMake is much nicer and easier to understand than just raw makefiles (but somewhat unrelated to Qt vs GTK).
* The model and view system/framework in both Qt and GTK is somewhat/completely broken.
* Qt Creator makes live easier, compared to Emacs (at least for C++/Qt development).
* Qt is nicely encapsulated, in contrast to GTK.
The official app has a horrendous UI, and requires an internet connection to function, which basically makes it unusable in a huge number of places that are worth diving at.
I have very specific ideas about tagging my dives so I should really just stop complaining and write something...
My claim to fame -> https://github.com/Subsurface-divelog/subsurface/pull/1136
https://github.com/Subsurface-divelog/subsurface/graphs/cont...
I always encourage my SSI students to paper log instead.
Kind of regretting buying a nice new logbook the other day.
Anyways, to make this post worthwile something: if you haven't tried yet, please take a scuba-dive dip. Only once with instructor. I have passed on this great sport to so many of my friends - there is only one outcome when you go take a breath underwater - you either hate it and never try again, or you will get addicted and open yourself up to a brand new world of adventures :)
Now Im not wealthy by any metric other than quality of life.
Anyone else have a bad experience the first time and ended up liking it after trying again? I’m wondering if it is worth trying again...
Different people get over it at different rates. Some never do.
It is vastly different environment, our bodies and senses are simply not developed for it, but we as species are very adaptable and the experience is literally out-of-this-world (especially on healthy corals, which is sadly becoming harder and harder to find).
It takes a high degree of self control and a positive state of mind. It is similar to yoga in its focus on breathing and stress management.
If you are feeling like you are in a healthier place mentally it is a transformative experience.
For me personally, I swam like that for a min or two, got distracted looking at a fish, and then my breathing returned to normal and I was hooked.
I'd love to see them getting to v0.1, following their iron hard principles.