2007-12-31

Let's make Happy New Year 2007

It's the end of year 2007. It was tough year for me specially in organization area. Some projects were finished, some were prolonged so I feel fairly ok about my productivity.

Last weekend I spend on cleaning my "space". End of year is good as every other event to remove clutter.

My goals are balanced and refreshened and I'm ready to enter into new year.

So think about your new year's resolutions. We live in interesting times. Almost everything is possible.

What to do if you have no idea what changes are needed make your future better? I would like to introduce you hackyourself.org site. It's an interesting and condensed article about living happier life.

Happy New Year 2007. Let your dreams come true.

2007-12-24

Mutual Funds Portfolio project

I have finished first prototype of Mutual Funds Portfolio application. It supposed to be finished 3 weeks ago, but meantime I have to switch to another data source.

Application contains core skeleton and basic functionalities plus administrative functions. No bells no whistles, just tables with interesting numbers.

I will deploy it on public testing server, and send message to my project cooperators to play with it. It's good holiday gift I prepared for myself.

Now I'm thinking about usability and features users will envy like various portfolio views, graphs etc.

So on that time, Merry Christmas and let the Santa bring you all you need.
BTW "Santa" story is an interesting tale and it looks that there is more than one gift-giver. It may explain how he can manage workload :)

2007-12-17

Is host virtualization for everyone?

Corporations often use host virtualization as a way to split one bigger and powerful server machine into set of easy manageable custom smaller servers without hardware mess. For software developers there is a way to test their software in various target environments, that are easy to set up on one testing box. Home and office users often use it boot two different systems at once to get what it gives best to improve productivity.

On the other hand virtualization separates OS from real hardware. This is tempting to have unchanged hardware environment for long time support systems. What will be problem with your customized perfectly working system in the next 5 years or later? New hardware solutions arrive at crazy pace. Your hardware platform probably will not be supported soon. And there will be differences that cause most of installed Operating Systems to be reinstalled or reconfigured again. So if you are looking for cutting the cost of future hardware adaptation, think about future machines preconfigured to use host virtualization. There are of course more usable cases for use of virtualization.

From historical point of view there is convergence of PC and server hardware platforms. Do you remember Amiga or Atari PCs? What about Apple computers- what is the difference between new Mac and other off-shelf Intel PC? Operating systems are trying to hide and abstract hardware differences. The final difference gap can be hidden under virtual machine host.

I'm looking forward for even better virtualization solutions.

2007-12-10

Thunderbird and everyday spam fighting

How many emails do you get every day? How many of them are not spam?
I get about 200 spam emails everyday. I'm using Thunderbird mail client with built in spam filter - but it "eats" only about 15% of my spam. I think that it's not the matter of training data because of about several thousands good marked posts.

Somebody wrote about manual preselecting best representatives for the types of spam, and then feeding the spam filter with it. But come on - I need and automated method.

So I started looking for the best spam filters I can use for free. Very popular and tempting option is to forward all your emails to Google mail and use it as your mail client. Filtering capabilities are indeed very good, but what if you don't want to redirect all your email to "G empire"?

There are good open source spam filters working as proxy servers like fabulous spamassasin. It's good idea to set up such kind of spam filtering server for intranet.

I've needed something different. While searching for Thunderbird spam filtering plugins I found adn tried one interesting product - Spamato.

It can work as standalone mail proxy but I used Thunderbird plugin version spamato4thunderbird. There is also MS Outlook version too if anybody is interested.

Installation procedure is easy - like for most of hunderbird plugins. Basic configuration - show your bin/java path and give registration email (spamato can send spam statistics to central server). Oh I mentioned java. Yes it's written in java- and proces takes about 70 MB under windows, and it's not blazing fast. It's not a problem for me - I'm checking email a couple times per day and don't need to run Thunderbird all day. It's the matter of work organization.

What you get after install: a beast with pluggable architecture, a dozen filter and decision maker modules, configurable via http interface, and displaying nice charts. Oh and there is that funny (annoying) sound after every spam email marked - it's good you can easy turn it off.

Using experience- surprisingly good. Filtering results - not worse than Google mail filter. There were few false positives at the beginning (ham marked as spam), but all those filters are learning. All spam marked messages are moved into special spamato folder (check configuration). You can view spam history and correct (teach) filters via web interface. Big negative - spamato is not integrated with Thunderbird native junk mail tools. So marking something as junk under Thunderbird, doesn't count for Spamato. You have to correct filters on Spamato separately. There is partial solution for that problem - you can configure spamato to detect posts movements in/out of spamato folder on IMAP server.

So I'm going back to read my spam errrgh email inbox.

2007-12-03

Agility - ready for change


Life is full of surprises and random events affecting every planned action.

Last week my wife and kid get some health problems. I had to change schedule to take more care of my family.

Another example is my Mutual Funds Portofolio project. I have finished first prototype and was ready for "intra" testing. Unfortunately main quote data source has been shut down. It was free service, that I used for testing purposes, so that kind of things are quite probable.

Minor or major change of plan will occur anyway. So, is planning worth anything? Yes, but we have to plan with possible changes in mind.
Most solutions tend to fall between two strategies:
- using enormous resources to analyze every probable option
- analyze core issues and then proactive adapt do changes

Good example of ready for change strategy are agile methodologies. If you are interested in the subject please read introduction at agilemanifesto.org/.

2007-11-26

web.py update 4 - apache cgi configuration

Finally I decided to put my web.py application on test server. I updated python to 2.5, and installed needed packages.

Then I decided to configure application as fast-CGI under existing Apache2 installation with bunch of other running applications. Short and good installation manual can be found at webpy page.

I tried to configure fast-CGI and then CGI setup, but something went wrong. All configuration examples are using url rewriting, and my Apache does not have proper module. I could of course install mod-rewrite for apache, but I realized that I don't need it yet. Simple web.py application should work even without mod-rewrite. It could be nice feature on constrained hosted systems.

After needed modifications my apache config file for CGI looks like that:

<VirtualHost *:80>
ServerName mywebpyapp.domain.com

Alias /static /var/www/mywebpyapp/static
ScriptAliasMatch ^/(.*) /var/www/mywebpyapp/run-cgi.py/$1

<Directory "/var/www/mywebpyapp">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


and my separate CGI script run-cgi.py:

#!/usr/local/bin/python2.5
import cgitb; cgitb.enable()
import sys
import web, app.controller

def cgidebugerror():
_wrappedstdout = sys.stdout
sys.stdout = web._oldstdout
cgitb.handler()
sys.stdout = _wrappedstdout

web.internalerror = cgidebugerror

#web.webapi.internalerror = web.debugerror
web.config.db_parameters = dict(dbn='postgres', user='user', pw='password', db='myappdb',host='localhost',port='5432')
web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)

if __name__ == "__main__":
urls=app.controller.urls
web.run(urls, globals(), web.reloader)


So my application is working now behind apache and it is ready for production deployment.

2007-11-18

Smartphones are much more than phones - looking for perfect one


Photo author: jurvetson

I used to carry together 2 mobile devices. It was Palm handheld and my cellphone. Those devices are quite old now so I'm looking for new alternative. Year 2007 was good for smartphones and other mobile devices. So there are even multiple options.
Are new smartphones functionally feasible to buy one device instead of cool handheld computer and tiny, elegant cell phone? Most solutions used few years ago were just 2 devices (handheld ,cell phone module) crammed in one case. Did we get increased interoperability and synergy of connected devices? No. The biggest positive was and still is ability to carry one device in pocket instead of two.

So maybe the big winner iPhone? I have specific needs for using custom software on smartphone platform. My perfect feature set contains:
- handheld that can use Linux or even better has established good Linux environment and community (easy hacking, lots of software)
- standard cellphone functions
- GPS or other location service (oh common - they are making even watches with GPS to track you kids)
- WiFi
- external memory card
- big touch screen
- bluetooth or other standard to connect other devices
- build in thumb keyboard or connected external one
- not so needed but it's ok to have lo-res camera

So iPhone is out of interest- it's too closed. Lets look at mix of existing Linux devices at wired blog. So there are many players pushing innovation forward. From typical cell phone producers the most interesting are Motorola running on Linux (open ezx community site), Nokia Linux based (N800 tablet) and new Symbian devices like N95 (it's too closed but it's interesting direction), some Samsung and HTC Windows CE/Mobile handhelds (there is still room for custom software, even another OS). A lot of options- nothing ideal like in real life.

Its good idea to create integrated and standardized platform with mobile features accessible to 3rd part applications like address book, SMS/MMS, call initiating, CLIR, , GPS or other location service, and of course network/internet connection. There is one interesting project called OpenMoko.
"OpenMoko is an Open Source project to create the world's first free mobile phone operating system. "- we can read at the project wiki page. I have have seen few similar projects but this one is really successful. It's outcome is good integrated platform, developer environment and mass produced cellphone FIC NEO1973. Currently produced form factor looks like typical cellphone with nice 2.8" 480x640 touchscreen. It's my favorite for now. For serious typing work it needs bluetooth keyboard. I'm looking forward for typical pocket pc form factor.

Device size is another feature important for buyers. The newest cell phones fit easily into pocket. Most cool smartphones are big- readable screen or usable keyboard takes much place. Have you seen people seeing others calling with bulky smartphones and asking: "Why are you listening to that calculator?" or "Are you trying to hit yourself in a head with that brick?". But there are other choices. Maybe internet tablets are not so bad - excellent for browsing or another tasks using bigger screen and keyboard. If you use wireless headset for calling- it seems still comfortable.

And now about the news. Last week I reviewed materials about Android platform published by Open Handset Alliance (Google is one of the biggest affiliates). It's good defined and integrated platform. It has opened API to all hardware functions (with security policies). Application layer is established on the top of custom Java ME virtual machine. There is no physical devices so it's still ... virtual. Hardware for platform is planned for production at year 2008. I hope that it will have usable features and enough performance.

We have a lot of promising new products now. Probably year 2008 will bring something new and even better. So maybe I will procrastinate a little more with buying new smartphone till next year.

2007-11-12

Weakly typed languages need more testing

I have to written and managed some projects using scripting languages. Those languages often have no strong typing or have duck typing like in python. This is their strength on one way, and weakness on another because it's easier to break the code giving mistaken parameter. Most of this errors are visible after running a buggy code.

Some of older programming languages have built coarse in error messages like in PHP or old ASP family. It doesn't help during debugging and can be really frustrating indeed.

Automatic testing is good, everybody can say even if they don't use it. So it's best to use unit testing specially for that kind of code. In that way simple errors caused by non checked and mistaken parameters can be easy found and unit functionality is checked also.

So once again I say- automatic tests are good. Scripting languages like python, perl or php need automatic tests as additional "safety net". Comparing code written in weakly and strong typed language both covered with tests both may have equal quality, so there is no real typed language quality advance over non typed one.Good tests are what gives you quality and confidence.

So next time if you are going to code something think about- how to test it.

2007-11-05

Evaluation and balancing goals week

Last week I spend on organization of my current projects and balancing my personal life. I also spend more time with family.
It's two months till the end of year and good moment for reviewing and tuning tasks and resolutions need to be done in this year. I'm thinking also about new goals for next year.

I have chosen new learning areas and ordered new batch of books covering subjects like business setup issues, personal skills and secrets of kitchen chemistry (yes, I like to cook something special sometimes).

So most of time it took me planning next movements for professional projects, reaching my personal goals and balancing it. It's hard to manage all that things together but happy family is worth it.

2007-10-29

web.py update 3 (and tough bugs)

My new application on web.py framework works great. I eliminated slowness issue during installation of new web.py environment.
It was caused by opening db connection without pooling- and it took really long time (about 10 s). So next time I properly installed DBUtils. Run tests and found exception raised by web.py database. I had to make quick fix in my web.py installation - changed name of one of parameters in DBUtils function call.

Few days ago I tested web.py session support and authentication in my application. It worked good, when something broke next day. I had feeling that session isn't properly stored or recalled- and my authorization module redirected me to login page. Access logs showed me that actually I requested only login page, not any other. Strange. I was looking for bug in web.py, but there had to be another reason I thought at end.
I used another web browser- in my case IE. Login and session worked well, better than under Firefox. The reason causing problem was performance enhancing plugin for firefox I installed few days ago to tune in new Firefox. It used strange caching algorithm, and every time I hit some application page login page was loaded. Probably it was first page cached by plugin. I uninstalled it and reviewed other browser modifications.

Once again experience shows that the most time consuming bugs are simple and just hidden in area assumed for sure as free of bugs (in my case I was looking in server app, but bug was caused by browser client modification).

2007-10-22

Additional insights about Web.py (update 2) - sessions and slowly pages

I have used default branch of web.py framework for prototyping purposes. As my web app needs sessions and there is no bult in session support, I tried to use flup and beaker modules. Meanwhile I realized that there is another branch of web.py with simple sessions.
It is handling session storage on database or files, and has typical session api (although simpler than beaker). It is all what I needed.
If you are using bzr already you can get web.py with sessions directly from repository:

bzr branch http://bazaar.launchpad.net/~karol.tarcak/webpy/webpy.sessions.branch webpy

Another issue is slowly page generation. I think it's matter of using uncached templates, but this is unevitable during development process. Maybe database connection also adds its workload, I have to check it. Now every page loads in about 10 seconds- it's slower than compiling jsp page on the same machine. I'm going to investigate the subject and return to process of happy-snappy coding.

Maybe you found anything what can speed up page generation- please share your experiences. I'm waiting for comments.

2007-10-16

Prototyping with Web.py - the light web framework

Welcome again

Last week I started in cooperation with my friend small personal investment tracking application project. It's still in designing stage, maybe I will write something about that later.

I decided to write basic functional prototype using python, having in mind that it can be production environment. Because it is going to be a web application I reviewed current python web frameworks.

There are interesting solutions like Django or Pylons, but I would prefer to use simple but flexible frameworks for that scale of project. So I decided to use web.py - simple framework made by creators of reddit.com.


Web.py has really simple skeleton connecting together http server, controller engine and built in but loosely coupled database module and template engine. It needs minimum configuration to run. In default mode it uses WSGI http server, with option to switch to fastcgi on apache or lighttpd. The same with other modules. You can use other full fledged db framework or better known templating engine. There are no fancy helpers and component support, but it's easy to include existing solutions.

It reminds me another web framework having similar attributes - java Maverick. It have more features, but the same spirit of simplicity.

If you are ready to use light web framework try one of these, or find something like that. Bigger and having more features not always means better.

2007-10-07

bzr - the light version control system

I have many personal tiny projects and sometimes I need to synchronize all files and documents between laptop and my workstation (and sometimes one extra workstation). I used pendrive as common drive for all kind of that stuff. Sometimes I forget pendrive so I worked on local filesystem. As result sometimes I had semiautomatic synchronizations nightmare- sync all local directories with pendrive as central storage drive. It was the last moment to change it.

Most time I'm online so I thought about network accesible repository for my projects. In my professional work I use repositories like CVS, SVN, and Perforce. Version control system is good solution but I wanted to avoid burden of instalation and hosting of such services. Rsync is good and simple solution too, but I started thinking about something like light, open source VCS.

So I have tried Bazaar (bzr). It is real VCS and meets my all demands. And it has one big positive- it doesn't need server instalation so I can use various protocols like ftp on repository host. There are examples of using bzr only with http protocol to checkout project (no writing and creating projects in repository of course).

So I tried to setup repository over sftp. New version of bzr is written in Python, but I had presintalled Python environment already. I installed bzr package, and paramiko needed for sftp connections handling. I have run bzr on windows and linux - there is no major differences. It's good to read the installation requirements if you are not using standalone instalation packages.

I wrote some automatization scripts to update my projects before work and commiting changes after. It works pretty well. There is one negative- all bzr users point that bzr over sftp works very slow. I can confirm that even on small size projects it takes even 20 minutes to checkout all files. But bzr team is still working on it and communication optimization is one of their priorities.

2007-10-01

Are you Vista ready?

We have interesting situation at the operating systems market. People don't adopt Windows Vista as fast as Microsoft planned, so Windows XP is still a valuable platform and it will be longer available. Even some Vista license buyers are allowed to switch to Windows XP.
It's good time for multiplatform and web application developers.

What do you think about it?

2007-09-22

Politics, sources of information and reliability network

Every day you can hear what government is doing, so you are informed, aren't you? How many people understand what is between lines of prepared and crafted by PR people speech or statement. Do you know what exactly those people are doing? Do you believe politics words?

During election campaign I want to know what are past achievements of candidates, an have a context to evaluate current plans and promises. Idea of democracy is that everyone should be able to do that.

There come government monitoring programs backed up by governmental or by independent NGOV organizations like Transparency International. On the other end we have press and media coverage of government actions. Everyday we are bombarded by vast amount of fragmented, incomplete and untrusted information. Our brains treat it as a noise.
Internet gave voice to independent single journalists. They are trying to consolidate their efforts, to be more visible and trusted source of information. You can find many sources like CyberPolitics blog tracking how the media uses the Internet and technology to cover the US presidential campaign. But for the most of citizens they are unknown and untrusted.

So I see two main problems. One is quality of information and second is reliability. I like the idea of wikipedia. Wikipedia contributors are huge companies, single persons and other organizations. They are building base of knowledge that is improved over the time. Good information quality needs processing so here pays joined contributors effort. What about reliability? The UCSC associate professor Luca de Alfaro project aim is to automatically estimate the trustworthiness of each page based on article and user edits history. It's an interesting approach by analysis of huge scale publishing. It's not perfect but better than nothing.

We have one tool, invent another and maybe something like reliability network may be established. Imagine every person or organizations acting as source of information having place in reliability network, that keeps statistics about reputation and reliability. It's not easy to make secure and hard to exploit framework but I believe it's possible. Just keep that kind of information in structured framework and run evaluation algorithms to improve information quality. So maybe next time I will be able to get consolidated information and verify it's source, for example at politics-gov-wiki site.

2007-09-17

Broken mobo and OS

At last, I have new replacement mobo for my desktop PC. It's budget GA-M61P-S3. The old one was hanging occasionally and causing hardisk data corruption. It was older GA model M55Plus, still having warranty. So far so good.

I booted my Ubuntu linux and then came first insight- both mobos look similar but have different onboard gfx, ethernet and audio chips. And that caused that my nvidia driver is hanging at boot time. I switched temporarily to generic vesa driver, and tried to fix OS. Then I've realized that ethernet and audio isn't working either. I used available ubuntu stricted driver packages with previous mobo and it just worked. That was good experience- no time waste, desktop linux for the people etc.

I've tried to use nothing more than that existing Ubuntu packages. After day of searching and trying to find working solution, I gave up.

So here comes plan B. I downloaded drivers from nvidia and realtek site. After checking prerequisities I started instalation scripts. It worked like charm. But I still don't have sound. I had to download the newest alsa sources and install it manually too. Now everything works fine except onboard ethernet port. I've used old PCI card in that place. Maybe new forcedeth driver will fix that in future.

I have to admit it took me some time, but it was good time. Everyone who sometimes hacks linux system knows that feeling. Linux newbies or just usual desktop users may have other opinion. Let's think about alternative situation- how much time would I spend fixing windows system. Probably it would require windows reinstalation or repair action, then calling microsoft rep to get new activation code, then installing new drivers from mobo packet cd. It's slightly easier and faster way. There is still a little work to do to make linux desktop more user friendly. I believe that linux instalation and upgrade will be easier than now in near future.

The sign on the mobo box says: "Vista ready". But I'm not vista ready yet- It's still not solution for home use. But milions of early adopters will test it and maybe next release will be better. I'm happy that I can choose OS that suits my needs. Do only nerds think in that way?

2007-09-13

Happy programmer's day!

Today (September 13th) is the 256th day of the year celebrated as unnoficial "programer's day" holiday.
It looks like IT community is developing its own culture and holidays. We have system specific internal calendars based on "epoch day", important historical events like y2k, and many more that probably you can find.
So if you are programmer or just like the idea, celebrate it and have a fun!

2007-09-09

The best programming language - choose the right tool for the job.

Is there the only one ultimate programming language, what is the best match for every application?

Some of folks may say- "Yes, It's L**. I've used it for X years in production environments and there is nothing in the world better than that". But it's not yet another thread about java vs c++ vs python vs ruby vs php [vs pick_your_language]...

Look at the current situation of existing programming languages. There are probably more programming languages than ever before and they are still evolving, what is IMHO good thing. An evolutionary criterion here is mainly market demand. It regulates need for that kind of tools and the most obsolete ones are vanishing.

Most of the programming languages start existence as a project of small group of enthusiasts or scientists. One person driven projects are quite usual. When it gains wider audience as good candidate for programming environment there is a moment when market influence kicks in.
From business point of view software production process must be optimized to get needed set of features, using possibly smallest resources and time to get final product of desired quality.
So there is economical pressure to keep (man time cost)/(product quality) ratio low.

What is programming environment? The main element is of course programming language concept with its constructs, and a set of basic framework libraries. It must be implemented, so it goes with tools like compilers, interpreters, virtual machines, debuggers and other preparing software to run and monitor software in target system. On the other end there are Integrated Development Environments boosting programmers’ productivity. All of these elements are used during software production process which has strategic impact on software cost and quality. The total cost and quality depends on the combination of lower level facilities of programming environments (I am excluding people skills).

All programming environments have some sweet points there and sometimes hard to reach or lack of other features somewhere else. So there is no one simple and effective tool for creating software.

So how to choose best one for your needs? Productivity depends on domain and size of application, architecture, speed of elementary analyze-write-compile-test cycle, easiness to create small and clean code, good debug information, matching tools power to programmer skills and other minor factors. These factors should be evaluated during short "evaluation runs" to get the complete picture.

How to collect such valuable metrics? We need productivity measuring features seamlessly hooked up into existing tools used during software development and maintenance. Having recorded software feature production time metrics and process structure can give us very valuable information. It gives possibility to look back, find weak points of process and try to improve it. Or, you would try to compare metrics in context of features and application character for different programming languages and choose the best for your needs. But we need tools to acquire those metrics. Some of commercial tools are going into that direction, and I think it's time to incorporate that into platforms supporting creation of open source software and sharing information with wider audience.

There is a very long way (if any exists) to one leading programming environment with simple but powerful programming language and well designed set of libraries etc. We have different competing programming environments find their market niches today. Evaluating and selection of best solution isn't trivial task. But if you can - think about it and choose the right tool for the job.

Maybe one day there will be one ideal small and complete programming language with good framework library, with scripting for small programs and support for big enterprise application features, with changeable features and many sets of well designed libraries and frameworks. Sounds like utopia for me, but who knows?

2007-09-04

Chaos Communication Camp 2007 impressions


I've just finished preparing my video and photos from Chaos Communication Camp 2007 in Finowfurt near Berlin. The event took place between 8 and 12 of August.

I had few days off booked for summer vacation so I packed my stuff and arrived at place at the first day morning. I've met there my friends and camped near their tents at nice shaded place under forest trees.

It was real open air event, not counting aircraft shelters adapted for hackcenter, art&beauty place, 2 lecture halls and other buildings used by organizers.
The location was really awesome- an old eastern Germany air base full of migs, yaks and ils aircrafts. Even Lenin statue was still watching over the place.
There were people from over whole of the world, with strongest representation of Europeans. Most of the people at CCC were young Germans (surprising huh? we were in Germany). People came there mainly for fun or just to camp with a laptop. Not all of them were just browsing the web or coding next pac-man clone. Yes, it was place for hackers and people interested in computers and tech world. You could met there interesting people making or promoting their projects on site, specialists from various IT fields and friendly folks ready to share their point of view and knowledge with you.

Almost all people were kind and helpful, respected all other privacy and right to rest and camping without disturbance. With a just a new met friendly stranger you could talk about operating systems, software architecture, databases, security issues, political an social issues, theories of beginning of the universe all that while drinking your favourite beverages.
I've seen cool tech projects, talks, soldering, vehicles like electric bikes and carts, quadrocopter drones, people chatting in various languages. And of course people with computers everywhere. Laptops, desktops, networking gear, electric and patch cables all over the ground between tents. There were computers in tents, in the shadow of airplane wings, under trees, on hammocks, in shelters and at lectures.

It was really mind stimulating environment. Open minded crowd around constantly kept me opened for any innovative idea (even crazy ones :) ).

Organizers weren't too obtrusive - just kept order needed for safety and to run event smoothly.

There were few places where you could hear music almost all the time, eat something and buy cold beverage.

Talks schedule was really tight and started every day at about 11 am and finished sometimes after midnight. I'm waiting for publication of recorded material I couldn't attend.
Nights were full of light effects and partying people. Guys from visual effects (Visual Berlin and other) and DJs made really good job. So nights were very loooong, and I had a problem to catch up good sleep after coming back home.

I really enjoyed that event, and hope to keep contact with all interesting people I met there.

Here is video I assembled from my recordings and pictures taken at the place. It wasn't my main goal to take really good pictures, so quality isn't as good as I expected.


Check also "high" quality CCC2007 Trip video link or lower quality CCC2007 Trip video , and my pictures.

More information you can find at CCC 2007 main page events.ccc.de/camp/2007/Home

2007-08-30

Growing number of CMS platforms

I have tried and evaluated many CMS/blog platforms. Now I'm searching for something suitable for personal web site. Developers are still creating new CMS/blog platforms (including me), so there is huge amount of possible solutions.

I you aren't going after crowd, you have much greater choice than top 3 common open source blog platforms (like WordPress). Almost all of them match quite well for general folk's need. Just write pure text article, add picture or two, add some metadata sugar and voila! Maybe I am a perfectionist- but I can't see ONE outstanding open source engine. There are huge platforms with a lot of features (when you really need only 3 of them). On the other end there are quite nice lite, minimalist engines lacking most of desired and sexy functionalities. The good side is that good lite engines are ready for easy integration with additional modules/plugins, but it's for coding/configuration work loving types.

The main differences between CMS platforms are:
  • system platforms and storage backends
  • level of customization
  • indexing and searching
  • support for additional plugins
  • spam/security management
  • scalability
  • workflow and authoring
  • other specific needs

So, if you are getting into it seriously think about that additional requirements, and check sites like cmsmatrix or articles about blog software comparison.

Most of the people just want to use CMS in easy and comfortable way. I've landed on blogger.com hosted service planet, because of my low expectations and lack of time. Ok, maybe brand behind it and knowledge that those kinds of services are changing helped me to take that decision. But what is the real reason behind that decision? Maybe I've saved time to write another veryPowerfulCMS? :) Oh no! Life is something more like that and there are more interesting activities.

Anyway who needs today slick, pluggable, easy to integrate with another services, with customizable fields and content CMS framework? Anybody?