<![CDATA[ rolisz's blog - Personal Posts ]]> https://rolisz.ro https://rolisz.ro/favicon.png rolisz's blog https://rolisz.ro Thu, 23 Sep 2021 22:12:02 +0300 60 <![CDATA[ Half a year as an indie consultant ]]> https://rolisz.ro/2021/07/09/half-a-year-as-an-indie-consultant/ 60d58d48a0cb673c37e93d2b Fri, 09 Jul 2021 17:57:00 +0300 It's hard to believe it's been more than half an year since I started my own company and became an independent machine learning consultant. It's been a very interesting ride.

There have been plenty of moments where the predominant feeling was "what now?". How am I going to find more clients? How to negotiate with this client? The Dip, as it's called by Seth Godin, is very real and very scary. When you draw the line and see how much you've earned over six months... you start getting serious doubts. Was it worth it? Wouldn't it have been better (and much easier) to just find a nice job?

But there are other moments: when I realize I have freedom to choose my clients and the projects that I work on; after working for a whole day on something that I love, ML, without any useless meetings; when deciding with almost complete freedom the tech stack which will be used to build the ML side of things; when I take a day off almost whenever I want, just because I don't feel like working on that particular project on that particular day. Or when I realize that I am a consultant, that my clients look to me for advice and that they actually take my advice seriously. If I say that the way they did things previously won't work and they should do things differently? They'll get to it right away.

And then there are moments when I realize I barely have time to read any state of the art machine learning papers and instead I have to learn the basics of marketing, branding, business development, communication, coaching, explaining, teaching - and to put all of this into practice. Most of my clients don't care if I'm using the latest state of the art Transformer architecture (and don't even know what on earth that is). They don't even know what machine learning is. But they need someone to explain it to them - to people who have built successful companies in their own fields - and to help them understand if it's something that they need or not.

I am thankful to God for guiding me on this new path, of which I have dreamed for a long time. Faith in his faithfulness is what has kept me steady when my knees wavered.

I am grateful to my dear wife who was willing to take this risk alongside me and has been very supportive all along the way.

I am very glad I have a good accountant who can help me with all the paperwork of the company.

I am grateful to the whole team from Oradea Tech Hub, who have helped me get my name out there, and especially to my friend David Achim with whom I did many rounds of business strategy discussions.

And I am thankful to many others who have cheered me on, who have encouraged me and who have put in a good word for me to potential clients.

<![CDATA[ Happy 11th Birthday! ]]> https://rolisz.ro/2021/06/08/happy-11th-birthday/ 60bfba22a3c3ed7839d6f32e Tue, 08 Jun 2021 22:17:05 +0300 My blog has circled the Sun for another year. You got 37 more posts in the meantime. The Obsidian post was very popular, as was the Rust Codenames series. Vmmem issues are finding a solution on my blog as well.  The second half of last year was slower than the first one, but it's ok.

I kinda split my blog into two: personal posts stayed here, anything related to machine learning goes to my new domain, which is for my consulting business. I still want to post some technical content here and I do hope I'll make it to the front page of HN again :D

I haven't had as much time to write posts because I've been busy with all kinds of other content: an in person machine learning course here in Oradea, several presentations, some about machine learning, some about quick iteration, some locally, some online. It turns I only have so much creative juice in me every day.

I've resumed my goals to blog again, but at a much more humble rate. Sometimes I'm tempted to try daily blogging, but I'm a bit afraid of that commitment and of the quality of the posts that would result from that. Some people say that writing daily turns on the faucets of creativity and you'll have plenty of ideas. But for now I'll stick to a more reasonable goal of two posts per month.

<![CDATA[ Productivity Tips: Time Blocks ]]> https://rolisz.ro/2021/04/04/productivity-tips/ 606a03ac88041c04f2008470 Sun, 04 Apr 2021 22:51:13 +0300 As I've started my freelance machine learning consulting business this year, I found I need better ways to organize my time. When I was employed as a software engineer, there was a task board I would choose what to work on. The tasks would be mostly decided at the beginning of the spring, so it was quite clear what to focus on most of the time. Of course, sometimes unexpected issues would come up, but usually those are urgent, so it's easy to decide to switch over to them.

But now, I have to juggle between working for different clients, talking to leads and doing marketing or administrative tasks. My to-do list just keeps growing longer and it's getting harder to pick something to work on. Should I write a new blog post? Should I work on a video? Should I do some exploratory data analysis for a client? Should I look into preparing an MLOps report for a client? Or maybe write a blog post so that my friends know I'm still alive?

Having to make a choice about this every time I want to start working is tiring, leading to choice paralysis. Often I have to work on 3-4 tasks a day. If I context switch between them too often, my efficiency drops.  So last month I started applying a variant of time blocking, about which I read from Cal Newport.

Blue events are meetings, green ones are time blocks

Instead of using a paper based method like he suggests, I create an event in Google Calendar when I want to block off some time. Ideally I schedule them the day before, but sometimes I either forget or something comes up and I have to change what I'll work on for the same day. I try to create blocks of one or two hours. Shorter blocks don't give you enough time to get immersed in deep work, while longer blocks are usually too tiring. I also make sure to leave some breaks between the time blocks.

I use a separate calendar so that I can easily toggle the visibility, leaving in the Calendar app only those events which have to take place at a given time (such as client meetings) and so that the time blocks don't interfere with Calendly, a meeting scheduling service I use.

I'm not very strict about the time blocks. If I find that I'm in the flow when a block ends, then I'll continue working on it. If something else is more urgent or I'm simply in a very strong mood for another task, I'll work on that and I'll simply move the calendar event to another time.

How do you organize your time and decide what to work on?

<![CDATA[ Learning to machine learn ]]> https://rolisz.ro/2021/02/19/learning-to-machine-learn/ 602fdaddf2fbd3222b45f000 Fri, 19 Feb 2021 18:51:29 +0300 tl;dr: I'm launching an introductory course about machine learning in Romanian. It's aimed not just at developers, but at a more general audience.

De ceva timp mă bate gândul să trec la următorul nivel de creare de conținut. Scriu pe blog de 10 ani și îmi place asta. Unele posturi pe care le-am scris despre programare și machine learning au avut succes. Așa că m-am gândit să fac un curs de machine learning.

Pe net sunt o mulțime de resurse de machine learning, cursuri care mai de care. Și eu am învățat din ele, deci sunt și cursuri bune și foarte bune printre ele. Dar pentru început, aș vrea să încep prin a face un curs în limba română, unde nu cred că sunt suficiente resurse de calitate. Bine, practic va fi o romgleză, că abia pot să pronunț „învățare automată”, „machine learning” alunecă mult mai bine. Ce să mai zic de deep learning...

O altă lacună pe care am identificat-o e că majoritatea cursurilor sunt pentru programatori care scriu cod în fiecare zi și vor să știe folosi și unealta numită machine learning. Dar este o lipsă mare de înțelegere a modului cum funcționează machine learning și inteligența artificială în rândul managerilor și, de ce nu, a oamenilor non tehnici. Dacă te iei doar după ce citești la știri, imediat urmează scenariul Terminator, când în realitate toate sistemele de ML au slăbiciuni mari și ușor de găsit.

Asta duce la unele așteptări nerealiste din partea conducerii unor firme, care vor să devină mai „hipsteri” și să folosească ML, dar vin cu idei complet greșite, care nu pot fi făcute să meargă suficient de bine. Sper să pot să ajut și astfel de persoane.

Mulți oameni cred că trebuie cunoștiințe tehnice foarte avansate ca să folosești chestii de inteligență artificială. Dar bariera scade tot mai mult și apar aplicații și în domenii creative, cum ar fi generare de imagini sau de text și care pot fi folosite relativ simplu, odată ce înțelegi conceptele de bază.

Dacă vă surâde ce ați citit mai sus, intrați pe pagina cursului.

<![CDATA[ Design patterns in real life ]]> https://rolisz.ro/2021/01/26/design-patterns-in-real-life/ 601075f3f896ad697fe0fe06 Tue, 26 Jan 2021 23:07:52 +0300 In programming there are so called design patterns, which are basically commonly repeated pieces of code that occur often enough that people thought it would be helpful to give them a name so that’s it’s easier to talk about them. One example is the iterator pattern, which is about an efficient method of traversing the elements of a container, whether they are an array, a hash table or something else. The builder pattern is used for building objects when we don’t know all their required parameters upfront.

Sometimes, if you don’t know about a pattern and you read code that uses it, it might seem strange. Why is this extra layer of abstraction here? Why is this API broken down into these pieces? After learning about the pattern, you might learn that the extra layer of abstraction is needed because the layer that’s below changes often. Or that the API is broken into those specific pieces because this makes it easy to cover more use cases in an efficient way.

As I’ve started diving head first into the world of running my own consulting business, I’m starting to learn about a whole other world of “design patterns”, unrelated to programming. And suddenly many things that I’ve seen before started to make sense.

My friend David has been bugging me to start a community for people passionate about machine learning in Oradea, where I live, for almost two years. For a long time I was thinking, why does he push so much for this? Well, after taking Seth Godin’s Freelancer Workshop, now I know that being the person who organizes a community is one of the best ways to make yourself known.

Another example is that I saw website offering a sort of business networking thing for a very high membership cost (or at least it seemed expensive at the time). Why would anyone do that? Then I learned about a thing called alchemy network 1 and how if it’s done well it can bring great value to it’s members.

All my friends who are freelancers charge by the hour. That’s what I thought was normal. But then I heard about Value based pricing by Jonathan Stark. A different pricing “design pattern”, which aligns the incentives of the client and of the service provider in a much better way. Let’s see if I can pull it off though.

Just like in programming, design patterns help us find the correct solution faster and communicate more efficiently. The more patterns you know, the faster you can recognize a situation and react better to it.

What are your favorite design patterns?

<![CDATA[ 2020 in Review ]]> https://rolisz.ro/2020/12/31/2020-in-review/ 5fee192e08f8f65d8ac7c91c Fri, 01 Jan 2021 02:02:17 +0300 2020 might have been a bad year outside, but it was a good year for my blog. I wrote 62 posts, almost as many as in the previous 3 years combined (63). Part of it was due to more time because of Covid, part of it was because of the 100 Days to Offload Challenge (which I didn't finish), part of it was because I have an interest to take my blog in a new direction, to help get leads for my consulting business.

Visits were up: 60.000 sessions compared to 10.000 in 2019. Most of my sessions were from unique visitors, because those were around 53.000, compared to 8700. Pageviews are at 73500, versus 16300.

Most of this is due to some posts that got very popular. The Moving away from Gmail post is now my most popular blog post ever, dethroning the neural network post that is 7 years old and is still getting 2000 views per year. It was on the front page of HackerNews and it got 36000 pageviews in 3 days. The Obsidian post was also quite popular, having been suggested in the Google app, getting to 8000 views. My Rust posts all got over 800 views, with the web crawler one getting over 2400. Surprisingly, how to bridge networks with a Synology NAS is a very interesting topic, because that also got 1000 views.

The Ghost platform has worked ok during the last year, but it has some small friction points, so I'm thinking about changing again. But regardless of how I'll post, I definitely plan to keep post more content.

<![CDATA[ World's best phone case ]]> https://rolisz.ro/2020/12/31/worlds-best-phone-case/ 5fedc94d08f8f65d8ac7c8c8 Thu, 31 Dec 2020 16:10:44 +0300 Yesterday I enjoyed the Australian Șuncuiuș Christmas weather while doing another Via Ferrata trail. It was much harder than the one I did last year. But as I finished the vertical ascent that is seen in the top picture, my phone slipped from my pocket, and fell about 15m.

I immediately thought I'd have to buy myself a late Christmas present. After we finished the hike, we went to search for the phone. The case had come off the phone and we found it pretty quickly. The phone was on vibrate, so calling it didn't help. It had slipped under some rocks, so we had to look harder for it. But after we found it, we were all shocked that it was intact, without a scratch on it.

The case has some very minor scratches on it. Ladies and gentleman, if until now I was a big fan of SupCase Unicorn Beetle Pro cases, from now on I probably won't buy a phone without a case from them. Kudos to the SupCase team!

<![CDATA[ My next steps ]]> https://rolisz.ro/2020/11/29/my-next-steps/ 5fc3f41febd40d0556a6e3b8 Sun, 29 Nov 2020 22:19:40 +0300 Consulting is something I have dreamed of for a long time. I have done a little bit in the past, on the side, but now the time has come to pursue this full time.

I have used machine learning to solve a large variety of problems such as:

  • text recognition (OCR) from receipts
  • anomaly detection on monitoring data
  • understanding how people use calendar software
  • room booking recommendations
  • chatbots
  • real time surveillance video analysis
  • time series forecasting
  • personally identifiable information (PII) detection

So if you have a hairy machine learning problem and you need advice on how to move forward, I can help you find the best way.

If you are a software company that wants to start developing machine learning projects, I can provide training for your team so that they can develop these projects. I can also give presentations and explain to managers and executives how machine learning projects are developed, what can be done with it (it's not a silver bullet that will solve all known problems) and how ML projects are different from traditional software projects, both during development and in deployment.

If you are a company that wants to know if machine learning is the right solution for a problem you have, such as automating a process that currently is very labor intensive, I can help you make this decision and develop a strategy for making the transition towards automation.

Are you a company that is looking to acquire a machine learning solution and you want some independent appraisal of the cost, duration and feasibility of the project? I can help you with this as well.

So if you need a machine learning advisor, consultant or trainer, feel free to reach out to me.

<![CDATA[ Multiple cursors ]]> https://rolisz.ro/2020/10/26/multiple-cursors/ 5f9691b8ebd40d0556a6e32f Mon, 26 Oct 2020 12:22:16 +0300 Multiple cursors are a feature that has been around for several years. I have heard of it first from SublimeText fans, but I always thought I don't need it. At the time, I was a huge Vim fan and I thought I could get away with crafting fancy regular expressions, XKCD style.

But I'm converted now: turns out that multiple cursors are more useful and easier to use. Can I craft a regex for what I'm searching for? Yes. Will it take a lot longer? Oh yes. Is using multiple cursors super simple? Absolutely. Does it work in a lot more places? Yes.

What convinced me was the fact that it's working in Obsidian too. Several UI toolkits for the web offer this out of the box, so it's working on many websites too. I can use the same "shortcut" in PyCharm, Visual Studio Code, etc, without having to set up a Vim mode.

What other cool shortcuts do you use?

<![CDATA[ Tenet ]]> https://rolisz.ro/2020/09/17/tenet/ 5f63ce5e5ad1bb49f64c7098 Fri, 18 Sep 2020 00:44:09 +0300 After many delays, the movie Tenet has finally come to the cinema. It's amazing. I loved every single bit of it. Almost 2.5 hours of pure awesomeness. #christopernolan4president This is what a good movie is supposed to be like. Go on, go see it. The rest of the post will wait.

At least, that's my opinion. I went to see it at the cinema with 5 friends. One left halfway through the movie. One fell asleep. One admitted he lost track of what was going on. One said it was good movie. The last one is as excited as I am.

This happens after 5 minutes

The movie is a packed action movie. It starts with 10 seconds of logos, the you have actual footage and then 15 seconds later the shooting starts. And it keeps a similar pace for the rest of the movie, sometimes stopping to try and explain what's going on.

It's a philosophical movie. I mean, it's about going forwards and backwards in time. It screws with causality. It explores the grandfather paradox. It does make your mind bend, even more so than previous Nolan movies. Just think about the nested temporal double pincers.

Bullet holes from bullets that haven't been fired yet

The heists/breakins/missions are really well thought out and you actually get to see some of them twice :D

This happened for real

The visuals are stunning. I mean Nolan bought a plane and blew it up for real, rather than doing it with CGI. The sequences where there are both normal and inverted people (so going both forward and backward in time) are... wow. The locations where they filmed are gorgeous.

The soundtrack is brilliant. Ludwig Göransson managed to capture the feel of the movie perfectly. The score fits perfectly to the scenes. He made the melodies by researching retrograde composition, so they would sound (approximately) the same forward and backward.

The acting is great. I don't know where Nolan found the John David Washington, the actor who plays "The Protagonist", but he made a really great choice. I'm looking forward to seeing him in more movies. And it makes me want to watch BlacKkKlansman.

Occasionally the movie slows down to make a joke about suits

Did I mention I love this movie? Is it obvious from my review? No? Well, score: 11/10. There, if it wasn't clear enough so far.

This is a movie that needs to be seen in cinemas. There's big explosions, bullets flying, beautiful landscapes, all of which benefit from a big screen and good sound system. So go watch it in the cinema, so that Christopher Nolan will get money to make more awesome movies.

<![CDATA[ Visiting Romania: The Black Sea ]]> https://rolisz.ro/2020/09/10/visiting-romania-the-black-sea/ 5f5a69604f71eb12e0abba52 Thu, 10 Sep 2020 23:08:33 +0300 Fun fact about me: until this year, I've never been to the Black Sea for touristy, sun bathing and relaxing purposes. I've been there 3 times before: the first time in an April, for a Math Olympiad, when it was cold, the second time in a February, for a Physics Olympiad, when it was extremely cold and a third time in August, on a tour of historic christian sites, which was fun, but exhausting and I didn't have time to relax.

Last weekend, I finally got the chance to enjoy a couple of lazy days and the shade of an umbrella on the beach. And more excitingly for me: I got to fly again. I so missed it.

We flew from Oradea to Bucharest, rented a car and drove 3 hours to Neptun. Surprise: TAROM is an airline company just like any other. It might have been worse in the past, but the flight was very ok. The airport in Oradea is growing: it now has two terminals. Too bad it doesn't have too many flights 😄

Driving on the not so sunny "Sun Highway"

I rented the car from FMNRent and I was very impressed. It was raining pretty bad when we arrived and I didn't know where their office would be, so I was afraid I'd have to walk quite a bit in rain. Well, they waited for us at the airport, took us to the office by car, I signed the papers quickly and we were on our way. Really awesome customer service!

On our way to Neptun we did a small detour to have lunch at Forest M. The pictures on Google Maps don't do it justice. Really nice location, in the middle of a forest, really good atmosphere and great food as well. I want to go to the sea again so that I can stop and eat there again.

And then we got to the seaside finally. I didn't expect Neptun to be so green. Just 2 minutes away from the beach there are nice parks and forests and lots of places to hide from the sun. I liked it. It also has an interesting mix of older communist style buildings and more modern hotels. It used to be Ceaușescu's seaside retreat, so it has a lot of fancy older villas and that's why there are so many parks.

The sea was quite agitated, with many waves. Two observations: first, it's really fun to jump into waves. I don't know why, but it's just fun. Second: there is a certain mystic/transcendent quality to waves washing up on the shore, only for other ones to come again and again. While I know the theory behind the waves and the tide, I can't help but wonder how marvelous and inspiring it must have been for people living ages ago.

I'm not really sure what it was, but even the garlic was delicious

Before going, I heard from multiple people that the Romanian seaside is expensive and that Bulgaria, Greece or Croatia are cheaper. Well, we found a restaurant 2 minutes away from the beach with great food and normal prices. I don't know where everyone else went.

View from the hotel. Eastern Europe in one picture. 

The hotel was meh. To quote Dyatlov, not great, not terrible. It was 5 minutes from the beach, which was the important part.

And then our short trip ended. We flew back, circled the Oradea airport several times, because of unfavorable air currents, saw our house that is still in construction from the air and went back to work.

<![CDATA[ Visiting Romania: Șuior ]]> https://rolisz.ro/2020/08/11/visiting-romania-suior/ 5f32dea14f71eb12e0abb808 Tue, 11 Aug 2020 22:37:26 +0300 I have to admit that I haven't seen too much of my home country. I've set foot in at most half of the counties and I've actually visited and done touristy things in even fewer of them. I've visited more countries than that as a tourist.

But after a recent trip to Maramureș, a county in the Northern part of Romania, I was so impressed by how beautiful it looked, that I want to fix this deficiency I have.

Lake Bodi

Last weekend we went to the Șuior area with some friends who had been there before. First we stopped by Lake Bodi to have lunch there. It's a very calm lake, with very nice surroundings, good for sunbathing, swimming or taking a nice stroll.

Then we went to the Șuior peak. It's a short drive from the lake. During winter, it's a ski resort, so they have a chairlift, which is also operating during summer.

I always enjoy going on chairlifts. It's so quiet up there, as you slowly go up the mountain, with just the trees around you.

Reaching the peak, where there is a weather station, is done by a 40 minute hike, on a 30% slope. As we were going up, we started hearing thunders. Looking around, we see some dark clouds forming. Should we go back or should we press on? Despite me barely catching my breath, we decided to reach the peak, no matter what. I was soaking wet anyway, what's some rain going to do?

Fresh bilberries

We got to the top safely, without only a couple of drops falling on us. We could see in the distance where the rain was flooding everything, but we were safe. We picked some bilberries and then we started going back.

Me walking up barefoot

It rained on us a little bit going down and the grass was more slippery, but we got down safe. When we got there, the chairlift operator told us that the previous group rode the chairlift during the rain and got soaking wet. There was even hail where we left our car. But fortunately, we avoided all of that.

After finishing what the leftovers from lunch, we started the two hour drive back. The other great thing about Maramureș is that even the roads are really scenic. At least the roads we took were really good and often we would go through forests.

All in all, it was a really relaxing day. Thank you our dear "godparents" for taking us out for this fun day and thank you for all the really good talks as well!

I’m publishing this as part of 100 Days To Offload - Day 34.

<![CDATA[ Boardgames Party: Azul ]]> https://rolisz.ro/2020/08/03/boardgames-party-azul/ 5f248b5b4f71eb12e0abb7b8 Mon, 03 Aug 2020 22:38:54 +0300 Last weekend I played a fun game called Azul, which has won many awards, among which the famed Spiel des Jahres in 2018. The name comes from "azulejos", Portuguese tiles made by the Moors. A portugese king fell in love with them and tasks the players with making the most beautiful decoration in his palace.

The factories making the tiles

There are a number of factories "making" four tiles each. On their turn, players take all the tiles of one color from a factory and put the others in the middle. Using these tiles, they have to prepare to decorate the wall.

Top: scoring area. Left: staging area. Right: the wall to be decorated. Bottom: penalty area

Take too many tiles, which don't fit the staging area, you have to put the surplus ones in the penalty area. Don't gather enough tiles of one color to fill one row in the staging area and you are not able to decorate the wall.

Second row is filled and will decorate the wall. Fourth row is missing one tile, so it won't be used in this turn. 

The game lasts until someone manages to fill one horizontal row on the wall. You get extra points if you fill out vertical rows or if you manage to place all the tiles of one color.

The game is quite simple to explain and it doesn't last long. On our first play, with reading the instructions and understanding the rules, it took one hour, of which the actual game play was half. Despite it's simplicity, there are several interesting strategies to explore, whether to go for the shorter rows first, or for the longer ones, whether to try to get extra points by doing the bonus stuff or whether to try to finish first. It was a nice brain teaser for a Friday night.

Score: nine

The tiles are kept in this really cute bag

I’m publishing this as part of 100 Days To Offload - Day 33.

<![CDATA[ Note taking with Obsidian ]]> https://rolisz.ro/2020/07/28/obsidian/ 5efb2d5717253e7fe6dd64ca Tue, 28 Jul 2020 10:37:56 +0300 After starting to use spaced repetition more actively and being more consistent with my journaling, now I've tackled improving my note taking skills.

Over the last couple of months, I've read about various note-taking methods, different approaches and diverse goals for them and they helped me change my perspective on collecting ideas.

My previous approaches to taking notes

While I was still in school, I didn't take too good notes. I guess the Romanian educational system is not set up to encourage that kind of critical thinking which leads to taking good notes. In most classes, the teacher would dictate a lesson, I would write that down and then memorize it, without needing to create my own summarized version of the lesson.

Then I took notes in Google Keep. When it came out, I was impressed by how simple and snappy it was, compared to Evernote for example. I've used it for around 6 years, so I have a lot of notes jotted down there. But Keep doesn't offer good ways to organize notes, having only tags and search. But to search, you have to remember something to look for, so it's almost impossible to find notes which you have forgotten.

As I've started moving my notes from Keep to Obsidian, I found a lot of old notes which I had totally forgotten about. Some of those notes were ideas I had, but I never followed up on them. Looking back they were good ideas: I know because in the meantime other people have implemented them.

Goals of a note taking system

A goal of a note taking system should be to store information, so that your brain can do more fun/useful stuff.

But another goal is to help you connect ideas, even from different domains. As you read things in books, blogs, or come up with ideas on your own, eventually some of them will be related and can be combined to make something even better. The note taking system should facilitate creating these connections.

It should also help you process your notes. A note is not a static thing. It's not something you just write down and then never touch again. Almost all ideas will eventually need refining. When you read a book and find something noteworthy, you write some notes, but in time you find that you can reword it better, as you understand things better. For your own ideas, in time you add something; you cut some things, hopefully making them better and then you create something with them.

Lastly, the note organizing system should help you organize and browse your notes. It should encourage serendipitous rediscovery of forgotten notes. It should help visualize them. It should make it easy to see all notes that are related to a certain note or to a certain topic.

Enter Obsidian

Meta: Writing this post in Obsidian. Left: folder pane; middle: raw markdown; right: Rendered note

Obsidian is a new desktop app for creating a "A second brain, for you, forever.". It's quite new, it was released publicly two months ago and it's not even at version 1.0, but development is progressing quite quickly, with a new version coming out almost weekly.

Obsidian is built around Markdown files, which means that the notes are portable and won't get stuck in an old program, should the company go out of business. It enhances the Markdown syntax with the some shortcuts for creating connections between pages using [[name of other page]] syntax. You can see for each page what other pages link back to it. There's also a way to embed one file (or part of a file) into another one.

The graph view

One cool looking feature in Obsidian is the graph view, where you can visualize how your notes are connected. This leads to some interesting looking "constellations".

There are also plugins available. For now, the API is internal, so all the plugins are made by the same company, but they say that once they reach 1.0, they will make the API public.

Because Obsidian is based on Markdown files, you can store them wherever you want and you can sync them across devices with your favorite syncing tool. So far, I've used GitHub.

One disadvantage is that it doesn't have a mobile app so far (or a remote interface in general). On one hand, it's not a big issue for me, because my goals for notes require a big screen and a nice keyboard. In practice, I still like to have access to my notes even on the go, so I just use an Android Git client with a Markdown editor. Maybe one day I'll change this to expose my notes as a static website.

My note taking workflow

My workflow is inspired by (but only inspired, not fully copied from) the Zettelkasten method of Niklas Luhman, which is the trending note taking framework du jour, sprinkled with ideas from Tiago Forte and others. When my note-taking workflow grows up, it wants to be like Andy Matuschak's notes.

I have a loose categorization of my notes into folders. I'm not very strict about them and I don't want to spend much time organizing a hierarchy. Some notes also have tags (simply words prefixed with # and Obsidian is smart enough to start a search for them if you click on one).

Many of my notes don't start their life in Obsidian, but in my bullet journal. When I hear something new, or I read something interesting, often my bullet journal is closer to me, so I jot down the main ideas there. Then, when I get to my computer and I have time I copy it into Obsidian and I flesh out the ideas fully. Then I try to find any other notes that are relevant and add connections to them.

One thing that I try to do is to make my notes my own. This means that if I read an interesting article, I don't just copy paste the interesting parts, but I actually reword them and write them down as I understood them. This helps both comprehension and retention.

For certain topics, I create index maps, where I list all the notes that I have related to that topic. So notes belong to multiple index maps, because they are relevant in different areas.

As I add new notes and create connections between them, I end up revisiting old notes and updating them. Sometimes it's with a negative update (it didn't pan out, it was a wrong idea), but sometimes it's a positive one (a further development or something similar someone else has done).

The most interesting part is when notes from very different areas start to "touch" each other. Because of the graph view, it's easy to see how close notes are to each other. I also use the graph view to see what notes are isolated and then I try to find them a place. As you can see in the above screenshot, I still have a lot of work to do.

So far I have added 160 notes in Obsidian, so it's a small knowledge base. I still have many notes in Google Keep to move over. But I feel like Obsidian has already helped me (I feel on top of my notes) and I hope something nice (and useful) will come out of it.

Top photo by Pogány Péter - Egen Wark.

I’m publishing this as part of 100 Days To Offload - Day 31.

<![CDATA[ Battlestar Galactica ]]> https://rolisz.ro/2020/07/25/bsg/ 5efb1f3917253e7fe6dd6465 Sat, 25 Jul 2020 21:15:03 +0300 I finally did it: I watched one of the best TV shows made in the last 20 years (at least according to a list made by the New York Times). For some reason, I didn't like the concept back when it aired, but I decided to give it a shot after I finished Travelers. And I was hooked.

Battlerstar Galactica (BSG) is nominally a sci-fi show about a war between humans and the robots they created. But the show actually is more about all kinds of philosophical, political, religious and metaphysical debates.

It's a 15 year old show, but somehow I have avoided spoilers and I had pretty much no idea about anything that would happen. But this post will have spoilers :P

One of the recurring themes in the show is that of a cyclical repetition of history: "All this has happened before, and all this will happen again" is a motto oft repeated in the show. There is a recurring theme of humans creating robots (cylons), cylons rebelling against their makers, cylons almost wiping out the humans and then this would repeat again, several thousand years later. The show tries to end on an optimistic note, that maybe now the cycle might be broken, due to the "law of large numbers".

The eponymous battlestar

BSG also explores how a civilization should be lead. The humans are initially governed as a democracy, with elections, fair trials and so on. But those things tend to get in the way of quick and decisive action, which is needed during war. There are several military coups, rebellions, sham trials and so on. They get pretty close to exploring communism, to get rid of class warfare. They are willing to do genocide against the cylons, initially not being able to consider getting to a peaceful agreement with them. Even though initially the two leaders, Admiral Adama and President Roslin are very likeable, after four seasons, during which they had to make many questionable decisions, they lose a lot of their charisma.

Religion has an important role for the people (and machines) of BSG. Humans start out with a polytheistic religion ("coincidentally", with names from the Roman and Greek pantheon). Cylons have a monotheistic religion, I'd say a bit inspired from Christianity. There are religious writing that make prophecies which (seem) to come true and which guide the humans in their search for a new home. I am a bit conflicted about this part. On one hand, my personal beliefs are somewhat similar to what the ending of the show ("it's part of God's plan"), but at the same time, I like my sci-fi with less religion.

Over the course of 4 seasons, all the characters evolve. As I said before, the leadership gets stained by all the hard decisions they've had to made and by the end of the show they are tired and sick of it all. Apollo is hilarious as he gets fat and lazy and then has to work extra hard to get back in shape (though maybe I shouldn't be laughing at this...). But the character development of Gaius Baltar is a bit too extreme for me. He goes from a completely selfish and narcisistic person to being a guy preaching love and forgiveness and who's ready to give his life for the greater good. I don't know, it feels too fishy. On the other, Starbuck being revealed to be an "angel" or whatever she was... scratches head confused.

A cylon centurion

The cliffhangers in the show are great. I had the privilege of binge watching, but I think 13 years, the midseason breaks and the season finales were brutal. The one at the middle of the 4th season, when they find Earth and it's a radioactive pile of rubble, wow, that gave some really nice twists to everything, especially about the origins of the Final Five cylons.

The technology used in-universe is weird. On one hand, they have very advanced stuff, like faster than light travel, on the other hand, they use really old-school analog scales, you know, the ones where you have to adjust the weights. The computers are not networked, but at least they have a good explanation for that: so that Cylon viruses can't spread from one system to another. But their papers are weird: they have their corners cut off. The process for refining tyllium (their fuel) is extremely manual, almost like coal mining 100 years ago.

The show was made before Netflix came and changed the format of TV shows. While the first season is short (10 episodes), the others have 20 episodes. I have to say, I'm glad TV shows nowadays are shorter. Seasons 2 and 3 have a lot of filler episodes. Season 4 is better, because the writers knew the series was going to end, so they could plan accordingly.

The acting is quite good. In particular, James Callis does a remarkable job with Gaius Baltar, exhibiting over four seasons a comprehensive range of human emotions. Tricia Helfer also has a quite challenging role, having to play the many clones of the Number 6 Cylon, in different places and different postures.

I really liked this show. It is one of the most captivating shows I've watched in the last 2-3 years. It has some flaws, but it's a really great space opera.

Grade: 10

As a side note: I watched this on Amazon Prime and the English subtitles are so bad. Sometimes the subtitles are off by 1 second (I haven't had this issue anywhere else in the last 10 years) and sometimes it seems like the subtitles were written by ear by someone who doesn't have good English.

I’m publishing this as part of 100 Days To Offload - Day 30.