Welcome to my blog — place for ideas, comments, interesting hacks and boring personal stuff. Enjoy!
20 Nov 2014 10:02
After the recent load balancer upgrade at Wikidot people asked me about the magic behind automatic HAProxy configuration — namely, how do we solve dynamical addition and removal of backend servers. It's not that complex, we use Chef.
Below I will tell you how we do it.
- We have a working Chef server.
- All nodes run Ubuntu, but it's not really important.
- All nodes run chef-client periodically (in our case, every 3 minutes).
- All web nodes have role web.
As a result will develop a minimal haproxy cookbook to be run on the HAProxy node that:
- Will set up HAproxy service.
- Will discover and connect to all backend servers.
Tags: chef haproxy wikidot
23 Aug 2010 09:52
I have just returned from my summer family holidays in Pieniny. Spending 100% time with my wife and 3 kids was definitely a very needed refresh after a challenging year. I had enough time to think about plans for the next year and gather enough motivation for upcoming tasks.
18 Dec 2009 23:26
Zend Code Analyzer (part of Zend Studio) is a powerful tool that analyzes PHP scripts and detects errors and warnings possibly generated by your code. I have been using Zend Studio for a while, and I miss this feature a lot when working with TextMate. Fortunately, thanks to great extensibility of TM, one can include code analysis in the PHP bundle within just a few minutes.
After completing the steps below, you will be able to press a combination of keys and ZendCodeAnalyzer will analyze your PHP script and render its output like on the screen below:
Tags: php textmate
18 Dec 2009 10:04
For quite a while it is clear where HTML is heading. With canvas objects, HTML5 features one will be able to create not only rich web applications, but also desktop apps that communicate through the web.
16 Dec 2009 09:26
Ubuntu Karmic Koala comes with Ruby 1.9.1 — at last. But default Ruby version is still 1.8.7, which means that ruby and irb will still link to 1.8.7, and the bright and shiny 1.9.1 will be available as ruby1.9.1 and irb1.9.1.
Tags: ruby ruby1.9 ubuntu
27 May 2009 07:05
I was surprised today to launch a new EC2 instance, type m1.large (64-bit, 7.5 GB RAM), which usually runs on Opteron CPUs, but to my surprise cat /proc/cpuinfo produces:
Tags: amazon ec2 xeon
27 Apr 2009 08:31
My weekend project involved some Twitter datamining and link analysis (i.e. links that people tweet about). The results we gathered during the weekend were… at least surprising.
By looking at popular Twitter link aggregators like Tweetmeme.com or twitt(url)y you might get the impression that Twitter is full of useful news, links to interesting stuff, a truly user-driven next-level communication.
Below is the result of one-day data analysis, and it lists top links people were tweeting about on Friday:
24 Apr 2009 10:26
Weekend is coming and I have a very small pet-project for it. I would still keep the idea non-public, but it involves processing hundreds of entries per second, analyzing data from multiple sources. It would have a dead-simple web interface.
The nature of the project requires really fast data backend, capable of storing and retrieving a few thousand items per second. The dataset would be approximately 5GB, average item size: 0.5KB.
When it came to tools selection, after short considerations I have chosen Sinatra for web interface, and Redis as a memory-only (with disk dumps) key-value datastore. It should be capable of handling 100 000 requests per second and deal well with large datasets, so fits perfectly. It also differs from Memcached or MemcachedDB because it has great higher-level structures like Lists and Sets, basic sorting and selection commands.
Tags: amazon ec2 redis sinatra
24 Mar 2009 11:56
Honestly I do not care that much about widgets, gadgets, being eye-candy… But sometimes we find cool things that we can put on our wikis and they can give some little joy.
Tags: fun gadgets useless wikidot
09 Mar 2009 10:38
So as you have probably already read on my previous blog post, we are thinking about re-designing the Wikidot infrastructure to make it more failure-proof, elastic and more efficient. One of the concepts have is to use one of the "cloud solutions", e.g. Amazon AWS (i.e. EC2 + S3).
Tags: aws cloud testtag wikidot
06 Mar 2009 09:48
Everytime we have an emergency situation at Wikidot (as yesterday with our webserver) we try to stop and think how well protected we are from different kind of hardware and software failures, network problems and even larger disasters (like our datacenter being destroyed). Also yesterday we stepped down from our daily tasks and looked at the situation.
Tags: cloud virtualization wikidot
05 Mar 2009 09:21
There are weeks that nothing exciting (or fatal) happens. But there are days that a lot happens that make you think if this is really a coincidence. Yesterday was one of such days, and it was not even Friday 13th. So here is what happened:
13 Feb 2009 08:40
Today Developer Tools Lab at Mozilla announced the tech-preview of a new, in-browser, canvas-based concept editor that tries to resemble native desktop-based editing software.
After looking at the screenshots, watching short introductory video, I dashed to http://bespin.mozilla.com to try this out. I do not say this very often, but this is quite an excellent and amazing piece of work. Although I have been following the web development and new technologies and trends quite closely for the last couple of years, this is something that really convinces me that browser-based applications can once replace the native ones. Simply great.
12 Feb 2009 08:53
For several years now I have been using PHP for building several projects and web applications, including Wikidot. I dare say I know PHP very well, I was also one of the few first people in Poland to get the Zend Certified Engineer certification (which nicely sits next to my Sun Certified Java Programmer cert).
PHP is extremely popular. Zend is putting a lot of money and effort to move PHP from the commodity market into enterprise and… it seems to work. PHP has very nice learning curve, although to produce good code in PHP it takes as long time and effort as in other languages. PHP is easy to deploy, runs well on commodity hardware…
Tags: dev php programming
09 Feb 2009 23:04
Every now and then I hear about people following the Getting Things Done methodology to manage their time and tasks. And this includes a friend of mine, Michal from Nozbe, who has been creating GTD toolkits for at least 2 years now.
A few days ago I was listening to some 43folders podcasts, I decided to give GTD a try. Although there are countless resources and tutorials for GTD, I decided the best way to start is the David Allen's book itself. So here I have it.
Tags: gtd productivity
05 Feb 2009 08:12
If there is a single thing that web developers hate most, it is probably Internet Explorer 6. It is buggy, it is outdated, it does not follow most of web standards and the most important thing is that… people still use it.
From my estimate, when creating initial version of Wikidot, making it work in IE 6 took extra 30% of total development time. Today, when adding functionality to Wikidot, special care must be taken to make sure it works with outdated browsers like IE6.
Tags: ie6 web
03 Feb 2009 09:12
As we hinted in several places, including the discussion at Pro tracker, we are currently working on email notifications, so that you can follow (watch) activity at Wikidot by receiving emails directly into your Inbox.
The feature is really great (we have it enabled for a few testing accounts) and allows you to be instantly notified about page edits, forum discussions, page comments etc. for pages, categories or whole sites.
Tags: activity email notifications rss wikidot
02 Feb 2009 23:13
Today in the very morning we had a small problem with one of our Wikidot servers, which manifested in "service unavailable" message between 2 AM and 5 AM UTC. The problem was easy to fix, but unfortunately because it was the middle of the night for us, we could not respond quickly enough and SMSes from our monitoring systems did not wake us up.
Tags: outage wikidot
02 Feb 2009 09:50
Habits are important for bloggers. And being a perfectionist is certainly a non-welcome for everyone who wish to publish a blog. Honestly, because I often like things to be perfect, this makes writing particularly difficult. But here is the thing - I am going to change it.
12 Jan 2009 09:49
Wikidot has more pages than the english version of Wikipedia!
Tags: wikidot wikipedia