If you just want the see the submissions, jump to the Weekly Code Challege website. But please bare in mind that the most of these were created in a couple of hours. This post is long overdue. Earlier this year, I came with an idea to organize a weekly ... more
Recently I implemented a fly out menu in React, and stumbled on the following problem - I had to catch a blur event on the menu, but it had multiple focusable children. When user is tabbing between these menu items, blur event is triggered every time ... more
2020 was a hard one. I started writing this post in December, but I couldn’t make myself finish it. The whole situation with COVID made me anxious at times and I didn’t really have motivation for my side projects including this blog. But I won’t focus ... more
For multiple projects, I had to add a simple video component with play/pause button ( Always include at least basic video controls for accessibility ) and a buffering loader. It is not hard to detect the buffering state, but it can be tricky to get everything ... more
Today. I have a very personal project to share with you all. Letters from Sarajevo is a web adaptation of the book of the same name. My brother wrote the book using authentic letters our father sent us while being stuck in Sarajevo during the war in ... more
Today. I have a very personal project to share with you all. Letters from Sarajevo is a web adaptation of the book of the same name. My brother wrote the book using authentic letters our father sent us while being stuck in Sarajevo during the war in ... more
Last time I wrote one of these recaps was in 2016. Not sure why I waited three years to write another, and from now on I’ll try to do these annually. 2019 was a good year for me, and I want to highlight a couple of things. Blog I’m really proud of my ... more
Last time I wrote one of these recaps was in 2016. Not sure why I waited three years to write another, and from now on I’ll try to do these annually. 2019 was a good year for me, and I want to highlight a couple of things. Blog I’m really proud of my ... more
These days I’m playing with three.js again. I’m not an expert but I enjoy playing with graphics. Conveniently, a friend of mine sent me this Dribble, and I thought it would be a perfect exercise to try making it. I still haven’t done it, but I did some ... more
These days I’m playing with three.js again. I’m not an expert but I enjoy playing with graphics. Conveniently, a friend of mine sent me this Dribble, and I thought it would be a perfect exercise to try making it. I still haven’t done it, but I did some ... more
I love easter eggs in software. You may have noticed the keyboard image in the background of my blog. This thing on the right side of the screen. Those with a keen eye figured out it highlights keys as you are typing. It has been here for some time now, ... more
I love easter eggs in software. You may have noticed the keyboard image in the background of my blog. This thing on the right side of the screen. Those with a keen eye figured out it highlights keys as you are typing. It has been here for some time now, ... more
Today I want to share three bookmarklets I love to use in development. You can add them to your browser, by creating a new bookmark and entering bookmarklet code instead of URL. Clicking on a bookmarklet ( I usually keep them in the bookmarks bar to ... more
Today I want to share three bookmarklets I love to use in development. You can add them to your browser, by creating a new bookmark and entering bookmarklet code instead of URL. Clicking on a bookmarklet ( I usually keep them in the bookmarks bar to ... more
I haven’t published anything in a while, which is a shame because I have a couple of good things to write about. That said, today’s post is going to be a short one. I wasn’t sure if theme is interesting enough. But in the end I decided to write it anyway. ... more
I haven’t published anything in a while, which is a shame because I have a couple of good things to write about. That said, today’s post is going to be a short one. I wasn’t sure if theme is interesting enough. But in the end I decided to write it anyway. ... more
This time I want to share a small range slider (progress bar) I built. Check the demo. Code and documentation are available here. Same story again, on a React project we needed a media progress bar, and I ended up writing one myself. Why I didn’t like ... more
This time I want to share a small range slider (progress bar) I built. Check the demo. Code and documentation are available here. Same story again, on a React project we needed a media progress bar, and I ended up writing one myself. Why I didn’t like ... more
Few days ago, I was chatting with our design team, and we were wondering how hard would be to create a fake audio spectrum (that mimics human speech) and visualize it. I immediately said it should be easy, and that I will play with it over the weekend. ... more
Few days ago, I was chatting with our design team, and we were wondering how hard would be to create a fake audio spectrum (that mimics human speech) and visualize it. I immediately said it should be easy, and that I will play with it over the weekend. ... more
I want to brag a little - my npm packages have been downloaded more than 1 million times ( Stats are coming from npm-stat.com. ) this year! And I finally got a real domain: https://muffinman.io/ I’ve been quiet for the last couple of months. Mostly because ... more
I want to brag a little - my npm packages have been downloaded more than 1 million times ( Stats are coming from npm-stat.com. ) this year! And I finally got a real domain: https://muffinman.io/ I’ve been quiet for the last couple of months. Mostly because ... more
TL;DR If you just want to add git version tag after npm publish add this to your package.json : "postpublish" : "PACKAGE_VERSION=$(cat package.json | grep \\\"version\\\" | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' ... more
TL;DR If you just want to add git version tag after npm publish add this to your package.json : "postpublish" : "PACKAGE_VERSION=$(cat package.json | grep \\\"version\\\" | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' ... more
I’ve been really busy lately, doing both work and pet projects. At the moment I’m playing with three.js trying to clone old DOS game to JavaScript. Games (and animations in general) need animation loop in which we are going to update the scene and re-render ... more
I’ve been really busy lately, doing both work and pet projects. At the moment I’m playing with three.js trying to clone old DOS game to JavaScript. Games (and animations in general) need animation loop in which we are going to update the scene and re-render ... more
Snippet for a rather popular requirement. Formatting a date in a nice way, using infamous “time ago” function. This is the basic version which I adapt to fit a specific project. To keep it easily customizable to your needs, I haven’t packaged it up. ... more
Snippet for a rather popular requirement. Formatting a date in a nice way, using infamous “time ago” function. This is the basic version which I adapt to fit a specific project. To keep it easily customizable to your needs, I haven’t packaged it up. ... more
This was intended to be a single paragraph in the post I’m still writing. It ended up much longer so I decided to publish it on it’s own. So without further due, I present you my programming story . Origins I got my first pc when I was four, shiny 286 ... more
This was intended to be a single paragraph in the post I’m still writing. It ended up much longer so I decided to publish it on it’s own. So without further due, I present you my programming story . Origins I got my first pc when I was four, shiny 286 ... more