7. March 2012

Web stress test by Apache Benchmarking Tool

Sometimes you need to identify bottleneck of web application.

You can use Selenium to record and repeat the same steps over and over.

Another solution is to use Apache Benchmarking Tool.

E.g. You need to send 1000 requests in 10 concurrent threads to localhost:

ab -c 10 -n 1000 http://localhost/

For Debian users: you can find this mighty command in apache2-utils package.

Sample result:

Server Software:        Apache-Coyote/1.1
Server Hostname:        localhost
Server Port:            80

Document Path:          /
Document Length:        405 bytes

Concurrency Level:      10
Time taken for tests:   0.524 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      650000 bytes
HTML transferred:       405000 bytes
Requests per second:    1907.13 [#/sec] (mean)
Time per request:       5.243 [ms] (mean)
Time per request:       0.524 [ms] (mean, across all concurrent requests)
Transfer rate:          1210.58 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   0.5      2       4
Processing:     0    3   0.5      3       4
Waiting:        0    2   0.7      2       4
Total:          2    5   0.3      5       8

18. December 2011

WordPress TV

Good news for WordPress fans! WordPress has its own TV. ­čÖé

Check out WordPress.TV.

Do you want to join some WordPress events around the world? Then check out WordCamp.org Central.

11. December 2011

How to find conference?

There are many conferences around the world and it is hard to monitor them all.

I found useful site ConfRadar.com.

You just need to specify your favorite tags and you’ll get e-mail notification about conferences.

18. June 2011

Structure of Flex project for multi-target development

What I mean by multi-target?

Today it is possible to create Flex project that runs in browser as Flash application. Other option is to create mobile or desktop application using AIR.

The question is how to structure bigger projects that need to target web, mobile and desktop.

Let’s assume that we’re developing multiple applications and therefore it is good to have common library which aggregates common functions.

That is sufficient when you’re targeting just one platform. Once you need to support more projects then one common library is not enough.

It is reasonable to split this library into the main core that is common for all projects and then create specialized libraries for AIR, web and mobile.

On the top of these libraries you can build final applications for desired platform.


  • top: applications for mobile, web and desktop
  • middle: specialized libraries that extends functionality for mobile, web, desktop
  • bottom: common library for all platforms

15. April 2011

jQuery workshop – FRI ┼Żilina – slides

I was invited to give another talk at FRI ┼Żilina. Previous topic was development for Google Android platform.

This time I focused on jQuery.Together with Michal Kauki─Ź we started jQuery workshop. Attendees learned basics of jQuery in two hours. At the end they have running application with simple animation in HTML.

You can download slides in PDF version.

You can also download ZIP file with all demo applications.

I was using IntelliJ Idea IDE. It has very intelligent code completion for jQuery, JavaScript and HTML.

I suggest to download also jQuery Cheat Sheet, it is very handful manual.

I mentioned two interesting projects. One was Adobe Browser Lab which allows you to get snapshot of your web site displayed in different browsers on different systems.

The second project was jQuery Mobile. This project could help you to create applications for mobile environment.

I provide this workshop also in form of training for companies. You can find more details about available trainings at sinusgear.com.

Do not forget to watch lauch of Adobe CS5.5 Dreamweaver. Adobe promised to provide support for packaging JavaScript application as a native app for Apple iOS, Google Android and Blackberry.

5. March 2011

IE 6 Countdown

IE 6 is one of the biggest blocker of innovation in web technologies. IE 6 is eating hours and hours of developer’s time.

Some goverments stubbornly require support of this “ancient” application.

Christian Heilmann has been talking about this problem for several years.

Usage of IE 6 is falling. 12% in February. You can watch the departure of IE 6 from computer stage at: ie6countdown.com

3. March 2011

Srobick – Annotator – sneak peek

We added new feature to Srobick platform – code name is Annotator.
It allows you to create editable annotation of web pages, images and screenshots.

Slovak version of video:

English version of video:

Account in Srobick system is available upon request. Just send me an e-mail.

Some features will be accessible in future release even without Srobick system account. Stay tuned.

11. December 2010

Cheat Sheet

V├Żvoj aplik├íci├ş je n├íro─Źn├Ż. V dne┼ínej dobe je nutn├ę ─Źeli┼ą r├┤znym API, prep├íja┼ą heterog├ęnne technol├│gie a u─Źi┼ą sa nov├ę pr├şstupy.

Ve─żmi u┼żito─Źnou pom├┤ckou je str├ínka cheat-sheet.org.

N├íjdete tu r├┤zne dokumenty pre technol├│gie od v├Żmyslu sveta. Z technol├│gie je v┼żdy vytiahnut├í esencia, ktor├í v├ím m├┤┼że v├Żrazne zjednodu┼íi┼ą v├Żvoj a zlep┼íi┼ą porozumenie implementovan├Żm konceptom.

4. December 2010

Spark vs. MX – size of Flex application

I’m building several applications based on newer Flex/Spark architecture. It is good practice to keep application at minimal size. With Spark architecture I hit several problems.

One critical problem is that application with Spark is quite big. I decided to enable support for RSL…

There is problem that RSL is available only for official releases of Flex SDK. You can run aplication on developer’s machine, but user will see some fancy errors.

There is another problem with Adobe’s RSL. Browser will contact Adobe server before application start. You could see 3-5 connections. Flash Player is checking version of RSL. This will slow down start of application. It could take 10 seconds in network with higher latency. That is very bad.

Therefore only viable solution is to turn off RSL and use “Merge into code”.

Folks who advocate for Spark says that it is much more efficient and it has better structure. Sure, it’s true. You can do many things with Spark much easier than with MX.

I was wondering why were my applications with Spark that big. I made small reasearch. You can see comparison between MX, Spark and MX+Spark projects on followich chart. In the first step I was testing only size of application with just one Button in Release mode. Then I’ve added some other components and application starts growing.

[kml_flashembed movie=”/wp-content/flex/flex-size/FlexSize.swf”┬áheight=”500″ width=”500″ fversion=”10.1″]

Measured against Flex SDK

The last result with Spark is very sad, because Spark application with Button, DataGrid, FormItem and TextInput is two times bigger than application using MX.

Do you know about any way how to shrink Spark applications?

1. December 2010

Ako dosta┼ą Flex aplik├íciu do WordPressu?

Napr├şklad tak├║to: IT Gigants

[kml_flashembed movie=”/wp-content/flex/itgigants/itgigants-1.6.swf” height=”500″ width=”500″ fversion=”10.1″]

Ve─żmi jednoducho. Sta─Ź├ş aktivova┼ą modul Kimili Flash Embed a zada┼ą nasleduj├║ci re┼ąazec:

[kml_flashembed movie=”/wp-content/flex/itgigants/itgigants-1.6.swf”
height=”500″ width=”500″ fversion=”10.1″]
  • Where’s the fish?

  • Translations

  • Further info

  • Twitter

    Follow @jurajmichalek on twitter.

  • Comments

  • Tags

  • Topics