
Subsurface – An open source scuba dive logging platform - jkingsman
https://subsurface-divelog.org/
======
parsimo2010
Imagine Linus trying to get a job. “So we like that you created one of the
most popular operating systems ever, and your version control system is also
very nice. But do you only have two projects in your portfolio?”

“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.

~~~
aussieguy1234
As far as I can tell, Linux is the most popular operating system if you take
into account everything that runs Linux, including Android phones.

~~~
jlgaddis
Tanenbaum claims (or did, a few years ago) that the most popular operating
system is Minix.

Obviously it's impossible to prove one way or the other...

~~~
nabla9
It's very likely the most popular OS shipping today on desktops, laptops and
servers. All Intel chipsets post-2015 are running MINIX 3 internally in the
Intel Management Engine.

~~~
Accujack
It's not the most popular overall because the largest number of CPU chips in
the world are ARM (phones and other devices) which don't have embedded MINIX.

You could argue that the most popular shipping OS is the BIOS, or hard drive
microcode.

------
fhoffa
Quoting their front page:

> 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

~~~
mattbreeden
> In fall of 2011, when a forced lull in kernel development

Can anyone speak to, or link to, what this is referencing?

~~~
flocial
"It was originally just me. I’ve never logged my dives, because I didn’t see
the point. Some people do it for the numbers, others do it because they want
to do things by the book (literally), and some people seem to just collect the
dive shop stamps. For me, the paper logbook just didn’t make sense.

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."

[https://divelog.blue/linus_torvalds.html](https://divelog.blue/linus_torvalds.html)

------
nas
I think the "by Linus" is a bit much. He was the founder of the project but
others did a lot too. Dirk Hohndel has been the project lead for a long time
already.

~~~
fhoffa
Check their homepage (just click on the link above). The project itself gives
Linus the spotlight.

~~~
tus88
And why wouldn't they...it's not exactly a bad endorsement.

------
atombender
I can't speak for Subsurface's desktop/CLI apps, which I've not used, but I
found the mobile app to be very disappointing. The UI is absolutely atrocious,
to the point of being unusable, unfortunately.

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.

[1] [https://apps.apple.com/us/app/dive-
log/id301049600](https://apps.apple.com/us/app/dive-log/id301049600)

~~~
bhoey
> I found the mobile app to be very disappointing. The UI is absolutely
> atrocious, to the point of being unusable, unfortunately

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.

------
albertzeyer
It uses CMake, Qt, and is written in C++. GitHub is the official source code
upstream ([https://github.com/Subsurface-
divelog/subsurface](https://github.com/Subsurface-divelog/subsurface)). The
licence is GPLv2.

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.

~~~
tpush
Originally it was C and used GTK+, but cross platform needs drove it to Qt and
thus C++. And CMake is the most popular cross-platform C/C++ (meta) build
tool, so no surprise there.

~~~
Sammi
Here's an explanation of those needs:

Gtk to Qt - a strange journey
[https://www.youtube.com/watch?v=gGZyVSOnqm0](https://www.youtube.com/watch?v=gGZyVSOnqm0)

 _" Presenter(s): Dirk Hohndel"_

~~~
albertzeyer
It seems this was posted a few times to HN already (I just posted it again:
[https://news.ycombinator.com/item?id=20746962](https://news.ycombinator.com/item?id=20746962)).
Quite interesting.

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.

------
bobbles
I wish a passion project like this could be adopted into the PADI
certification app.

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.

~~~
Spearchucker
First time I tried logging with it was 3km off the coast of Mozambique. Which
obviously failed. And I've not found anything else I liked before or since so
all my logs are still on paper.

I have very specific ideas about tagging my dives so I should really just stop
complaining and write something...

------
alexellisuk
I think this shows that everyone can use a side-project :-) I'm not sure how
active Linus is on it anymore, but I know and worked with some of his
maintainers there.

My claim to fame -> [https://github.com/Subsurface-
divelog/subsurface/pull/1136](https://github.com/Subsurface-
divelog/subsurface/pull/1136)

[https://github.com/Subsurface-
divelog/subsurface/pull/1988](https://github.com/Subsurface-
divelog/subsurface/pull/1988)

~~~
reacweb
I use regularly another of the side projects of Linus: [http://torvalds-
family.blogspot.com/2010/01/embroidery-gaah....](http://torvalds-
family.blogspot.com/2010/01/embroidery-gaah.html). My wife has thousands of
embroidery files that are nicely displayed in gnome explorer.

------
akersten
Always cool to see projects like this. Feels like you gain a little more
insight into the hobbies and lifestyles of the prominent figures who usually
only appear in news related to their famous technologies. Plus, seeing Linus
as a contributor is kind of a subtle seal-of-approval as far as the quality of
the software.

------
mormegil
Yesterday, while googling around to gather clues for reverse-engineering the
protocol for a Garmin smart watch, I stumbled upon an e-mail on a listserv,
discussing pieces of Garmin BT communication. Only after a while I noticed it
had been written by Linus, who apparently worked on diving software. Now this
appears on HN frontpage. I wonder what prompted the OP...

------
flanker
Is it a better experience over SSI app? I am not a expert diver, but used that
app during my open water certification and it was painful for me as a
developer, though I was surprised people made their peace with it.

~~~
diveanon
I use the SSI app every day and it is truly painful. I wish I could just fix
it for them.

I always encourage my SSI students to paper log instead.

------
dankohn1
A lot more detail on the platform:
[https://www.youtube.com/watch?v=WT_hOTO88Sg](https://www.youtube.com/watch?v=WT_hOTO88Sg)

------
diveanon
Never knew Linus was an avid diver, definitely going to give this a shot when
I get back to my dive center tomorrow.

Kind of regretting buying a nice new logbook the other day.

~~~
joering2
All these years I been programming I thought I was at least a better
scubadiver (non technical but since being 13 years old) assuming Linus doesn't
even have time for sports, and then today I find out he is not only diving on
mixed mixtures (technical deep dives) but also wrote a software that is 10
times better than anything out there related to diving. Sheesh.

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 :)

~~~
diveanon
I've been diving most of my life as a hobby, but a few years ago I decided to
give up software and start diving professionally. It was the best decision
I've ever made.

Now Im not wealthy by any metric other than quality of life.

------
sandGorgon
What is the best Android app for this ? Anyone know ?

~~~
TeMPOraL
The official one?

------
codeulike
The first time you look up from 10m down, and realise you are breathing, is
quite surreal. I'd recommend it.

~~~
MarkSweep
Counterpoint: it took all of my concentration to not freak out while
attempting to scuba dive. I like swimming, snorkeling, and wetsuits, but my
first try at scuba diving was viscerally unpleasant.

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...

~~~
ilkkal
I haven't dived all that much, but the initial submersion with empty lungs is
super unpleasant every time, the urge to draw air is super strong. After I'm
under I'm 100% fine with it and just don't think about the whole thing. I've
only dived drysuit, maybe submersion is easier without.

~~~
jfengel
I suspect not. I get the same experience with a wetsuit. And I've seen it
happen with dozens of people on their first dives. Once they get down and stay
down for a minute or so, they begin to trust that there is in fact air in the
regulator, and that it will continue to be there. Until then, they'll fight
panic every time.

Different people get over it at different rates. Some never do.

------
BlackRing
I've been using this for a few years now, didn't know Linus Torvalds was
involved!

------
joshuaheard
Does this use UDDF, the open standardized log data exchange?

------
jammygit
Any interesting technical implementation details?

------
pjmlp
Written in C++ and Qt, ....

~~~
cjfd
So, it actually has great performance?

~~~
pjmlp
I guess you haven't learned about Linus relation to C++.

------
ripvanwinkle
Is that like git for the world of scuba diving.

~~~
bhoey
The irony of this comment is that Subsurface does in fact use git under the
covers for online syncing. So yes, this is git for the world of scuba diving
:)

------
Roritharr
This is close to my dream: Forcing the likes of Linus, Stallmann, fefe and a
few others of their level down to my level and lock them in a room where they
only are allowed to leave once they've finished their MVP for a SaaS app.

I'd love to see them getting to v0.1, following their iron hard principles.

