Oct 25

I’m not going to explain in depth how virtualisation can reduce downtimes in general, or what you need to achieve that. But from todays practical experience, I’d like to give one example.

Let’s say you are running FreeBSD on a server, and you need to do a major upgrade (that is from 6.x to 7.x). This process can take ages, if your machine is not running the latest hardware, and/or you have a lot of 3rd party software installed (ports). I’m not talking about an impatient person’s definition of ages, or about the one of a customer, who claims hundreds of quid financial loss in 20 minutes downtime on Sunday morning 1:30 am. :)  I’m talking about ages as in many hours.

Of course, a FreeBSD upgrade doesn’t require to be offline while it’s proceeding. But you will need to reboot. And as a rule of thumb, one can assume that dependencies in the ports will break. Usually only one or two of them, but it requires manual work, and can cause an unpredictable partial downtime, which is longer than it takes to reboot the machine.

So how can virtualisation help here? In a nutshell, it allows you to do the whole upgrade on another virtual machine. You can take a snapshot of the production machine, start it as a new VM, and do your work there, while the original VM stays online.

This also reduces stress enormously, because if you break something during the upgrade, there’s no time pressure to fix it. You can spend as much time as it takes to finish your work properly. Cool, isn’t it?

And when you’ve finished your work, you can inform your customer about an upcoming 1 or 2 minutes downtime for a major system upgrade (which you have already finished). :-)

All you need to do when the time has come, is to sync files which changed during run-time (for example mail folders), change the network settings in order to make your upgraded snapshot take over, and then you can safely decommission the old VM. It really is as easy as that.

Tagged with:
Oct 11

photo

To cut a long story short:

  • massive speed improvement
  • excellent for work with many small files (compile times for big projects reduced significantly, to give one example)
  • good value for money (~ £125)

And now the down-sides:

  • getting very hot
I have been using it for 4 months, until it died today. I’m almost sure that it was the temperature together with the very slim design of my MacBook Pro. So I can definitely not recommend this solid state drive for 2008 MacBook Pro’s, but it may work for others.
It’s a shame…
Tagged with:
Aug 19

It might be just me, my misperception, or the fact that I haven’t quite understood yet what “support” means in this country (I think it might be arguable if it means anything at all). But I have the feeling that ISPs in the UK have no clue what they are doing! Let’s hope they don’t do that on purpose…

When I moved in a year ago, there wasn’t a broadband connection in this house, but there was a phone line — with BT apparently. So I went for the option, which I hoped would be the quickest (in terms of getting connected): BT. 8meg sounded ok to me, and I didn’t want to use 3G all the time (although I had a lot of traffic allowance on my contract).

Continue reading »

Tagged with:
Aug 08

Slowly, manuals spread around the web, but somehow many seem not to work as expected. I gave it a go and tried some with my brand-new iPhone 3GS 32GB (yeah, show-off, I know), until I finally found a pretty easy solution.

This tiny manual comes without any warranty whatsoever! I only collected information from other sources, which seem to work for me, but not necessarily for anyone else. In fact you will even lose Apple’s warranty with a jailbroken phone. So use it at your own risk.

Continue reading »

Jul 15

You think I am exaggerating? Maybe I am for some people. But for the majority I am clearly not. This includes even big players on the Internet, who definitely should know better! And that really upsets me, because those careless people obviously have access (i.e. passwords) to many other peoples’ data — including customers.

Read here, what recently happened to many Twitter employees, including those dealing with confidential documents, which now have been published on Techcrunch.

The English translation of the original source can be found here.

These are the two lessons to learn:

  • Do not use third-party services to store confidential information!
  • Use passwords and security questions, which cannot be guessed easily!

A password must:

  • not be shorter than 8 characters
  • not contain only letters (better mix with numbers and special characters!)
  • not contain natural language (i.e. words which can be found in dictionaries)
  • not contain names, birth or anniversary dates, parts of (previous) home addresses, your favourite colour or hobby
  • not be re-used on a whole bunch of different web sites
  • not be stored in your email inbox (if a bloody stupid provider sends you non-temporary cleartext passwords, delete them instantly from any online media or computer, and change the password, unless you want the next worm or trojan to forward them to criminal parties)

Don’t think password hacking happens to the big players only. Those of you who have been running their own (web) servers for a while, shall have a look into the auth.log and access.log files (for a start). Hopefully that opens your eyes: Automated password cracking and site hacking attempts are no exception. They happen regularly to all of us. And they happen to all third-party services you use, but there you have no influence whatsoever, hence cannot do anything except making your passwords and security questions as difficult to guess as possible!

Please help making people aware of the necessity of strong passwords. Just share this post via Twitter, facebook, or whatever social network you are member of. Thank you!

Jul 06

That’s one of the most stupid controversial questions I’ve ever read on Twitter. (Ok, I haven’t used Twitter for a long time yet, so I’m prepared for worse questions.) It shows that 140 characters cannot transport any substantial information really. The funny thing is that people indeed try to answer that question on Twitter — with 140 characters — recommending one or the other operating system to the one who asked. Total madness.

First of all, questions like this, which do not tell anything about the author’s aims and intentions, are not answerable. One could as well ask: Ferrari or Landrover? I’d suggest taking the Ferrari for the next cross-country rally, whereas the Landrover is definitely the best choice for the F1 track. Anyway, you got my point. :-)

This blog post has potential for flamewars between the lovers of BSD and Linux, and also between lovers of either of the Linux distributions. So let me emphasize that this is my personal opinion.

Continue reading »

Jun 21

@tkramar raised the question on Twitter, why every desktop client for that service seems to be built on top of Adobe Air (here). That’s something, I also was wondering about. And in fact you often hear people complain: “Why AIR? Why not a native application?” Let me try to give the answer while having breakfast. ;-)

Continue reading »

Jun 10

Somehow, all the features and increasingly popular services become more and more confusing.

Ok, everyone has Facebook (at least in English speaking countries people would rather ask if you are on Facebook than what your phone number is). And then there’s Twitter, another way of keeping friends or customers or whoever informed about what’s going on. Plus, you need to share you favourite URLs with digg, del.icio.us, or any other social bookmarking service of your choice. And of course, you need your own blog! And a Flickr account for your photos. Did I cover all of the services a modern Web 2.0 person has to have? Probably not. But now the core question: How do you manage to keep everything up 2 date? I mean as someone who’s already got a full-time job… :D

Comments, suggestions, URL appreciated!

Jun 06

I have to admit that I really like C#. The last 4 or 5 months, I’ve hardly touched any other programming language. And so it happened to be my first choice when I was asked to develop a “reasonably fast” logging server.

So what is this Octopus thing about? In a nutshell it’s a server, which takes HTTP requests with a defined set of URL parameters, confirms receipt the client, and then asynchronously stores the request into a database. The interesting bit is the part between accepting the request and storing it to the DB. 

Basically, we’ve got three levels of storage: a in-memory queue, a flat file buffer, and the database. The tricky thing was to optimise processing, while still being fault-tolerant. I kind of managed that, I think. Octopus can (depending on the hardware it runs on) easily accept up to 2,000 requests per second, and will store them into either a MySQL or SQLite database at the moment. Please read more about it on the Octopus Website.

Sep 26

After years of Systems Administration I have completely forgotten how much I used to like developing in Java. My current employer gave me that opportunity recently. So I took ownership and responsibility to de-hibernate myself (my Java knowledge became a bit rusty) and to start working on a project which separates the website’s business logic layer from the database layer. That becomes necessary as we want to re-design our infrastructure in a way that enables us to be as platform independent and as scalable as possible.  

On the one hand, we are not even entirely sure if we’ll stick to MySQL or switch to any other DB server type, hence we must not use SQL dialect specific code within the application. On the other hand, we want to provide a SOAP endpoint internally, which allows us to access data from all sorts of applications and clearly separates the business logic of all sorts of clients from our actual data store.

In addition, caching of object structures which are mapped against data structures (or tables) would be very neat. Consequently, I suggested and started using Java with Hibernate and JAX-WS on a Glassfish Java Application Server. We might integrate an additional caching layer later. Terracotta is one of the candidates, which integrates seamlessly and can increase speed by factor 2 to 10. 

After one week of researching, developing proofs of concept and presenting a first prototype, I am sooo excited about all that. :-)  I always loved Java, and again I remember why.

preload preload preload