Why didn't anyone tell me how easy it is to make baguettes?
Seriously. I've never done much baking and always had the impression that bread-making is an arcane art, and a time consuming one to learn. Well, yesterday night, while doing some late-night internet browsing, I happened upon this post by a random tech bro (Steph Ango, CEO of Obsidian). The title intrigued me, the photo convinced me, and literally 5 minutes later I was mixing the four ingredients…
Books Read in 2023
Figured I should write this before January is over, so that I can claim I published it just after the year turned over. Well, turns out, reading-wise, 2023 was the year of Plato. As mentioned back in the 2021 list , I've set out on reading through his works. At this point I'm about half-way through. I didn't know what I was getting myself into when I first opened up the collection, but I have to…
Sending mail to gmail
Update: it has been brought to my attention that I may have been incorrect in identifying a potential Google policy around SPF mechanics as the root cause of the issue. If you were in a similar situation as me and this approach resolves your problem - great! But it's likely that this is a workaround rather than fundamentally addressing the issue. If you're a selfhosting enjoyer like me, you may…
Switching from GitJournal to LogSeq
As mentioned previously on the blog, for a long time I was relying on GitJournal for note taking. There were quite a few reasons I really liked it: It's open source. Syncs with git (which I can selfhost). The underlying format is just MarkDown, which means that I can easily edit the notes on my laptop with my editor of choice. But there's also some issues I kept running into: Search is not very…
One Author
Microsoft just announced their ChatGPT-powered Bing experience. While Google is worried and scrambling to catch up on the new space race, we as humans have even more important things to worry about than our bottom line. From a purely technological perspective, these AI developments look incredible. We're getting to the point where computer assistants we know from sci-fi films are becoming an every…
Some Life Updates For 2022
Haven't written much on the blog this year, but not to worry, I'm still alive! Here's some updates as to what I've been up to: Joined WLOD, a brass orchestra that plays traditional dance music from the Roztocze region of Poland (actually joined it late last year, but this year's season was much more active). Also joined WLOD's funeral sub-orchestra, where we play traditional funeral marches from…
Books Read in 2021
Here's a list of books I read this past year. As mentioned at the end of last year's post , I started out the year with quite a few positions finished cover-to-cover, but as the amount of time I needed to spend on work and my thesis increased during the year, there were a few months where I had no time at all for leisure reading. By the end of the year I once again started finding more time for…
The NFT+VR Cash Grab
I used to play Team Fortress 2, a 3D hat simulator also known for having a decent team based first person shooter included as a mini game. The game, and gameplay time on official servers, was offered for free, but Valve still made a ton of money by selling cosmetic items to players. I don't play games these days, but from what I hear, there are many other modern games like League of Legends or…
Why is all music in 4/4?
It is a favorite pastime for music aficionados (where music aficionado = someone who listens to something other than Top 40 and knows two things about music theory) to bemoan the tragic state of modern music, specifically the fact that everything sounds the same. Same chord progressions, rhythms, song structure. The reason why this happened is fairly obvious: the genesis of a music industry…
On Zuck's Metaverse — Ads Everywhere
First off, let's just call it VR. "Metaverse" is a brand name invented to separate current efforts from the previously failed hype around VR. The reasons VR has failed before are interesting of themselves, but more on that in a future post. Here I want to talk about Zuck's ideas for social VR and what I think about the whole concept. VR as a social and communication medium, which appears to be…
I Made a Songbook
A bit over a year ago I started exploring the world of Polish traditional music. I might write a post later talking more about my journey with that, but for today I just want to talk about a project related to this that I created last weekend: tuturutu.net . Quick word of warning: it's 100% in Polish, so you probably won't get much use out of it if you're not a Polish speaker. Even if you are, you…
Don't Fall For Fear Propaganda
I was recently traveling from a busy US airport. If you've been to a larger American airport in recent years, you may have noticed, near the security line, a bunch of booths from this company called Clear. They essentially allow you to exchange your personal information, including a biometric scan of your iris, in exchange for quicker processing through TSA security. (and they also take a monthly…
Introducing Martin's Sunday Corner
I spent Friday night implementing a new part of my website: Martin's Sunday Corner . It's going to be a list of thoughts from the past week available once a week on Sundays. Think of it like a once-a-week ephemeral microblog. A Twitter without any of the features of Twitter. Or any of its limitations. You can try to access the page on other days but there's no use, you'll just be told to return…
It's not Social Media - It's Marketing Media
Richard Stallman has said that social media sites don't have users — they have useds . The primary reason for sites like Facebook to exist is to generate revenue for the company (obviously), and they do so by using their webpage as a terminal for advertisements. To maximize revenues, users (useds) are incentivized and otherwise manipulated to stay online, giving as much eyeball time to the…
Linked Brain Clone: A Problem of Consciousness Thought Experiment
Here's a thought experiment I haven't heard before. I'm not sure if it's novel, but even if it isn't, it's definitely less well known than the popular thought experiments about cloning and the nature consciousness. The question of whether it is possible to preserve a person's mind and consciousness is a well known idea in speculative fiction and transhumanist thought, as well as touching on more…
Dovecot SSL Certificate Renewal
Just a quick technical note. As mentioned before, I started self hosting email a while ago. Exactly three months ago, in fact, and I know this because that's how long Let's Encrypt SSL certificates are valid for. Yesterday, my email clients started complaining about an invalid certificate coming from my mail server. After a few minutes of worrying if I'm being man-in-the-middled, I ssh'd into my…
Termite Has Been Deprecated
I have been using termite as my daily driver terminal emulator for over five years now. Turns out that its creator and maintainer just announced that he's stopping development and abandoning the project. The reason? Alacritty , another terminal emulator, by termite maintainer's own judgment, is basically strictly better. My main reasons for using termite were its minimalistic design,…
Selfhosted Crossplatform Notes with Gitjournal
The problem The "app market" for mobile phones is a very sad place. I wish it had followed the direction of Linux distributions, with their repositories containing all the useful software tools you'd ever need, free and open source. Instead we have a duopoly of app stores that are both filled with "app developers" trying to make a buck instead of tools that people actually want. As such, when I…
Downloading Articles for my Ebook Reader
I've recently taken to reading blog posts and other internet articles on my ereader. And I don't mean using my tablet's browser and wifi connection to load up websites. Instead, I convert the articles I want to read to PDF and read them like I would any other ebook (I have a large screen tablet on which reading PDFs is very comfortable; I would probably be playing around with EPUB conversion if I…
I Don't Believe in the Snooze Button
I never understood the purpose of a snooze button. The default behavior, on both physical alarm clocks and now on phone apps, is to give you 5-10 minutes before the alarm sounds again. Supposedly to give you a time for a "snooze" — meaning a short sleep, a nap. But "sleeping" for 5 minutes, after already having been awoken by a loud alarm, is useless, at least in my experience. If I have 5…
Nothing is "Good for You"
Popular science websites or lifestyle bloggers often tout headlines along the lines of "Is X good for you? Science says YES!" These articles usually cite some new study, though without going into the details of it, rarely discussing even the surface level of the methodology or significance of results. The study measures the impact of X on some output(s) Y, and just based on the fact that it…
Hosting on Vultr VPS
This website was originally hosted for free with GitLab Pages. As of a few weeks ago, it's now being served by Nginx from a Vultr VPS. Here's a few reasons why I made the switch: I get a bit of insight into website traffic from Nginx logs, without needing to resort to something like Google analytics. I gain some internet independence. Sure, now I'm relying on Vultr instead of GitLab, but I can…
Books Read in 2020
If memory serves me right, I read around 10 books last year. Here's the list, with a few words about each entry. Moby Dick , Herman Melville. The Great American Novel. Haven't actually quite finished this one, but I've gotten most of the way through it, so feels more appropriate to include it in the 2020 list rather than the 2021 one (I do intend on finishing this book). Interestingly, despite its…
Advent of Code 2020
Merry Christmas to all! Advent of Code 2020 has come to an end. At the time of this writing, around seven thousand people finished the whole thing, out of the 150000 that had submitted a solution to the first day's problem. And I'm one of them! You can see my solutions here . I started out with C, moved on to Ruby, and near the end switched to Lua. I'm going to need some Lua knowledge for the…
Decentralized Auction Variants
This is a follow up to my previous post on smart contract auctions - it assumes familiarity with the algorithm introduced there. It turns out the original design is very flexible. We can modify the auction's properties to incentivize different behaviors or handle specific scenarios. For example, we'll be able to mimic the auction mechanism used by Google's AdWords to auction off search results…
Vim Keybindings in All CLIs
This post already lives as part of my cheatsheets , but I think this is one of those things that's worth putting out there. readline is a library that can be used to add keyboard shortcuts to various CLI programs. If you're a command line user on Linux or Mac, you're probably already using it even if you don't know it — bash keyboard shortcuts come from readline . By default, readline uses…
Book notes: Vagabonding by Rolf Potts
Really enjoyed this short volume on long term travel. It resonates with my belief (one that runs counter to what most people these days seem to believe, and definitely counter to how they behave) that a career should not be the central piece of one's life. It also challenges any person who says they believe this (such as myself) to prove that they actually believe it. Long term travel, the sort…
Extra contracts in Truffle tests
Sometimes you just need a Truffle contract object. If you're developing a full-blown Truffle project, this is easy for your "core" contracts, the ones you keep in your contracts/ directory. Just artifacts.require and call it a day. But what if you want to interact with a different contract? I ran into this while working on meta-tooling around smart contracts, specifically scripts for running…
How to Build a Decentralized Auction
this post assumes familiarity with the concept of smart contracts and uses Ethereum and Solidity for concrete examples Multiunit auctions Multiunit auctions are a generic financial primitive that could be useful in various decentralized financial systems. I'd like to present an alternative to the Dutch auction that may be more suitable in certain situations. Designing an auction smart contract…
Lock-down workouts
I bought a 14kg kettlebell for myself just as the coronavirus situation was escalating into lock down here in Poland. I wrote up a simple exercise plan to follow every week and have been following it for over a month now. Gotta stay in motion while the world has seemingly stopped! I'm definitely not a fitness expert, and I'm sure this program is far from perfect. But it hits most of the major…
An experiment in programmatic and artistic constraints
Write a piece of JavaScript that defines a function named s that Takes three non-negative integer arguments: x , y , t ( x and y less than 16 ). Returns a non-negative integer less than 16 2 . The code can be syntactically written in a 16 x 16 block of characters. The source code defining s will be visually displayed on a 16x16 grid. 32 times a second, it will be separately called for each x , y…
Small Big Sites
NPR.org pleasantly surprised me when I randomly entered their site to read an article recommended to me. Upon clicking the link, a full-page privacy advisory greeted me. "We use cookies to personalize your content bla bla bla". Two large buttons awaited below the wall of text, waiting on a choice from me, the user. What surprised me was the choice I was offered. Normally, it's either accept all…
Added an RSS feed
I just added a really simple RSS feed to syndicate my website! Add m-chrzan.xyz/rss.xml to your favorite RSS reader and you'll get updates whenever I post something new.
Vim Keybindings for Newsboat
Put in ~/.config/newsboat/config . # jk - move up/down unbind-key j unbind-key k bind-key j down bind-key k up # hl - move in/out of feeds/articles bind-key h quit bind-key l open # q quits the program unbind-key q bind-key q hard-quit # g/G to go to top/bottom unbind-key g unbind-key G bind-key g home bind-key G end # f to follow links (like qutebrowser) unbind-key f bind-key f goto-url
Cheatsheets to Stay Productive in the Command Line
To stay productive in the command line, I maintain a personal "cheatsheets" repository . There are many commands, or particular options of certain commands, that I don't use often enough for them to become muscle memory, but often enough for man ning them or internet searching for "how do I resize an image with imagemagick" to become tedious. I can recommend following a similar practice to anyone,…
Hex Curler: A Minimalist Webgame
I just published Hex Curler, a tiny dungeon crawler, based on Jeff Moore's Hex . You can play it by running the following in a bash shell: c=x; while [ $c ]; do clear; curl -c k -b k hex.m-chrzan.xyz/$c; read c; done This was an exercise in minimalism. The game server is implemented in less than a thousand lines of Ruby code. It is completely stateless, requiring no database. The front end…
Malinówka - Raspberry Nalewka Recipe
Here's another nalewka you can make. This one is extremely simple and produces a very sweet, fruity liqueur. Ingredients: raspberries vodka or neutral spirits mixed with water to desired alcohol content sugar Yep, that's it, just three ingredients. Steps Stage 1: Preparation (3 minutes) Fill jar with raspberries. Cover raspberries with alcohol. Shut jar and find spot to store. Did I mention it's…
Krupnik Recipe - Polish Honey Liqueur
I've recently started playing around with making nalewkas - traditional Polish liqueurs based on vodka/neutral spirits infusion. The only good recipes I've seen are in Polish, so wanted to share some with the English speaking world. In this post I'll give a recipe for krupnik staropolski 1 . Ingredients: (makes a 16oz. Mason jar of liqueur) vodka or neutral spirits mixed with water to desired…
Polymorphism in Solidity
Solidity is in many ways similar to C. It's a low-level language, sitting just a thin layer of abstraction above its underlying bytecode. Just like C, it lacks some convenient mechanisms from higher level languages. There's a cool method for implementing simple object-orientation (complete with polymorphism) in C that can also be applied in Solidity to solve similar problems. Let's look at how…
GitLab Pages + Namecheap
This website is currently hosted as a GitLab Pages page. In addition to the free m-chrzan.gitlab.io domain name that GitLab provides, it's also pointed to by m-chrzan.xyz. This was my first time hosting a static site and interacting with a domain name registrar/DNS settings, so I wanted to write down some thoughts and tips while it's all still fresh in my mind. Static site generation for GitLab…
Welcome!
Hello, internet! In the spirit of (•_•) <) )╯Always / \ \(•_•) ( (> Own / \ (•_•) <) )> Your Platform / \ I've decided to launch my own website and blog. In the spirit of minimalism, it's (as you can see) very bare-bones. In the spirit of self-reliance, it's built with a custom static site generator (which is really just a few glorified Ruby scripts) that (again, in the spirit of minimalism) do…