• I started coding when I was 7 years old and until I was 29 or so, my whole professional life was coding. Then, the startup I co-founded had to hire some people because it was doing well and I became a manager. I discovered I love managing as much as coding, but there was an ongoing issue: at the end of a day coding, I could look back at my code and feel productive, whereas at the end of a day managing, mostly meetings, I felt exhausted and with nothing to show for.

    I highly recommend it to all managers: write down notes.

    I’ve been managing for 10 years, taking over and building teams from scratch, being hands on and hands off and that feeling of not being productive is rarely there and I think there’s one habit that I have that helps a lot and I highly recommend it to all managers: write down notes.

    I go into every meeting with some note taking tool. If the meeting is face to face, I prefer to stick to pen and paper, because a computer can stablish a divide. The other person doesn’t know what I’m typing, I may be chatting with a friend. With pen and paper it’s immediately obvious I’m taking notes and there’s no wall (the screen) between me and the other person.

    But now we are all remote, and the notes are digital. This is so much better because it cuts down (but doesn’t completely remove) the need to process notes post-meeting. Depending on the type of meeting, I even share my screen so the other person can look at the notes I’m writing. You have no idea how many misunderstandings were caught this way. They said something, I misunderstood them, wrote it down in front of them and they corrected me. If you are not sharing notes, repeat what you wrote to the other person to have the same effect. This is similar to active listening.

    There are a few more things that I do with my notes that I highly recommend.

    I try to make all my meetings 50 minutes long, with 10 minutes to review and action notes. If we reach the 50 minute mark, ideally, I want to just book another one to continue. Having meetings overrun and everybody being late to the next meeting is very bad to the morale of a company but being the only person enforcing the strict end of meetings can be hard.

    When I review the notes, if the meeting was just the two of us or sensitive, I write them down on an email and I send them to the other people in the meeting. This helps have a shared record of what happened. Otherwise I write them down on a public record in a centralized documentation system, like Confluence or Notion.

    Looking at my written notes gives me the same feeling of accomplishment than looking at my written code. I’ve done something.

    Once a week I go through my week worth of notes to see if I have missed something. If they are written on paper this is when I digitize them for permanent record. This also informs the report to my boss about what happened that week. Looking at my written notes gives me the same feeling of accomplishment than looking at my written code. I’ve done something.

    If you found this valuable, you may be interested in my book: Building and Managing Distributed Teams.




  • All of them, of course, depending on what you are reading. Here’s a short overview of when to use each of them inspired by a Twitter conversation with Tania Dsouza.

    If the book is amazing and you need to highlight stuff, buy the Kindle version.

    If it’s a book that you lend or give away, buy paper versions

    Here’s my workflow for choosing:

    1. Use Audible whenever possible, because going through audiobooks is much easier than going through any other format.
    2. If the book has code or diagrams, most likely the audiobook won’t exist, but if you need to chose between Kindle and paper, choose paper. Big pages, diagrams, code, thumbing through pages are things that paper beats Kindle any day.
    3. If the book is amazing and you need to highlight stuff, buy the Kindle version. If it’s amazing, re-reading it is probably a good idea and Kindle is really good at highlighting sections. If you need to write notes, the Kindle device is not that good, but the Kindle app on your phone is and they do synchronize, so you can switch back and forth. If you are a non-linear note-taker, the paper version might be better.
    4. If it’s a book that you lend or give away, buy paper versions. Digital can’t be given away (not easily).
    5. If it’s fiction or something you’ll read very linearly and you won’t listen to the audiobook, buy the Kindle version. This is where Kindle is the best.
    6. If you want it signed by the author, or on your shelf, buy the paper version. A few times I listened to a book and it was amazing and I bought the paper version just because I want it sitting on my shelf. This is more book collecting than book reading and there’s nothing wrong with it.
    7. If you are in front of it at a shop and want it, just buy it. Don’t be dogmatic about using a single format for everything, be a multi-format reader.

    And now, the background story…

    I’m a book lover, I grew up in a house that didn’t have a library, it was a library. When I was a kid my mom told me “We always have money for books”. I actually found the limit of that statement, but that’s another story. By the time I moved out of my parent’s house, my own collection was about 200 or 300 books. I’m not sure, I didn’t keep it. I gave most of it away to a friend that was setting up a used book store during the 2001 Argentina financial crisis and the only reason it didn’t break my heart was because helping my friend came first. I like paper books, their feel, their smell. I have a small collection of signed books that a prize possessions.

    For a while I tried switching to one format to rule them all, but it doesn’t work.

    But I also love tech, I’ve been coding since I was 7 years old, and always playing with the latest technologies. Reading from an electronic device where I can access all books and all information gets me excited. I bought some of the earlier ebook readers, made by Sony, before Amazon dominated the industry with the Kindle. And like most of us, I’m very busy, and sitting down to read a book is not something that comes easy. When I started to use Goodreads I realized how little I was actually reading and I didn’t like it. Audiobooks came to the rescue. They allow me to read a book while doing mindless but necessary activities, like chores, working out, commuting (not a lot of that happening lately).

    For a while I tried switching to one format to rule them all, but it doesn’t work. Books are not all equal. Some work very well as audiobooks, some work very well in Kindle, and some require paper to be consumed. My method of reading books might seem a bit inefficient in that if I want to write notes, I end up reading a book twice. But if the end result is that I read more books, that lower inefficiency doesn’t matter because I increased my efficacy.

    If you are reading this blog post, I expect you are very familiar with paper books but considering Kindle and Audible, so I’ll just talk a bit more about them.

    With Kindle, you can have apps on your computer, phone and tablet as well as dedicated Kindle e-readers. They all connect to your Amazon account and they all get the same books and synchronize in which page you are. That means you may do most of your reading on a Kindle device, but open the app in your phone when you find yourself with some time to kill (better than doom-scrolling). You can start to experience Kindle with just your phone or tablet and buy a Kindle e-reader only if it’s working for you, but let me tell you, the screens on those e-readers are so much better for reading than your phone, they are much closer to paper.

    Kindle Paperwhite: to me this feels like the Kindle. It has some very important features: waterproofing and warm light. This is the one I recommend to most people.

    Understanding Kindle

    Amazon offers several Kindle e-readers:

    • Kindle: the most basic e-reader. If you want to save money, if you want to try, maybe this is a good starting point.
    • Kindle Paperwhite: to me this feels like the Kindle. It has some very important features: waterproofing and warm light. This is the one I recommend to most people.
    • Kindle Paperwhite Signature Edition: ok Amazon, you need to get better at naming things. What happened here? I don’t see why anyone would get this one to be honest. Auto-adjusting light? meh, I will adjust it anyway. Wireless charging? I plug my Kindle every other week. 32GB instead of 8GB makes no difference, books are tiny (unless you are storing audiobooks, which I don’t think you should).
    • Kindle Oasis: this is the top of the line, the most expensive, the luxury version. This is the one I have and it was a present. What used to be its killer feature, warm light, is not present in the Paperwhite version. It has some nice features, like the auto rotate page, the buttons, the mobile connectivity, but those only add value if you actually use them. Auto-rotate and buttons may be useful depending on how you hold the book. They are useful to me, but it’s hard to predict if they’ll be useful to someone else.

    Some extra things to keep in mind when buying a Kindle:

    You can store audiobooks in them, but then you need to pair your headphones to your Kindle. I have enough trouble with my headphones being paired to my phone and computer, I don’t need another device. When I’m listening to audiobooks I’m on the go, working out, doing chores. I have my phone on me, but not my Kindle on me. I don’t think this is a very valuable feature.

    All Kindles come in two versions, with and without ads. I don’t know if you can upgrade to not have ads, I always bought mine without ads. Make sure you choose what’s appropriate for you. They also tend to have deals with Kindle Unlimited. Kindle Unlimited is like the Netflix of books, where you don’t pay for each individual book. The catalog is hit or miss and I never got it. My partner reads way more books than me and she got it for a while. If you start a free trial, make sure to set a task to stop it to allow paying for a subscription you don’t want.

    Screenshot of amazon.com showing the options to buy a Kindle.

    When purchasing a Kindle, you can choose to have it tied to your account already. It’s a sort of pre-setup that they do. If it’s a present don’t chose this option. If it’s for you, it’s convenient.

    Kindles have two ways of connection to the Internet: wi-fi and mobile. Mobile now is only available in the Oasis, the most expensive one. I never got a Kindle with mobile connectivity but I had friends that did. If you are a person that’s on the go a lot, that might be convenient, because it’ll keep your page synchronized even when wi-fi is not present. If I’m on the go and I want to buy a book, what I do is make my phone into a hotspot, connect my Kindle to it, and then buy and download the book. This is very rare.

    I can’t comment on the Kindle for Kids since I never tried. Amazon lets you form a family and then everybody in the family can see the books of others. Unfortunately an Amazon family can only have two adults, which I find frustrating.

    Understanding Audible

    Amazon bought Audible, but it’s not completely integrated into the Amazon ecosystem yet. There’s a separate app from Kindle called Audible that you use to listen to audiobooks although the Kindle e-readers can also play the same audiobooks and I believe the Kindle app can do it as well. I still recommend you just use the Audible app on your phone, because you already have your headphones connected to your phone and your phone on you, what you need to listen to books.

    You can buy audio books one by one, but they are quite expensive. Audible offers several memberships that are much cheaper per book. There are four offerings:

    • Audible Premium Plus: 1 credit per month.
    • Audible Premium Plus—2 Credits: 2 credits per month.
    • Audible Premium Plus Annual—12 Credits: 12 credits per year.
    • Audible Premium Plus Annual—24 Credits: 24 credits per year.

    Who named these plans? This names are terrible, but that’s for another blog post.

    These plans give you credits. Once upon a time, books could cost 1 or 2 credits, depending on the length. I haven’t seen a book costing more than 1 credit in ages, so when you see “credit” you can read “book”.

    The higher you go in plan, the cheaper per credit they become, as you would expect. But the annual ones have an extra benefit. Credits accumulate so if you don’t use them, they’ll just pile up (at some point I think they expire, but that’s not a problem I had). If you find yourself with 0 credits and you are in a monthly plan and you want a book, you’ll have to buy the book, at its cash price, which can be as bad as double or more what a credit costs. If you have an annual plan, you can renew early. For example, I have the 24 credits per year, but if I run out of credits, and this has happened, I just click the renew button and start another year of subscription on that day.

    If you have an annual plan, you can renew early. For example, I have the 24 credits per year, but if I run out of credits, and this has happened, I just click the renew button and start another year of subscription on that day.

    My recommendation is that you get the 1 credit per month plan to give Audible a try, and if it’s working well for you after 3 to 6 months, switch to the 12 credits per year. If you run out of credits, then consider renewing early or switching to 24 credits per year.

    Some books in Amazon have a feature called whispersync. This allows to synchronize the page in Kindle with the position in Audible. You can be listening to a book in the car, get home, pick up your e-reader and continue reading. When a book has whispersync and you own one of the two mediums, generally the other one is much cheaper. I think buying audiobooks on deal through whispersync after you bought the Kindle version is cheaper than a credit (but Kindle + audiobook is way more than a credit). If you only use Audible with whispersync-ed books, a membership might not make sense at all. I can’t comment beyond that because I have never used whispersync.

    And that’s all. I hope this post helps you become a multi-format reader and that allows you to read more. It certainly help me:

    Picture showing my reading challenges since 2011 until 2022, all completed, where I read a total of 362 books.

    Happy reading!




  • This blog post is a sample chapter from my book:

    How to Hire and Manage Remote Teams

    The term one-on-one evolved to refer to a specific type of meeting and does not mean any general meeting that has two people on it. One-on-ones are the regular meetings between a manager and each of their reportees. One-on-ones are always important but in a distributed team they become critical – mainly because you are not going to be able to run into your reportees on the hallways and have a quick meaningful conversation opportunistically.

    A one-on-one has several goals and I recommend the relevant chapters on The Hard Thing About Hard Things (Ben horowitz) and High Output Management (Andrew Grove) in order to understand more about how to conduct them and their importance.

    The main and most critical role of the one-on-one is to identify problems, or potential problems, as early as possible. By the time one of your employees tells you they have another job offer, more often than not, it’s way too late to do anything about it. The issues leading to their moving posts will have started long before, perhaps months, and the opportunity to address them will have been when it first arose. If you’re not aware, and not providing the opportunity for your worker to make you aware, a problem can fester beyond the point of salvation. The one-on-one aims to reduce this possibility.

    A one-on-one is the time when an employee can bring up small issues:

    • I’m not happy with our project.
    • Work is boring.
    • I feel my ideas are ignored.
    • This person is being rude to me.
    • The way we work just sucks.

    And from that information it is your job to start fixing it. 

    However, it is unlikely your employee will feel empowered to say any of this unless they already trust you. For this reason, one-on-ones should not be reserved for only dealing with critical issues, or when you suspect there could be a problem. Routinely meeting is an exercise in building the rapport that will be required for the worker to bring up any real problem.

    For those uneventful one-on-ones, it is important that you keep a balance between listening and sharing. If you don’t share anything at all, you’ll end up coming across as an interrogator. It is through sharing that you show them that you are listening and empathizing with what they are saying.

    The opposite tends to be a bigger problem. If you as the manager go into long monologues during the one on ones most of your employees will respectfully listen and hate every minute of it. Many of us tend to have a bias that means that if we feel we spoke for 50% of the time, we actually spoke 70% of the time, so you might need to rein it in.

    Since you are doing this remotely, you could get a stopwatch and during a couple one-on-ones measure how much you talk or how much they talk. Don’t worry about getting too precise (for example, when switching back and forth quickly during clarifying questions). This is just a rough approximation. Your performance during those one-on-ones will be distracted, so this isn’t something to do regularly, but it can be a useful self-test to show yourself your baseline.

    To achieve a good balance, here’s a recipe you can follow:

    1. Start with the pleasantries: How are you? Fine, you? Fine. This is neither sincere nor useless. It’s a protocol to start communicating, it establishes cadence, tone of voice. Don’t ignore it, but also don’t take it at face value.
    2. Ask one or two questions to let the worker become comfortable talking. “How was this week?” or “That was a good release, wasn’t it?”
    3. Re-ask them how they are doing: “Now, really, how are you doing? All good in your life?”. Now is when you need to start practicing silence.
    4. Ask them if they have any questions for you. Continue practicing silence.
    5. Ask them what was the best or worst part of the week. Again… silence.

    When I say practice silence, what I mean is that you ask the question and then shut up. Different people take different amounts of time to start talking. Especially if they need to bring up a difficult subject, which can require mustering some courage. Give them time and space. This will feel uncomfortable, but it’s a skill you need to master. There are some stereotypes that introverts are more comfortable with silence than extroverts, but I’m not sure how true it is. If you are a manager, you are probably more comfortable talking than the worker (if they are developers for example), so you might need to put up with more discomfort.

    The initial “How are you?” question is part of the protocol of starting a conversation. There are some studies that show that it establishes speed cadence, tone of voice and other aspects of communication. What it’s not is a sincere question of how someone is doing. Don’t expect people to answer it truthfully; if they do, great! But most people need to be asked twice. But… avoid asking twice in a row. When we are asked the same question twice in quick succession, it engenders the feeling of being accused, as though we are lying or are being unreliable – so most of us will dig in our heels and avoid changing our answer. Most of us need to warm up to a conversation before we can answer truthfully. So ask some other benign questions, and then circle back round to it. 

    If at any point during that recipe your worker takes off on a tangent that is useful, as in it’s providing you with the information you need about their wellbeing, drop the recipe and follow their lead. The recipe is there for the cases where a worker is being more passive, which is likely to be true when you are just starting to work together.

    I recommend taking copious notes during the ones-on-ones and following up on things that were happening. These notes should be strictly private.

    I tend to run one-on-ones in two different schedules:

    • Weekly but optional.
    • Every other week but mandatory.

    Every other week but mandatory is the default way I use to schedule one-on-ones. Weekly but optional is a scheme that I use under many special circumstances:

    • The employee and I don’t know each other well.
    • The employee is new to the team.
    • I am new to the team.
    • There’s an ongoing issue or conflict.
    • They are a junior employee needing more guidance.

    The optionality has limitations: we can skip one, if they are being productive and have no pending issues to discuss in the one-on-one. Once it’s skipped one week, the next week it becomes mandatory.

    Normally I book one-on-ones to last 25 minutes with five minutes for me to finalize my notes. If someone reaches the end of the one-on-one and there are pending issues to resolve, book another meeting straight away to continue working on it (this rarely happens).

    It’s very easy for one on ones to become status reports. It’s something easy for the worker to say, and it’s something easy for the manager to consume, but the one on ones are not about performance or what got done. To drive that point: imagine the situation in which the line manager and the project manager are different people, the line manager does the one-on-one but the project manager cares about the status reports of what has been done. 

    Instead, I suggest you just say something along the lines of: “This is not about a progress report, but was there anything you enjoyed or that annoyed you this week?”

    That last part of the question allows the worker to do a retrospective and instead of talking about having achieved tasks A, B and C, they can talk about how whilst doing C they had a conflict with another worker; or how they loved doing B and wished they were doing more of that. Those are important signals for you.

    The one-on-ones cannot be extremely transactional. It takes time for someone to be comfortable to tell you about a problem they have. This is normal: people literally go to the doctor, where their confidentiality is protected by law, and still procrastinate on sharing something because it’s uncomfortable. So don’t expect that a worker will just show up and tell you there’s a problem because you have an “open door” policy. You need more than that. You really need to prove yourself approachable proactively, and that happens through repeated positive small interactions.

    If, like me, you have a terrible memory, write down the names of their spouses, children, pets, birthdays, what’s going on with their lives and ask them about it the next time (“how was your holiday to Mallorca?” or “How was [daughter’s name] school play?”). These are notes that I consider extremely private; not to be shared with employers or other managers. I don’t even write them on a medium they could gain access to (normally I use paper). For me, it’s the same as with any other friend: I have a calendar with their birthdays, because it’s important that I don’t miss them.

    In Summary: one-on-ones are often neglected or perceived as only necessary when something is already wrong. In fact they are a vital means of establishing rapport with your team and keeping on top of what’s going on with your employers. This is really the only way you’re going to be able to identify minor issues before they become big problems, and has knock-on effects on employee retention, team morale, and productivity.

    This blog post is a sample chapter from my book:

    How to Hire and Manage Remote Teams




  • Now that a lot of the world is trying to go back to normal post-pandemic I see hybrid work being proposed as the solution and I strongly disagree that it is the future. The problem with hybrid work is one of real estate. To understand that, let’s go back in time to 2019, before we knew what a Coronavirus is.

    Companies would open offices in cities like New York and London despite the fact that their real estate was among the most expensive in the world and the salaries were among the highest in the country. Why is that? Why not open an office in Alaska? Or Scotland? Well, it’s because you need to hire talented people and hiring in Alaska or Scotland is hard because you lack the density of the workforce that you can find in the likes of London and New York..

    But why not open the office and have people move to those places? Well, for the workers it’s the same equation. They want the density of opportunities. They want to be able to quit the job and have another one. They want a career. That’s why the workers are willing to live in tiny dark flats in New York and London while spending half their salary on rent. They could move to Scotland and Alaska and find better and cheaper houses, but they wouldn’t have the jobs.

    Those tiny dark shared flats of the Londons and New Yorks of the world are not suitable for working from home. There’s not enough space for them to have a comfortable office in them. This is not a problem for your average office worker and it’s not a problem for your average distributed/remote worker, because the latter will not live in those cities. But this is a problem with hybrid work.

    The problem with hybrid work is that out of the revenue of the company you need to pay for an office in a central location, like London or New York, the salaries of high density cities, and the reals estate of a big enough flat or house in those locations for people to have space at home to work comfortable. Pretty much no company has that amount of revenue, and no company should destroy their own profits with such a decision. This is why hybrid work doesn’t work.

    I think hybrid work is a reaction to the challenges and fears of running a fully distributed company. For many managers, bosses, and owners it’s been very hard. They still want to see their workers, but the workers want to stay at home. My recommendation is to learn to live without workers at the office. This doesn’t mean no face to face interaction. Instead face to face interaction should be crafted to maximise what they are good at, which is forming bonds among people and working on big ideas.

    Instead of meeting every other day at the office and spending half of that day on video conferences anyway, it would be much better to meet once a quarter or every 6 months at a retreat somewhere, a hotel for a couple of days or a week of very intense work. If you want to learn from the masters of this, read The Year Without Pants. If you are wondering where the budget comes for such an extravagant expense:

    • Not paying for an office.
    • Lower salaries due to people not being in London or New York.

    There are exceptions to this rule. There are some companies that have a fixed location, such as universities and hospitals. Those companies might want to have hybrid work to emulate and  get some of the advantages of remote work. These exceptions should be rare in my opinion.

    If you want to learn more about building and managing distributed teams, I am still writing my book on the subject.




  • I just figured out how to use Font Awesome 6 in a Rails 7 project that uses importmaps. I’m not entirely sure why this works and why some of the workarounds are needed, but my googling yielded no results when I was searching so hopefully here I’ll be saving the next person some time.

    If you search Rubygems for gems with the name “font awesome” you’ll find quite a few but I didn’t like any of them. They all use the font version of the icons, instead of the SVG, or they are very outdated, or they expect you to use SCSS, which I’m not using at the moment. But ultimately, the team at Font Awesome maintains the NPM packages and we should use those directly, not re-wrap packages that will always be out of date.

    For me, using NPM packages directly was higher priority than using importmaps. That’s how strongly I feel about it. I would have installed Webpacker to use Font Awesome’s main package.

    I managed to make this work, but if I’m frank, I’m not 100% sure why the workarounds are needed, so if you have any insights about it or how to improve this, please drop a comment.

    Font Awesome’s documentation says you should install the fontawesome-free package:

    npm install --save @fortawesome/fontawesome-free
    

    Instead we are going to pin that package, but also some of the dependencies we need later:

    ./bin/importmap pin @fortawesome/fontawesome-free \
                        @fortawesome/fontawesome-svg-core \
                        @fortawesome/free-brands-svg-icons \
                        @fortawesome/free-regular-svg-icons \
                        @fortawesome/free-solid-svg-icons
    

    This adds the following lines to your importmap.rb:

    pin "@fortawesome/fontawesome-free", to: "https://ga.jspm.io/npm:@fortawesome/fontawesome-free@6.0.0/js/fontawesome.js"
    pin "@fortawesome/fontawesome-svg-core", to: "https://ga.jspm.io/npm:@fortawesome/fontawesome-svg-core@1.3.0/index.es.js"
    pin "@fortawesome/free-brands-svg-icons", to: "https://ga.jspm.io/npm:@fortawesome/free-brands-svg-icons@6.0.0/index.es.js"
    pin "@fortawesome/free-regular-svg-icons", to: "https://ga.jspm.io/npm:@fortawesome/free-regular-svg-icons@6.0.0/index.es.js"
    pin "@fortawesome/free-solid-svg-icons", to: "https://ga.jspm.io/npm:@fortawesome/free-solid-svg-icons@6.0.0/index.es.js"
    

    Then Font Awesome’s documentation says you should add these lines to your code:

    <script defer src="/your-path-to-fontawesome/js/brands.js"></script>
    <script defer src="/your-path-to-fontawesome/js/solid.js"></script>
    <script defer src="/your-path-to-fontawesome/js/fontawesome.js"></script>
    

    Which might make you think this is a good idea:

    <script defer src="https://ga.jspm.io/npm:@fortawesome/fontawesome-free@6.0.0/js/brands.js"></script>
    <script defer src="https://ga.jspm.io/npm:@fortawesome/fontawesome-free@6.0.0/js/solid.js"></script>
    <script defer src="https://ga.jspm.io/npm:@fortawesome/fontawesome-free@6.0.0/js/fontawesome.js"></script>
    

    But it doesn’t work. It fails with this error:

    Here I’m a bit confused. How come it fails with that error? Any ideas?

    What did work was editing app/javascript/application.js and adding::

    import {far} from "@fortawesome/free-regular-svg-icons"
    import {fas} from "@fortawesome/free-solid-svg-icons"
    import {fab} from "@fortawesome/free-brands-svg-icons"
    import {library} from "@fortawesome/fontawesome-svg-core"
    import "@fortawesome/fontawesome-free"
    library.add(far, fas, fab)
    

    I can’t help but feel that there’s a function or method in fontawesome-free that I could call that would do all the setup automatically with less imports and less library building, but I couldn’t find it yet.




  • light inside library

    I have a problem: 3 or 5 stars?

    by

    I’m an avid reader and I review every single book I read. I force myself to write at least two paragraphs. This is useful to me because sometimes I forget I have read something; seeing and reading back my own reviews answers the ‘did I already read that’ question but also refreshes my memory on what I thought of it. I do this in Goodreads, where I’m asked to provide a star quality rating of the book, and that’s where the problem starts.

    Normally, I rate them for myself and my rating is this:

    • 5: Amazing book, humanity is better off because this book exists and everyone should read it.
    • 4: Great book, will recommend it to most people.
    • 3: Good book, I enjoyed reading it.
    • 2: Bad book, I didn’t enjoy reading it.
    • 1: Terrible book, this is actively harmful for humanity and should not have been written.

    This naturally means most of my books get 3 stars, some 4 and 2 and even less 5 and 1. It’s a bell curve! Which should surprise no one. Actually, I think there are way more books in the 1-star category out there for consumption, it’s just very rare I accidentally read one. 

    But this is not how most people use star ratings. And it is also not how we are encouraged to use them either. Take Uber: in the event you did not give five stars, it specifically requests you to answer what was wrong with the trip. If the trip was perfectly adequate, it is expected that this be rated five stars. The upshot of this is that there is no way to reflect service that went above and beyond, or was otherwise better than ‘fine.’

    So most people give 5 stars unless there’s something wrong, in which case they start removing stars. 1 thing wrong? 4 stars. 2 things wrong? 3 stars. I think this is a bad way of rating things because, as mentioned above, it means you have no way of differentiating good, great and amazing: they all get the same 5 stars. For a service like Uber this is not such a problem, but for artistic works and for books it doesn’t fit. 

    I used to just do the rating for myself so I didn’t care I was using a different system to the rest. But when publishing on Goodreads and interacting with other people it became rather controversial: I have received both praise and criticism for this. Some people caught on and they know that when I give 4 and 5 stars, it’s a rarity and worth taking a look. Some people asked me why a book that I enjoyed, and recommended to them, is getting only 3 stars.

    What’s really bothering me with my discrepant system is that an author gets a (small) penalty for me being interested in them. Granted, this is tiny and unlikely to be noticed in the grand scheme of readers, but it still bothers me. Their average will go down, which negatively affects public perception, even though it really shouldn’t be perceived that way (to my mind). It also bothers me that an author might see 3 or 4 stars and be hurt and then confused by my positive review.

    Should I give up and remap my review system to what everyone else is doing? I dislike losing a way to signal “This book is amazing” By all means send your suggestions.




  • I believe self-driving cars will change humanity. 

    I don’t know what car ownership will look like; some say individual ownership will be unnecessary, when you can just summon a shared car whenever you need it, like an Uber. For me personally I will always prefer my own vehicle as my car is a second home. But this post is not about car ownership. But a feedback loop in scaling down might mean car ownership might end up like horse ownership: rare, for the rich.

    But that’s not the most important aspect of course, because self-driving cars have the potential to change the landscape of humanity in other ways. Self-driving cars will make cities obsolete. Living in a city is expensive and uncomfortable. It’s expensive because people are competing for the space to live there with prices reflecting this demand. It’s uncomfortable because this high value means smaller houses are more profitable than bigger ones and so it has become a race to the bottom of what’s the smallest livable shoebox, while the countryside experiences depopulation. There are plenty of better analyses of this process out there that I shan’t repeat here, however I have some thoughts on a couple of the main reasons for this. 

    I think there are two reasons people put themselves through the increasingly dystopian city lifestyle: financial and social opportunity. Financial opportunity in the fact that there are more and high paying jobs in the cities than in the countryside. The social opportunity is the fact that you can find your tribe: you don’t have to be the odd one out in your town, because when you live in a city there’s a plenty of odd people like you. This is why, in my opinion, cities are more liberal and attract the people in the fringes: the weirdos, the geeks, the alternatives and progressives. I’m one of them but I digress. 

    Look what happened during the pandemic. People couldn’t socialize, so the value of being in a major metropolis dropped close to zero. Furthermore, working from home meant the sacrifice of living in cramped conditions was no longer worth it. Suddenly people started moving away from cities in droves not previously seen. As the pandemic comes to a close, there may be some reversal of this, however as remote and flexible working continues many people are not coming back. I still see the social aspect as a big pull for many people: you want to go out with your like minded friends in the evening to a pub or a movie or the theater; or you want to date; or go to a museum. The pop up culture, easy transport, late night resources, remain predominantly large city based. 

    Having established this: now imagine you have access to a self driving car. You get out of your house, step in it, and then do nothing until it drops you at your destination and takes itself away until needed again. You don’t have to worry about parking. You don’t have to worry about catching the last train home. Are you too tired? Are you a bit tipsy? Not a problem because the car is driving. How far away from the big city would you live if that was the case? You could be working while driving into the city, you could be sleeping while driving out of the city. When you get home, you just drag yourself to bed and continue sleeping. You could live 3 hours away from London or New York and have easy low effort access to them 24/7.

    Suddenly the bubble of people accessing the city is enormous. Real estate outside the smoke is cheaper; houses are bigger, farther apart; life is simply better. With easy access many more people can take advantage of this. Subsequently cities will change from the current mix of residential/commercial, to mostly commercial, to purely commercial. Cities become just offices and entertainment. No one lives in boxy apartments anymore. 

    This begets the question as to whether cities survive at all. At the point where everybody is jumping on a self-driving car to get to the destination, the location of the destination matters much less. Why would someone rent a theater in Broadway or the West End, when they can rent it in the middle of nowhere, 3 hours from London or New York, and yet get the same attendance and more profit? So if then the commercial users of the city start to leave… Who’s left?

    Famous chefs will open their restaurants where they please; great directors will run their plays in the grander and larger venues of the countryside; pubs and bars won’t be limited; Soho can be anywhere. The communities around interest will be spread out and attract city-size populations even in small places, because the bubble of attraction of any activity will be much bigger once getting there is as simple as hop-in-sleep-hop-off.

    I think self-driving cars will kill cities the same way streaming killed the video store. Movies no longer compete for shelf space and we all get more access to more movies. Humanity can spread out to smaller towns, but this time without the isolation associated with them. 

    I think there will be some issues though. The collapse of real estate in cities could mess up the economy. A city that loses enough revenue to not be able to support itself can turn into an anarchic hell hole. Look at what happened to Detroit as an example. I do hope we can avoid that.

    Another possible issue would be if the towns are formed around different grouping traits, for example a town of geeks, a town of liberals, a town of pro-gun people. Despite the lack of isolation and the ready access, humanity could choose to sequester itself into individual echo chambers. Follow this pathway long enough and you reach a rather territorial feudal state of affairs. 

    Despite the risks and the potential upheaval, I’m personally looking forward to the future of self-driving cars. Doubtless there will be some growing pains, but in the end, I do believe we’ll be better off.

    Picture by smoothgroover22




  • Movie or Film?

    by

    For MoviePal, one of the questions was whether these things are called movies or films. One of the arguments I heard was that “movie” is American and “film” is British, the other argument was that “film” is an older term, which makes sense, since movies are not distributed as film anymore. Film is still used to make some movies, but that’s an entirely different and super interesting rabbit hole.

    So, I did my “research”, and you know which one won, but I found the charts still interesting enough to share:

    There’s obviously a big bias here since there are more uses for the word “film” that is not related to movies and I don’t know the break down. The two curves seem quite correlated except that “movies” has an offset that went up and down. Looking at the map:

    It looks like a lot of English speaking countries… all of them… call them “movies”. Including good old United Kingdom. I was surprised by “film” winning the popularity contest over so many countries in Europe. I wonder if this is because “film” exists in other languages.

    I could zoom in into the US, but let me save you some time: nobody says film anymore. End of story. Now in the UK the story is a bit different:

    There was a lot of truth to the UK using “film” more than the Americans. Not only that, but in relative terms, “film” is rising and since April 2018, both “film” and “movie” are extremely correlated, but not before. I wonder why that is.

    As of today, England is split 50/50, Wales is strongly on the “film” camp and Scotland and Northern Ireland on the “movie” side:

    I’ll keep watching this trend, I wondering if the UK will jump to “film” side soon.




  • It’s really exciting to see Twitter innovating (again). I have an idea for a feature that might be very valuable: rolling tweets.

    A rolling tweet goes to a certain amount of users, like 10% or 1000 and then when you press a button, to another 10% and so on. You get to decide the percentages. This is similar to how rolling releases of software operate.

    The goal is for people to test the waters. With so many things becoming controversial overnight, I’m sure some some high profile Twitter users would like to see the reaction of a small cohort of users before unleashing their ideas to the whole world.

    I would also add the feature of filtering who is in that 10%, so it’s not random. For example, you might want to start with the 10% that is bellow the median of follower count for your account. That way you may be avoiding exposing your controversial idea to a reporter or high profile person that would spread it around more than you intend at that point.

    Ultimately, once something is out on the internet, it’s out, and there’s no way back, but this could do some damage control.




  • I love movies, and most of my friends do as well, so when we are having a movie night, it always takes forever to chose a movie. It always goes like this:

    John: Shall we watch Star Wars.
    Sally: Nah, I’ve seen it a million times.
    Roger: What about 2001: Space Odyssey.
    Jess: Oh, I’ve seen it, but so long ago, I’d be up for watching it again.
    Bob: I’d be ok with 2001, but I’m feeling like watching a superhero movie, anyone else up for that?
    John: As long as it’s not DC, yeah.

    And it goes on and on for hours. I want to solve this problem, so I started to work on an app where you connect with friends and select what movies you want to watch, what movies you’ve seen, what movies you want to watch again, the genres you are not a fan of, your mood of the day, and it creates a single watch list for that particular group of friends, selecting the movies you all want to watch and maybe recommended a few extra you haven’t thought of.

    I call it MoviePal.

    What do you think? Would you use it? Please, head over to moviepal.tech to join the waitlist to be invited to the app as soon as it’s ready. I’m trying to figure it out if it’s worth pouring my money and time into it, so it helps a lot of you share to see if anyone else cares about movies as much as I do.

    Thank you.




If you want to work with me or hire me? Contact me

You can follow me or connect with me:

Or get new content delivered directly to your inbox.

Join 5,047 other subscribers

I wrote a book:

Stack of copies of How to Hire and Manage Remote Teams

How to Hire and Manage Remote Teams, where I distill all the techniques I’ve been using to build and manage distributed teams for the past 10 years.

I write about:

announcement blogging book book review book reviews books building Sano Business C# Clojure ClojureScript Common Lisp database Debian Esperanto Git ham radio history idea Java Kubuntu Lisp management Non-Fiction OpenID programming Python Radio Society of Great Britain Rails rant re-frame release Ruby Ruby on Rails Sano science science fiction security self-help Star Trek technology Ubuntu web Windows WordPress

I’ve been writing for a while:

Mastodon