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

Write your own progress indicator with vanilla JavaScript

posted in JavaScript on 2023-09-16   JavaScript Node progress

Many moons ago, I was writing a lot of Flash applications. One thing was typical, and that was a progress indication of something that we were downloading. The loaded bytes of the Flash file (.swf) itself and later of some other resource the application needs. Once I started writing everything in JavaScript, this feature disappeared. In this post, we'll see how to implement it with vanilla JavaScript.

read more

A short introduction to CSS nesting

posted in CSS3 on 2023-09-16   css nesting modern

I did use Sass and Less in the past, and one of my favorite features was the nesting. Not only me but the whole community was asking about that constantly over the years. The browser vendors heard that plea, and today, we have CSS nesting.

read more

I've made an Express.js based source viewer

posted in JavaScript on 2023-08-07   JavaScript Express source viewer

It's unsurprising that we all use Express.js when we need a web server. In this article, I'll show you how I built a source viewer. It's distributed as a npm package view-source and it could render the content of a directory in a nice tree-view style.

read more

Using web dev skills to test web dev skills

posted in JavaScript on 2022-10-30   javascript quiz exercise test

Last year or so, I worked on a platform where I would publish video courses. The first one is on web fundamentals (in Bulgarian), and it's almost ready. You can check it out here. But this article is not about that. It's about a platform feature I built - an in-house validator to exercise the gained HTML, CSS, and JavaScript knowledge. After each lesson, I give a task to the students, and they can work on it right in the browser. The small application became an inspiration for another project - iloveweb.dev. So, I decided to share how the validation works.

read more

The tiniest presentation framework

posted in JavaScript on 2022-03-06   presentation framework html javascript

I did roughly 50 talks over the years, and for almost all of them, I used Reveal.js. I like it because it's HTML-based. I have complete control of everything and can easily publish the slides online. However, one thing bugs me every single time - the size of my content. I want to use all the available space. This becomes very important when I'm showing code to people. That's why I wrote SimPre. It's a 10KB HTML presentation framework that properly scales and positions my content.

read more

Miss Piggy - a test runner for Puppeteer

posted in JavaScript on 2021-02-01   puppeteer test runner tagmanager

These days I did (again) a bunch of changes in Google tag manager. This time however was more of a refactoring exercise. So, I had to prove that the tags that were placed before the refactoring exist after the refactoring. And what we programmers do in such cases - we write tests.

read more

Transpile to ES modules with Babel

posted in JavaScript on 2021-01-14   es babel javascript transpile typescript

While I was working on Navigo an issue popped out. It was about using the library in the context of Web Dev Server where we have everything in TypeScript. And something was not ok with Navigo. The npm package wasn't exported properly and we were keep getting a does not provide an export named 'default' error. It turned out the problem is that Navigo is not exported properly as ES module (also known as ESM).

read more

Mocking console methods with Jest

posted in JavaScript on 2021-01-01   jest mocking console warn

I'm recently working on two OS libraries. Both I'm unit testing with Jest. There is some logic that leads to a warning which I'm doing with console.warn. In the unit tests this is happening quite often so I want to suppress it. Also I want to verify that it happens on the right place.

read more

Copy files and directories from and to Kubernetes pods

posted in Architecture on 2020-12-11   Kubernetes copy pods ssh

At work we have a project that uses node:10-jessie image as a base for its docker container. That image has no vi inside so I wondered how to check the content of a file. Luckily kubectl has a neat command to copy files from and to a pod.

read more

The simplest HTTP proxy with custom headers

posted in Nodejs on 2020-05-06   proxy headers authorization node local request server req http basic pass

These days I had an interesting problem to solve. At work, on our staging environment, we have basic authorization. It works really well but for some older versions of Chrome we experienced a weird issue. The browser did not pass the authorization header. The app runs fine but as soon as it does a fetch request to a local endpoint the request fails with 401 not-authorized error. In the modern browsers that's not happening because the browser kinda knows that we came here with basic auth and automatically includes authorization: basic ... header.

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

Webpack/TypeScript/React starter kit as of 2020

posted in JavaScript on 2020-02-23   webpack typescript starter react eslint beginning krasimir beginning npm run watch components app tsx src components app beginning https github

I just started using TypeScript. I did couple of React projects and noticed a pattern in the setup. I decided to export that to a starter kit 👉 beginning. It is based on Webpack with Babel and TypeScript loader.

read more

Email not working after DNS change

posted in Architecture on 2020-02-07   email dns not working zeit domain working google mx record mail server services thing

I just recently moved my outset.ws domain to Zeit name servers. That's my 13 years old domain which I'm not using it anymore. It makes sense to point to krasimirtsonev.com. The thing is that I have an email which is used all over the net. I of course want to keep that email. And suddenly I wasn't able to receive messages to it. I started missing some very important emails. Like bills that have to be paid and GitHub notifications.

read more

Octomments - using GitHub as a comment plugin

posted in JavaScript on 2020-01-31   octomments github comments github comments github issues server issues comment https github krasimir octomments https repo app

87% of my readers are using Chrome on desktop. This means that I have the luxury to care less about performance. However I just recently found that this blog has 56 (out of 100) points on Google's pagespeed test. That's not good. The report says that my Disqus comments are blocking the main thread for ~900ms. I want comments on my blog but I also want my users to reach to content as quickly as possible. So, after so many years using Disqus I decided to break with it and use something else.

read more

VSCode go to definition/implementation fixed

posted in JavaScript on 2020-01-17   vscode typescript intellisense problem implementation working common fixed definition

I just spent ~2 hours on this and I had to blog about it. I bet I will come back to the same problem and it will be nice to have a quick solution at hand. And the problem that I'm talking about is the non working Go to definition or Go to implementation feature of VSCode. Or in other words the JavaScript IntelliSense was not working for me. Of course it was annoying because I had to navigate to files manually via the folder tree on the left or typing the name of the file in the Cmd+Shift+P popup.

read more

Running Prettier for specific Git branch

posted in Architecture on 2020-01-14   prettier git bash script branch file awk print echo file awk run prettier line column file mode files project

I'm working on a project in my own git branch. At the end of my working day I want to do one thing - run Prettier so my code is nicely formatted before I submit the PR for code review. Of course I know about the VSCode Prettier extension but right now my editor is kinda broken and I don't want to mess with it. I'm still on my branch and I run Prettier from the terminal. All good but the amount of changes that happened is so big that my 50+ loc updates are like a needle in a haystack. It is like that because apparently there are already malformatted files in the project. It is definitely not possible to understand what I did because of so much noise. So ... I want to run Prettier but only on the files that I touched in that particular branch.

read more

AST fun. Remove a function call from your bundle

posted in JavaScript on 2020-01-13   javascript ast bundle object property path callee javascript esprima node const type

I'm working on a small library that has a logger. I'm bundling the app to a single file and I want to disable the logger for the production version. In this blog post we will see how I removed the logger.log calls from my bundle using AST (abstract syntax tree).

read more

Hopa - zero config CLI that runs JavaScript and TypeScript

posted in JavaScript on 2020-01-12   hopa runner typescript javascript babel typescript io webpack https code don t krasimir hopa

Yesterday was one of those days. I stumbled a task and wanted to find the right tool for it. That same task is on my way at least twice a week and I always refuse to optimize it. Because it was a weekend I decided to spend some time and research a proper tool for the job. Well, I find nothing that suites my need. I time-boxed a hour and said F.ck it!. I will code it myself. That's how Hopa was born - a zero config CLI that runs JavaScript and TypeScript. Transpiles, bundles, watches and executes code.

read more

From PHP to Node with Zeit's lambdas and Cypress.io

posted in JavaScript on 2019-05-23   https blog cypress content zeit html javascript article articles

The first post in this blog was published on 25th of August 2008. This place was always living on a shared PHP/MySQL hosting. It was driven by a custom made PHP CMS for over 10 years. It is time to move forward and follow my actual language of choice - JavaScript. I spent some time recently migrating it to Zeit and this article is showing my process.

read more

Jolly Roger - a 2KB micro-framework based on React hooks API

posted in JavaScript on 2019-04-20   time roger const state return function usestate yohoho action

The hooks API is a wonderful idea. There are some slick patterns involved that push the React development to a more functional approach. I'm interested in trying that new API and decided to use it for my latest project. However, after a couple of days, it looked like I can't build my app only with hooks. I needed something else. And that's mainly because each hook works on a local component level. I can't really transfer state or exchange reducers between the components. That's why I created Jolly Roger. It has similar helpers but works on a global app level.

read more

My new and shiny tool for live demos - Demoit

posted in JavaScript on 2018-11-05   demoit resources live coding code demo tool css files tools writing don t

I had some time during the weekend and decided to work on my slides for an event at the end of the month. I reached the part where I have to do a live coding session and I was wondering what tool to use. At the end I created my own called Demoit. This is a short article explaining how it works.

read more

React hooks: changing the mindset

posted in JavaScript on 2018-10-31   react function hooks count counter return useeffect state const usestate

If you use React you probably know about the so called hooks. They were officially announced at this year's ReactConf by Sophie Alpert and Dan Abramov. Their presentation could be seen here. I, same as many others got intrigued by this new feature. A little bit confused by if I like them or not but kind of excited. This article pretty much sums up my thinkings around React hooks and aims to give a balanced opinion.

read more

Pixo - Image editor for your web app

posted in JavaScript on 2018-09-03   pixo images image editor modal editing api key web app

If your users deal with images (photos, product images, etc.) it will be great if they have the ability to apply some basic editing after upload, e.g. adjust brightness and contrast for sharper view, crop, add some text, etc. However, if image editing is not the primary feature of your product, the profit from investment in such secondary feature won't cover the costs. Integrating a 3rd party image editor appears to be a wiser choice.

read more

Implementing an async queue in 23 lines of code

posted in JavaScript on 2018-05-07   tasks taskindex getnexttask numofworkers function result promise task array process error run

Recently we had an interesting task at work. The user makes a selection of items and clicks a button. Then for every selected item we have to make a request to our API. The thing is that the user may click as many items as he/she wants. In order to speed up the process we decided to handle four requests in parallel and once some of them is finished we pull the next one. If you ask why exactly four requests in parallel read this paper.

read more

Debugging your front-end like it's 2019

posted in JavaScript on 2018-01-20   kuker step answer redux state events robot event result

(If you are lazy jump to this section to learn what is this article all about.)

Remember The Island movie from 2005. I watched it again these days and I realized that the old sci-fi titles start with something really interesting. It is funny how they create a world of flying vehicles and say something like "The year is 2019 …". Well, we are 2018 and the public transport is still on the ground. We still can't clone people (I hope so) or travel in a giant spaceship which looks like a fully-functional city.

read more

Meet the JavaScript pattern of the year or how to handle async like a boss

posted in JavaScript on 2017-11-24   generator player function result return position error const console log yield call player

Sometimes when you learn something new you get really excited. Excited to that level so you want to teach it to someone. That is the case with the concept which I found a couple of months ago. It is an implementation of the command pattern using generators. Or the well known saga used in the redux-saga library. In this article we will see how the idea makes our asynchronous code simpler and easy to read. We will also implement it ourself using generators.

read more

You are managing state? Think twice.

posted in JavaScript on 2017-10-27   state input false state machine isinprogress request isloggedin submit states message

Recently I started questioning the state management in React applications. I’ve made some really interesting conclusions and in this article I’ll show you that what we call a state management may not be exactly about managing state.

read more

The powerful higher-order component pattern

posted in JavaScript on 2017-06-10   component function props react const job dependencies h1 return state

There are lots of things which I like in React. Mostly the fact that it teaches interesting patterns. One of my favorites ones is higher-order component. In this article we’ll do a couple of experiments and will see how powerful this approach could be.

read more

Surviving the Web

posted in Must-see on 2017-03-03   smashfind links time cool places popular stuff twitter web read

I'm a proud father of two and programmer for more then 15 years. My kids are small so I'm really into parenting right now. A bit of a problem for me is to stay up-to-date with the latest technologies in the Web. I really love my job but I just don't have enough time to look after all these frameworks, libraries or tools. I used to read Twitter, monitor RSS feeds and spend hours reading Reddit or Medium. However, no time for that anymore.

read more

Bulgaria Web Summit 2017 is just around the corner

posted in Must-see on 2017-01-30   ll day time talk nice interesting events good happy

One of my favorite conferences Bulgaria Web Summit 2017 is just around the corner. I’m happy to attend again. The organizer prepared a good set of speakers and the event is two days this year.

read more

Full Stack Fest and CSS day Videos

posted in Must-see on 2016-09-23   full stack fest

One of the ways to stay up-to-date with the latest technologies is to watch talks from popular conferences. Here are two of my favorite ones:

read more

Let's write, not generate code. Thoughts about naming stuff.

posted in JavaScript on 2016-07-03   code data html classes naming css good tags

I’m writing code for approximately ten years now and at some point the word “writing” became more important then “code”. I found out that it is easy to generate code but it is difficult to write code. Writing means creating something meaningful. Something that other human beings will read. The code is indeed sent to machines and they do understand ugly code. Not the same for humans though. An important part of our job is to make sure that our code is clear for other teammates.

read more

Thoughts on semantic versioning, npm and JavaScript ecosystem as a whole

posted in JavaScript on 2016-05-11   browserify npm dependencies version package release don t versions features

If you are front-end developer dealing with single page applications you probably know that JavaScript ecosystem is not perfect at all. A few things may go wrong and break your build. In this article I’ll go through those features. Features which are, by my humble opinion, problematic.

read more

Lazy-load your images with Coloor

posted in JavaScript on 2016-04-03   image src coloor img var images base64 canvas size function

Last week I landed on an article by Manuel Wieser called Dominant Colors for Lazy-Loading Images and I found the topic really interesting. It’s about lazy-loading of images. Something that Medium is using.

read more

The earthquake in the JavaScript community

posted in JavaScript on 2016-03-25   kik npm modules module company azer developer left pad

You probably heard about Kik, NPM and left-pad saga this week. Shortly, a company Kik asked a developer Azer Koçulu to give the ownership on a NPM module. The module name matches the name of the company. The developer refuses and the company reaches the registry (NPM). The module was transfered to the company based on a NPM policy. The developer then decided to remove all his modules from the registry. The bad thing is that one of these modules left-pad is a dependency of many other modules. As a result of the un-publishing all the packages that depend on left-pad can not be built. Some really popular tools like Babel and React started getting broken builds.

read more

My new experiment is released - 10 Lessons in Front-end ebook

posted in Must-see on 2016-03-10   front end html ll book lessons released

It's finally done. My first self-publishing ebook is released. The book is available here. I'm running a free giveaway for the next five days. So, subscribe for my newsletter at this address http://eepurl.com/bKt0TD and you'll get a free coupon that will lower the price to 0$.

read more

Constructive destructuring

posted in JavaScript on 2016-02-24   var destructuring function object data enabled files options attachments

Destructuring is one of my favorite ES6(ES2015) features. It just shortens my code and helps me be more explicit with my statements. Let’s see it in action.

read more

Meet sequence expression

posted in JavaScript on 2016-02-02   var item b returns sequence expression true return skipif result loop

You have no idea how fun is to transpiler JavaScript. I’m digging into that last few weeks and there is a step where I have to transform an AST into valid code. There is one tree node which I really like - sequence expression.

read more

The return statement is not the end (but it should be)

posted in JavaScript on 2016-01-05   function format return result var defined function dosomething code var format function result var format return result var

Well, I kind of lied in the title of this article. Of course that it is the end of the function. Once we call return everything else after that is simply not executed. Ops … I did it again, I kind of lied again.

read more

Start your own JavaScript library using webpack and ES6

posted in JavaScript on 2015-12-30   library js webpack babel true var file module exports eslint function build

Two months ago I published a starter pack for React based on webpack. Today I found out that I need almost the same thing but without the React bit. This simplifies the setup but there are still some tricky parts. So, I made a brand new repository webpack-library-starter and placed all the stuff that we need for creating a JavaScript library.

read more

JavaScript's reduce could be really helpful

posted in JavaScript on 2015-12-25   testcase true patterns state reduce current cases expected return array test

I love using functions like map, filter or reduce. They are an important part of my arsenal and I simply can’t stop using them. Today I had to solve an interesting problem and I ended up using reduce.

read more

Using Mocha with ES6 spec files

posted in JavaScript on 2015-12-23   mocha babel es6 package json file es5 babel preset es2015 tests test results javascript mocha reading spec files written

The new ES6 specification of JavaScript simply works better for me. It helps expressing my ideas in a shorter and cleaner way. So, I want to write ES6 everywhere. Even while I’m testing my applications.

read more

Hacking a weird failing HTTP request

posted in Architecture on 2015-12-04   request nginx server st http router problem external api

I recently finished watching Mr. Robot. If you didn’t check out the show please do. Last few days I felt like I’m hacking something. Just like Elliot in MR. Robot. This blog post is about fixing a weird bug. Really strange problem with a failing HTTP request.

read more

Enforce standards while submitting a pull request

posted in JavaScript on 2015-11-29   template textarea javascript bookmarklet n n template var code pull request

GitHub’s pull requests are an important part of my/our development process. That’s why I was thinking about creating a template that will enforce the standards.

read more

CSSSteal - Chrome extension that extracts CSS

posted in CSS3 on 2015-09-17   css styles var section el small li element rules

We had to update some of our old pages adding new elements. This means mixing old and new code. Placing HTML markup and JavaScript in legacy pages is not that difficult. Yes, it brings some issues but they are easily solvable. However, the CSS is a whole new story. That’s why I did CSSSteal. It helps me extract the needed styles.

read more

Using Local Storage as a communication channel

posted in JavaScript on 2015-05-05   namespace data localstorage function var storage loop browser buffer namespace

So it's been a few months since I published something here. It’s not because I’m lazy (that’s true though) but because I was working on my second book. Now the book is almost finished and I’ll start actively blogging again. In this article we’ll see how to use the local storage of the browser as a communication channel.

read more

Fun playing with npm, dependencies and postinstall script

posted in Nodejs on 2015-01-07   c module package json npm runme js node_modules b installed index dependencies

I like npm and the fact that I can install tons of stuff. It’s great piece of software and helps me solve problems everyday. Yesterday I had to use a postinstall script and hit a problem.

read more

Merry Front-End Christmas

posted in Must-see on 2014-12-24   making talk ll capabilities technologies make language testing big

Christmas is just around the corner. I thought that I should post something. Recently I watchedvideos from two big front-end conferences. So, here is my present for you. A few talks that I think worth attention.

read more

Unit test your client-side JavaScript

posted in JavaScript on 2014-11-20   var register test function message password username js directive jsdom angularjs

I don’t think that we have to discuss the importance of having tests. That’s not something that we add to the project in addition. That’s something that the project is based on. And because testing is so important we have bunch of tools in our disposal. We all know (I hope) how to test our back-end code. However, once we move to the front-end is a bit different. At the moment we are working on a big single page application and testing is one of our main focuses. In this article you will see how to unit test our client-side JavaScript.

read more

My front-end performance case study

posted in Must-see on 2014-08-25   css file blog time page images performance pagespeedinsights main

I’m reading and watching a lot of interesting things regarding client-side performance. I’m interested in the browser’s processes happening before and just after the page’s load. There are tons of stuff to think about. Before a couple of days, I joined the online workshop of Vitaly Friedman. I had a great time and learned some clever facts about performance optimization.

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

Node.js Blueprints book - second chapter's clarification

posted in Nodejs on 2014-07-30   express version book app chapter node js blueprints var bodyparser code

Before a couple of months my first book Node.js Blueprints was published by Packt. There are a couple of reviews in Amazon about chapter two. It’s about Express. One of the most popular frameworks in the Node.js ecosystem. The book mentions version 3.0 but the truth is that the code samples are for version 4.0. I feel that I still have to point out the differences and mark these parts of the chapter that are not valid for the newest version of the library.

read more

Feeding the beast at 60fps

posted in JavaScript on 2014-07-23   li data browser function var processed code list time

The browsers nowadays are smart. They optimize everything and help us to produce better applications. They process our code as fast as possible and even on mobile devices deliver a pleasant experience. However, at the same time, it is possible to write buggy code and make the browser freezing. We are not talking about slowing down the rendering. We are talking about no rendering at all. There are cases where we want so much from the browser that it just can’t handle it.

read more

The three rules of the good CSS architecture

posted in Must-see on 2014-07-15   css projects mess

CSS is easy? CSS is messy! And as a project grows, it only gets messier. You find yourself throwing !important at everything or fighting with long selectors just to get a style to overrule another. Projects eventually become unmanageable and you pray for the next redesign when you can burn it all down and start from scratch.

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

Why I'm happy to be a web developer

posted in Must-see on 2014-06-13   web banner message site change seconds slow

You may not realize it but we, as web developers, have special powers. We could control the Web. Here are two annoying things that I was able to workaround just because I know how to use DevTools.

read more

Node.js application made with Express and AbsurdJS

posted in Nodejs on 2014-06-07   html js function css express content styles absurdjs app

Node.js is one of those new technologies, which are attracting more and more developers every day. Mainly, because it's JavaScript driven, a lot of people are interested working with it. In this tutorial, I'll show you how to use AbsurdJS together with Express. Express is one of the popular Node.js frameworks. However, the other instrument is really fresh one and I hope that you will find it useful.

read more

Codefront.io retrospection

posted in Must-see on 2014-05-13   talk end conference nice interesting talked rest people track day things chance

Okey, I normally don't write such articles. The things that I am writing about are technical stuff, concepts, experiments related to my job. However, this time will be a little bit different. I had a chance to speak at Codefront conference. And because it was so awesome I decided to share my experience.

read more

Codefront.io is around the corner

posted in Must-see on 2014-04-25   developer open io front end css javascript talk speakers interesting conference linz

There are only two weeks left before the international front-end conference in Linz - Codefront.io. It's organized by the guys from WebBox and it's scheduled for 10th of May. You still have a chance to buy a ticket and listen interesting talks about our lovely Web.

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

Cross-browser handling of Ajax requests

posted in JavaScript on 2014-02-23   ops xhr function data request var headers return callback ops method

This blog post is part of series about AbsurdJS. I'll continue filling the library with small and self organized black boxes. In the last article we talked about creating a JavaScript router. This time we will go through the process of making Ajax requests.

read more

Using Node.js to rename set of images

posted in Nodejs on 2014-01-22   file processed path glob files fs require

Today I had to rename a bunch of image files to the same names, but in lower case. Here is how I did it.

read more

Dependency injection in JavaScript

posted in JavaScript on 2014-01-06   function var dependencies router service scope arguments deps dosomething

I like the quote that the programming is all about managing complexity. Maybe you've heard that the computer world is a giant construction of abstractions. We simply wrap things and produce new tools over and over again. Just think for a minute. The languages which you use have build-in functionalities and they are probably abstracted functions of other low level operations. It's the same with JavaScript.

read more

ExpressionEngine: thumbnail could not be created for the image under Windows

posted in PHP on 2013-11-28   file windows thumbnail file upload preferences image created

I'm a Windows user and I'm working on a ExpressionEngine based site. I'm using EasyPHP as a server and everything works as expected. However, once I decided to upload a file I got "Thumbnail could not be created for the image. Please make sure the thumbnail directory is writable.".

read more

AbsurdJS fundamentals

posted in JavaScript on 2013-11-11   css api color styles var function absurd absurdjs javascript

AbsurdJS became one of my favorite projects. I spent a good amount of time developing it and it's getting more and more interesting. I also received some positive feedback, so I think it is time to write a bit more about the module and explain how it actually works and what exactly is made for.

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

JavaScript: dependency free extend method

posted in JavaScript on 2013-10-28   extend var function o prop destination tobedefined expect o address bla bla

While I worked on AbsurdJS I needed a function which accepts numerous objects and combines their properties. I.e. something like the _.extend method of UnderscoreJS. What I did is actually to use one more dependency just because of such method. John-David Dalton nicely pointed out my mistake and added a simple function which solved the problem. I change it a bit and now it acts as UnderscoreJS's version.

read more

SASS: interpolation in a name of variable

posted in CSS3 on 2013-08-29   bg background color interpolation header include set variable sass set styles dark include set styles arg header include bg arg header

I just answered on that question at StackOverflow. That's actually asked a lot last few months.

read more

The power of inherit or how to animate pseudo elements

posted in CSS3 on 2013-08-27   box inherit pseudo background position 15px left div doesn t top move text

Luckily, I have time to watch screencasts from various conferences. Last few weeks I'm watching videos from Fronteers2012. They are all great and it worths checking out. However, there is something which I found really interesting. It's about animating pseudo elements.

read more

Send message from web page to chrome extension\'s background script

posted in JavaScript on 2013-08-22   script event web page document function message content script background script send

I just answer on that question in StackOverflow. I think that this is a common quetion so it worths writing about it.

read more

CSS: common use cases and architecture at VarnaLab

posted in CSS3 on 2013-08-22   css common cases

Yesterday I made a talk about CSS common use cases and architecture. Floats, pseudo clases, animations, OOCSS, SMACSS, Atomic design and tons of other interesting stuff.

read more

CSS: Understanding first-child, last-child and nth-child

posted in CSS3 on 2013-08-16   child element nth child scope row4 markup type color styles

I like the CSS only solutions. Very often I need to select a specific DOM element. Sure I could add a new class, but it is always nice if I can do that inside my stylesheets. It just looks better and keeps my HTML markup clean. first-child, last-child and nth-child are made exactly for this purpose.

read more

A bad side effect of the aspect oriented programming

posted in JavaScript on 2013-08-15   thing result function thing prototype dosomething start prototype dosomething function aspect oriented programming problem original class

I just read this very interesting article published on know.cujojs.com. It's about aspect oriented programming. At the beginning I thought "Oh, that's kinda cool", but when I start thinking about how I'll use it in practice I notice something bad. The blog post itself is well written and informative, but doesn't include any cons of the used technique.

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

Two handy and advanced SASS features and their limitations

posted in CSS3 on 2013-08-13   mixin margin item reset list include extend sass items interpolation

I really like SASS and I use it a lot in my daily job. There are tons of useful features. However there are some things which I want to do, but I can't. There are limitation in the syntax and missing functionalities. Sharing what I found, I want to know if you meet those limitation and how you get around them.

read more

SASS: universal mixin for box model properties

posted in CSS3 on 2013-08-09   border left bottom mixin values border top padding margin property

I'm currently working on OrganicCSS - a micro framework based on atomic CSS concept. I'm thinking a lot for name conventions, classes and of course mixins. I decided to combine three mixins in a file called _box-model.scss. They will provide a shortcuts for margin, padding and border properties.

read more

PHP: simple captcha script

posted in PHP on 2013-08-08   array code expression alphabet result im

In my company, we have a lot of WordPress sites. Some of them require contact form with captcha field. The short way for solving such task is to use a plugin. However, as you may guess, the add-ons are available for everyone, which means that they could be easily explored and probably hacked. That's why I suggested a simple, custom script, which is developed by us.

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

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

Web Highlights #7

posted in Inspiration on 2013-07-27   http twitter design web case study sass media queries blog things

Everyday I'm reading or watching something which I find helpful. Normally I bookmark those things, but at the end I have dozen of folders and subfolders which I never check. So, I decided to make such blog post where I'll share valuable things in the net.

read more

JavaScript: sequencing function calls #2

posted in JavaScript on 2013-07-10   chain error console log arguments function res chain errors run object chainends

I created a simple JavaScript library for running functions in a sequence. The story behind this is published here. Today I made few interesting changes which deserve a new blog post.

read more

JavaScript: sequencing function calls

posted in JavaScript on 2013-07-09   function var callback run element chain function res type console log

While I'm working on Auxilio I end up in a sitatuation where I have to call few javascript functions in a sequence. It's an interesting how this could be solved and I'll be happy if you share your opinion for such problem.

read more

Extending Jasmine (BDD framework for testing)

posted in JavaScript on 2013-07-05   function jasmine htmlreporter spec reporter jasmineenv test prototype

Don't get me wrong, Jasmine is a wonderful framework. I'm using it for testing JavaScript in both places - front-end (in browser) and back-end (Nodejs). However, the client side has some disadvantages, which I just fixed. I hope that someday these changes will be moved to the official version (or at least I'll make a pull request very soon).

read more

Design - Apple Mac

posted in Inspiration on 2013-06-28   design

Jonathan Ive, Senior VP Industrial Design at Apple describing the design process of the Mac Book. Very engrossing!

read more

How to Design Responsively

posted in Design on 2013-06-25   design web mobile content good browser responsive design css

In this article I want to share my thoughts regarding responsive design. I made several talks on this subject and this post is some kind of summary. The article presents concepts like mobile first and design in the browser.

read more

Web Highlights #6

posted in HTML5 on 2013-06-25   http responsive web design ve javascript make things adaptive images lot car technique solving clown car technique

Everyday I'm reading or watching something which I find helpful. Normally I bookmark those things, but at the end I have dozen of folders and subfolders which I never check. So, I decided to make such blog post where I'll share valuable things in the net.

read more

Deploying ExpressionEngine based site

posted in PHP on 2013-06-25   php file database config files dblogger sql local operations define

I found ExpressionEngine framework very good. It brings the flexibility which I need and still has a good amount of features. However, as many other similar tools, the deployment could be a little bit difficult.

read more

Insert css or javascript dynamically

posted in JavaScript on 2013-06-18   var function css files

That's a super simple function for adding new css or javascript files in the current document. I didn't test it in all the browsers, because I'm using it in the chrome extension and I need only Chrome supported.

read more

Chrome extension: debugging dev tools tab or how to make console.log

posted in JavaScript on 2013-06-18   chrome dev tools obj message alert chrome runtime console log bglog function work

It's really interesting to work on an extension for Chrome. However, sometimes it's a little bit difficult to debug. Especially when you work on a dev tools add-on (i.e. a new tab).

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

A strange IOErrorEvent.IO_ERROR event dispatched

posted in ActionScript on 2013-06-11   urlrequest var urlloader addeventlistener json encode obj string http site urlstring string http var urlstring string problem

Really simple GET request from a flex based application. However it fails if GET parameters are passed.

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

mod_rewrite, one simple rule and two stupidly lost hours

posted in PHP on 2013-06-05   public favicon png index php directory htaccess file server request mod_rewrite

Ok, I should admit that mod_rewrite and regular expressions are not my strongest part. Today - as every other day I realize how little knowledge I have. Actually it's good to have such moments. I lost almost two hours fighting with a really really simple mod_rewrite rule in my .htaccess file.

read more

Making Medium.com

posted in Must-see on 2013-06-03   medium minutes break inspiring created read

Take a 20 minutes' break and read this. That's how Medium is created. It's really inspiring.

read more

Web Highlights #5

posted in HTML5 on 2013-05-30   http web design article unnecessary paints adobe device google street view code organizing javascript css paint times http www html5rocks

Everyday I'm reading or watching something which I find helpful. Normally I bookmark those things, but at the end I have dozen of folders and subfolders which I never check. So, I decided to make such blog post where I'll share valuable things in the net.

read more

Git under windows (console mode)

posted in Architecture on 2013-05-29   git windows powershell file aliases function command status alias set

I'm a Windows user. I also have a virtual machine with Ubuntu installed and coding there from time to time. I use Git a lot and in general I prefer console mode over the GUI. Under Unix everything works just great, but Windows's command prompt requires more efforts from our side. However I found some helpful tips, which could make your life easier.

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

A short review of ExpressionEngine framework

posted in PHP on 2013-05-20   short review expressionengine framework s capabilities tech pro account article made project start

I'm going to start a new project with ExpressionEngine. So, I made a short review of the framework's capabilities. The article is available at my account in tech.pro.

read more

Design Processes, Not Interfaces - Tiffany Conroy

posted in Must-see on 2013-05-19   process

Computers are tools that help people accomplish tasks by making the process easier, faster, cheaper, less error-prone, or just more fun. But what tasks? And by what process? What parts of the process can the computer make better? How can users interact with the computer to make it do its part of the process? Only lastly can we ask: what must be presented to the user and how?

read more

Web Highlights #4

posted in HTML5 on 2013-05-15   http performance media queries behavioral breakpoints tools google css transitions great optimize things

Everyday I'm reading or watching something which I find helpful. Normally I bookmark those things, but at the end I have dozen of folders and subfolders which I never check. So, I decided to make such blog post where I'll share valuable things in the net.

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 Highlights #2

posted in HTML5 on 2013-04-10   media queries css regions chrome web app ui adaptive web app asset downloading results query asset downloading media query asset understanding typographic hierarchy browser

Some of the cool and helpful things which I found in the net.

read more

CSS: using float property

posted in CSS3 on 2013-04-08   check pen clear float property element floating elements block floated result problem

float property is one of those CSS rules which are somehow difficult to understand. Before a couple of days I had a problem with floating divs. I solved it and decided to write an article about the solution. The article also covers some basics about floating.

read more

Web Highlights #1

posted in HTML5 on 2013-04-05   http things tablets viewport sizes front end architecture pixel mobiles make

Everyday I'm reading or watching something which I find helpful. Normally I bookmark those things, but at the end I have dozen of folders and subfolders which I never check. So, I decided to make such blog post where I'll share valuable things in the net.

read more

Make the web faster

posted in HTML5 on 2013-03-31   faster browser applications underlying problem tune slow javascript code js profiler chrome tracing ll talk structural profiler pages chrome devtools built build

Slow JavaScript code on your pages? Chrome provides both a sampling, and a structural profiler to help you track down, isolate, and fix the underlying problem. Tune in to learn how to use both profilers, and how to improve your own workflow to build better, faster browser applications! We'll talk about chrome://tracing, the built-in JS profiler in DevTools, and much more.

read more

What exactly "Retina display" means in the context of the front-end development

posted in HTML5 on 2013-03-26   retina display means simple explanation great article ll suggest lot searched smashingmagazine check

If you are wonder what exactly "Retina display" means I'll suggest to check this great article in SmashingMagazine. I searched a lot for a simple explanation and that's the best one.

read more

AssetsPack - a friend of the front-end developer (pack your assets with NodeJS)

posted in Nodejs on 2013-03-16   css js file assetspack pack tests data type packing html module

AssetsPack is a NodeJS module which helps in organization, compilation and minification of assets. It's meant to be used in local environment during the development process. It was made generally for HTML/CSS/JavaScript based applications.

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

Douglas Crockford’s Function Challenges

posted in JavaScript on 2013-02-25   function s function challenges crockford s function douglas crockford s called multiple times function challenges test compose functions function scope learn knowledge

Douglas Crockford’s Function Challenges. Test your knowledge of function scope and and learn to compose functions that can be called multiple times through function returns.

read more

Edge Conference 2013

posted in HTML5 on 2013-02-25   edge conference panel web testing browser support complex devices

Edge Conference is a different kind of conference, for developers with experience to share, who want to see and bring improvements to the web platform. Their emphasis is on creating a good environment for productive debate and discussion, rather than presenting the experiences of a single speaker. The videos from the conference are now available and you should definitely check them out.

read more

PHP developers - wake up!

posted in PHP on 2013-01-16   code time things framework don t good modules writing people big

PHP is one of the most popular back-end solutions available. However, I think that there is something wrong with the way we are using it. It is really popular to use some giant framework, with a lot of features. Generally, I'm not a big fan of this approach. Even if the framework is well documented and has big community it still adds some restrictions and complexity. Many people are trying to build the perfect framework, which covers as many cases as possible, but the true is that it is not possible. In this article I'll present you my vision about PHP programming and I will be very happy if you share yours.

read more

Testing with headless browser (Zombie.js + Jasmine)

posted in Nodejs on 2012-10-14   browser function login site expect browser test testing input zombie css selectors

I was planning to post this article a few weeks ago, but today I finally finished the examples and I can't wait to share it. We all know that the testing is a big part of our daily tasks and we should use every existing tool to make our lives easier. I really like test driven development and once I found the concept of the headless browsing I started to think that we can automate every single aspect of the testing. In this post I'll show you how to use Nodejs to test a simple php site.

read more

VarnaLab Challenges event

posted in Inspiration on 2012-09-18   varnalab varnalab challanges html www varnalab org http www varnalab varnalab http www great event coming

A great event is coming in VarnaLab - http://www.varnalab.org/2012/09/varnalab-challanges.html

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

VarnaConf 2012 - a great event for developers

posted in Inspiration on 2012-08-07   hrabar free university chernorizets hrabar free visit chernorizets hrabar http varnaconf event lecturers great speakers interesting conference varna bulgaria saturday

If you are in Varna, Bulgaria this Saturday please visit "Chernorizets Hrabar" Free University of Varna. Really interesting conference, with great speakers. More about the event, lecturers and everything else here http://varnaconf.com/.

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

PHP: the right way

posted in PHP on 2012-07-09   php bad http www phptherightway web http www accepted coding standards practices accepted coding read quick reference propagating bad practices astray propagating bad users astray propagating

There’s a lot of bad information on the Web (I’m looking at you, W3Schools) that leads new PHP users astray, propagating bad practices and bad code. This must stop. PHP: The Right Way is an easy-to-read, quick reference for PHP best practices, accepted coding standards, and links to authoritative tutorials around the Web.http://www.phptherightway.com/

read more

Writing Maintainable Automated Acceptance Tests by Dale H. Emery

posted in Architecture on 2012-07-08   good test suite lot tests article http arlobelshee test suite read automated testing checkout dale emery shares programming dale emery driven development changed test driven development

For some time, I bring a lot of attention to the tests of everything that I'm working on. Actually Test Driven Development changed a lot my vision for programming. Dale Emery shares really interesting thoughts regarding automated testing. Checkout here. If you wonder what are the characteristics of a good test suite read this article http://arlobelshee.com/what-makes-a-good-test-suite.

read more

What is JavaScript prototype by Angus Croll

posted in JavaScript on 2012-06-30   javascript prototype understanding javascript prototypes http javascriptweblog wordpress language http javascriptweblog javascript language http context explanations

Maybe one of the best explanations of the prototype in the context of JavaScript language.http://javascriptweblog.wordpress.com/2010/06/07/understanding-javascript-prototypes/

read more

Brian McCallister and the code

posted in Architecture on 2012-05-16   programming profession convert business requirements efficiently convert business full article bugs read repeatable manner things programming computer

_Programming and the Profession of Programming are quite different things. Programming is being able to efficiently tell a computer exactly what to do in a repeatable manner. The profession of programming is being able to efficiently convert business requirements into bugs._Read the full article here.

read more

A behind-the-scenes look at Facebook release engineering

posted in Architecture on 2012-04-07   facebook release engineering scenes release engineering ars s release management facebook s release business news http arstechnica interesting article exclusive

Did you ever wonder how Facebook's release management looks like. Here is an interesting article about that http://arstechnica.com/business/news/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering.ars/1

read more

JavaScript object creation

posted in JavaScript on 2012-03-04   javascript discusses object creation peters discusses object keith peters discusses article keith peters operator check prototypal inheritance alternative

In this article, Keith Peters discusses object creation in JavaScript using prototypal inheritance as an alternative to the new operator. Check out here.

read more

MySQL vs JSON file data storing

posted in PHP on 2012-02-12   records requests data json ms time request mysql res count array function

I'm not exactly a performance perfectionist, but currently I'm working on a tool which will be used in a large system. It will deliver texts to a multi-language environment and there will be several sites/apps which will performe big amount of request to it. It is the right moment for me to choose how to speed up my code and the work of the tool overall.

read more

How to find non-secure items on a page

posted in Other on 2012-02-08   secure items find http www whynopadlock simple web tool internet explorer annoying message repair helps found

We all know the annoying message of Internet Explorer about non secure items. I just found a simple web tool which helps to find those items and repair them.http://www.whynopadlock.com/

read more

The Dependency Inversion Principle

posted in Architecture on 2012-01-24   depend abstractions dependency inversion principle abstractions b abstractions low level modules high level modules higher level components inversion principle relates abstractions read details details

The Dependency Inversion Principle relates to the stability and reusability of higher-level components within an application. The principle states:_A. High-level modules should not depend on low-level modules. Both should depend on abstractions.B. Abstractions should not depend upon details. Details should depend upon abstractions._Read more here.

read more

The Single Responsibility Principle (SRP)

posted in Architecture on 2012-01-03   principle responsibility class responsibility principle srp single responsibility principle software design read hard changing motive opinion fundamentals

In my opinion that principle is really important and stays in the fundamentals of software design._In the context of the Single Responsibility Principle (SRP) we define a responsibility to be "a reason for change." If you can think of more than one motive for changing a class, then that class has more than one responsibility. This is sometimes hard to see._Read more about this principle here.

read more

The Open-Closed Principle

posted in Architecture on 2011-12-18   principle classes modules functions entities classes modules software entities classes called open closed robert c martin great article modification extension

That's a great article by Robert C. Martin. It's one of those articles that really may change something in your programming. The principle is called Open-Closed and it says:_SOFTWARE ENTITIES (CLASSES, MODULES, FUNCTIONS, ETC.) SHOULD BE OPEN FOR EXTENSION, BUT CLOSED FOR MODIFICATION._More about that here.

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

Adobe\'s strategic transformation and the Flash Platform

posted in ActionScript on 2011-11-20   adobe adobe community read full article social connections touch interfaces fundamental transformation change innovation time devices

Adobe is in the midst of a fundamental transformation. We are transforming from software in boxes to solutions in the cloud, and to a world of touch interfaces on devices, and social connections everywhere. This is a time of both innovation and change for Adobe and for the Adobe community ...Read the full article here.

read more

JSConf.eu 2011

posted in JavaScript on 2011-09-11   blip tv jsconfeu http blip tv european javascript conference strongly recommend shared online s scheduled watch year happened lectures

The European JavaScript conference is really close. It's scheduled for 01 and 02 of October. I wish I could be there. I hope that the videos from the lectures will be shared online, as this happened for the last year. I strongly recommend to watch them. There are available here http://blip.tv/jsconfeu.

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

GoogleMaps JS API: address to coordinates transformation

posted in JavaScript on 2011-06-01   map google maps function address locations var results location google maps latlng step

When we are talking about maps, Google is an absolute leader. Their GoogleMaps tool is free, well documented and works really good. What I didn't find directly in the documentation is how to get the exact location based on plain text. I.e. to convert an address to google.maps.LatLng object. That's why I wrote a simple function that did this job.

read more

Another IE surprise

posted in JavaScript on 2011-05-19   createstylesheet problem createstylesheet k found usage

We all know that the usage of InternetExplorer brings a lot of problems for us (the developers). Did you know that there is a JavaScript method createStyleSheet that you can call only 31 times.

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

F5 2011 RE:PLAY Film Festival. Inductance

posted in Inspiration on 2011-05-17   film festival inductance play film festival
read more

How We\'ll Layout Websites in 2016

posted in Inspiration on 2011-04-30   ll layout websites

Peter (@stopsatgreen) delivered a lightning talk for us on the various CSS3 layout methods being developed by the W3C and his opinion on their potential future.

read more

FlashDevelop scripting: open file by name (part 2)

posted in ActionScript on 2011-03-29   file results script open

After a couple of days of using my script for file opening I decided to rewrite it and add more functionalities.

read more

Javascript: handling with crossdomain requests

posted in JavaScript on 2011-01-19   bbb server aaa code data getdata php access bbb

Ajax is a powerful tool for loading new content or data asynchronously. The well known problem is that we can't make requests to other hosts. In other words if your code is located at aaa.com you can't load bbb.com/getData.php. There are several solutions available.

read more

JavaScript: managing events (dispatch, listen)

posted in JavaScript on 2011-01-06   function event events dispatch classname type eventbus addeventlistener testclass2 testclass1 var

As a huge fen of the flash platform, I always like to work with events. The events system in ActionScript3 is really helpful when we are building a big application with many modules and we want to keep them independent. JavaScript hasn't native support of events, but we can still use them.

read more

PHP: Simple javascript obfuscator (merging files)

posted in PHP on 2010-12-30   jsstr jsstr jsstr str_replace jsstr str_replace jsstr str_replace jsstr jsstr js files fh file comment js core plugins

Currently I'm working on a big JavaScript project. It has a lot of files that have to be compressed. I wrote a simple php class that merges all the files into one. It has also a useful simple obfuscator method.

read more

AS3: Using custom Metadata in Flex (part 1)

posted in ActionScript on 2010-12-28   metadata public flex mycustomclass information metadata tags tag as3 flash utils describetype public function mycustomclass

I'm sure that you've already used metadata tags in your flex applications. There are several reserved keywords like [Bindable], [Embed], [Event] and so on (the full list is available here). The function of the metadata tags is to provide additional information to the flex compiler. For example information about embeding assets, dispatching events. This article doesn't explain how to use the default flex tags (you can learn that from here). It shows you how to create your own metadata tags and how to use them.

read more

How to generate SWC file from ActionScript package

posted in ActionScript on 2010-12-18   swc file classes output generated swc file compc exe usage

SWC file format is really useful when you want to transfer or to compact your ActionScript libraries. It is also used for exporting assets, which can be used later. Let's imagine that you want to create a .swc file for only small part of your application, i.e. pure .as files. I searched a lot for the fastest and easier solution and finally I think that the usage of compc.exe is the best option.

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

Javascript: autocomplete country script

posted in JavaScript on 2010-12-06   field function helper ac countries var loop div script javascript

We are all filling registration forms. It's really nice when the page helps us to do that faster. The script, that I'm going to show you, is designed to be used for a country field.

read more

Film Inspiration

posted in Inspiration on 2010-11-25   vimeo muestra animada
read more

Deep linking in flash with AS3

posted in ActionScript on 2010-11-14   flash page function hash address deeplinkingclass dl html swf home

Many people will say that Flash is not SEO friendly. Actually that's not 100% true. Flash is just a tool that shows your data. Exactly the same as the HTML. In this article I'll show you how to use ActionScript3 and JavaScript together to make your flash sites SEO friendly and provide a different URL for each of your pages.

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 display php errors when display_errors is set to off

posted in PHP on 2010-09-17   display_errors ini_set server lines found set

I successfully finished an interactive project for one of my clients. We did a great job and finally I had to install the system on their server. I received the FTP and MySQL information from their IT team, but when I uploaded all my files the site didn't work at the first time. The server didn't show any errors and I wasn't able to find out the problem.

read more

Apple App Store Opens its Doors to Adobe Flash

posted in Other on 2010-09-14   flash devices twitter lit ios devices twitter party development tools 3rd party development apple announce removal active tutsplus full article speculation began blogosphere jumped

_"Yesterday saw Apple announce removal of the infamous restrictions on 3rd party development tools for iOS devices. Twitter lit up, the blogosphere jumped into gear and speculation began in earnest. So what’s this all about and what does it mean for Flash?"_The full article on active.tutsplus.com here.

read more

Reported Attack Page in Firefox

posted in Other on 2010-08-17   site code add tools milware click request review check message remove

Before a couple of days the code of my site was injected with some milware script code. In this article I will advice you how to remove this message.

read more

Create your own tween manager class in AS3

posted in ActionScript on 2010-08-07   arr ease startpos calcendpos steps var calcendpos steps break object steps break case properties start public function

There are some features in Flash that we can't work without. Tween classes are among the most used ones. They give you ability to animate objects without using the timeline, to change the animation fast and easy. The idea of these classes is very simple. That's why I think that it is a good idea to have your own tween manager that you can modify to fit into your needs.

read more

Trace JSON object in AS3

posted in ActionScript on 2010-07-17   str description gettypeof o spaces var object information users

I'm absolutely sure that all of you are working with JSON objects. It's pretty helpful to be able to print them and find out what exactly they contain. I wrote a simple function that makes this possible.

read more

How to exclude directory from .htaccess file

posted in PHP on 2010-06-17   htaccess file

Did you ever wonder how to exclude a directory from a .htaccess file. Here is the solution, it works perfect for me.

read more

Code Flex applications with FlashDevelop

posted in ActionScript on 2010-06-07   flashdevelop flex project project9 press f5 project select flex property8 choose project location property8 choose sdk location property8 flex sdk location change flex sdk
read more

SVET - the big adventure (fantasy flash RPG game)

posted in Other on 2010-03-05   game run game check n run game jump n run rpg jump n fantasy rpg jump latest flash game

svet - the big adventure (flash fanyasy rpg game)My latest flash game. It's a fantasy RPG jump'n'run game. Check out 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

Resn - Interactive Agency

posted in Inspiration on 2008-11-28   resn interactive agency agency resn interactive interactive agency resn

Resn - Interactive AgencyResn - Interactive Agency

read more

Flash CS3 crashes when closing the testing window !

posted in ActionScript on 2008-11-14   textfield crashes testing window flash scrolling text field creating scrolling text mask directly m working bkwld problem applied

I'm working with a class for creating scrolling text field. So I'm using a MovieClip as mask and TextField. When I test the movie and close the testing window Flash just crashes. It's because I have applied the mask directly to the TextField :) The problem is described here. Thank you BKWLD !

read more

FILMEFEX Studio

posted in Inspiration on 2008-09-15   filmefex studio picture industry check motion picture industry special effects facility create effects design

Filmefex StudioFilmefex Studio is a special effects facility, where they design and create effects for the motion picture industry. Check out here

read more

The Great Office War - IT vs S.A.L.E.S

posted in Fun on 2008-09-08   sales department check great battle
read more

Words vs Colors

posted in Design on 2008-08-28   colors desired emotional effect words making choose designers simple association quantify attempts website
read more

5 helpful tips in photoshop

posted in Design on 2008-08-26   tool zoom layer click press selection keyboard button quick mask mode

1. Moving background layer - sometimes you want to move the background layer. But by default it's locked. So just click twice on the layer and choose "OK" in the popup message. The layer will be transformed to normal layer.

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

Creative navigation by Hellomonday.com

posted in Inspiration on 2008-08-22   hellomonday site creative navigation gudrun og gudrun flash drawing api www red issue navigate trough minus good sites guys
read more