Hacker News new | past | comments | ask | show | jobs | submit login
Archive your old projects (arne.me)
253 points by abahlo 11 months ago | hide | past | favorite | 62 comments



Create a folder on your computer or get a sturdy box made of good cardboard with a lid. Name the folder “Process”. Write the word “Process” on the box.

While working, occasionally take photos or screenshots of what you are doing showing your workspace, the computer desktop, the desk with pencils and papers and cables everywhere, the wall or piece of string with notes. Show the messy process of creating something.

Type notes on text files and save them with a name like yyyy-mm-dd-note-title.txt. Write notes on bits of paper and notebooks and journals with pencils and pens that you keep all around the places you spend most of your time in, including within arms-reach of where you sleep.

Practice writing down notes on a piece of paper in the dark, so you can do so when waking up in the night, before daybreak, to jot down thoughts and ideas from dreams.

Record messages and melodies using your pocket computer and remember to save these in your Process folder, too. You are looking for your voice.

Put these digital and physical notes in the Process folder and in the Process box.

Thank yourself later, in years to come.

You are what you observed. Experiences, memories, stories to be told. Put your marker on the map in time, that others may find and learn from.


> Practice writing down notes on a piece of paper in the dark > Thank yourself later, in years to come

I only found out about this many decades after it happened, but on the occasion of my grandfather's 60th birthday, way back in 1980-ish, my mother presented with him a large bound empty notebook labelled with his name, and explained that the purpose of the gift was that he was to start making notes about his life.

It sounds incredible, but he started writing.

All kinds of (what must have seemed) completely inconsequential stuff, what he remembered about the home he grew up in, the schools he went to, the friends he'd had, the whole nine yards.

He died not that many years later.

Note to everyone who's read this far: grab the chance to do this - either as the one writing, or the one who gifts the notebook! - while you have the chance.

"Tempus fugit" and all that.


Thank you for this idea.

I’ve given notebooks to my mom to encourage her to write, but don’t think I ever wrote her name on the cover. The next one will have it.

Also, consider recording a conversation between you and your loved one with the voice recorder on your phone. I have one brief recording of my dad’s voice in an old VHS tape that I burned to DVD and copied to the computer, and that’s it.

Memories.

Often the most powerful objects in films, to me, are photographs. Like the polaroids in Thelma and Louise and both Blade Runners.

Also old school VHS footage, like in Bassackwards by Kurt Vile — https://www.youtube.com/watch?v=pOFWHty4XFQ — and What About That Day by Jenny O. https://www.youtube.com/watch?v=pxCBnKu5jyk


My dad is 80 years old and he loves playing the piano and now the keyboard. He never learned how to read music and he plays by ear. He mostly plays and sings Motown classics. I’ve captured a few video clips of his playing and singing when I go back home.

I back up all of my videos and pictures to iCloud, OneDrive, Google Photos and Amazon Drive (pictures only).

As far as my own writing, my wife and I are what I call “hybrid digital nomads and snowbirders”. I have a blog over at micro.blog where I write about our journey.


Tried it with my parents, not unexpectedly did they not want to partake in such overly personal tomfoolery.

Not all people, perhaps not even most, enjoy creating.


I've been trying to write a response to this in a couple of tries, and the best I've got is: but also don't feel beholden to this.

The past isn't always a fun place to go visit, even if it's not traumatic. Who you were and who you are are different people, and getting dragged back to that old self can feel suffocating rather then fun.

Strictly technical records? Great. Everything? Even if you want to keep it, you may find you don't like revisiting it. I have zip files which exist because I don't quite want to destroy old records entirely, but I certainly don't want to actually scroll into photos from 10 years ago.


We should all realize that AI systems will be able to read and learn from journals and logs.

It could help me to get guidance on current projects (learn from past mistakes and ineffective work patterns).

It could help others when there are many archives like this, to learn from others success and failures.

We all become training data for the future


What have you found to be most valuable / meaningful years later?


Yeah I also want to know this, I used to write diaries for years and cherish it, thought I would look back my life or extract something meaningful out of it, turns out I very rarely look at it.

Same goes to old project archives, emails, I have both HDD and S3 Glacier for them, but so far I have never looked at them at all, for 10 years, And I doubt I will look at them in another 10 years.

I am beginning to thinking Letting past go and You aren't gonna need it philosophy towards such things


I'm 52 years old, and I have diaries stretching back to 1980 (when I was all of 9 years old!). Over the years I gradually worked on transcribing them from handwriting to comupter text, and that's made them much more accessible in the present day. E.g., when my father passed away in 2020, it was so easy to just search for "Dad" and revisit long-ago snippets from the past. (And to sadly realize that I'd taken his presence for granted over the years.)

I still regret my roughly ten-year diary hiatus from 1985-1995, losing the bulk of my formative high school/college years in the process. Because as I've grown older, and those memories become more and more distant, I've lost a lot of the day-to-day detail, trivial though it may have been, of my past.


I've been planning to scan my old journals. Waiting for OCR to comprehend my messy writing. Now I think I will read them out loud, record it, speech to text.


Just a hint, which I think works well for some more complicated programming project setups: if the project is close to be shelved then preserve it in a virtual machine. Make some trivial auth, or auto login, put some notes on login/desktop screen, setup some IDE inside, check if it builds with no Internet.

Myself I use lightweight Xubuntu destkop for my VMs. I also dump hard disks of old Windows machines I am done with and make sure they run fine as VMs.


My main, albeit simple, local organizational pattern is: 1. everything under ~/dev 2. all projects are their own folder under a year folder. And if I ever restart work on something older, I move it to the current year.

I have hundreds of project folders and it’s helpful day-to-day to just be able to look in ~/dev/2023 for current stuff. But it is also relatively easy to find older things since I have a sense of roughly how far back they are. Making a new year folder right around Jan 1 and rolling forward active work is always a treat.


>it is also relatively easy to find older things since I have a sense of roughly how far back they are

I have a ~/dev/file_list.txt, generated by

    find . > file_list.txt
(I think I might have added a flag to exclude node_modules...)

I drag the output file into Sublime Text, so I can search the entire directory instantly. (It also works for entire hard drives!)


My corollary axiom: “always be documentin’”, or, “document or it didn’t happen”.

I’d say easily 3/4 of the best stuff I’ve ever done was never bounced from the DAW/NLE, turned into a non-realtime/static artifact from code, or otherwise made archival, and far fewer projects / prototypes / physical experiments got the respect of any capture of any kind.

On a certain level I like the wabi-sabi nature of that. On another I wonder how many opportunities to converse or collaborate about mutual interests or future opportunities went by the wayside because I ‘labored in obscurity’ for so much of my life.

I’ve been doing some coaching for folks coming up in my industry recently and this has been an idea I’ve tried to convey early and often - “always be documentin’”.


I read this like 3-4 times and I cannot parse or understand this comment. What does "DAW/NLE" mean? (DDG search says Digital Audio Workstation, and a whole bunch of links to something NLE Choppa). What does "non-realtime/static artifact from code" mean? What does "got the respect of any capture" mean? What does "wabi-sabi" mean? How does all this relate to "always documenting"?


DAW/NLE = digital audio workstation/non-linear editing (you'd have to search both terms in order to get the correct context, especially if used right next to each other).

The author is probably talking about video editing of some kind, whereby he either regrets not saving more source code or taking more screenshots of his work if I had to wager a guess. Not sure what the "non-realtime/static artifact from code" refers to when it comes to video editing -- perhaps much of it was rendered from code? 3D software, programmatic editing, etc.?

Wabi-sabi being used a bit weirdly in this context, but I think they mean the temporality of it all has innate beauty. Sometimes not capturing every single moment/line of code is OK, and there is beauty in a moment not strictly captured, to be appreciated more since you'll never see it again.


Yeah sorry to be oblique .. you are correct in regard to the intended meaning of DAW, NLE, and wabi-sabi. As for static artifacts, in my case I work with generative systems quite a lot, often durational systems that make image / sound / lighting / movement stochastically or non-deterministically over long periods, and are generally a living thing that has behavior. While a picture or other recording of those things represents a shadow image of what the real thing is, it beats nothing.

In this case, I mention wabi-sabi as the zen acceptance, even beauty, of the transience of all things, because it makes the creative act primary, rather than a very un-zen attempt to hold on to something fleeting, which some would say is the source of all unhappiness.


I once created a simple counter [1]. I used it to remind me of eating every two hours. I thought to myself "it's a good counter, I'll show it to people" then posted it on HN. People were like "that is just a counter, why are you showing us that?" So i kind of stop sharing everything, haha.

But my GitHub used to be a replica of my projects folder, i would upload everything. I don't do that as much now a days.

1 - https://github.com/victorqribeiro/simpleCounter


I know how you feel. I tend to think like everything I do is insignificant and not worth sharing. As a hobbyist programmer I only work on things in my free time. I used to not publish stuff on GitHub because I felt my projects were incomplete, too small, too unpolished, too unmaintained. I've never submitted my projects here and only mention them in comments when they're relevant and posting them is easier than explaining. I started making a deliberate effort to change that in the past few years. I've repeatedly discovered that people notice what you do when you put yourself out there.

Years ago I bought a Clevo-based laptop from a brazilian manufacturer, reverse engineered the keyboard LEDs and wrote a Linux user space driver for it. I just published it on GitHub and forgot about it, assuming no one would ever care. One day I opened my email and discovered I somehow had users and someone even built a GUI around my little program. I was actually a little embarrassed that someone had posted an issue asking me how to use the thing and I didn't even see it.

I mentioned another Linux project here in comments, someone submitted it and I got to engage with the community about it. Recently someone submitted another project of mine, a programming language, without me talking about it. Seriously made my day when I opened HN and saw my project on the front page. Couldn't even believe it at first.

It takes a certain boldness to put oneself out there. I'm always ready for negativity and criticism. Still, the results can be very nice.


I relate to people not giving a shit about one's creations. It has caused me to reconsider the self-hosting and blogging that I do.

I decided to give my website one year of an honest chance. I'll install basic analytics so I can see what, if anything people are interested in, and if I'm not satisfied or have a hint as to what about me or my stuff that people like, I'm out.

There's a point where sharing is painful due to the way prior things shared have been interpreted. There's no therapy or fix for that. People either care about you and your stuff, or they don't.

I've learned people just don't give a shit, even those allegedly close to me.


hey, I (would like to) care about you!


Your reply has been on my mind for days. Why did you write this? I'm a stranger on a website, I could skin cats and eat babies for all we know. It comes across as insincere, but I have no reason to be rude to you. It just doesn't make sense to me.

I hope you understand my confusion and don't take it as an attack.


> So i kind of stop sharing everything, haha. I'd like to encourage you as well as myself, don't let reality beat you :)


I really regret not archiving my projects as a kid. I didn't care to save much of anything back then so they got lost to various HDD crashes and migrations to other systems.

I started programming at 11 and don't have anything I made before I was 19. Mostly video games in C++ and small PHP projects I did for money in high school. It's fun looking back at what I have so I really wish I had the stuff from way back in the day.

My oldest program of any significance, a console based poker game, was lost with Planet Source Code and isn't in any of the publicly available archives. I started looking for it maybe 6 months after the site went down.


I did the same as you, and did not manage to keep source code, but I kept binaries at least (https://github.com/thbar/demomaking) of some demos and games I made.

It took a while to find them back on the internet thanks to various archiving folks!


It is ok. Sometimes the memory is better than the reality. How good do you think your code really was?


Look, I’d just like to try to figure out why moving using the numpad rather than the arrow keys let me outpace the monsters in that trivial QBasic game I made where monsters chase you. I don’t think it was a basic √2 oversight on diagonals, fairly sure it applied to horizontal movement too and was more like a 20% speedup. But I was probably seven at the time, no more than eight, and couldn’t figure it out back then.

Well, maybe I could find it, seven layers of backups deep; I think it’d be named CHASE.BAS. But just as likely it’s gone, and now I’ll never know. (Hmm, next time I’m at my parents’ place I should try hunting.)


Terrible, it's value would be entirely nostalgic.


I've started tracking an index of projects and their status in Notion. Then I create an extra page based on a template to put things on hold but make them resumable in the future.

In my index, I track: name, status (active, paused, inactive), description, goal and a link to the archive doc if it exist.

My archive doc looks like this (I generally delete any sections that aren't relevant to keep these easy to create):

  # <TITLE>
  ### *Handoff to Future Me: <project name>*
  ### *Snapshot Date*: <date>
  ---
  ### *Project Summary*
  - *Objective*: Briefly state what you're trying to achieve.
  - *Motivation*: What drove you to start this project?
  - *Current State*: Is it in the ideation phase, research phase, or have you already built something?
  ---
  ### *Essential Context*
  - *Related Projects or Dependencies*: Are there any other projects or tasks that are connected to this one?
  - *Technical Specs*: For example, in your lamp project, what type of metal, what voltage for the lamp, etc.
  - *Non-Standard Tools & Environment*: Any unique or specific tools you're using. For example, a specific code IDE or a special type of screwdriver.
  ---
  ### *Progress and Milestones*
  - *Last Completed Milestone*: What was the last significant thing you accomplished?
  - *Next Steps*: Like you said, for your lamp: research, clean metal, buff, etc.
  - *Stumbling Blocks*: Any challenges you foresee or have encountered?
  - *Any Experiments/Tests Conducted*: Brief on what you've tried and the outcomes.
  ---
  ### *Resources*
  - *Important Files & Locations*: Where are the project assets or codebase stored?
  - *Reference Material*: Links to guides, tutorials, or papers that are crucial.
  - *Key Contacts*: Who can you consult about this? Even if it's an online community.
  ---
  ### *Handoff Summary*
  - *Why Stopping*: Why are you pausing this project?
  ---
  ### *Notes to Future Me*
  - Personal notes, reminders, or advice to your future self about the project.


A closed source app like that seems like the worst choice for an "archive". Better to use a format that you can easily backup and that will still be readable in many years like a simple text file.


Not really if you can code. Even apple notes is not that bad because the database is readable (and there are already script to export). What I fear is when companies lock you data on their servers and you have to keep paying or be a good citizen to access it.


The nice thing about plain text, easy to find archives is that they can even be useful (maybe not for yourself any more) if you for some reason can't use your computer any more.


Just wanna say, thank you to the people in this thread sharing your archive strategies. Gave me a fuzzy feeling reading them all, idk why.

Have a great day.


Re: Saving to Web Archive: just a minute ago I found out that one of my old projects isn't loading on Wayback Machine because they forgot to crawl the JS file. (Odd, not sure how they decide which dependencies to crawl...)

I was just beaming about the virtues of shipping web apps as a single self-contained HTML file (all CSS and JS in the file, rather than linked as external dependencies) for unrelated reasons, when I found that my other web app on the Web Archive works fine because I had followed this principle!

(So it also works in Wayback's *id_ mode, i.e. shipping the original HTML unaltered, because the functionality is independent from where the HTML is served.)


Or don't. It is so liberating not to have to periodically migrate data from one medium and file format to another, and worry about corruption. What are you getting out of it? What are you going to do with your preserved data once you die; burden the next generation with it along with the rest of your junk? Cull data every with every migration.


If not putting them online publicly how do you store / organize them?

I just recently bought a NAS for 20 euros and have been thinking about setting it up but am skeptical of relying on it for anything too important. But then again don't feel I can really trust anything too important to be in google drive either.

I also even have a hetzner nextcloud instance that I use for most low/medium importance stuff but I've found it a bit unreliable with the connection failing, mountainduck causing finder to crash, and the website getting quite sluggish when I upload a bunch of photos.


As everyone else said, redundancy equals reliability. You can automatically sync to AWS or backblaze for offsite backups. Locally you'll want a second and/or third backup. My proxmox server syncs to a USB hard drive locally, then I manually take that to the office now and then to sync to a different drive I store in my desk. Critical stuff is also stored in a third drive I keep in a firebox at home.

You can automate as much or as little as you want, but you have to keep multiple copies around. You can't trust any single source. Individual drives fail, tapes go bad, cloud storage can disappear or become corrupt.

The 3-2-1 rule is a good place to start. Three copies on two different media, and at least one copy off-site


The key is multiple copies everywhere. Storage is cheap these days, so you can keep more than one copy - and digital hoarding doesn’t take up much space at all.


The problem with multiple copies everywhere that is:

1) You can never remember which copy is the master or the most recent. And a backup is not a backup unless you test the restore regularly. But with multiple copies, we don't have the time to test the restores of all the backups.

2) If any of the syncing scripts stop working, you will not know for ages. Unless you have another layer of monitoring scripts that watch your backup scripts. But almost no one has the patience to do that.

I have at least 3 copies of my important files, in 3 different locations. But I fail on both of my points above.


I don't store much stuff, so I mostly backup to AWS S3 and Backblaze (duplicated). I use Arq on windows and mac machines, and restic on linux. Job done! I'm looking at getting a NAS soon myself and then I'll backup or save to that as needed.

If you're not storing much then it's pretty cheap. For me it's mostly just photos and important documents, it comes to no more than a few 100GB total and costs me maybe 5 USD per month if that.


Kind of jealous of your 20 Euro NAS. But generally the key to longevity is having data in many independent locations. Since you're already using Hetzner, backing up your NAS to a Hetzner StorageBox is easy and cheap. The StorageBoxes are occasionally down for maintenance and don't have top performance, but for backup they are fine. Then you can just use the NAS as primary storage.


Not the best system but I back everything up to two separate hard-drives (code goes in GitHub as well). I've been trying to get everything off Google Drive after the stories of a file with just the character 1 set off piracy filters earlier this year (or maybe late last year).


Where did you buy a NAS for 20 Euros?

My old DNS-320 was ~100 euro new. And it kind of sucked.


An ancient Synology Disk Station DS112j with a 1TB hdd from fb marketplace.

I've never had a NAS before so wanted to play around with it before deciding to invest in a nicer one that can do more like handle Plex.


After my DNS-320 I concluded to make it do everything I wanted, I need to really have a full OS I have control over.

So I built a box from one of those 4 bay Mini ITX chassis'. More expensive but I am loving the FOSS options like JellyFin.


I start my projects in `~/tmp/<project>` and when I feel like I'm getting somewhere with them they graduate to `~/src/<project>` and get published on GitHub (and a few mirrors for the most important ones). Anything on `~/src` need to be backed up but things in `~/tmp` can be lost without missing them.

When I start working on a new feature for a project I create a PR on GitHub and document my research and then the implementation with screenshots.

I also have a text file on my computer where I write a few lines everyday about what I'm doing. From time to time I send it to myself by email.

It's relatively simple and low effort but has proven to be very helpful many times.


ArchiveTeam can help get your old sites on archive.org, and Software Heritage can save your old code:

https://wiki.archiveteam.org/ https://www.softwareheritage.org/


I copy my entire home directory across to every new computer, so I have a lot of random crap laying around in random places that I occasionally rediscover by chance. The oldest stuff I have is from ~15 years ago, when my hard drive died in the middle of a semester in college and I hadn't yet started making backups.


A few months ago I went through my repos on GitHub and marked everything I built with Vue as “archived” which is nice as it prevents any new issues being opened and very clearly indicates the project is no longer maintained.

I think it would have been a bad idea to simply outright delete them, though I did delete a few.


May I ask what you switched to? I used Vue everyday for 3-4 years and then went all in on React when I joined a former employer. Looking at my Vue projects gives me a sense of nostalgia.


React! I was tired of the whole lack of TS, shitty dev tooling, poor DX.


If you've got some nodejs, Javascript, Ruby or Python projects and you want to keep them around for posterity then I recommend thinking how you can package them up so they can be safely archived. You could use docker or a virtual machine image.

In my editor project ( screencast https://github.com/samsquire/live-interface/blob/master/scre... )

and in its various components written in Nodejs, Ruby (sourceclassifier) and Python (dot renderer) and they're all in disrepair because I failed to pin dependencies.

Also recommend taking lots of screenshots.


> compiled .exe files

> Not sure what to do with these besides deleting

I was recently digging through some old backups for fun, and have so many little exe's I built in highschool and college just laying around.

I moved to Mac shortly after college and made the questionable decision to back up my old hard drives as Mac .dmg files before getting rid of the computers, so getting the exe's into a running version of Windows to even test is a pain.

A lot of the older ones are pretty neat little games and graphics demos made for DOS. Be neat to get a little VM up on my site running some of these but I suspect it might be a pretty large undertaking.


> Be neat to get a little VM up on my site running some of these but I suspect it might be a pretty large undertaking.

It might not be too bad. I feel like there are a lot of little web assembly projects running on various sites that you could easily use. For a retro project I am working on I needed the MASM 5.00 reference manual and the site had PCjs running on it. Archive.org has there own web assembly emulator as well.


Not that hard with dosbox look at what Archive.org has done.


Reminds of the quote from Adam Savage from Mythbuster:

"The difference between science and screwing around is that in science you write things down."


Funny enough, I was scrolling through an old hard drive of mine about a week ago and on it I found a cli I made in c++ at some point during the first half of the 2000s to solve quadratic equations. I had completely forgotten I ever made it but I bet it cut the time I spent on my math homework drastically. I remember how boring and tedious I used to find them...


Also consider archiving them to the web in a Digital Garden

https://maggieappleton.com/garden-history

The most grounding for me are screenshots and scripts with expected output.


What’s the best way to encrypt data for archival, so that it can be decrypted decades later?

The encryption software can be discontinued, or change over time and be backwards incompatible.


Im doing demo with my projects and record them as videos. They are on youtube, so if I want to show it to someone I just send link to youtube.


Keep a local copy of those. The youtube copies may disappear without prior warning.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: