19 Mar 2023
In this blog post, let’s dive into the world of email spoofing frauds and learn how to protect your domain. I learned about the topic from risky.biz podcast.
26 Jan 2023
In this blog post, we will discuss how to create Shopify-like product variants in Django. Our goal was to have a product with multiple variants, each with its own price. We liked the approach used by Shopify, which uses product options and variants.
22 Jan 2023
As a person responsible for the process that runs every week for multiple merchants, I wanted to gain insight into the reliability of our solution. Specifically, I wanted to ensure that we had not missed any runs. To accomplish this, I decided to create a pivot table that would allow me to look back a few weeks and see all of the runs that had occurred during that time period.
14 Dec 2022
I ended up writing online store almost from scratch because of product and market restrictions and then stuck with it because price and freedom it provides. Meaning some features like live preview are not available. This was possible thanks to my partner knowing basics of HTML.
06 Jul 2022
Fly.io recently came with a very intriguing service called Machines. Machines are designed to quickly(in around 400ms) start a docker image when a request arrives and turn off when the process exits. This is amazing because it allowed me to run getimages.social without worrying about the costs. I only pay for storage when a machine isn’t running, which is around $0.15/mo for a 1GB Docker image. Here’s a snippet of log messages related to one start/stop sequence.
29 Jun 2022
For a long time I was thinking of improving my GitHub profile. I wanted to show something cool. Maybe map of my last ride would do the trick. Last time I was playing with Strava data I used interactive maps but this time I wanted to create nice static image.
31 Dec 2021
Od 1. ledna 2022 se mění pravidla při práci s cookies. Je v tom trochu zmatek a konkrétní technické přístupy se velmi liší. Více informací k této problematice najdete v článku od Pavla Ungra, já se budu soustředit pouze na implementaci v rámci Shopify.
19 Dec 2021
I love podcasts, I’ve been listening to them for years now. Here are the one where I listened almost every episode.
21 Aug 2021
Po přechodu na single-page aplikaci (přibližně před rokem) se naše produktivita nezlepšila i přesto, že jsme tým prakticky zdvojnásobili. Říkal jsem si, že se to časem srovná. K přechodu nás donutil vývoj okolo 3rd party cookies, protože naše aplikace běží v iframe
v administraci e-shopu.
12 Jun 2021
I’m building Shopify apps using Django and React. When I first created Candy Rack it was server rendered HTML with single or multiple React components on a page. Since then the web ecosystem evolved. The most important change are the restrictions around 3rd party cookies. To address this problem Shopify came with an alternative authentication method that doesn’t rely on cookies called session tokens. Instead of cookies Shopify provides a Javascript function that returns a token. As a result all authenticated requests must be made from Javascript. While SPA is fine for larger apps and teams, we have some smaller apps and rewriting them to SPA isn’t viable.
13 Mar 2021
For our new Shopify app I needed to create a websocket server that broadcasts a message when model is updated. I ended up with this solution. Start with installing channels
and channels-redis
to you Django app.
09 Aug 2020
Recently I was facing very interesting challenge. We distribute our app’s javascript using Cloudflare. Sometimes the <script>
tag stays on the site after the app is uninstalled resulting in unnecessary load on our server. This means that eventually we’ll have to quickly determine whenever should the script run or not.
16 Jul 2020
I wanted to write something about Pipenv for a long time. With the new release, I think it’s a good time to thank authors and maintainers of Pipfile. I started using Pipenv exactly two years ago and haven’t stopped ever since. This post is a writeup of my views from the perspective of app developer.
28 Mar 2020
I’m quite late to the party. Actually I’ve already done my taxes. But since I’m not using Instagram anymore. I decided to post some pictures here to remind me what actually happened.
07 Mar 2020
We’re collecting anonymous customer events in our Shopify app into a single table. This table grew over time to sufficiently large volume, approximately 30 million, to make our reports take too much time for large customers. The first and easiest step to a better performance I could think of is to precompute the report. Materialized views seemed like a reasonable approach. So I went ahead and asked DB specialist if it’s a good idea.
01 Feb 2020
Google is always kind enough to provide us with something to do. This time it’s about Chrome defaulting cookies to SameSite=Lax and a relatively new SameSite=None
option.
02 Nov 2018
This post expands on the previous one I wrote on this topic. Please refer back to Virtual support phone number with Twilio if you’re not familiar with Twilio.
13 Oct 2018
I finally got opportunity to work on a project that used Django together with a React app. There’s a combination of packages that help with integrating CRA and Django.
09 Sep 2018
For a long time I was looking for a simple and, well, cheap solution to isolate my support phone number from my personal number and I’m going to share my solution with you.
10 Aug 2018
Time has come and even I got the opportunity to try out currently trending Gatsby.js static site generator. The most popular feature, at least from my point of view, is Image Processing with gatsby-transformer-sharp. I thought “Everyone talks that I can have out of the box responsive images and other cool things!”. Yeah sure, but they didn’t use it together with Netlify CMS while using beta of v2 :) Now with Gatsby v2 released things are a bit easier.
05 Aug 2018
Few days ago I participated in my first race ever! It was short triathlon called Slapský triatlon. My friend was talking me into it for almost two years. The swimming is 500m, cycling is 34km and running is 4.5km. I don’t swim or run that much but I was pretty sure I can handle this. I was pretty confident with cycling which turned out to be a mistake. I was happy with the result overall. I wasn’t last. I’m pretty satisfied with swimming and running, but I could push a bit harder on the bike. The result is that I have some interesting data I can play around.
19 Jul 2018
Typing in dynamic languages is hard. Especially in small projects where interaction with libraries is hiding on every corner.
I tried to get into Flow at least two times before. Now I finally think I got far enough to experience enough of important obstacles that suffice to write about them.
08 Jun 2018
Apollo je sada nástrojů pro práci s GraphQL od tvůrců Meteor.js. Apollo Client slouží k napojení UI na data, Apollo Engine na infrastrukturu a tooling a nakonec Apollo Server pro zpřístupnění REST API pomocí GraphQL.
02 Jun 2018
Klient mě oslovil se záměrem poskytovat doručování pomocí Zásilkovna.cz na Shopify. Vzhledem k omezeným možnostem ovlivnit checkout proces u levnějších Shopify variant se to ukázalo jako cvičení tvořivosti.
22 May 2018
Máte systém na zpracování objednávek generující vlastní čísla objednávek a potřebujete použít toto číslo jako variabilní symbol?
12 Apr 2018
I recently fell in love with Netlify because of its simplicity and speed. Nelify allows you to build and host your website in one place with generous pricing levels. I wanted to explore what are possibilities when it comes to e-commerce so I decided to create a simple statically generated website where I could sell some products.
01 Mar 2018
I needed to allow my customer to export a bunch of tables. After some digging, I found a pretty neat solution.
28 Dec 2017
I wanted to expose a bit of insight to my team. As we work in kind of upredictable manner we could use a report on who worked a day before. We use Trello as our time tracking tool. It supports weekly email reports but the price for this feature was a bit expensive for us. So I did a quick research and found Trello report script that does exactly what I wanted. It outputs markdown to STDOUT.
12 Oct 2017
Next.js je minimalistický framework pro tvorbu React aplikací s důrazem na jednoduchost server-side renderingu. Ukážeme si, jak nám pomůže vytvořit aplikaci, která bude přátelská jak pro uživatele, tak i pro vyhledávače.
22 Sep 2017
I attended great talk by Gabe Scholz which was full of useful and concise tips for writing better and more maintainable redux apps. It struck me that I was just recently coping with these issues so I decided to share my view on these issues.
08 Sep 2017
Recently I found that Firefox supports headless mode on Linux for a month now. Windows and MacOS are now in beta and will be released on September 26, 2017. I was pretty excited to find out so I immediately switched over Travis configuration for Selenium tests in my Django project.
11 Aug 2017
In my current project I wanted to let user upload multiple photos at once in Django admin. I got intimidated by huge libraries that do this and dozens of other things. So I ended up using small tweak which works surprisingly well.
03 Jul 2017
Můj klient potřeboval automatizovat platbu převodem v obchodě na platformě Shopify. Vymysleli jsme řešení, jak pomocí proformy využít schopnosti Fakturoid.cz. Fakturoid při zaplacení proformy vytvoří fakturu a následně informuje o jejím vytvoření.
19 Jun 2017
Recently I had opportunity to use Next.js on a client project. I already heard how much work it saves but I just couldn’t believe how simple it was.
14 Jun 2017
GraphQL is query language created by developers in Facebook to make their app development manageable. There are quite a few reasons why should we be interested in it even at small scale.
11 Jun 2017
I recently fell in love with prettier. Prettier is an opinionated code formatter.
Having consistently formatted code is very pleasant feeling for me and having formatting done automatically?
Woah! The best part is that you can easily run prettier
on git commit
. That way you can write messy code and it will get cleaned up automatically. Let’s do it.
30 Apr 2017
Last Friday I attended my first React conference. It took place in Amsterdam. So once again I got the opportunity to visit Amsterdam because of a conference. I want to thank organizers of PragueJS meetup for giving me a ticket!
27 Mar 2017
Recently I got interested in small and hopefully profitable projects, sometimes called Micropreneurship. Later I found that one of the most “simple” ways to start a SAAS is Shopify application.
21 Jan 2017
I recently needed to expose local port of my dev machine to the internet. I realized I could combine SSH port forwarding, nginx and letsencrypt. Ubuntu 16.04 is my OS of choice on the server.
21 Dec 2016
Už jsou to tři roky, co jsem rozebral plastové reproduktory a jejich elektroniku naskládal do krabice od vína a přikryl lepenkou z IKEA. Chtěl jsem jednu bednu, ideálně s bluetooth, ale nepotřebuji drahý stylový reproduktor. Nedlouho poté jsem svůj výtvor vylepšil bluetooth příjmačem a designová reprobedna byla na světě.
12 Nov 2016
This year I a had an opportunity to attend Django: Under The Hood. A single track conference focused solely on Django. Due to a fact that significant number of contributors are attending, it’s great opportunity to discuss almost any issue with people who actually have a clue what is going on.
26 Aug 2016
Nodemon is tool to improve backend JS development. It reloads files automatically so you don’t have to restart the server every time. Another cool thing is that you can debug the code in chrome dev tools.
19 Aug 2016
I lost interest in electrotechnics almost a year ago. I turned off my binary clock, temperature sensor and left it in a drawer. But before that I bought ESP8266, cheap WiFi microcontroller running lua. It was unreliable and hard to program.
06 Jul 2016
Cesta do Þórsmörk pro nás začíná u vodopádu Seljalandsfoss. Vodopád Seljalandsfoss jsme pocítili na vlastní kůži, dopad vody, která už ve vzduchu působí úžasným dojmem, vytváří mlhu rozlétávající se do okolí. V jeho blízkosti je ještě jeden, velmi zajímavý vodopád zvaný Gljúfrabúi. Je totiž skrytý ve skalní průrvě.
24 May 2016
Island mě překvapil na několika frontách. Jak odlišně, čistě a nádherně působí zdejší příroda, jak malá jsou města a vesnice mimo Rejkjavík.
18 May 2016
Bristol. Naše přestupní stanice na Island. Jediné, co jsem znal předem byl Banksy a Bath. Nakonec na Bath ani nedošlo, Bristol nás zabavil víc než dost.
14 May 2016
Právě sedíme v našem dočasném pokoji u Bristolských Airbnb hostitelů. Je tedy čas napsat o mých pocitech z Irska.
13 Jan 2016
I recently published first working version of my latest project. It is an Instagram newsletter based on pretty basic Machine Learning method. I called it socialist. Feel free to try it out I would love to hear your feedback.
29 Nov 2015
Recently I’ve developed passion for machine learning. Which includes many hours of fun with various modeling and plotting libraries.
04 Jan 2015
Na konci října jsem si udělal výlet do Finska. Ani nevím proč, rukavice nosím hned jak teplota klesne pod 10°C a válení se na slunci je mojí oblíbenou aktivitou. Nejspíš kvůli jazyku, který mě vždy přihoval. Původní úvahy začínaly na 14 dnech, nakonec jsem skončil na sedmi. A to je, opravdu málo. Tři dny v Helsinkách, přibližně jeden den ve městě Jyvaskyla a dva dny v Oulu.