Posted by & filed under News & Politics, Web 2.0.

Is anyone surprised? This has been talked about for years now, but finally Google anounced its own Operating System. Suprisingly, yet not, the system will not be entirely based on Linux, as was speculated before, but on Chrome, further blurring the line between PC Operating System and the web.

The fact that the new OS is primarily targetted to netbooks is a major threat to Microsoft. Netbooks are much cheaper than good old PCs, and having an expensive OS, such as Windows 7, is just not feasable. This gives Google an edge in the fast rising netbook market, and provides an excellent growth potential.

I am curious to see the battle of the giants, as Google battles Microsoft off its throne. I’m also very curious to work with the new system, and see what it can do. Regardless, this is a start of a new era in operating systems.

Posted by & filed under TYPO3.

One of the cool new features in the upcoming release of TYPO3 4.3 is ability to overwrite some default backend templates. Here is a description of how to easily overwrite the default login page template.

  1. Create a new extension
  2. Create a file ext_tables.php, or modify existing one
  3. Add a single line:
    $GLOBALS['TBE_STYLES']['htmlTemplates']['templates/login.html'] = 'EXT:pb_belogin/res/login.html';
    The value should reflect the location of your template.
  4. Once you install the extension, your template will be used.
New Login Template

New Login Template

See attached extension for complete code: pb_belogin

Posted by & filed under Web 2.0.

Finally!

Google Analytics API Launched!

I’ve been waiting for this for quite a while. Just imagine the possibilities – all the data & features of Analytics at your fingertips, ready to be processed how you want them to be!

Expect to see some mashups soon!

Posted by & filed under Programming.

MySQL may use temporary tables during query execution. Ideally you would want to avoid this, since its an expensive and slow operation. It can be avoided by optimizing queries. Sometimes it can’t be completely avoided – in that case you want to make sure the temporary table is created as a “memory” storage engine table, since its very fast, as it is never written to disk and remains, as the name states, in memory. But, as the manual explains, there are some conditions, such as TEXT/BLOB columns, or a combination of GROUP BY/ORDER BY clauses that makes MySQL write the temporary table to disk as a MyISAM table. One can spot these queries by the EXPLAIN output:
[...] Using where; Using temporary; Using filesort
In that case performance depends on disk I/O speed. If there are multiple similar queries running simultaneously, they try to read/write a lot of information to the disk, and will become extremely slow.

Solution? TMPFS!

tmpfs is a filesystem, that resides in RAM/Swap, so if your server has enough available RAM, files written there will bypass disk I/O completely, and will perform significantly faster.

Now, “High Performance MySQL, Second Edition” claims that this solution is still not as good as a MEMORY table, since it requires MySQL to use some expensive OS calls to write & read the temporary table, but it is still faster than the disk based temporary table.

To set it up, just mount a tmpfs system on an empty directory (you should also add this to fstab):
mount tmpfs /tmpfs -t tmpfs
and edit my.cnf to make MySQL use that directory as a temporary directory:
tmpdir = /tmpfs
Be careful though, there is a bug in some versions that prevents this from working properly.

For more information, see this blog.