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.
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.
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.
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"?
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.
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.
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!
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.
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.
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).
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.
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.
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.
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.
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.
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...
hypertexthero|2 years ago
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.
logifail|2 years ago
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.
XorNot|2 years ago
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.
crucialfelix|2 years ago
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
dwaltrip|2 years ago
imhoguy|2 years ago
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.
LVB|2 years ago
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.
andai|2 years ago
I have a ~/dev/file_list.txt, generated by
(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!)
doctorhandshake|2 years ago
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’”.
bxparks|2 years ago
atum47|2 years ago
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
matheusmoreira|2 years ago
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.
zlg_codes|2 years ago
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.
cloths|2 years ago
ohdannyboy|2 years ago
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.
thibaut_barrere|2 years ago
It took a while to find them back on the internet thanks to various archiving folks!
esafak|2 years ago
andershaig|2 years ago
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):
dewey|2 years ago
NetOpWibby|2 years ago
Have a great day.
andai|2 years ago
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.)
esafak|2 years ago
raybb|2 years ago
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.
calamari4065|2 years ago
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
bombcar|2 years ago
bluehatbrit|2 years ago
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.
wongarsu|2 years ago
jamesfinlayson|2 years ago
RajT88|2 years ago
My old DNS-320 was ~100 euro new. And it kind of sucked.
vinc|2 years ago
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.
pabs3|2 years ago
https://wiki.archiveteam.org/ https://www.softwareheritage.org/
Izkata|2 years ago
lloydatkinson|2 years ago
I think it would have been a bad idea to simply outright delete them, though I did delete a few.
JCharante|2 years ago
samsquire|2 years ago
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.
donatj|2 years ago
> 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.
aninteger|2 years ago
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.
ta988|2 years ago
alexpotato|2 years ago
"The difference between science and screwing around is that in science you write things down."
axegon_|2 years ago
nerpderp82|2 years ago
https://maggieappleton.com/garden-history
The most grounding for me are screenshots and scripts with expected output.
aborsy|2 years ago
The encryption software can be discontinued, or change over time and be backwards incompatible.
pplonski86|2 years ago
Rygian|2 years ago