Uncategorized

requirements

I am in IRC with someone from Crytek, but I fear being kickbanned for “YOUR COMPANY’S GAME SUCKS”, seeing how they have ops…

Back to the store with you, Crysis.

(This is a reference to degradation.)

degradation.

Web developers worldwide take note.

This is a concept which you need to be familiar with! Did nobody tell you this in your 5-day Web development course?

Obviously not, because so many sites I see nowadays whore jQuery/Prototype/MooTools to the point where a page is unusable on low-memory systems.

The Web isn’t meant to have “minimum system requirements”, yet to reasonably browse the Web nowadays you need a system capable of playing at least Crysis before you can even THINK about browsing many modern Web pages.

Emma is often forwarding me cool StumbleUpon finds via e-mail and Twitter and while Google Apps and Twitter work fine with low-RAM systems;

  • Wordpress
  • Facebook
  • Slashdot (you’d think Geeknet would know better)
  • 80% of the rest of the Web

take multiple minutes to load with any less than 1GB RAM. This is unacceptable! All your corner cutting to save a few hours of effort is going to cost your client many times that in customers lost to 150sec+ loading times, is going to piss your users off no end, and uses unnecessary bandwidth.

I for one eschew “cool features” in lieu of speed, performance and reliablity. Cool features are pointless if they’re non-functional due to the rest of the page jarring the experience.

I know from experience many Web developers use either Core 2 or faster machines, or top-of-the-line Intel Macs, making Conroe multicore CPUs with lots of memory the norm in the Web development industry.

What you have to bear in mind is your machine is probably far faster than probably 90% of your users. So if a page is slow on your box it’s going to be torturously slow on a slower machine.

The next dev I see using jQuery + plugins with no fallback is going to get the entire source code of Linux 3.1 (666MB) through their letterbox.

/rant

poweriso.

Anyone heard of PowerISO? (Yes, that includes you, reaper)

Of course you have.

If you’ve ever come across DAA images, you’ll have run into the same brick wall I have many a time. The only program that’ll easily mount these is PowerISO. I had the displeasure of having to install this suckware a couple of days ago. BAM! Instant problems.

Where do I start?

  • It’s slow. Like, REALLY SLOW. Every right-click is now accompanied by a ~10sec delay as PowerISO’s context menu integration kicks into life. Even on the system tray icon.
  • Constant bluescreens. I’m under the impression that it’s because PISO is chewing through kernel memory like it’s going out of fashion.

So, I have these precious few nuggets of advice to share with the world.

  1. DON’T buy it! You’re throwing your money away.
  2. If you download .daa images via BitTorrent, don’t seed them.
  3. Finally, if you do end up with a .daa image, use daa2iso to convert it to an ISO, which you can then mount using something far superior like WinCDEmu. daa2iso is an open source utility that will convert .daa images (which are really just renamed .iso.Z files, compressed using zlib, no more) to ISO’s. Windows version here, unix users can simply (iirc) zcat whatever.daa > whatever.iso for the same effect.

Remember folks, open standards are the future! Badly written crapware most definitely isn’t.

photography.

That was madness =3

I kicked off the new year with some friends in Central London, watching the new year countdown & fireworks, preserved for posterity on Youtube…

[youtube=http://www.youtube.com/watch?v=vzCVjXN3zIY]

I’ve also taken up photography, a pastime I’m starting afresh after an 8-year hiatus… I’ve grabbed myself a Fujifilm Finepix S1000fd, a good camera if a little on the limited side. Although I’ll manage :p Specs as follows:

  • Fixed Fujinon 12x zoom lens, with normal (DOF=66mm-iinfinity) macro (DOF=20-66mm) & supermacro (DOF=1-20mm) modes
  • Aperture: f/2.8 – f/5.8 (… see what I mean by limited? T_T)
  • Shutter: 1/1000 – 80/10 (… a little better, but you’re screwed for night sky photography)

I’ll be uploading pics to my [edit: screw deviantart, Flickr ownz it for photos: http://www.flickr.com/photos/cmn_ownz_j00/]

The best of which I’ll be posting on here and I’ll also be doing tutes on Youtube for certain techniques, such as HDRI, depth of field, and suchlike.

squid.

So I’ve been messing around with Squid recently. One of the features I had planned to add was the ability to fall back to Coral Cache if the web site that Squid is trying to cache goes down.

So I wrote this little redirector script in PHP:

Stuff this in /etc/squid/coralcache.redirect and make it executable (chmod a+rwx /etc/squid/coralcache.redirect):

#!/usr/bin/php
<?
        /* Coral Cache on 404/No Server */

        $t=array();
        while($input=fgets(STDIN)){
                ob_start();
                $t=split(' ',$input);
                $url = $t[0];
                $ch = curl_init($url);
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,false);
                curl_setopt($ch,CURLOPT_VERBOSE,false);
                $ci = @curl_exec($ch);
                $status = @curl_getinfo($ch);
                ob_end_clean();
                if($status["http_code"] > 400){
                        $uriparts = explode('/',$url);
                        $uriparts[2] = rtrim($uriparts[2]) . ".nyud.net";
                        echo "302:" . implode('/',$uriparts) . "n";
                }
        }

Then, at the top of your squid.conf;

redirect_program /etc/squid/coralcache.redirect

Restart squid, and all unavailable pages should now redirect to Coral Cache. =)

panic.

I’m taking a short course in kernel development at the moment, and it’s proving quite enlightening.

My heart skipped a beat, though, after seing this in the sample kernel’s idle loop:

 __asm__ __volatile__ ("sti");
puts("Hello World!n");
//    i = 10 / 0;
//    putch(i);
for (;;);

I can picture it now:

Student: Ooo, I wonder what this will do if I uncomment it.
Tutor: Uncomment what? Wha– OHSHI– *za warudo*