maciej's bits

  • Deploy really hot code with habanero 🌶️

    How can you dramatically decrease time-to-deploy? Wouldn’t it be cool if your CI/CD pipeline took very little time? Wouldn’t it be cool if it took zero time? Is that even possible?

  • Deploying regex.help and CI/CD

    Now that I’ve written up how regex.help was built, it’s time to focus on deployment. I used to think deployment was… not the most exciting part of building things. Howqever, recently I find it more and more interesting, probably because I care more about good CI/CD. Elixir and fly.io make it even cooler and shinier - let’s jump in!

  • Using Rustler with Elixir 1.12/OTP 24

    Read this if you want to get rustler running on the new, shiny Elixir 1.12/OTP 24.

  • Building regex.help

    Now that regex.help is functional and deployed (check it out if you’re writing regular expressions) I want to share how I built it. In the text post will cover deployment and CI/CD setup. In case you want to look at the code, head over to the GitHub repo.

  • Setting up Plausible, Hitting the Tracker Wall

    After buiding regex.help I was curious about how much traffic it gets. fly provides some basic metrics, but that wasn’t enough to really know how many people find the site helpful.

  • regex.help

    Next time you’re trying to write some regex, check out regex.help - it should make your task much easier. A couple of weeks ago, after Secretwords was finished, a colleague pointed me towards grex. It’s a really neat tool to help you write regex.

  • Building Secretwords

    As mentioned previously, I recently built a simple online game while learning the Elixir/Phoenix web stack. This post describes what I built and how. This was a fun learning experience for me and hopefully useful for you too. The finished project is here: https://github.com/maciejgryka/secretwords

  • Secretwords

    Over the past months’ evenings and weekends I’ve been having fun building side projects. I’ve been fascinated by the Elixir ecosystem and wanted to learn more about it.

  • How much money should people make

    A while ago the Polish president, Andrzej Duda, gave some kind of recognition to Robert Lewandowski, who seems to play football well. I don’t follow these things closely, but that’s not the point.

  • Tailwind, puring & dynamic classes

    When working with TailiwindCSS, be careful to not generate CSS classes dynamically - if you do, some of your CSS classes might be missing in production as explained in the docs. The reason for this is Tailwind using PurgeCSS to delete unused classes and PurgeCSS being intentionally naive about how it detects which classes are used.

  • Free markets

    Should we strive towards wild & unrestricted capitalism, or planned economy?

  • Choice, anxiety

    Small break from writing for me today, but you should read this https://zeynep.substack.com/p/is-choice-always-worth-the-anxiety

  • Naive rationalism is irrational

    There’s a long history of people believing they are better humans when they are rational.

  • Hardcore & softshell

    If you think of yourself as a sphere, with different densities on the inside and the outside, how are you built? Are you hard on the outside and soft inside, or do you have a squishy outside and a hard core?

  • Thinking probabilistically

    The last year has been an interesting way to uncover patterns in our collective thinking.

  • Uncertainty over wrongness

    If you see yourself as a rational person, you probably try to retrospect occasionally and evaluate whether what you’re doing is right.

  • Latency woes and wins

    Increasing latency in modern interfaces is annoying & many people have been writing about it (Dan Luu, recent HN post). I’ve been particularly annoyed by some data visualization tools - I love exploring datasets, but quickly get annoyed if I have to wait for the output too long. Interactivity is super important to maintaining flow.

  • Bringing more party into your life since 2018

    Every so often I get the urge to build something that serves no real purpose other than being fun to build. This was one of these times.

  • Modern Python Workers Seizing Production - presentation

    I’ve recently given a lightning talk at the PyData Berlin Meetup about our tech stack for shipping Python workers in a modern way. Below are the slides.

  • The road to authoritarianism is full of bots

    As you might already know the Polish parliament, led by the so-called Law and Justice party, passed two extremely dangerous laws last week. They aim to make the judiciary effectively dependent on the ruling political party, destroying one of the most important checks and balances we have. Not only is this stupidly dangerous to democracy, since the Supreme Court overseeing the fairness of the electoral process is being wiped out, but it is also blatantly unconstitutional. The only reason “Law and Justice” can get away with it is because they have neutered the Constitutional Tribunal a couple of months back.

  • Bootstrapping training data, or free lunch

    A while ago our CTO, Russ, asked me about bootstraping some training data to play with one ML thing or other that he had in mind. The idea was to avoid the effort of manual labeling (he’s kind of lazy…) by coming up with a bunch of rules that would classify the data well enough to feed into a supervised training algorithm later.

  • I gave a talk at PyData Amsterdam

    I presented some things I’m doing at RainforestQA at PyData Amsterdam 2016. If you want to find out how to find lazy workers on microtask markets like Mechanical Turk and CrowdFlower, you can watch the whole thing here.