6 ms·
Weathering Software Winter
- aworks 4y agoInteresting and naive journey to find a suitable and minimal "permacomputing" environment for doing software development on a sailboat.
- hosh 4y agoSome pretty good stuff leading to work on computing that can survive societal collapse.
- lowbloodsugar 4y agoIf only more of us were so “naive”. A brilliant journey.
- adql 4y ago> We grew up in Montreal, and many of our friends worked in AAA studios like Ubisoft, making free-to-play games, building projects that had a lifespan of three years. The projects that we made in the past on the Apple stack, Electron, or on Unity3D, also had a lifespan of three to four years, but games like Super Mario, as well as others produced in that era, are still playable today. The games that don't work in some way or form 20 years after creation are in minority due to effort of community. I dunno what author is smoking. > chains of emulators eventually break down <citation needed>, arguably some emulation experience is better than original > The download is at 7 gigs with three more hours left to download the update, it won't finish, and we will have spent all that data for nothing. Resume download existed for better part of internet. Also torrents are great for that use case... > There was a time when computers were super playful, but now they feel cold, and have been weaponized against people. They still are, just gonna join the crowd of weird penguin people instead of buying another windows/macbook box, all the power and weird stuff you can do with computers is still there, using current software. Maybe not in "I built everything from scratch way" but still > The Commodore 64 emulator was extremely complex, more complex than I could grasp. It was the limit of what I think a single person could understand. It seemed like a simple system, it was just a box, but writing an emulator for it was more than a weekend project. I was looking for something that I could nail in a single weekend. Huh, I kinda hit the same thing. Started writing Z80 emu (in Go, then Rust for funzies), got a good framework and some way in into implementing instruction set then realised "damn, now getting it cycle accurate and synchronized with peripherals is a lot of work. And peripherals are more work than CPU itself".
- ido 4y agoThe games that don't work in some way or form 20 years after creation are in minority due to effort of community. I dunno what author is smoking. I would say what you're seeing is biased towards popular games - there is an immense amount of games out there and most have no community to try to preserve or emulate. It also really changes after a certain point in time & with specific platforms - old, popular (but still simple compared to modern PCs) systems like the PlayStation 2 or Game Boy Advance? Not a problem. DOS games? For the most part ok, especially popular ones like Doom/Quake/etc. But choose a random not-very-popular computer game from 1996 and there's a fair chance it won't be easy to make it work properly. An iPhone games from 2009 or a Facebook Flash game from 2010? Now there's a real chance you have no way of making it work unless the game is so popular that the developer/publisher have kept it alive and on the market all this time.
- wlesieutre 4y agoBiased toward older games too. Even on PC things are shifting toward more online based experiences, often without any sort of local server included.
- Roark66 4y agoSame here. Recently I saw a dvd for sale of a game I was once interested in for really cheap (it was Need for Speed released in 2015). I was interested until I saw the text on the dvd "the game requires a permanent Internet connection to play". Well, what if I want to play it in 20 years after it has been long forgotten by everyone else? Nope. It's not going to work. That's why I'd rather stick to games I can actually own rather than rent briefly.
- sitkack 4y agoFolks will be using gameplay video and AI to reconstruct games in 5 years. Could send a 1 hr video through an ML model and all the game assets could come out the other side.
- 4y ago
- theamk 4y agoIt always saddens to me when people only think of the extremes, while perfectly good options exist! If your develop for highly locked device (iPhone) which requires the very latest version of huge dev environment -- maybe choose some other development target which does not evolve quite as much. Qt, Java, etc.. are not updated for years. And don't forget to make sure that your OS does not break without updates either. Gimp is more clunky than Photoshop, but it will never fail because of lack of license server. This part is especially annoying: > At sea, without internet, if I wanted to look up how to fill a polygon, I couldn't do it, but if I had printed it? .. or maybe you could have gotten some e-books? They take much less space that paper books (important on yacht!) and lasts forever. Postscript format, from 1985, is still readable by all modern systems. Plain text ASCII, from 1968, is still being written every day. Even HTML 1.0 is rendered by all modern browsers.
- nine_k 4y agoThe thing with iOS and iPhone is that it's the market that pays best. A typical iPhone user is more conditioned and used to pay for apps, and is more ready to pay for the cool factor. So, switching the target market to Android devices may be harder than one thinks. > Qt, Java, etc.. are not updated for years. Hmm. Have you really been paying attention? They very much are, and in exciting ways. They don't make old versions unserviceable though, and that's great.
- theamk 4y agoYes, but "things that pay best" and "sustainable computing" are often in disagreement. Nothing wrong with chasing the money, but you should be honest: "Because I wanted to earn more money, I decided to use locked-down cloud-based devices. This means my computing is not really sustainable, and sometimes required putting smartphone up the mast, but I need to pay port fees and buy fuel for my boat" And yes, there are all sorts of exciting things in Qt and Java world, but you don't have to use them. We currently build some tools on Qt 5.9 (2017) and feel no pressure to upgrade at all. And my computer still has Qt 4.8 available (including dev headers) from 2011, which I assume still works. Which is great, I agree.
- xvedejas 4y agoThe author mentions power use being a factor. Last I did some research into this, smartphones are by far the most power-efficient general-purpose computers broadly available, using several times less power than something like a raspberry pi. I wonder if running an open-source OS on smartphones was considered for their sailboat permacomputing?
- quartesixte 4y ago100r also is experimenting in hardware that can survive being thrashed around at sea. Or that is a key constraint of theirs. And I think a lot of smartphones fail this criteria. Also when your powersource is solar powered batteries, the small differences probably don’t matter a whole lot.
- sliken 4y agoCell phones seem pretty well suited, might have to add a ziplock bag to be water proof. What failure modes do you think would be common?
- seti0Cha 4y agoThis whole thing strikes me as silly. Problems accessing services while alone in a boat in the middle of the sea is not anything like the general problem of preserving information and technology. We don't need to make knowledge individually accessible and maintainable because humans generally don't try to do that by themselves. And humans are actually really good at preserving the knowledge they care about. Kids in school read a poem first written down 2500 years ago about an event that occurred 500 years before that. The dead sea scrolls failed to overturn the world of biblical scholarship because it turned out the later copies of the texts were actually quite accurate. The fact that our devices don't just work without a supply chain and a steady source of power, or that there are 20 year old games almost nobody cares about which we can no longer play just doesn't signify that much. Nor does the fact that the BBC couldn't figure out how to preserve some chunk of data for 10 years.
- bvisness 4y ago“We don’t need to make knowledge individually accessible and maintainable”, followed _immediately_ by “humans are actually really good at preserving knowledge”. Who do you think does the preservation? How do you think preservation works?
- themacguffinman 4y agoCommunities, ie. "humans" collectively, not individuals.
- meheleventyone 4y agoThe point is that making knowledge easy to access and maintain for an individual makes communal action easier.
- seti0Cha 4y agoAnd my point was that the scenario of one person needing to transmit knowledge to a single other person over fast stretches of time does not properly characterize any problem people actually face. Engineering your solution for that constraint might still be useful for real scenarios, but it's hardly likely to be optimal and very unlikely to be what people actually use.
- didgetmaster 4y ago> Our philosophy is that to make fast software, you need slow computers... One of the reasons why our industry produces slow, bloated software is because the engineers building it often have the fastest computers with the most resources. It should be a requirement before shipping to have your whole team personally use the software for a week on 10 year old computers. One of the reasons why my data management system (https://www.Didgets.com https://www.Didgets.com) is so fast is because I regularly ran it on an old Core-2 Duo machine with a slow hard drive and limited RAM. I didn't stop tweaking it until it ran fast on the old hardware.
- 1vuio0pswjnm7 4y agoRunning the software on an underpowered computer as a test is admirable. I go further. Where possible, I actually write the software on an underpowered computer, preferably the one it wil run on. Because in addition to wanting the software to run quickly, I also want to be able to edit the software and re-compile quickly. Sometimes it is not possible to compile the software on the target computer, e.g., an MCU, but we should still be able to compile and flash the MCU software using underpowered computers. We should not need a large, graphical operating system and graphical software to create software for tiny computers that do not support graphics. I continue to be baffled by the large, graphical Windows software people use to program MCUs. There are exceptions,1 but they seem rare. 1. For example, https://github.com/PaulStoffregen/teensy_loader_cli https://github.com/PaulStoffregen/teensy_loader_cli
- pjmlp 4y agoBest example how bad this is, using Android Studio studio in computers that aren't gaming rigs, apparently Android team cannot be bothered to make it usable. Optimizing Android builds and decreasing Android Studio resource usage tends to be a common talk at Android related conferences.
- andromeduck 4y agoMy first internship involved compiling android about once a week on a dual core 20 Gb machine. It took HOURS to build almost anythining from scratch.
- bvisness 4y agoI loved seeing this talk in person and really enjoyed reading through it again now. I’m kind of fascinated by the longevity of software for simple systems - games like Another World or Monkey Island or even DOOM are well-loved decades later, whereas games like Black and White that don’t port well are largely forgotten. I’m surprised to see commenters here who don’t see portability as important for preservation - or maybe just don’t really care about preservation at all.
- grogenaut 4y agoHonestly I couldnt get black and white to even run. I tried for like 3 years. And that's with paying for it.