toolsDevstack set up on the Virtualbox VMThis tutorial will show you how to set up and deploy a simple OpenStack based local cloud. Thanks to the automation you will be able to…07 Nov 202010 min read
toolsHow to test cloud-init locally with VagrantHow to test a cloud-init file locally? The most straight forward choice seems to be VirtualBox and Vagrant. I will show you how to set up…01 Nov 20204 min read
reactReact Typescript library with Rollup and Jest - Storybook setupIn this part of React Typescript library setup tutorial I will describe how you can add Storybook base documentation for your components. If…27 Sep 20205 min read
reactReact Typescript library with Rollup and Jest - tests setupIf you are starting from this page I would suggest you to go back to the part 1 of this tutorial where initial Rollup and Typescript setup…02 May 20204 min read
macHow to remap single Mac keyboard keyHow to remap one Mac OS X keyboard key to the other without using any external tools? Is it even possible to do without being a mac…25 Apr 20204 min read
reactReact Typescript library with Rollup and Jest - adding ReactIf you are starting from this page I would suggest you to go back to the part 1 of this tutorial where initial Rollup and Typescript setup…18 Apr 20203 min read
reactReact Typescript library with Rollup and Jest - initializationHere is a tutorial which will show you how to create your own NPM package with React components written in Typescript. You can check https…15 Mar 20208 min read
javascriptWhat are NPM dist tags and how to use themWhile developing or using NPM package registry you may come across command or multiple dist tags available for one package e.g. next tag…22 Feb 20203 min read
javascriptHow to mock global window variables with JestWhile generally everything is extremely easy using Jest, mocking global variables is one thing which is left up to developer. You can…12 Jan 20205 min read
javascriptCustom Jest transformer CSV exampleSometimes you may need a custom Jest transformer. In my case this was a CSV transformer which was needed to test tabular data provided to…04 Sep 20194 min read
dockerSecure Docker Grafana container with SSL through Traefik proxyYou are wondering how to auto-generate free and auto-renewable SSL certificate for you Grafana container? This was also my concern some time…18 Jul 20197 min read
frontendWhat is and how to use Google Tag ManagerGoogle Tag Manager (GTM) is a tool made by Google which lets you modify content of your website without touching its codebase. It adds a…12 May 20193 min read
javascriptElectron opening link in a new windowOpening a link in a new window/tab is not a big deal when working with a regular single page application rendered inside browser. Usually…11 May 20193 min read
reactReact multiple event handlers performanceHow to bind handlers in React to multiple similar elements e.g. buttons on list? Is it any better to use one handler and identify clicked…09 Mar 20193 min read
reactReact.PureComponent - different ways of writing event handlersThere are many ways to define event handlers in React. Are there any differences between them? TLDR; You should probably avoid the inline…04 Mar 20194 min read
reactReact.PureComponent - children vs custom propertiesCan I use the property with React.PureComponent, or do I have to use only custom properties? TLDR; You can use with React.PureComponent as…27 Feb 20192 min read
javascriptIntegration tests with Jest, Selenium and BrowserStack - part 1 - simple exampleAlthough there is much useful information on the official BrowserStack website, you will certainly have a lot of questions when you run…20 Nov 20189 min read
backendTraefik - proxy development server with self-signed SSL certificateYou want to check how (or if) your application works with SSL encryption without exposing it to the Internet? Use a self-signed SSL…07 Nov 20188 min read
frontendIntegration tests with Jest, Selenium and BrowserStack - part 2 - multiple browsersAs described in part 1 you can run Jest based tests with BrowserStack service. Now I will show how they can be automatically run against…06 Nov 20184 min read
javascriptPublishing NPM package with Rollup, Babel, Flow, Jest and ESLintHere is a description of common tools and files used to create a modern NPM package. Don't hesitate to clone my npm-lib-package-boilerplate…05 Nov 20189 min read
javascriptTime Series Admin - Electron-based alternative to Admin UI for InfluxDBInfluxDB turns out to be a good solution for a time series data which happens to be the cornerstone of my current job. As (probably) every…04 Nov 20183 min read
javascriptFlow type checking for AxiosType checking with Flow is a nice addition to your code. Unfortunately, it is not so intuitive to use Flow with libraries like Axios. The…17 Oct 20183 min read
vimUsing Vim or NeoVim as a Git mergetoolThe "ugly" 4 window view of the default configuration can scare you out even if you were using Vim for a while. It's just too much…22 Aug 20183 min read
javascriptImmutableJS .toJS() vs .toArray()General advice is to never convert data from Immutable to native JS types. But if you have to do it use rather than of course if you work…29 Jul 20181 min read
backendRabbitMQ amqplib - "Error: Channel closed by server: 406 (PRECONDITION-FAILED) with message "PRECONDITION_FAILED - unknown delivery tag 1"If you are struggling with the 406 error message which is included in title of this post you may be interested in reading the whole story…29 Jul 20181 min read
javascriptRunning Jest tests with Flow typed Javascript filesThis will be a simple tutorial about running Jest tests with Flow typed Javascript files in NodeJS project. Problem Recently I've started…28 Jul 20182 min read
javascriptHow to run Jest tests with Rewire pluginAnother Jest connected post. How to test internal module functions that are not exported? Problem I want to test internal function defined…25 Jul 20182 min read
frontendIonic 3 show/hide content based on screen sizeHere is a complete Bootstrap-like solution for showing and hiding selected Ionic components based on screen size. Go to solution…02 Jul 20184 min read
frontendIonic 3 browser splash screen / preloaderThe Splash Screen component is available for a long time but only as Ionic Native component, so we can't use it inside browser. I will…05 Jun 20187 min read
toolsDuplicati backup filters configurationDuplicati is a free backup tool which is my current choice for cloud backups. Why Some time ago I wrote a post about Restic which is a nice…16 May 20184 min read
toolsRestic backups with Backblaze B2How to create Restic based backup using Backblaze B2 cloud storage as a backend. This tutorial was made on Mac OS X High Sierra with restic…16 May 201810 min read
frontendIonic Framework - ionic-app-scripts live reload shows old contentA solution for live reload "bug" while using ionic-app-scripts which causes showing old content after automatic page refresh. If you are…13 May 20181 min read
javascriptgraphql-yoga import .graphql filesIt is possible to split you type definitions to multiple files and then merge them back using merge-graphql-schemas ensuring graphql…12 May 20182 min read
frontendIonic 3 Framework - setFocus on opened modal inputUse Angular hook and execute inside it. While working with the Ionic 3 Framework I came across (as it turns out) popular problem of…26 Apr 20182 min read
toolsAdding new partition to the existing Vagrant VMThis will be a tutorial about adding new partition to the existing Vagrant (Virtual Box) machine. It should be safe to follow but please…15 Apr 20183 min read
javascriptIonic Framework 3 - troubleshootingWhile playing with Ionic Framework v3 I came across few errors/problems which I would like to describe here. ion-app did not match eny…13 Apr 20182 min read
toolsResizing existing VM partitionUse vagrant-disksize plugin from https://github.com/sprotheroe/vagrant-disksize Set required disk size Inside Vagrantfile Start Vagrant or…09 Apr 20181 min read
toolsiOS simulator SSL certificates problemsiOS simulator is a handy tool available for every OS X user but you may encounter This Connection Is Not Private or other strange bugs when…08 Apr 20182 min read
MongoDB + Letsencrypt + DockerHow to setup MongoDB Docker container to use Let's Encrypt SSL certificate with autorenewal support? That's something which should be much…18 Feb 20181 min read
dockerGrafana and InfluxDB with Let's Encrypt SSL on DockerDeprecation warning This is now deprecated! Please head to Secure Docker Grafana container with SSL through Traefik proxy which is far more…05 Feb 20188 min read
hostingsDNS configuration to delegate only website to other hostingThat was the case in my recent project where a client wants to use his current hosting provider for email but generally, it was advisable to…24 Jan 20181 min read
dockerGrafana Docker container and Google AnalyticsHow easy is adding Google Analytics support to Grafana Docker container? It's trivial. Just add an environment variable to the Grafana…20 Dec 20171 min read
toolsTrack file changes and automate script executionRecently I came across an issue of "live" synchronization of my local files with a remote host. It was necessary to upload project files as…14 Dec 20171 min read
dockerHow to backup and restore InfluxDB which runs inside Docker containerRunning InfluxDB inside Docker container is extremely easy with the official image available on Docker Hub https://hub.docker.com/_/influxdb…16 Nov 20174 min read
toolsMonitor iPhone network traffic with WiresharkUse and Wireshark. In order to user rvictl you have to have latest Xcode installed and launched at least once (during first run Xcode…24 Oct 20171 min read
wordpressWordpress WMPL Post Type Switcher supportAdding WPML support to PostType Switcher plugin is easy. My solution is based on https://wordpress.org/support/topic/simple-hack-to-add-wpml…05 Oct 20171 min read
wordpressWordpress Roots Sage 9 translationsAdding translations to the current Roots Sage version (which is 9.0.0-beta.4) is not as easy and standard as it was in previous versions…31 Aug 20172 min read
wordpressRoots Sage 9.0.0 - error Command failed with exit code 2During assets compilation with , or you may run into this error: error Command failed with exit code 2 Workaround In order to fix it try…24 Aug 20172 min read
phpPHP default values with array_mergeIn PHP there is no option to provide default values for an associative array as an argument. E.g. (is not possible) In order to solve that…17 Aug 20171 min read
wordpressWordpress rewrite rules and paginationIf you are making larger Wordpress site at some point you will definitely come across custom rewrite rules configuration. The tools (plugins…15 Jul 20172 min read
meteorMeteor node-simple-schema and Meteor.users collectionIf you use Meteor you have to come across the node-simple-schema formerly known as . This is definitely a great package which eases data…14 Jul 20173 min read
vimDocker and Vdebug for PHP debuggingDocker is a great tool but unfortunately when you have a separate container for each web project you may start having issues with the…17 Jun 20173 min read
toolsFree image sources for commercial and non-commercial useHere is a list of popular pages which offers free images. By free images I mean CC0 (or similar) licensed pictures which may be used (and…11 Jun 20171 min read
rubyRuby on Rails custom Capistrano tasksWriting and using custom Capistrano tasks is very easy and automating your deployment process may save you a lot of time and troubles. Here…10 Jun 20173 min read
vimDocker with Xdebug a final guide with troubleshooting tipsAfter spending a nearly whole day fighting with Xdebug setup I think it is a right moment to write some complete Xdebug guide. In this…02 Jun 20175 min read
dockerDocker for Mac OS XThis will be a set of questions and answers related to the Docker usage under OS X. Where are my Docker files? They are supposed to be…30 May 20171 min read
toolsDNSmasq for custom development domain nameSetting up a custom domain name for a local development may be really useful especially when you want to test multisite setup (e.g. for…30 May 20171 min read
toolsVim registers - how to use Vim multiple clipboards featureUsing registers in Vim is like having a large number of clipboards where you can copy and paste from whenever you want. Here is how to use…28 May 20171 min read
toolsAdding a CNAME record to the DNSIn order to check your current DNS records, you may use this tool https://www.samdns.com/ It allows you to specify DNS server, so you don't…23 May 20172 min read
iosiPhone 6s iOS 10.3.1 Unable to Verify UpdateRecently I've tried to install the newest iOS 10.3.1 update on my iPhone. Unfortunately, instead of a successful installation, I was getting…12 May 20171 min read
macMac OS X upgrade - is it safe for your toolsRecently minimal system requirements of the new Sketch App 42 forces me to make an OS X upgrade. It turns out that upgrading to the not most…06 May 20171 min read
macHow to restore selected files from Time Machine backupDon't ask me why I've made this post... If you accidentally delete half of your projects I hope you have a recent backup available. Even if…28 Apr 20172 min read
wordpressACF PHP API the missing docsThe most useful feature of the ACF Wordpress plugin is its PHP API. Unfortunately, it is not fully documented on the official page. Here are…27 Apr 20171 min read
rubyRails number_to_currency change locale defaultsActiveSupport helper method may be extremely useful if you deal with prices/wages inside your app. By default uses your current locale…22 Apr 20171 min read
wordpressHow to get list of all ACF fields?Getting a list of all ACF fields may be useful e.g. if you want the user to select one of them as a data source. In my case, I needed that…19 Apr 20171 min read
wordpressWordpress HTTP error when uploading a photoI had a few cases when clients report an "HTTP error" during photo upload. Which looks similar to this: In all these cases the problem was…16 Apr 20172 min read
railsRails 5 with PDF.jsOpening PDFs directly on the web page was one of the requirements for my recent project. The obvious choice was to use the PDF.js library…16 Apr 20171 min read
vimVim regex examplesA list of Vim regex examples which might be useful for code/text refactoring. Not something (excluding some character) The regex below will…15 Apr 20171 min read
toolsUseful Bash commandsThis is a list of Bash commands that I frequently use with a short explanation. It may help you in everyday usage of your Unix based system…11 Apr 20172 min read
railsGenerate PDF with Prawn gem in Rails 5 applicationDuring my recent project development, I came across a problem of generating PDFs. Fortunately, there is a nice gem for creating PDF…05 Apr 20175 min read
wordpressWordpress pluginsThis is a list of useful Wordpress plugins which I use in my projects. Each plugin will have a short description in which I would try to…05 Apr 20172 min read
javascriptScrollMagic setup for Webpack (a CommonJS setup)ScrollMagic is a great JS library which makes you page look lively. Here is how I manage to integrate it with my Webpack based build process…04 Apr 20172 min read
rubyDry-validation custom error messagesWhile defining custom errors is described in the official documentation I had a few issues. Here are my findings. First of all integration…31 Mar 20171 min read
ghost-tagAdding code highlighting to Ghost blogRunning any kind of code related blog on the Ghost platform would eventually require adding some syntax highlighting to your code snippets…23 Mar 20172 min read
wordpressUse ACF image field as thumbnail inputStandard Wordpress thumbnail input may be replaced with an ACF image field which is far more flexible/customizable. In order to do that you…23 Mar 20171 min read
javascriptCustom scrollbars for HTML elementsSometimes your website may need inner scrolling for an element with overflowing content. In most cases using simple: is not enough to…20 Mar 20171 min read
macUseful OS X AppsThis is a list of applications and utilities which I find most useful for my everyday tasks. Spectacle You can live without the Spectacle…19 Mar 20172 min read
macCustom Mac OS X screenshots location and formatDefault screenshots location on Macs is your Desktop which is not very convenient. After a few months, it will look (probably always) like…19 Mar 20171 min read
ghost-tagHands on GhostWordPress is an obvious choice if you want to write your own online blog. It is especially true if you are a WordPress developer which…19 Mar 20173 min read
ghost-tagSetup Ghost blog on Mydevil.netGhost is an awesome blogging platform, but there is one "problem", it is written in Nodejs which is not so widely supported (as PHP) among a…19 Mar 20171 min read
wordpressWordpess theme responsive imagesEnsuring good responsive images support in Wordpress can be a quite complicated task. When you try to provide dedicated image size for each…18 Mar 20175 min read