• Ego and the moving finish line

    This is an entry to the IndieWeb carnival on ego hosted by bix.

    In case you don’t know me - I’m Ruslan. A father, a husband, and a big nerd for video games and optimization problems. A few years ago, I would’ve started this intro differently: ā€œHi, I’m Ruslan and I’m an engineering manager at Google.ā€ Oh - I’m still a manager at Google, but my priorities in life are different, and the shift is driven by the way my relationship with ego has changed over the years.

    Over a decade ago, in my early twenties, I seeked recognition. I wanted to be widely known and respected. I moved to the United States from another country, pursued a career in tech - hopping between companies until landing at Google. This was huge for me, as I admired the company growing up, and working at Google felt like a peak achievement for a little computer nerd like me.

    But I haven’t really savored the accomplishment. Now that I got to Google, it was all about getting to the next level, getting a promotion, bumping up my salary, expanding my span of influence, and so on. I compared myself to other early-twenty-somethings. Look, Mark Zuckerberg started Facebook at age 19, and I’m already a few years behind! Did I want to start a company? No. Did I even like Facebook? No, I didn’t. But that didn’t stop me from comparing myself to others, and it leached the joy out of life.

    The generational curse of productivity certainly has something to do with it - I couldn’t just relax and savor the victories. I had to work hard for the next milestone. But a huge driver behind my early professional achievements was my ego. I wanted to be the best, and I wanted others around me to know it. I simply didn’t know a different way to live.

    Throughout my early years I was really concerned with what people thought about me. I still struggle with it. And professional success felt like a way to bring authority into the conversation - ā€œlook, you can’t think poorly of me, I’m mister big pants in a serious companyā€. Mind you, we’re talking about an imaginary conversation in my own head.

    In my mid-twenties I met my now-wife, who had a much more balanced outlook on life. She’s a hard worker too, but her achievements weren’t driven solely by the need to be seen by others as something else. No, she simply did things she was good at, and did them well. There’s lots of professional pride, yes, but it just felt… healthier? We both were ambitious, we both wanted to do our work exceptionally well, but while I wanted to be seen as the best, she just cared about her craft - regardless of who’s watching.

    That was a major change from how I approached life, and her attitude rubbed off on me. I tried to decouple my own self-image from my professional successes. I began to engage in hobbies for the sake of enjoyment.

    Look, I started this blog back in 2012 to bolster my professional image. I wanted to appear attractive to prospective employers, and I wanted people to see how many important thoughts I have, and how many cool things I know. This blog is very different now, because I have less people I care to impress. I don’t want a large audience.

    Do I get excited when an article I write goes viral or I get a royalty check from my book in the mail? Absolutely. But do I get worked up when only a single reader gets through the entirety of what I write? Not anymore, no, because my ego as a writer needs less feeding than it used to. That’s why I removed comments and other visible indicators of popularity on this blog (eh, and I just don’t want to be tempted by the pursuit of bolstering my own ego).

    In my mid-30s, I care less about impressing people. It helps me be a better listener, a better friend, or even just a better fleeting acquaintance. I have richer interactions with others when I don’t try to impress them. It ain’t perfect, and I find myself struggling - but I feel like I’m on the right track. I know I’ll win when I won’t be checking the view counts on this piece though.

    If you’re curious about what other writers have to say about ego, I recommend you check out other entries on IndieWeb Carnival: On Ego.

  • Thoughts on 3D printing

    A few months back my wife gifted me a 3D printer: an entry level Bambu Lab A1 Mini. It’s a really cool little machine - it’s easy to set up, and it integrates with Maker World - a vast repository of free 3D models.

    Bambu Lab A1 Mini 3D printer (left) with AMS Lite (right).

    Now that I’ve lived with a 3D printer for nearly half a year, I’d like to share what I’ve learned.

    It’s not a free stuff machine

    After booting up the printer, printing benchy - a little boat which tests printer calibration settings, and seeing thousands of incredible designs on Bambu Lab’s Maker World - I thought I will never have to buy anything ever again.

    I was wrong.

    While some stuff printer on a 3D printer is fantastic, it’s not always the best replacement for mass produced objects. Many of the mass produced plastic items are using injection molding - liquid plastic that gets poured into a mold - and that produces a much stronger final product.

    That might be different if you’re printing with tougher plastics like ABS, but you also wouldn’t be using beginner-friendly machines like the A1 Mini to do that.

    So yeah, you still need to buy the heavy duty plastic stuff.

    And even as you print things, I wouldn’t say it’s cheaper than buying things from a store. It’s probably about the same, given the occasional failed prints, costs of the 3D printer, the need for multiple filaments, and the fact that by having a 3D printer you’re more likely to print things you don’t exactly need.

    It makes great decor and toys

    Oh, I’ve printed so many useless things - it’s amazing. The Elden Ring warrior jar Alexander planter. Solair of Astora figurine. A beautiful glitch art sculpture.

    This is Solaire of Astora. The print lines are pretty big - I can print much finer and smoother details now.

    I even got a 0.2mm nozzle (smaller than the default 0.4mm) and managed to 3D print passable wargame and D&D miniatures. Which was pretty awesome, although you have to pay for the nicest looking models, which does take away from enjoyment of making plastic miniatures appear in your house ā€œout of nowhereā€. I’m not against artists getting paid, they certainly deserve it, but printed models were comparable to an mid-range Reaper miniature if you know what I mean, which certainly isn’t terrible, but it’s harder to justify breaking even. Maybe I could get better at getting the small details printed nicely.

    Oh, and if you’re into wargames - this thing easily prints incredible terrain. A basic 3D printer will pay for itself once you furnish a single battlefield.

    You still need to fiddle with settings

    Once you’re done with printing basic things, you do need to start fiddling with the settings. Defaults only take you so far, and if you want a smoother surface, smaller details, or improvement in any other quality indicator - you have to tinker with the settings and produce test prints.

    It’s a hobby in it’s own, and it’s fun and rewarding, but this can get in the way when you’re just trying to print something really cool.

    It shines when you need something very specific

    But the most incredible feeling of accomplishment came when I needed something specific around the house, and I’d be able to design it.

    We bought some hanging plants, and I wished I could just hang it on the picture rail of our century home. And I was able to design a hanger, and it took me 3 iterations to create an item that fits my house perfectly and that I love.

    My mom needed a plastic replacement part for a long discontinued juicer. I was able to design the thing (don’t worry, I covered PLA in food-safe epoxy), and the juicer will see another few decades of use.

    Door stops, highly specific tools, garden shenanighans - the possibilities are endless. It took me a few months to move past using others’ designs and making my own - Tinkercad has been sufficient for my use cases so far, although I’m sure I’ll outgrow it as my projects get more complicated.

    A tinkerer’s tool

    3D printers aren’t quite yet the consumer product, but my A1 Mini shoed me that this future is getting closer. Some day, we might all have a tiny 3D printer in our home (or have a cheap corner 3D printing shop?), to quickly and effortlessly create many household objects.

    Until then, 3D printers remain a tinkerer’s tool, but a really fun one at that, and modern printers are reducing the barrier to entry, making it much easier to get into the hobby.

  • The generational curse of productivity

    My daughter’s grandma is visiting, making me reflect on my upbringing more.

    I grew up in a culture that heavily values working hard. My mother was a hard worker, my father was a hard worker, their parents were hard workers, and so on up to 7 generations (or so my grandmother’s genealogical records say). This meant sitting down to relax wasn’t really something valuable - further, ā€œwhy are you sitting down? It’s daytimeā€ was a common phrase I’ve heard thrown around.

    I wasn’t abused into working non-stop, mind you (in fact, my mom loved me very much), but I did pick up a lot of the core beliefs about hard work, the value of the work, and what makes a good hard-working person ā€œgoodā€.

    This had quite a few upsides. I wouldn’t get tired when I needed to work - be it physically or mentally. Or more or less, I wouldn’t really be bothered by feelings of fatigue. You just push through, naturally. That made studying and working easier. A 16 hour shift during the sowing season? Not a problem. Study late into the night? Easy. Crunch time in the office? No worries.

    This mindset has set me up with a decent academic performance, and a string of jobs which eventually ended up in a career in the heart of Silicon Valley, and a career I’ve done well for myself in.

    The Silicon Valley mindset didn’t help. There’s this ever-present push to be more productive, to grow, and to spend every minute of your day getting better, faster, stronger (I touched on this briefly when I wrote in defense of quality). This just worked to reinforce the mindset I already have.

    I spent many evenings and weekends reading self-improvement or programming books (which is reflected in the content of my blog about a decade ago) or taking classes. I tried to get really good at my hobbies, so that I don’t waste time stagnating. No time to waste.

    Smell the flowers (credit: https://www.instagram.com/shencomix/).

    You see, there are negative aspects to believing that hard work is the only measure of ā€œgoodnessā€, because ever since I was a kid sitting down, relaxing, and not doing much was frowned upon. Oh, don’t get me wrong - I got to play plenty, but the play had to be enriching, useful, and valuable to my growth as an individual. Otherwise it’s ā€œgrumble-grumbleā€ and ā€œwe’re going to throw away this computer some dayā€.

    I find myself taking these beliefs into adulthood. Despite much self-work (a patient, loving, and caring companion helps), I still sometimes find myself worried that I’m not being productive, or doing the right thing.

    I saw this play out even during my time off. I’d spend days organizing documents and tackling long-delayed paperwork, instead of taking the time to focus on things I’d rather do instead. Work, work never ends.

    A decade ago I still played video games and watched shows I love, but I saw the activity as a waste of time. And I’d feel guilty every time I’d engage in any form of entertainment, and sometimes I’d even engage in mental gymnastics to try to prove to myself that what I’m doing is done to improve my own qualities as a human being, like playing a game to learn a new language or maybe pick up a skill I could use in a real life.

    After much rediscovery, self-love, and care I try not to do that anymore. I work hard, yes, but I don’t beat myself up for relaxing and smelling the roses. I love my video gaming hobbies, I enjoy miniature painting, reading science fiction, and picking up short-lived but fulfilling interests here and there.

    Going on paternity leave this year has been a great experience in slowing down. Yes, taking care of an infant is a lot of work, but there’s much downtime to enjoy life (I recently wrote about reflections on my paternity leave).

    I’m not working to build some sort of a portfolio of interests and I’m not trying to turn every hobby into a side-gig or be the most efficient hobbyist to grace this Earth. There’s a balance I’ve been missing, and slowing down has been doing wonders for my wellbeing. Maybe the most productive thing I’ve done was to finally stop trying to be productive.

  • Brainstorming terrible ideas in a group

    Years ago a colleague of mine taught me a brainstorming technique that I find particularly useful. Thanks, Meagan.

    Here’s the thing. Often, when brainstorming in a group, even with a good degree of psychological safety, participants are often worried about appearing like idiots, or having bad ideas. There’s a reputation to maintain after all, and we’re all taught to think before we speak. I find this group brainstorming method to be useful to get around this mental block.

    You create four buckets for solutions to a problem:

    • Ideal: If I had a long time horizon to solve this problem
    • Realistic: If I had limited time and resources
    • Wasteful: If I didn’t care about time and resources at all
    • Harmful: If I wanted to sabotage the problem

    And participants are tasked with populating each bucket. Here’s the fun part: actively harmful and wasteful solutions often lead to the best outcomes.

    Let’s walk through the example. Say you have a team wiki that’s neglected and out-of-date. You’re trying to figure out how to solve this problem. Here are the ideas:

    • Ideal: Hire technical writers to constantly audit and rewrite the documentation.
    • Realistic: Implement a mandatory wiki cleanup day, where each team member is assigned a portion of the wiki to update.
    • Wasteful: Award $500 to whoever contributed the most pages to the wiki each year.
    • Harmful: Set content to self-destruct after 3 months. If the content is important, someone will write it again.

    All of these ideas have problems. Technical writers will not have the context and could put undue communication burden on the team, company mandates are never fun, encouraging quantity of contribution can lead to decrease in quality, and deleting the data defeats the purpose of having a wiki in the first place.

    But this gets you thinking - maybe the harmful idea isn’t so harmful after all. Maybe a staleness banner on pages, with a name of the last editor and a nudge to them could help keep the wiki up-to-date.

    In my experience, ā€œWastefulā€ and ā€œHarmfulā€ buckets have a disproportionate number of responses, many of which start as jokes (ā€œfire everyoneā€, ā€œreboot every 5 minutesā€, ā€œuse carrier pigeonsā€), and improve upon iterations into the winning ideas.

  • Vimwiki: 11 years later

    Vimwiki is a personal wiki plugin for Vim. Using Vim has been a second nature for me for well over a decade (buy my book), and keeping my notes organized using Vim continues to be the best approach. It’s been 11 years of using Vimwiki, here are some reflections.

    If you’re instead looking for a tutorial on how to set up and use Vimwiki in Vim, my tutorial from 2014 is up-to-date.

    So, what do I use Vimwiki for?

    Vimwiki: A page listing various technologies.

    A little bit of everything. Occasional journaling, when I don’t want to pull out a journal and a pen. Notes about technology and any projects I might be working on. Reflections on video games I’ve played. Ideas I find interesting. Topic research notes, like when I try to understand a messy and complex personal finance or tax subjects. Writing drafts (my notes on writing cadence could be of interest here).

    Hands down the best thing about Vimwiki for me, is that it’s something I’ve kept up for 11 years now, and it’s fully open source and doesn’t rely on external services. I’ve changed storage from Dropbox to Google Drive to hosting the wiki myself, and I’m glad that I get to use the same technology.

    Having uninterrupted access to knowledge I deemed noteworthy is useful. It helps me keep my head organized, if only to know that all the thoughts swooshing in my head are neatly organized somewhere on paper. On digital paper, you know what I mean. It’s freeing.

    It’s also lovely that under the hood this is just a set of plain text files. I can always manipulate these files using thousands of text manipulation programs, or write my own utility with ease. I’ve leveraged that in rare cases when Vimwiki capabilities were insufficient.

    But there are a few notable downsides, too. With the benefits of hindsight and some wisdom over the years.

    First and foremost, portability. Vim never graduated into the mobile first world. Yeah, I used to eye roll at Google’s mobile first push of mid-2010s, but the truth of the matter is - I often find myself taking notes on my phone, and then moving those notes to Vimwiki when I have the time (or forgetting those notes exist altogether).

    Even on supported platforms - Windows, Mac, Linux, ChromeOS - there’s always some fiddling involved in the setup. It’s not a set-it-and-forget-it solution. There’s always tinkering involved, and there’s a reason my blog has a number of entries titled ā€œhow to to use Vimwiki on System Xā€ over the past decade (like how I use Vimwiki for instance). It’s a tinkerer’s choice.

    Unfortunately, I can’t think of a significantly simpler solution (outside of plain-text system of notes) that doesn’t lock me into an ecosystem or puts me at a mercy of a company which will shut down the servers once they go out of business.

    I’ve looked at simple solutions like TiddlyWiki more than once before, but I keep coming back to using Vim as a primary interface for engaging with all the information I’ve collected over the years.

    Vimwiki: HTML rendering of the finance page.

    I solved some aspects of portability through serving my instance of Vimwiki via web. Yeah, Vimwiki can render your files to glorious interlinked HTML (which works out of the box by invoking :VimwikiAll2HTML). It’s read-only, however, and requires you to figure out how to host your own web server. Which isn’t hard if you already host other things on your local network (which I do), but can be a pain in the butt if you don’t. And you’d be setting yourself up for a security mess on your hands if you’re standing up a web server in the cloud without knowing what you’re doing.

    For its entries, Vimwiki supports either its own VimWiki syntax (which is based on MediaWiki) or Markdown syntax. I use the VimWiki syntax, and while it makes it harder to migrate away from Vimwiki, I think it’s a better fit for the Vim editing. I’m glad I stuck with the VimWiki syntax, since I find [[link]] to be easier to parse than [link](link.markdown).

    Can I see myself moving to a different solution in the future? Possibly. If a fully open source, Vim-friendly, truly portable solution presents itself - sure, I’ll put together some scripts to migrate (or more likely, use AI to help me write one - AIs seem to be good at writing low-risk one-off migration scripts). Do I regret using Vimwiki? Absolutely not, it’s been an amazing companion to me over a decade, and given that the data’s stored in plain text - I’m not worried about losing my data if I ever change my mind.