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

Here is how call-to-action widgets probably work

posted in JavaScript on 2021-10-26   widget dom sciprt

Did you ever wondered how the call-to-action widgets work? You know, those little buttons for sharing content in the social networks. Very often they are distributed as iframes but sometimes we have to copy/paste script tags. And the instructions are "Place the following code where you want the button to appear". But if that's a script tag how it knows where to inject the button? The goal of this article is to give you an answer on this question.

read more

Create your own Covid-19 data tracker

posted in JavaScript on 2020-03-30   covid-19 tracker virus api zeit covid https data github data tracker thevirustracker time johns hopkins university code back end endpoints react created recharts beginning tags tag link countries package sh https c19stats

I'm continuing to experiment with React and TypeScript. The weekend-long project this time was a Covid-19 data tracker. In this blog post I will share how I built c19stats.now.sh. I exposed the data as a public API at the same URL. I guess you, as many other people, follow the situation so you may want to glue your fingers on the keyboard and create something useful around the data. I got lots of fun playing with the diagrams.

read more

Pairify - how to match balanced string pairs

posted in JavaScript on 2020-03-11   pairify balanced matches javascript pairs decided type stack line starter token code const position function category https

I'm now actively working on a VSCode extension. I started it as a theme but then decided to add some more features. Like for example a tin line on the left side of the editor marking the current function scope. In order to do that I had to analyze the current file's code and find the lines that are included in that scope. The obvious approach will be to translate the code to AST and then traverse the tree finding the information that I need. This however will require the usage of a language server which now I don't want to deal with. So I decided to explore a brute force approach. Looping over the string characters and finding balanced matches. I quickly wrapped it into a library. I called it Pairify. It consumes text and returns an array of pairs. This blog post will show you how it works.

read more

From 0 to 100 GitHub stars in a week

posted in JavaScript on 2020-02-27   github stars project branding promote octomments krasimir write idea https github blog align center don t easy section add https post link javascript reddit facebook make time

2020 for me started with the release of several OS projects. Two of them reached 100 stars in a week and I was thinking that would be nice sharing my workflow. Not like it is working every time, absolutely not, but leads to some good results.

read more

"The Candidate" by David Karlak

posted in Cinema on 2020-01-12   cinema short film secret society http www davidkarlak https www youtube

The story follows a secret society whose purpose is to find people who don’t deserve to live and to kill them with their thoughts. The tension between the pessimistic protagonist and the liaison of the secret society comes to a head in a riveting twist.

read more

NADCAST.11 с Мариан Игнев и Павел Иванов

posted in NADCAST on 2018-02-23   http sashido io nadcast

Първия епизод за 2018 е с Мариан и Павел. Поговорихме си за Sashido.io, инфраструктури, наемане на хора и още нещо :)

read more

Markup as function

posted in JavaScript on 2017-12-01   ischristmas user state function children component props greeting redux userdataprovider jsx

If you are writing React applications you probably know about higher order components or render props (which by the way I think is kind of a form of higher order component pattern). In both cases we have a component that encapsulates logic and passes props down to children. Recently at work we came to the idea that we may push this further and represent some functionalities which are out of React in the same fashion - with a single tag in our components tree.

read more

iframe, or not, that is the question

posted in JavaScript on 2016-04-09   page widget javascript iframe div content script

One of the things that I really like at work is the fact that we spend time in research tickets. We have unknowns and we make a research to find out more information on particular topic. We then base our decisions on the results. Recently we had to decide whether to use an <iframe> for a third party widget development. I feel that the collected information may be handy to someone else so I decided to write it down here.

read more

CSS variables are here for ages

posted in CSS3 on 2014-08-13   div content font size color container css width div class footer variables

Every front-end developer that starts reading about CSS preprocessors thinks “Oh, finally variables in CSS". Indeed, the ability to create and use variables in CSS makes our code much more flexible. However, I think that there is no need to use a preprocessor to create flexible stylesheets.

read more

Hungry for knowledge #2 - the Sunday's talks collection

posted in Must-see on 2014-06-29   thinking digital web conference talk videos lie thinking digital aral balkan free sites

It's again Sunday and I'm planning to watch talks. Last week few conferences shared their recordings. I got some nice videos from Twitter and again my bookmarks bar is full with YouTube and Vimeo links. So, it's time to clear it a bit and make room for the next weekend. Here is my plan:

read more

Testing responsiveness

posted in HTML5 on 2014-05-14   width content viewport device browser panel nav href chrome

We all know what responsive means nowadays. We, as developers, normally develop responsive applications. There is a dozen of instruments helping us achieving our goals. Some of us use extensions and even pay for them. However, I'm using one thing - Google Chrome browser. In this article, we will see what the Chrome's capabilities for testing responsiveness are.

read more

No back-end blog solution with Node.js and Markdown

posted in Nodejs on 2014-04-22   articles techy md tags article blog html page sidebar content

Before a couple of weeks I published Techy. It's a flat CMS based on Node.js and Markdown. I made it because I wanted to write my articles in Markdown format and avoid the annoying publishing workflow which I'm using now. I feel that it's not very clear how Techy works and decided to create a simple blog illustrating the processes.

read more

Using media queries in JavaScript (AbsurdJS edition)

posted in JavaScript on 2014-03-04   media css function var width window matchmedia dom html mq absurdjs

If you believe in responsive design you probably use a lot of media queries. That's a CSS feature which gives us the power to add something like if statements. We are able to apply rules only if the current page meets certain conditions. In this article I'll show you how I use media queries in JavaScript.

read more

Simple, good looking separator made with pure CSS

posted in CSS3 on 2014-02-12   jsbin translate 95px 12px transform translate 95px line small link top solid 1px border top solid block border top display block border content display block

I'm currently working on the official site of AbsurdJS. There are a lot of code samples out there and I wanted to present them in JSBins.

read more

PHP: please, please, clear my cookies

posted in PHP on 2013-10-31   time cookies result arr setcookie request_ids time setcookie app_request_type time store needed

I'm currently working on a JavaScript application which is using the facebook API. There are some things which I need to pass from one page to the other. So, I decided to use cookies. The storing works like a charm, but the deleting doesn't. I needed one hour to find the exact problem.

read more

Videos from TarnovoConf 2013

posted in Must-see on 2013-10-08   tarnovoconf videos

I had a chance to make a talk on TarnovoConf 2013. My topic was "CSS for developers". The videos are now available in YouTube.

read more

SASS mixin for grid generation

posted in CSS3 on 2013-08-20   div wrapper grid sizing border box box sizing border columns mixin div div width sass

The mixins in SASS are really helpful. Here is something really short which I just start using. It's a mixin which I apply on the grid's container.

read more

SASS mixins covering media queries

posted in CSS3 on 2013-08-15   point media content media query min width break points media queries means sass mixins

These days I'm working on this little thing. It's a CSS micro framework following atomic concept. My preprocessor of choice is SASS. That's why I wrote several articles on this subject. Today's post is about media queries mixin.

read more

SASS: differences between mixins, extends and placeholders

posted in CSS3 on 2013-08-05   awesome width height mixin body placeholders radius css sass extend awesome

I used LESS a lot. These days I decided to try SASS and to be honest it's a better choice for CSS preprocessor. It just gives me more functionalities and better control on my code. There are few instruments for architecting your CSS logic - @mixin, @extend and placeholders. However there are differences between them and specific use cases.

read more

CSS Challenge #2: Layouting

posted in CSS3 on 2013-08-03   layout width text sizing border box box sizing border padding image float left layout c layout b

The first challenge, was something which I was thinking about a lot these days. The next one is actually a well known common task, but it is still difficult. In every project we have different types of layouts. Of course there are some patterns. The idea today is to implement them with pure CSS.

read more

Stay tuned / conferences that you should know about

posted in Must-see on 2013-08-02   conference official page talks web videos https vimeo event conferences mobile speakers

Nowadays is really difficult to be up to date with the latest technologies, concepts or tools. There are several ways to accomplish this. You could use RSS, check blogs regularly or follow as many people as possible in Twitter/Facebook. My way is to watch videos from various conferences.

read more

CSS Challenge #1: expand and center an image

posted in CSS3 on 2013-08-01   image background wrapper width div css center background size cover 200px overflow hidden height 200px overflow

That's first of (I hope) many posts with such an idea. Problems solved with pure CSS. No JavaScript.

read more

CSS: :before and :after pseudo elements in practice

posted in CSS3 on 2013-07-26   content css block text font element width code links height

By definition :before and :after are CSS pseudo elements. You can use them to insert something before or after the content of an element. There are some great articles giving the basics, but I wanted to write down a blog post for the real use cases. Or, at least, to show what I'm using them for.

read more

VarnaConf 2013 Videos

posted in Must-see on 2013-07-23   videos varnaconf make year

I'm living in Varna, Bulgaria. Last year we had a great conference called VarnaConf. This year the guys behind it decided to make it again and even better - a series of conferences around my country. I had the chance to make a talk.

read more

Chrome Extension: run JavaScript in the context of the current page

posted in JavaScript on 2013-06-14   script code document content run current page tab id code executescript tab id tabs executescript tab

I'm currently working on a Google Chrome extension and I need to run a JavaScript in the context of the current page. The obvious choice for such a logic is the content script. However it is not so easy, because the content script has an access only to the DOM of the current page. It can't run global functions or use global objects.

read more

How to Design Responsively

posted in Must-see on 2013-06-10   design responsively developers david walsh write long articles http davidwalsh web designer responsive design big difficult find blog article

It's a little big difficult for me to write long articles. This one is maybe the longest, which I ever wrote :) It collects my experience with responsive design. I believe that the ideas described in the material are important for our work as web designer and developers. David Walsh was really kind by publishing the article on his blog. You can find it here http://davidwalsh.name/design-responsively.

read more

Front-Trends 2013 (Videos)

posted in Must-see on 2013-06-04   front trends videos

Front-Trends is one of the best conferences in Europe. It's based in Poland and it's happening every year. I watched all the videos from the previous editions and I could say that it's worth it. Some of the biggest names in front-end development on one stage. All the videos are available in Vimeo, but I decided to post them here as well.

read more

Responsive Design Workflow (my talk at VarnaLab)

posted in HTML5 on 2013-05-23   varnalab presentation s slides talks

Presentation's slides. All my talks at VarnaLab are available here.

read more

CSS: The background color and overlapping rows

posted in CSS3 on 2013-05-22   element background result h1 facilisis metus feugiat tempor tincidunt erat consectetur adipiscing elit amet consectetur adipiscing sit amet consectetur dolor sit amet

The goal is to achieve a background of the text inside an inline element.

read more

CSS: transition from pixels to auto

posted in CSS3 on 2013-05-14   height css problem set content column animation slided auto

As you may know I just updated my web site. There are five columns which nicely slide up and down on a lower resolution. In other words, accordion-like navigation. Initially I made this effect with JavaScript. But there was a bug and I decided to use pure CSS. I wanted to define everything in CSS classes which to add or remove. The idea wasn't bad except the fact that every column contains dynamic content and I wasn't able to set the exact height when the column is slided down.

read more

Real time game with NodeJS and Socket.io

posted in Nodejs on 2013-05-13   user var function users socket io game data end clicks currentwidth

NodeJS gives me the ability to write back-end code in one of my favorite languages - JavaScript. It's the perfect technology for real time applications. In this tutorial I'll show you how to build a web chat with Socket.io.

read more

Web Highlights #3

posted in HTML5 on 2013-04-22   http answer http www html5rocks css paint times design workflow considerations web design workflow responsive web design

A bunch of cool stuff ;-)

read more

Web assets - tips for better organization and performance (discussion at VarnaLab)

posted in HTML5 on 2013-02-28   web assets tips varnalab discussion performance organization subject web assets slides screencast

A screencast of the discussion at VarnaLab on subject "Web assets - tips for better organization and performance". The slides are available here.

read more

JSConf 2012 (videos)

posted in JavaScript on 2012-08-22   videos jsconf interesting conference jsconf posting videos http day

Today is a day for posting videos. Another interesting conference - JSConf 2012. The videos are available here http://2012.jsconf.us/.

read more

The Principles of Agile Development

posted in Architecture on 2012-07-10   agile development principles http net tutsplus sides http net fun developing software agile development agile articles general communication easy business people constructive

Agile or Agile Development – we hear these words more often these days. But do we really know what it is all about? How can it help us become more effective, while having lots of fun developing software? How can we use it to communicate with business people and make this communication easy and constructive for both sides?http://net.tutsplus.com/articles/general/the-principles-of-agile-development/

read more

Testing Facebook application

posted in JavaScript on 2011-11-29   facebook function php testing var fb config id sdk check

I had a lot of work these days and didn't have time to blog here, but I think that the tips in this article are very useful. The number of Facebook applications is increasing every day. We all know that the testing (debugging) of our code is really important. That's why I decided to share my experience in this area.

read more

AS3: Tracing in Flash/Flex

posted in ActionScript on 2011-08-16   import flash public str function debug movieclip void trace swf class

Inspired by the article of Dru Kepple I decided to share my experience in Debugging processes in flash/flex enviroment.

read more

AS3: DataGrid with custom ItemRenderers

posted in ActionScript on 2011-08-11   date data rating datafield var row import mx column private function void datagridcolumn

One of the big advantages of Flex framework is that you can use a lot of ready components. The DataGrid is really helpful. Especially when you want to list big amount of data and provide ability to edit the information directly in the grid. These days I finished a test task which uses DataGrid and decided to share my experience.

read more

AS3: Creating Facebook Application

posted in ActionScript on 2011-07-08   facebook function response http application log friends id api

Facebook became one of the most popular social platforms these days. I just finished a flash based game that uses their API and decided to share my experience.

read more

A few things you don\'t know about JavaScript

posted in JavaScript on 2011-05-18   javascript expert javascript programmers mistakes subtle bugs common mistakes subtle avoid common mistakes javascript programming language javascript garden check called javascript garden javascript called javascript bad practices

A couple of days ago, I found very useful page about JavaScript called "JavaScript Garden". Check out here.JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes, subtle bugs, as well as performance issues and bad practices that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language.

read more

AS3: converting XML to JSON object

posted in ActionScript on 2011-04-02   label url image xml id img cdata node var version xml2json class http site int childnode object

I'm absolutely sure that you are using external data in your flash/flex applications. It is a good practice to transfer information in XML format. Most of the projects that I'm working on also use XML and in most of them I have a class that converts the data to JSON object. The problem with this workflow is that the parser's logic is always different because the XML is different. These days I wrote a class that solved this problem and directly converted every given XML file to a JSON object.

read more

PHP: add text to transparent PNG image

posted in PHP on 2011-03-10   im digit image png font originalimage php width

Simple way to produce numbered image with PHP. The script uses PHP GD.

read more

Change the quality of all the bitmaps of your flash document

posted in ActionScript on 2010-12-15   problem bitmaps arsthanea check flash provided ve met extension jsfl solutions edit library

I know that you've met this problem. You have a lot of bitmaps in your library and you have to edit all of them one by one. There are several solutions of this problem. One of them is to use JSFL. There is another one - an extension for Flash provided by ArsThanea. Check it out here.

read more

Scaling rounded corners in Flash

posted in ActionScript on 2010-12-11   clip grid clip slicing height width void function rectangle resizing

I'm absolutely sure that you've already met this problem. You know, these nice rounded buttons that are provided by the designer. They are really cool, but sometimes the label of the button is so long that you have to resize/scale the image. ActionScript3 provides simple way to solve this issue.

read more

How to protect your SWF file

posted in ActionScript on 2010-10-15   function swf protect void check file import flash public ondatafiledtoload onfailed files string

Is there any way to protect your flash work? To be honest the answer is NO. As you probably know everything that is uploaded on a web server and is accessible from a web browser is downloaded to the users' computers and could be found in the temporary directories. Once someone gets your swf file he could use one of the dozen decompilers to reproduce the .fla and .as files. Anyway, there are still some ways to make stealing difficult.

read more

How to create realistic Earth globe in Flash (AS3, Papervision3D)

posted in ActionScript on 2010-09-16   stage globe var import org papervision3d rotationx rotationy moviematerial sphere stage stageheight stage stagewidth

Papervision3D is a perfect tool for the purpose. As you will see such a task needs only few lines of code. To make the example a little bit more interesting we will add additional code to control the rotation of the globe by the mouse.

read more

Export mysql data to SQL script or CSV

posted in PHP on 2010-09-04   server data mysql export good solution phpmyadmin didn t work export data php file mysql exe mysql server received host

Yesterday I received host name, user name and password for a MySQL server. I needed to export the data from it. I didn't have access to PHPMyAdmin, I tried to connect to the server by mysql.exe on my PC, but it didn't work. And then I found really good solution - PHPMyAdmin in only one php file. I launched it from my localhost and it works. So if you need to export data or just see it, use Adminer. I also uploaded the file on my server, you can download it from here.

read more

Flex DataGrid vertical scrolling bug

posted in ActionScript on 2009-09-09   datagrid data_change listener datagrid flexevent data_change listener invalidateproperties flexevent data_change itemrenderer invalidateproperties flexevent itemrenderer itemrenderer invalidateproperties custom itemrenderer itemrenderer datagrid custom itemrenderer
read more

The website is down !

posted in Fun on 2008-09-04   tech support person video clip hilarious fun video clip life
read more

Great works from Cinemotion

posted in Inspiration on 2008-08-25   bulgaria cinemotion creating tv adds flash site biggest brands coolest videos bulgarian company made studio found
read more