Photo by Nick Fewings on Unsplash

Back in June, my wife and I were driving back from an outdoor birthday party. It was a lovely summer night, and we were happily tired after all the physical activities we did there.

We were getting close to home when I got an email pop up on my phone:

Last month, I wanted to figure out the nicest way to make my Go package import URL look nice and short. First thing was to change the go.mod file and set the name.

But then I had to figure out how to make go get respect that, so that it actually works.The way importing from arbitrary URLs works is that go get will try fetching the URL and look for meta tags in the HTML page at that address. If you check the HTML source behind any repository’s page on GitHub, you’ll find go-import meta tag in it.

Photo by Vinicius “amnx” Amano on Unsplash

About a week ago I got seriously bothered to figure out whether it is possible to run BPXE (a workflow automation engine I am developing) in a browser. I mean, theoretically it was always a possibility (Rust can target wasm32-unknown-unknown after all), but how does this translate to having something more than an in-and-out library that takes the heavy lifting away from JavaScript? So I set out on a journey.

It’s been a frantic week, suffice to say! The problem is that this engine is more than just a library, it’s rather a long-running engine disguised as a library so…

Please bear with me, I am still learning to speak

(One service at a time)

Have you ever noticed that the discourse is often about slicing and dicing the hardware, power and networking resources data centers have? Whatever you need — you can get it from multiple vendors, with excellent support and exciting features — as long as you keep bringing the money every month. The notions of cloud, AaaS (Anything as a Service) and serverless are firmly and unquestionably at the center.

While this is no collusion (at least I don’t think it is), it is clearly in the best interests of those who…

Photo by Michał Parzuchowski on Unsplash

Two months ago, after a lot of contemplation, doubt and internal resistance, I’ve started a small project to address some of the problems I had with how most of us do issue tracking in our projects.

A range of things bothered me. For example, weak offline operations support — even if I download a bunch of JSONs and read through them, I can’t really prepare a bunch of changes and send them out next time I am connected — not without some considerable amount of scripting.

Another, bigger issue for me was that issue tracking as we know it…

Photo by Daniel Hansen on Unsplash

A few days ago, I posted this tweet after discovering that yet another open source project I am using has that funny Heroku app to join their chat:

Thanks to a few lucky mentions I got down the road, it got liked and retweeted handsomely. Nothing spectacular but it showed that this message resonated with many people. (Of course, there were people who disagreed with me, that’s fine — and expected).

I thought it might make sense to unpack the message and perhaps explain some of the fundamental concerns I have.

While I was triggered to tweet by that…

I remember that about 20 years ago, when I was just a bit more naive and a lot more confident in my opinions, I thought that code is the ultimate source of truth. Documentation was secondary to me. I was living and breathing code to that degree when it comes up in your dreams and you start questioning what happens to code when its creator dies.

And in a very narrow sense, code is the ultimate source of truth. It is what will be executed, period. But hear me out — the more I read code (mine or somebody else’s)…

Photo by William Bout


In an ideal world, maybe.

Contracts essentially act as middlemen gate-keepers, reducing the value of decentralization. Tokens as smart contracts add layers of complexity that are far more likely to fail and that requires contracts to have “administrative” backdoors.

One of the foundations (or, rather, promises) of cryptocurrencies that provided them with the initial traction, was the ability to forego the custodian relationship in a post-cash society and the ability to transact without a middleman. In a sense, a way to walk away from the status quo monetary system.

So, what are these freedoms built upon?

Firstly, it…

Last month, while sifting through my inbox, I discovered that I got charged for another year of — a service that I didn’t intend to continue paying for, but forgot to cancel. Sure enough, as it is a common procedure for me, I e-mailed the support to tell that I didn’t intend to continue with their service as I didn’t find a way to get enough value from it and I asked them if they can refund my charge and be square.

Unfortunately, the company’s response was that, ultimately, if I fail to ask them to make a refund…

If you have been following some of my projects in the past year or so, you might have noticed that the my commit messages changed considerably and they no longer look typical. Take a look at this one:

(see referenced commit)

I shamelessly copied this commit message format from Pieter Hintjens’ C4 unprotocol. At first, this kind of commit message felt weird. Why would we want to begin every commit with a word “Problem”? What’s in it for me?

Turns out, there are multiple benefits to sticking to this ceremony.

Firstly, it gives you, the author of the change, an opportunity to understand…

Yurii Rashkovskii

Tech entrepreneur, open source developer. Amateur cyclist.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store