Sveder’s Life OS

I’m almost 40, and over the last twenty plus years of my adulthood I’ve been slowly developing my life/work system – basically how I know what is the next thing I should do, but much more, as I will expand on today. I get asked about various parts of it a lot and I love talking about it of course, since I’ve put countless hours into optimizing, improving, trying new tools and writing my own tools. This blog post will explain the various parts of my life/work system for curious people, so that I will have a place to point people interested and so that I’ll have some documentation of it for myself and my LLM agents. I might update this once in a while. In case you need more context about me, click here.

I’ll start by describing the day to day parts of the system, then the main self improvement loop and the yearly review and then tools I use and software set up.

Day to day loop

Kids are in kindergarten, wife working, coffee in hand, I sit down and log in to my computer. The first thing I open is Trello where all my work and life tasks live. I used to have two boards for work todos and life todos, but now I use one main board for both, with specific projects sometimes getting their own Trello board or a list in the ongoing projects Trello.

Trello structure, lists from left to right

  1. First list is Projects/themes. It has the monthly themes card which are a few things that I should push forward during the current calendar month. It usually includes a mix of bigger picture life tasks (“Rethink all insurance I have and need”) and some work things (“Start X project and make meaningful progress”). I try to look at this list when I need some direction in the day or when I’m done with the tasks for the day and need inspiration. I recently also added smallish projects and ideas there for when I need something random to hack on.
  2. The next 7 lists are one for each day of the week. On each day I work on the recurring tasks and the assigned tasks. Previous days become empty as the week progresses (although sometimes I assign tasks there to remember them next week).
  3. Accompanying these there are the Week and Weekend lists that are floating – they are always to the right of the current day list and I move cards from these to the current day list when I need more things to work. I also have a tampermonkey script that adds a “random” button to the each list that chooses a random card for me to work on.
  4. Next week list for things that specifically need to be moved to week list at the end of the week.
  5. Backlog list – new things I don’t have time to triage are added there for later triaging to other lists.
  6. Month lists – I usually only plan a few months forward.
  7. Year list – basically just this year for rest of things and next year for whatever is deferred.
  8. Then there are some lists that contain aspirational tasks that I go over once in a while and see if their time has come:
    1. “Learning and self development” – things that I would like to learn but have no concrete plan for now.
    2. “Monthly habits” – Once a month I try to pick a (usually smallish) habit and persist it for at least a month.
    3. “Travel and events” – places I want to go, events I want to join (mostly long distance biking events)
    4. “Info” – random bits of information that should really live somewhere else
  9. Finally – a list of shopping lists for different categories – deli groceries, books, board games, AliExpress, etc. I update them as I need something to not forget when months later I’m in the board game shop.

So I take a sip of coffee (I like drinking my coffee over at least an hour) and the first task is usually writing or finishing yesterday’s log. Usually all I need to do is to fill in when I went to sleep, what I did at night and the high and low point of the day. See the self improvement loop for more about this habit. Then I bunch my tasks by “computer tasks” like coding, documenting, research and “physical tasks” like cleaning, going outside, etc. When I go outside I try to look at the label “outside” and see if there are things I can knock off along the way, and also look for hobby related things around where I’m going like geocaches, outdoor libraries and fruit trees.

A lot of my tasks are related to specific projects I’m working on or researching, and some of their specific todos live in OneNote or in a different Trello board.

I document my life and my “brain” in OneNote. It stores lots of data for me:

  1. General facts about my life and family – important notes about people (who ever remembers blood type?), gift ideas, car/house maintenance history, etc. This also includes restaurants visited and dishes I specifically liked, books and a short review of each, etc.
  2. Project documentation – I usually have a list of requirements, documentation of architecture, “Development stories” that are step-by-step lists of things I did, problems I’ve overcame or worked around, things to remember, etc. These stories are useful as documentation later and now with AI doing most of the work it seems like I’m doing this less and less.
  3. Self developments – some OneNote sections support my self development loops like having the weekly/yearly summaries, themes, goals, etc. Learning documentation falls under here.
  4. Checklists – pre-prepared for various forms of travel (abroad, camping, day trip, etc), getting back to work after losing my focus, escape rooms, etc.
  5. Archive – I rarely archive things, but I definitely don’t delete, so this is where archived things live.

Self improvement loop

  1. Every day I write a summary of things that happened that day, finishing it the day after by adding last things I’ve done and filling in the highlight, lowpoint and specific things I’m tracking like my monthly habits. I’ve been doing this for decades and have thousands of these, but there are definitely days I miss it and that’s fine. There are also months where I neglect it and I’m not happy about that.
  2. Every week (sometimes life events make it once every two weeks) I have a weekly reflection where I go over documentation about last week and think of what happened, summarise what went well and less and major conversations I had with family and friends. Here are the things I look through for this weekly:
    • Last week notes
    • Daily summary emails
    • My home spun “timeline” email that contains trello tasks I finished, phone calls, photos from my phone, gps locations, people I talked to on whatsapp. These emails are great!
    • I look over my RescueTime dashboard to see where time on the computer went.
    • I look at my calendar to see where real world time went.
    • I have a few more dashboard like trello stats, whatsapp stats, investments stats that I look at. It is so easy to build these internal tools now with LLM coding agents. Interesting is trello tasks I finished, but also trello tasks that I’ve moved from one day to another meaning I need to look into why it is not being done.
    • Photos on my phone – lots of times I take a photo of something as a reminder, but it is also nice to reminisce.
    • I go over the monthly theme and yearly/multi year goal and see if I’m moving towards them somewhat. If not I add todos to correct this.
    • I also just think and remember what happened and what I might have forgotten to document.
    • Then after reading all of these I’m usually left with a list of ten or more todos which I move to the trello backlog and then cull the backlog moving issues to the other lists.
  3. Before month end I have a task to prepare next month, which includes:
    1. Thinking of new month themes
    2. Populating the month Trello list by going over remains of current month, planned for the next month and sometimes the year list.
  4. Once a year I think about life. This is less systemized, so not much to say.

Supporting Tools

Here are tools that I use a lot and are relevant to the processes:

  1. I use wallabag as a “read it later” – interesting articles go there for reading in busses and other boring places.
  2. PocketCasts – podcasts go there. If a podcast has ads it should instead be fed to the (private for now) ad blocker and that feed should be subscribed to.
  3. Google Calendar is where meeting and reminders go.
  4. Monica – I’m evaluating it to keep track of contacts.
  5. Sveder Dashboard – my homespun “life dashboard”. It has a lot of random tools:
    1. Credit card reports and personal finance
    2. Trello statistics and reports (burndown for example)

Servers

  1. I have a home server that runs self hosted tools and streaming labs.
  2. I have the sveder.com server that runs various projects and also run some self-hosted services that need to be accessed from outside my home network:
    1. Sveder.com – about and blog
    2. Bdlr.sveder.com – My mom’s illustration of Baudelaire’s Les Fleurs du mal.

Blog and Podcast Roll

I have 138 RSS subscriptions and 29 podcast subscriptions. I have about 200 RSS items to wade through each week, and even if all I do for a week is listen to podcasts non-stop, I will still have unlistened podcasts. It’s pretty safe to say I’m addicted to passive information, news and entertainment. I’m even listening to a podcast as I’m writing this. Meta, I know.

I love “Real Simple Syndication” or RSS. This protocol allows content creators to propagate their new content passively – update the feed and everyone will eventually get the update. What I love about it is that it’s asynchronous, as is the nature of most “pull” communication methods – I don’t get notified about every RSS item or new podcast episode – as opposed to email which is synchronous and immediate. I am not subscribed to even one blog by mail because I have this separation between immediate items and the rest. I’m up to about 4 hours to go through my weekly RSS reading, but I think it’s a worthwhile investment for now, and it’s fun. I’ve picked a few highlights to create a blog roll and added a justification here.

Twenty Sided by Shamus Young and friends
www.shamusyoung.com/twentysidedtale (RSS)
If I can choose one blog to model mine after, it will be Twenty Sided. It has articles about graphic programming, game design and general entertaining commentary. I love the community that sprung around the let’s play “Spoiler Warning Show”. You should really check it out and specifically the new “New here” section.

Coding The Wheel
http://www.codingthewheel.com/ (RSS)
This blog needs way more posts. The author is obviously a knowledgeable programmer who writes about code and Poker and gives a look into the fascinating world of Poker Bots. You should definitely read the series.

Joel on Software by Joel Spolsky
http://www.joelonsoftware.com/ (RSS)
Joel on Software needs no introduction but I still wanted it to be high on the list of blogs because of how influential it was on my decision to become a programmer and entrepreneur. This is where I first discovered a lot of concepts about starting and running a company, treating customers and about Fog Creek’s unique philosophy and company culture. He has great reading lists according to what you do and they are all worth your time.

Beta List
betali.st (RSS)
This site aggregates a lot of new startups that are in Beta. This is a great way to stay updated on new startups and ideas, and sometimes I even sign up for some. I’m sure everyone can find a startup to check out from this list and this is mutually beneficial to you and to the startup – a win win!

tynan.com by Tynan
tynan.com (RSS)
A truly unique and interesting blogger with a wide selection of topics – minimalism, software, travel, living in an RV and picking up women. This blog is one I consistently enjoy every post in, which is pretty hard to achieve.

Procrastineering by Johnny Chung Lee
procrastineering.blogspot.com (RSS)
This blog is by a guy who is consistently working on the coolest projects around. From a do-it-yourself head tracking using the wii to Kinect to his work in Google – there is no one that sold me on the field of HCI more than him.

Podcasts

Security Now! by Steve Gibson and Leo Laporte
www.grc.com/securitynow.htm (RSS)
Hands down the one podcast that beginner programmers or people with an interest in the behind-the-scenes of computers should listen to weekly, and add another from the archives because it has been around for years. Steve is a genius and a hacker, but most importantly he has that elusive talent of being able to explain hard and complicated technical issues clearly and methodically in a way that is understandable even to laymen but is not oversimplified. If you never listened to podcasts, you should make this your first and you’ll be as addicted as me in no time.

Radio Free Python
radiofreepython.com (RSS)
A podcast about python, how can it not be awesome? I only listened to the first two episodes and they have interviews with the greatest pythonistas around, including the BDFL himself, Guido van Rossum. Definitely worth a listen if you want some programming in audio form.

Stanford University’s Entrepreneurship corner
ecorner.stanford.edu/podcasts.html (RSS)
A lecture and a Q&A by a successful entrepreneur, VC or other startup insider? YES PLEASE! If you need motivation to finish a project or to go out and start a company, just listen to a random episode and you’ll be pumped. The message is – just do it, and while you’re at it here are some tips and common mistakes to avoid. Archive includes people like Marissa Mayer, Steve Ballmer, Mark Zukerberg, etc. and basically every hot startup and successful company is represented.

A Life Well Wasted
alifewellwasted.com (RSS)
A shortlived but prominent podcast about games and why we play them. Only a few episodes but they are really insightful and have great production value and atmosphere. This podcast is not updated anymore but you should listen to the past episodes and just enjoy the feeling of nostalgia, bliss and pure innocent happiness.

If you still can’t get enough of RSS, here are my full RSS and podcast OPMLs (an XML format for a collection of RSS feeds). Be warned though – some of the podcasts are adult only and a lot of them are not programming related. You should customize it to your tastes and time constraints. Dome of them are in Hebrew and one is in Russian. You have been warned!

RSS Feeds OPML
Podcasts OPML

Lastly – you should consider subscribing to my RSS feed. It is the best way to get updates, and who wouldn’t want more of this?

Got interesting items in your RSS feeds? Share them in a comment and feed my addiction.

Practical Programming Intro

Today’s blog post will introduce another series in this blog – “Practical Programming”. This series will be about developing software in the real word and about subjects that you won’t usually see in computer science curriculums.

What do I know?

Well to be honest – not much. I started a degree in high school but basically flunked out by the third semester, and never continued it. I’ve had a few professional courses in programming, but most of my knowledge and experience comes from on the job training, side projects (see my “Reflections” series), the internet and other unofficial channels over about 7 years of employment as a developer. I’ll also concede that 7 years is basically nothing, and I’m at least 3 years from even starting to master the field. So why the hell am I even qualified to write about it? Very simple – it’s my party, and I’ll write about what I want to.
Seriously though – it’s up to you to decide whether I am making sense and whether to learn from or discard what I write, or even better – start a discussion and give me your opinions.

Why is that important?

Programming the science is pretty different from programming the craft. To be successful at the craft you need way more than a mastery of a particular programming language or platform. Some general skills like teamwork are a must but also understanding project management concepts and methodologies (waterfall and agile for example), quality assurance concepts and a few other essential skills. The sad fact is that being a “rockstar” (eww) programmer is dependent more on one’s ability to ship software than on one’s skills with C.
This series will talk about the skills you need to ship software.

Some of the topics I already lined up for this series are:

  • Technical Debt
  • Continuous Integration
  • Python’s “There should only be one obvious way to do it”
  • Time Estimations

Hopefully you’ll find this series interesting and informative, and you’ll become a better developer because of it.

Why Start a Site and Blog?

To have my own unique place on the web to speak my mind and to reach an audience.

My own

There are plenty of places to speak your mind on the web – social networks, blogging platforms, wikis and the list goes on. The one thing a lot of people don’t realize is that most of those places control your content, your posts, your tweets.  Sure, some might do it less blatantly then others, some might say that they don’t censor and some have an export option, but the biggest problem is that more often than not they also control your audience. I’m not against such services (twitter is even starting to grow on me), but I don’t like the lack of control. I want my online persona to be under my own domain, designed (even poorly) by me and controlled by me.

Unique place

Continuing on the same note – sveder.com is unique. Not only is that my nickname for years now, but it is also a great domain name and more importantly, brand. So yeah, it will take a lot of time, content and luck for this brand to get big, but it will be more rewarding to me than having the same reputation on twitter or Google+.

Speak my mind

Doesn’t everyone want to be heard? Isn’t attention one of the most basic needs of humans? Less philosophically – I’m going to use this space to broadcast my opinions, my knowledge and my speculations. But like everything in a pragmatic mind – those might change, become more accurate and be proven wrong by reality and by the audience. Topics for this blog include computers, programming, developing, computer games, bicycles and everything else I might get interested in.

Reach an audience

The last point, but probably the most important – while I can control what I write here, no one can really control who views it, who it reaches and who has something to say back. This blog is pretty much like every other product – you put it out there and hope that it helps someone and that someone will get passionate about it enough to start a conversation.

A sign of things to come

I mentioned the general topics I will be covering so to get me a bit more committed here is a list of upcoming subjects for posts:

A series about my github projects – since they are already out there I want to have a post or two about each detailing their history, code reviewing some stuff and capturing the knowledge in them in a more googleable way.

“Practical programming” – a series about basic modern software developing concepts that are usually not taught at school. Example topics include:

    • Technical debt
    • Agile practices
    • “There should be one– and preferably only one –obvious way to do it”
    • separation between view and logic and more and MVC

I’m gonna try and have at least two posts a week.
If that sounds interesting you should subscribe using RSS and be sure to comment and talk back so that I can improve – this side of the keyboard is new to me, so let the journey begin 🙂