parsimo2010 5 years ago

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.

  • belorn 5 years ago

    I strongly suspect that most work was spent on hardware support for the different dive computers and maintaining the drivers. It would surprise me if Linus did not have a bunch of scripts that automatically filled in most of the log fields, which then explains why so relative little efforts has been put into the UI.

    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.

    • plq 5 years ago

      The dive computer support lives in libdivecomputer

      • belorn 5 years ago

        Yes, through they forked it for a number of reasons.

        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.

  • kh_hk 5 years ago

    If you knew how shitty other dive plan software is you wouldn't say that.

    • parsimo2010 5 years ago

      I feel like I have a bit of an idea considering this is what Linus decided to work on as soon as he got a break from kernel development. But there are lots of industries/hobbies with crap software, and Linus chose scuba.

      If he had been in college at the time he would have definitely decided to write an alternative to BlackBoard or Canvas.

      • kh_hk 5 years ago

        I would say subsurface is to dive plan apps what calibre is to ebook management software. An all in one solution that works and imports from a variety of dive computers through libdc (a subsurface fork of libdivecomputer).

        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.

      • krilly 5 years ago

        Moodle is the project you're looking for. It's actually really good, my university uses it

  • aussieguy1234 5 years ago

    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 5 years ago

      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 5 years ago

        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 5 years ago

          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.

      • KptMarchewa 5 years ago

        It is, since it's baked into every Intel processor.

    • parsimo2010 5 years ago

      It depends on your accounting, so I like to leave the door open for debate. The Linux kernel does have a good case if your metric is total installs. If you go by market share, Windows might have had the highest proportion ever in the 1990s (not sure, but it was dominant).

      • demosito666 5 years ago

        If you count by "dollars went to OS vendor for the OS explicitly" then yes. Otherwise Android phones alone is like Apple+Ms combined in terms of installs.

      • nguoi 5 years ago

        That's exactly my issue with going by market share. By installations, desktop Linux is massively successful compared to where it was in the 90s even though its share is low.

  • jlgaddis 5 years ago

    Sounds like Linus started it, worked on it for a year or so, and it has been maintained by someone else for ~7 years.

    • parsimo2010 5 years ago

      I didn’t mean to imply that conversation would have happened in real life or that Linus claims to have sole ownership of the project.

      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.

    • thomasahle 5 years ago

      Looks on github like he's still committing regularly.

  • JustSomeNobody 5 years ago

    I'm pretty sure he'd still be asked an algo question.

fhoffa 5 years ago

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 5 years ago

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

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

    • flocial 5 years ago

      "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

    • jlgaddis 5 years ago

      I think it was around that time that the kernel.org servers were compromised so perhaps that's it.

  • _pmf_ 5 years ago

    He should to a TODO app.

  • voltagex_ 5 years ago

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

    What caused the lull?

nas 5 years ago

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.

  • mhh__ 5 years ago

    That depends on the project, e.g. even though Linus hasn't been maintaining git day to day for probably a decade now it's still "his" project in the sense that he designed it's architecture and shaped it's early life

  • fhoffa 5 years ago

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

    • tus88 5 years ago

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

atombender 5 years ago

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

  • bhoey 5 years ago

    > 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 5 years ago

It uses CMake, Qt, and is written in C++. GitHub is the official source code upstream (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 5 years ago

    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 5 years ago

      Here's an explanation of those needs:

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

      "Presenter(s): Dirk Hohndel"

      • albertzeyer 5 years ago

        It seems this was posted a few times to HN already (I just posted it again: 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.

  • dchest 5 years ago

    Linus originally wrote it in C and Gtk+, it has been rewritten.

  • jcelerier 5 years ago

    Linus was always very clearly against C++ __in kernel code__. Also, 1994 pre-std C++ != 2019 C++.

bobbles 5 years ago

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 5 years ago

    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 5 years ago

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/1988

akersten 5 years ago

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 5 years ago

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 5 years ago

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 5 years ago

    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.

diveanon 5 years ago

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 5 years ago

    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 5 years ago

      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 5 years ago

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

codeulike 5 years ago

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

  • MarkSweep 5 years ago

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

    • saiya-jin 5 years ago

      You can get over this with more experience, but better start with shallower depths and only gradually move deeper, so you know and feel that you are not 'stuck' somewhere deep for the rest of the dive. Actually that's how certification dives should go - start in few meters, train things like losing & cleaning of the mask, sharing oxygen etc. No reason to go deeper than 4-5 meters for this.

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

    • belorn 5 years ago

      It is quite common, if not the majority of times, that new divers have a initial feeling of not getting enough air which then turn into stress and a desire to take in air even faster.

      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.

    • ilkkal 5 years ago

      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 5 years ago

        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.

    • diveanon 5 years ago

      That is extremely common, diving is very foreign to the primitive part of our brains.

      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.

BlackRing 5 years ago

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

joshuaheard 5 years ago

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

jammygit 5 years ago

Any interesting technical implementation details?

pjmlp 5 years ago

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

  • cjfd 5 years ago

    So, it actually has great performance?

    • pjmlp 5 years ago

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

ripvanwinkle 5 years ago

Is that like git for the world of scuba diving.

  • bhoey 5 years ago

    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 5 years ago

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.