Animated GIFs of Engine Movements
This page has some pretty useful animated pictures of various different types of engines working. It’s certainly helped me clear up a few questions over how precisely a Two-Stroke engine works!
This page has some pretty useful animated pictures of various different types of engines working. It’s certainly helped me clear up a few questions over how precisely a Two-Stroke engine works!
I’ve stumbled upon an interesting article this morning called “I hated php back when it was cool“, which kind of vocalises some of the gripes I recently developed with PHP.
Namely, the language has grown exponentially, but without a structure to tie the language together effectively. I just love the description quoted in the article:Aristotle Pagaltzis makes an interesting point when he says how PHP suffers from a lack of initial design. … Basically PHP seems to have started out as a pet project, and had its features battered on with a staple gun, rather than included in the design.. Everything is done with a series of functions, most of which have different patterns of behaviour or different parameters depending on what version of PHP your running. This makes coding effective sites an absolute nightmare!
My other chief gripe is classes. Despite the recent changes to the whole class handling system in PHP, it’s still rubbish, and most of the time, I can’t use the improvements that PHP 5 brings because no bugger supports it!
To me, when the PHP people get to writing version 6, they need to stop, and quite literally start again. I really mean that – it doesn’t matter if the “newer” PHP code is not backwards compatible – it isn’t very BC at the moment, and so they should take more time, consider their direction, and plan ahead.
I’ve just realised that I haven’t blogged anything in ages.
I guess the reason is that I have been quite busy recently. Not one thing in particular, but lots of little things here and there! So in no particular order:
Woohoo! When I left my house this morning, it was almost light! And when I leave work at 5, it’s not quite dark yet.
Looks like that period of time where you don’t get to see you house in the daylight (except for weekends) is coming to an end for another year.
Plus, this morning, I can see blue skies! Makes a change for those horrible overcast grey skies we have had for the last 3 months.
I’m thinking of building an adaptive firewall on my Linux router at home.
I’ve noticed that people are scanning the ports on the computer, and running HTTP requests to see if they can trip several known security flaws (e.g. in AwStats).
I did a little reading up on how to build an IPTables based adaptive firewall, and I’m beginning to concoct some ideas in my brain.
Basically, what I want to do, is constantly scan the requests that are made to Apache, and maybe some other server apps, and build some rules to pick out naughty behaviour. Once I’ve done that, I can get the IP address of the offender, and build a list of banned IP addresses. I’ll only want to “ban” (i.e. block at the firewall) those IPs for a set amount of time (e.g. 24 hours), but the response time of the firewall must be quick in order to catch these people in the act, and so I must rebuild my IPTables rules in reasonable time. After the 24 hours is up, I then need to clear any expired IP addresses down again whilst still keeping blocked IPs and my other firewall rules in place.
I’m therefore thinking that producing a series of scripts based around Cron is not suitable – you can’t schedule it to work more that once every minute. It could mean that I need to produce some server program (either using a UDP socket, or UNIX-type pipe) to receive IP addresses as soon as possible, and to store the data for 24 hours.
Anyone got any good suggestions?