Check out "Do you speak JavaScript?" - my latest video course on advanced JavaScript.
Language APIs, Popular Concepts, Design Patterns, Advanced Techniques In the Browser


This blog is 16 years old. The first article Creative navigation by was written on 2008-08-22. The last one Generate QR code on your machine using Node.js was published on 2024-06-02. There are 520 articles in total spread into 15 categories.

Articles per year:
2024 - 2
2023 - 5
2022 - 4
2021 - 13
2020 - 34
2019 - 11
2018 - 19
2017 - 23
2016 - 23
2015 - 20
2014 - 43
2013 - 133
2012 - 50
2011 - 60
2010 - 63
2009 - 4
2008 - 13

All articles:
Generate QR code on your machine using Node.js
Reactive UI in 10 lines of code

Write your own progress indicator with vanilla JavaScript
A short introduction to CSS nesting
I've made an Express.js based source viewer
q2m - a library for translating URL params to MongoDB query
AI driven open source library for measuring your web page carbon footprint

Anchor links pointing to a fragment fires History API's "popstate" event
Using web dev skills to test web dev skills
Taking Wordle to the next level (case study)
The tiniest presentation framework

13 Years of Blogging
How I wrote and published my 5th technical book
TAMO JUNTO - Animated Short Film
Here is how call-to-action widgets probably work
Get to know Kent C. Dodds
White-labeling React apps
Firebase/GCP: save money by cleaning up your artifacts
Using JavaScript module system for state management
Miss Piggy - a test runner for Puppeteer
Configure Google domain email in Vercel with ImprovMX
Reinventing the routing in React apps
Transpile to ES modules with Babel
Mocking console methods with Jest

Copy files and directories from and to Kubernetes pods
Replacing code for production with Babel transformation
iPhone stuck on the Apple logo
Transfer MP3 file from Mac OS Catalina to iPhone iOS 14.0
What the heck is Google Tag Manager and what it has to do with Google Analytics
You Really Don't Need All That JavaScript, I Promise by Stuart Langridge
ReactNative: using SVG as a button
React: 50 shades of state
Recreating Facebook's Recoil library
A journey into software development with Lea Verou
The simplest HTTP proxy with custom headers
Smart placeholders in your markdown
How Open Source Changed My Life with Max Stoiber
Create your own Covid-19 data tracker
NADCAST.24 с Радо Станков
My top 3 tips for working remotely
Pairify - how to match balanced string pairs
GraphQL: the documentary
Vue.js documentary
From 0 to 100 GitHub stars in a week
Webpack/TypeScript/React starter kit as of 2020
Email not working after DNS change
Octomments - using GitHub as a comment plugin
"Exit strategy" by Travis Bible
VSCode go to definition/implementation fixed
Running Prettier for specific Git branch
AST fun. Remove a function call from your bundle
Hopa - zero config CLI that runs JavaScript and TypeScript
"The Candidate" by David Karlak
Part 1: We need channels! A gentle introduction to communicating sequential processes.
Part 2: Riew - reactive view basics
Part 3: Riew - reactive view in patterns
Reactive view - the concept
Bret Victor: Inventing on principle

NADCAST.23 с Яни и Ния
Make your objects iterable
Rethinking the Redux API
React: rendering vs running your components
From PHP to Node with Zeit's lambdas and
NADCAST.22 live at React.NotAConf
NADCAST.21 с Радо Станков за React.NotAConf
Why and how I built my own alternative of the GitHub's UI
Jolly Roger - a 2KB micro-framework based on React hooks API
forEach or not to forEach
NADCAST.20 със Стефан Кънев

NADCAST.19 с Радо Станков и Минко Генчев
Build your own interactive JavaScript playground
My new and shiny tool for live demos - Demoit
React hooks: changing the mindset
NADCAST.18 with Sara Vieira
Pixo - Image editor for your web app
NADCAST.17 с Радо Станков
A story about React, Redux and server-side rendering
NADCAST.16 с Владимир Конушлиев
React and separation of concerns
NADCAST.15 live recorded at React.NotAConf
Implementing an async queue in 23 lines of code
NADCAST.14 със Стефан Кънев и Димитър Димитров
NADCAST.13 с Радо Станков
My take on Redux architecture
NADCAST.12 с Димитър Димитров
NADCAST.11 с Мариан Игнев и Павел Иванов
Meet Evala - your terminal in the browser
Debugging your front-end like it's 2019

NADCAST.10 с Минко Гечев и Радо Станков
Markup as function
Meet the JavaScript pattern of the year or how to handle async like a boss
Getting from Redux to a state machine
You are managing state? Think twice.
NADCAST.09 с Радо Станков
Post-transpilation or what is the real face of your code
NADCAST.08 с Александър Тодоров
README driven development
NADCAST.07 with Kent C. Dodds
NADCAST.06 with Cole Peters
Rakka by Oats Studios
NADCAST 05 с Христо Панайотов
NADCAST.04 с Найден Гочев и Михаил Кочанов
The powerful higher-order component pattern
NADCAST.03 с Радо Георгиев
NADCAST.02 със Стефан Кънев
NADCAST.01 с Радо Станков
Strange Beasts
Surviving the Web
Bulgaria Web Summit 2017 is just around the corner
Children in JSX
8 Years of blogging

Short Film: Find my Phone
React and third-party libraries
Full Stack Fest and CSS day Videos
Presentational and container React components
React.js in patterns
Short movie by Oscar-winning animator Patrick Osborne
Jamie xx - Gosh
Let's write, not generate code. Thoughts about naming stuff.
Unity Adam demo - the full film
The bare minimum to work with React
DevTools in 2016: Accelerate your workflow
Thoughts on semantic versioning, npm and JavaScript ecosystem as a whole
iframe, or not, that is the question
Lazy-load your images with Coloor
The earthquake in the JavaScript community
Debugging with Node
My new experiment is released - 10 Lessons in Front-end ebook
Constructive destructuring
The last job on Earth
Meet sequence expression
Unexpected usage of Array.length
The return statement is not the end (but it should be)
Deep dive into client-side routing

Start your own JavaScript library using webpack and ES6
JavaScript's reduce could be really helpful
Using Mocha with ES6 spec files
Apache .htaccess for HTML5 push state manipulations
Dissection of Flux architecture or how to write your own
A story about currying
Hacking a weird failing HTTP request
Enforce standards while submitting a pull request
Distributing React components
A modern React starter pack based on webpack
CSSSteal - Chrome extension that extracts CSS
How require/import may decrease your testability
Rethinking JavaScript readability
Hacking Browserify
Choosing Your Javascript Framework
Using Local Storage as a communication channel
The proper way of fixing bugs
Bulgaria Web Summit / must-go conference for the modern web person
Fun playing with npm, dependencies and postinstall script

Merry Front-End Christmas
How I squeezed two hours and a half
Unit test your client-side JavaScript
My front-end performance case study
CSS variables are here for ages
Win Free Copies of my new book – Node.js Blueprints
Node.js Blueprints book - second chapter's clarification
ToDoMVC with AbsurdJS
Feeding the beast at 60fps
Usersnap - the holy grail of bug reporting
The three rules of the good CSS architecture
Mobile Web performance auditing
Packt Publishing celebrates 10 years with a special $10 offer
Hungry for knowledge #2 - the Sunday's talks collection
"Help, I'm stuck in an event-loop" by Philip Roberts
Hungry for knowledge - Scotland JS 2014 talks
Stop autoplaying your Gifs
Why I'm happy to be a web developer
Jenn Schiffer: What's the Harm In Sorting: Sanitizing Inputs For More Optimized JS
Developing Node.js applications with Google Chrome
Node.js application made with Express and AbsurdJS
Sorry, Chrome killed the terminal
Node.js: managing child processes
Testing responsiveness retrospection
Mandy Lauderdale & Jed Schmidt: JavaScript Medley is around the corner
No back-end blog solution with Node.js and Markdown
Book review: Getting Started with Grunt: The JavaScript Task Runner
EdgeConf 3
Win Free Copies of the new book - Getting Started with Grunt
Look ma, JavaScript only Off-Canvas menu
JavaScript: bind function
Using media queries in JavaScript (AbsurdJS edition)
Mastering the DOM access
Cross-browser handling of Ajax requests
A modern JavaScript router in 100 lines
Simple, good looking separator made with pure CSS
THE GAP by Ira Glass
Revealing the magic: How to properly convert HTML string to a DOM element
Using Node.js to rename set of images
SASS and Gruntjs (Node.js setting up)
Dependency injection in JavaScript

Flash CS5 is not working
7 lines JavaScript library for calling asynchronous functions
Harry Roberts - Normalising designs for better quality CSS
JavaScript template engine in just 20 lines
ExpressionEngine: thumbnail could not be created for the image under Windows
The Power Of Simplicity by Jeremy Keith
To all devs out there
AbsurdJS fundamentals
An alternative JavaScript for loop syntax
Martin Kleppe: 1024+ Seconds of JS Wizardry -- JSConf EU 2013
Making HTTP realtime with HTTP 2.0 - Realtime Conf 2013 by Ilya Grigorik
PHP: please, please, clear my cookies
JavaScript: dependency free extend method
JSConf EU 2013
Videos from TarnovoConf 2013
Git error: cannot lock existing info/refs
Select drop-down broken under Firefox
JavaScript challenge: queue implementation
Auxilio Chrome extension or how I boost my productivity
JavaScript: creating class based on object
SASS: interpolation in a name of variable
The power of inherit or how to animate pseudo elements
BurgasConf 2013
Managing events in JavaScript
Managing events in JavaScript
Send message from web page to chrome extension\'s background script
CSS: common use cases and architecture at VarnaLab
SASS mixin for grid generation
CSS: Understanding first-child, last-child and nth-child
A bad side effect of the aspect oriented programming
SASS mixins covering media queries
Sweating the small stuff: recreating subtle design details using Sass by Tim Hettler
Two handy and advanced SASS features and their limitations
SASS: universal mixin for box model properties
PHP: simple captcha script
AJAX request doesn't work in IE (url encoding problem)
SASS: @content directive is a wonderful thing
SASS: differences between mixins, extends and placeholders
CSS Challenge #2: Layouting
Stay tuned / conferences that you should know about
A Happy grain of sand - Aral Balkan
DalekJS - Automated cross browser testing with JavaScript!
CSS Challenge #1: expand and center an image
Angelina Fabbro: JavaScript Masterclass - JSConfUS 2013
Introduction to animations in HTML
Web Highlights #7
Adapting to Responsive Design - Mark Boulton (Fronteers 2012)
CSS: :before and :after pseudo elements in practice
Auxilio Chrome extension - common use cases
JavaScript is cool
VarnaConf 2013 Videos
Twitter streaming API, NodeJS and 401 Unauthorized error
Building the Web Together
Brad Frost - For a Future Friendly Web - Mobile Mobile Conf 2013
JavaScript: sequencing function calls #2
JavaScript: sequencing function calls
Extending Jasmine (BDD framework for testing)
Design - Apple Mac
Auxilio Chrome extension presentation at VarnaLab
Rob Ashton - Javascript sucks and it doesn't matter
Security sandbox violation error even with crossdomain.xml
How to Design Responsively
Web Highlights #6
Deploying ExpressionEngine based site
How to use the Chatwing chat software with ease
Insert css or javascript dynamically
Chrome extension: debugging dev tools tab or how to make console.log
Importing huge MySQL dump under Windows.
The New CSS Layout - Rachel Andrew - Front-Trends 2013
Get computed css styles for a given element
Javascript string replace and regular expression
Chrome Extension: run JavaScript in the context of the current page
Flash, nodejs sockets and cross-domain policy file
Convert HTML string to DOM element
A strange IOErrorEvent.IO_ERROR event dispatched
Simple command line parser in JavaScript
How to Design Responsively
The Flash Builder debugger failed to connect to the running application.
mod_rewrite, one simple rule and two stupidly lost hours
Front-Trends 2013 (Videos)
Lea Verou - Everything You Always Wanted to Know About Web Standards (Fluent 2013)
Web Highlights #5
Git under windows (console mode)
Accessing remote Git server under windows
Responsive Design Workflow (my talk at VarnaLab)
CSS: The background color and overlapping rows
A short review of ExpressionEngine framework
Design Processes, Not Interfaces - Tiffany Conroy
Lucky by Nash Edgerton
A Pixel is Not a Pixel: Learn about Viewports with PPK
Learning to teach - Bartosz Szopka
Jeremy Keith - There Is No Mobile Web - BD Conf, Sept 2011
Inside Me
The hunted playlist
Web Highlights #4
CSS: transition from pixels to auto
Real time game with NodeJS and
Web Highlights #3
Web Highlights #2
CSS: using float property
Web Highlights #1
Google Chrome for web developers (my talk at VarnaLab)
The mobile web by Peter-Paul Koch
Make the web faster
iPhone and iPod detection under JavaScript
Practice, practice, practice ...
What exactly "Retina display" means in the context of the front-end development
Popular Science Fleischer Studios The Cartoon Process
AssetsPack - a friend of the front-end developer (pack your assets with NodeJS)
Tern - intelligent JavaScript editing
Catch uncaught Exception in Node.JS
Responsive design at VarnaLab
HTML5: a few links to bookmark
The Breakpoint
Compiling iOS application under Windows with Flex SDK
Web assets - tips for better organization and performance (discussion at VarnaLab)
Douglas Crockford’s Function Challenges
Edge Conference 2013
HTML slicing the site of VarnaLab using LESS and Twitter Bootstrap
sugru - self-setting rubber that can be formed by hand
Chrome Developer Tools for Speed by Paul Irish
Competition for developers and game enthusiasts with cash prizes
Chrome Devevelopment Tools could be really helpful
Cleaning up <pre> tag content
Moving elements with translate() is better than absolute positioning (top, left, right, bottom)
SVN: Ignoring files and directories
PHP developers - wake up!

OpenFest 2012 - Парадигми в езиците за програмиране от Стефан Кънев
Discussion about PHP at VarnaLab
DJ Focus ...
How To Design A Good API and Why it Matters
Testing with headless browser (Zombie.js + Jasmine)
4 minutes hip hop history by Eklips
"Goldfish Salvation" by Riusuke Fukahori
Improve SVN logging
One day in the life of the front developer
VarnaLab Challenges event
Willow - Sweater
Bleep Blap Bloop
Discussion about Photoshop at VarnaLab
Oh Joy!
Congo: The Grand Inga Project (Best Short Film of the Year Awards 2012)
The VarnaConf 2012 videos are being released!
JSConf 2012 (videos)
Creation process of the Rio 2016 Olympic Games emblem
VarnaConf 2012 - a great event for developers
Работа с GIT (презентация от Иван Танев)
Le Miroir
The Principles of Agile Development
PHP: the right way
Writing Maintainable Automated Acceptance Tests by Dale H. Emery
Git and GitHub Secrets by Zach Holman
Few things that you may not know about ActionScript
What is JavaScript prototype by Angus Croll
Google I/O 2011: Learning to Love JavaScript (by Alex Russell)
Why we should think about our CSS
Javascript Development Workflow of 2013
Git flow - a nice Git branching model
API Design by Matt Gemmell
Майсторство в занаята от Стефан Кънев
Brian McCallister and the code
Dependency Injection in PHP. Create your own DI container.
Speed Up Your JavaScript
The Beauty of a Second
Nicholas Zakas: Scalable JavaScript Application Architecture
A behind-the-scenes look at Facebook release engineering
REBIRTH of GAEA - Flowing Meditation
JavaScript object creation
PEAR PHP Coding Standarts
MySQL vs JSON file data storing
Nice work by Nick Kwiatek
How to find non-secure items on a page
Get Clients to say Yes! (by Paul Boag)
The Dependency Inversion Principle
Derrick May Feature
The Single Responsibility Principle (SRP)

The powerful rendering opportunities of the modern browsers
The Open-Closed Principle
How TDD and Pairing Increase Production by
Testing Facebook application
Adobe\'s strategic transformation and the Flash Platform
Steve Jobs Painting
My Friend Jason by Shot at The Dark
Basic PHP authentication
Filtering data with jQuery
Colorize your output in FlashDevelop
Google Chrome debug console tips
Finally! My Pomodoro Robotlegs timer is here
Face substitution 2011
Joel Hook\'s Introduction to Robotlegs
Portal: No Escape
The top 10 SEO myths by Mark Buckingham
AS3: Tracing in Flash/Flex
8 Hours in Brooklyn
AS3: DataGrid with custom ItemRenderers
A RobotLegs Book
AS3: Creating Facebook Application
AS3: Dealing with multi-language data in your application
GoogleMaps JS API: address to coordinates transformation
\"This page contains both secure and non secure items\" message
5 useful ActionScript 3 tips
Another IE surprise
A few things you don\'t know about JavaScript
F5 2011 RE:PLAY Film Festival. Inductance
AS3: dynamic text field to curve (TextField on an arcing path)
How We\'ll Layout Websites in 2016
AS3: runtime font loading (embedding)
Mighty Antlers
AS3: converting XML to JSON object
FlashDevelop scripting: open file by name (part 2)
FlashDevelop scripting: open file by text selection
Modular Marble Machines
Convert Adobe Flash FLA files into HTML and reach more devices
PHP: add text to transparent PNG image
First person view of a mountain bike race in urban Chile.
OOP in JavaScript (part 2)
PHP: convert emails to mailto links
Living Room - Concept Mr.Beam
Joe Flemke: A Short Skate Film
Japanese synchronized gymnastics
Creating simple WYSIWYG editor with AS3 (Flex)
Creating mp3 player with RobotLegs (basics tutorial)
Time Warp 2011 - Trailer
AS3: Using custom metadata in flex (part 2)
Beat machines
Earthrise cinematic by GENIG Studio
Javascript: handling keyboard shortcuts with jQuery
Javascript: handling with crossdomain requests
Java 4ever
GoogleMaps API v3: convert LatLng object to actual pixels
Free nice Icons by Yummygum
JavaScript: managing events (dispatch, listen)
CSS: selecting a specific child

PHP: Simple javascript obfuscator (merging files)
AS3: Using custom Metadata in Flex (part 1)
CSS styles doesn\'t work on dynamically created elements in IE
Delegation in JavaScript
Object Oriented Programming in JavaScript (Extending / Inherit classes)
How to generate SWC file from ActionScript package
Maybe One Day
Change the quality of all the bitmaps of your flash document
Bottle by Kirsten Lepore
Scaling rounded corners in Flash
Javascript: autocomplete country script
Original Elephant Painting
Greenpeace - Inspiring action
PHP: export data to XLS file
Azureus Rising - Proof of Concept
Nicole Sullivan: The Top 5 Mistakes of Massive CSS
Dub FX - Love Someone
Film Inspiration
PHP: find links in a string and replace them with actual html link tags
Ethan Law Roue Cyr presentation
Kilian Martin: A Skate Regeneration
Deep linking in flash with AS3
Remove html tags from a string wtih PHP
How to import images directly into the html code (base64)
101 начина как да вбесим дизайнера
Pattern fill with AS3 (repeat-x)
Adobe AIR: how to make things upon closing the application
Todor and Petru
checkPolicyFile flag was not set
How to protect your SWF file
Adding outline of text or MovieClip in Flash with AS3
Cloning JSON object in JavaScript
Great review for
How to display php errors when display_errors is set to off
How to create realistic Earth globe in Flash (AS3, Papervision3D)
Apple App Store Opens its Doors to Adobe Flash
Pixel perfect in Papervision3d
EXODUS (stunning visuals)
Distort MovieClip in Flash with AS3
Export mysql data to SQL script or CSV
Killa Appz - nice promotion
Duplicate loaded images in AS3
How to use Google Maps API in flash
Reported Attack Page in Firefox
Create your own tween manager class in AS3
Javascript to Flash communication and vise versa
Delegation in AS3
Papervision3d: Finding 2D coordinates of a 3D object
Trace JSON object in AS3
Load MySQL data in Flash with AS3
Remove tags from a string in AS3
Validating date in JavaScript
Customize ComboBox in Flash (AS3)
How to exclude directory from .htaccess file
Code Flex applications with FlashDevelop
Tween Manager Class in AS3
Send mass email with Thunderbird
SVET - the big adventure (fantasy flash RPG game)
Embed fonts in all the text fields of your flash document
Remove the yellow border in flash/flex
SVET: Bringing order to project management chaos ( review)
SVET - web based project management system

Любими блогове
Flex: tabbing bug
Flex DataGrid vertical scrolling bug
Fat-Man Collective

Resn - Interactive Agency
The biggest site for free cool desktop wallpapers
Flash CS3 crashes when closing the testing window !
Adobe Flash Player 10 now available
Google Chrome announcement
Amazing speech by Steve Jobs (CEO, Apple and Pixar Animation)
The Great Office War - IT vs S.A.L.E.S
The website is down !
Words vs Colors
5 helpful tips in photoshop
Great works from Cinemotion
Creative navigation by