tag: Development

OpenWrt QoS

27 Jan, 2006 - 1 minutes

It looks like nbd was able to find the problem, which plagued many people (including me) with QoS. You can find details in this thread on OpenWrt forum. Instructions on how to install QoS package can be found in this FAQ entry . Give it a whirl and don’t forget to thank Felix Fietkau (nbd ).

QoS was the biggest feature on my "wanted" list. It means now I can produce an OpenWrt GUI (webui) module to deal with it. It coincides well with release of Dojo 0.2.2 . But most probably I’ll be using a snapshot because guys added so much new stuff to Dojo preparing for Dojo 0.3 (widget release). Given the stability of OpenWrt GUI Homunculus Alpha release , I may upgrade new release to Beta status.

My experience with Google Video

15 Jan, 2006 - 3 minutes

Some time ago Jacob Kaplan-Moss released his documentary about Snakes & Rubies event . It is a must see video for all serious programmers working in different fields because it gives you a rare chance to understand the motives of two successful software projects.

Pretty soon it became obvious that sending links to hefty files or torrents is not the best way to spread the word — people are lazy and distractible. I needed something, which can play almost immediately. What can be better than Google Video (Beta) ? Jacob gave me his blessing and I started the process.

Clients: thin vs. thick

15 Jan, 2006 - 5 minutes

Brad Neuberg wrote a good article , which compares two different approaches to AJAX: thick client (e.g., Dojo style) and thin client (e.g., Prototype style). While it does a good job contrasting two approaches, I want to underscore that the underlying problem is a clash of two cultures between "local application" developers, and "web site" developers.

There is no doubt that local applications create the most satisfying end-user experience. Their typical weakness is in restriction of underlying data to local installation, which makes any collaboration impossible. "Connected applications" can help to alleviate this problem, but networking is hard in general and many local app programmers try to avoid it. They don’t have proper culture to do it, existing network APIs are hard to combine with GUI, and so on. In general they don’t get it.

Where do old programmers go?

5 Jan, 2006 - 5 minutes

Nowadays this question is asked frequently. A lot of guys in their 30s realize that they are the oldest guys in their groups. 20+ guys don’t see wise sages around. What is going on? It was debated on /. without any productive outcome (as usual).

Let’s take a look at the problem using available statistics. One nice source of data is the National Center for Educational Statistics . I made a chart using Table 280. "Earned degrees in computer and information sciences conferred by degree-granting institutions, by level of degree and sex of student: 1970-71 to 2002-03" (only totals are used):

Live Filtering

Update on 11/25/2007: today this article presents mostly historical interest. Since Dojo 0.2 a lot of versions were published and many things were changed. At the time of this writing Dojo is at ripe 1.0. I had to disable all Ajax action in examples because I don’t use Dojo 0.2 anymore.

What is Filtering? It is a selection of items using some criteria (filter). In this tutorial I am going to filter documents of my blog (made with Django , of course) matching titles against user-specified substring. Later on I’ll talk about generalization of this approach.

New releases

17 Dec, 2005 - 1 minutes

Today I saw new search phrase, which brought visitors to my humble blog: rails 1.0 "Lost connection to MySQL server during query". Yes, you guessed it right! Ruby on Rails 1.0 was released 4 days ago. Scrip.aculo.us 1.5 and Prototype 1.4 were released as well.

On 15th Dojo 0.2 was released too. It sports many widgets, improved speed, and new BSD license, which was added to AFL. Now you can use it in GPL projects as well as in commercial applications even, if you don’t understand legalese of AFL. Now there is no excuse for reinventing the wheel .

DIY and NIH syndromes

16 Dec, 2005 - 3 minutes

Many programmers have DIY attitude. It is understandable: they want to do new exciting stuff themselves. In some cases it is perfectly reasonable: exotic functionality, special requirements, performance enhancements, and so on. Sometimes incorporating 3rd-party library makes overall API inconsistent, which is bad especially for programming tools, or big projects.

There is a fine line between DIY and NIH , when DIY part is used without rational explanations. Of course, in some cases NIH is reasonable too, e.g., high price of acquisition of required 3rd-party tools, or intellectual property concerns.

Snakes, rubies, and some comments

12 Dec, 2005 - 2 minutes

A week ago I posted a link to David’s take on "Snakes and Rubies" event. Of course I am talking about article written by RoR’s creator. It is a great read, but this time I’ve read reader’s comments (or "challenges to the Loud Thinking"). Oh, boy! It gives you insight into Rails, Django, and their perception by developers and users. For example, I am not very familiar with i18n problem, but it looks like a lot of people were quite passionate about it.

Django Ajax Redux

10 Dec, 2005 - 9 minutes

Three weeks ago we had a discussion about Ajax support in Django, which resulted in "Ajax and Django" wiki page. A short recap: it lists a vague goal, some general considerations, and possible strategies; it scratches the surface of existing implementations (mostly RoR), existing third-party toolkits (Mochikit/Dojo), and related RPC-style and REST-style services. No code was produced, no consensus was reached, but now it is a part of Django’s Version One roadmap .

WebUI refresher

3 Dec, 2005 - 1 minutes

I just released a refresher for OpenWrt WebUI alpha package. It fixes a bug, which was reported by several people.

Some users had problems with Net configurator applet, if wl0_country_code was unset in NVRAM. While it is extremely easy to set, I suggest reinstalling webui. Please read the original post on how to do it.

Thank you guys for your great feedback! Working together we will make webui even better.

Different people, different opinions

30 Nov, 2005 - 2 minutes

It is practically impossible to travel to Muslim countries without hearing some anecdotes about Nasreddin Hodja . Here is one (the source ):

Hodja was once a judge. One day a man came to his house to complain about his neighbor. Hodja listened carefully and then said to him,

— My good man, you are right.

The man went away happily. In a little while the first man’s neighbor came to see Hodja. He complained about the first man. Hodja listened carefully to him, too, and then said,

OpenWrt GUI: alpha released!

27 Nov, 2005 - 2 minutes

Finally I released WebUI 0.1 (Homunculus) alpha — AJAX-based web interface for OpenWrt made with Dojo ! Highlights of this release: 5 more applets including firewall configurator and more network settings. Now proceed to install the package and to read release notes.

The package is here: webui-0.1-alpha.ipk . You can install it using following command in OpenWrt shell:

ipkg install http://lazutkin.com/download/webui-0.1-alpha.ipk

Release notes:

  • WebUI can be installed side-by side with webif (comes standard with OpenWrt White Russian RC4). To access it use following URL: http://your_router/webui.html.
  • Five more applets are added to this release:
    • System: provides a menu for existing applets.
    • Firewall configurator: simple management of DMZ and port forwarding.
    • Hosts configurator: manages a list of static hosts (used by DNS and by Firewall configurator).
    • Ethers configurator: manages a list of static assignment of IP by MACs.
    • WDS configurator: manages WDS connection settings.
  • General clean up of user interface:
    • More information is moved to tooltips.
    • Help is provided by tooltips.
    • Context-specific references to OpenWrt documentation.
  • Tested on following browsers:
    • Firefox: works.
    • IE6: works.
    • Opera 8.50: doesn’t work.
    • Konqueror: doesn’t work.
  • I decided to proceed with release in spite of Konqueror and Opera problems. I hope it will be solved later. For now use Firefox.
  • As always I appreciate your feedback: openwrt [@] lazutkin [.] com.

OpenWrt GUI: alpha delayed

20 Nov, 2005 - 1 minutes

During final tests I found a nasty bug in "Firewall configurator" applet. I decided to postpone the release until I’ll be able fix it. Here is the bastard:

OpenWrt GUI Firewall configurator bug

London presentation

20 Nov, 2005 - 1 minutes

I found a blog post describing London Web Frameworks Night , which took place on 11/17/2005 at the University of Westminster. Jabbering Giraffe reports on presentation of three web frameworks: Catalyst , Django , And Ruby on Rails .

It is an interesting read. Author remarks that Django’s Admin ("with lots of Ajax and JavaScript goodness") was the main object of envy of other frameworks. Another interesting remark was how good Rails people are at marketing.

OpenWrt GUI: alpha is coming

19 Nov, 2005 - 1 minutes

I was able to work more on OpenWrt GUI. Alpha release seems inevitable now. I’ll try to publish it during this weekend.

I added back the main applet, which serves as a menu for all other applets. More network configuration-related applets are added. Status applet is cleaned up considerably: all less important information was moved to tooltips. Here is a new screenshot for your viewing pleasure:

OpenWrt GUI — new screenshot

Stay tuned for upcoming alpha release!