inicio mail me! sindicaci;ón

Archive for February, 2004

A brand new blog (not mine)

My friend Tomas Jogin has a brand new blog (a very cool redesign): jogin.com. In the google cache you will find the old version. Good job Tomas, good job!

Mozilla Firefox Official Wallpaper

The Mozilla Visual Designed has created a wallpaper for their last browser ;-) http://www.hicksdesign.co.uk/downloads/firefox/

Atom.NET 0.4 release

I’ve released the 0.4 version of the library. It’s a big rework against the past version.
See the website for more infos: http://atomnet.sourceforge.net

Mozilla Thunderbird is the best IMAP client out there.

Thunderbird is an almost perfect IMAP client for Windows. If you use IMAP, this is the product for you.. That’s the opinion of a MS employee ;-)

[via Omar Shahine]

Don Box joined Atom spec project

Very good news.
[via Dare Obasanjo]

Choosing a RDBMS

In these two days I was looking forward to a Relational DBMS with the following features for my own stuff and also to study it more into deep. The DBMS that I took into consideration are: MySQL, PostgreSQL, FirebirdSQL and MSDE. I admit that is not the whole plethora of RDBMS outta there (the list lacks of “big” names such as Oracle, DB2, SAP DB) but for one reason or another i left them behind (Oracle and DB2 are too big for my own stuff and SAP DB is now part of MySQL suite). I’m not an expert in none of the DBs in the list but I’ve used all of them in the past. The two main features for my own purposes are: cross-platform and C#/Java/Python/other language bindings. So I discarded the MS product, cause, yes, it could be accessed from those languages but it’s definitely not cross platform (I don’t want N DBs combined with the N languages and the N platforms I use; only one DB to rule them all ;-)). My second reject was MySQL cause it lacks of stored procedures, subqueries and some other stuff. Now the game was between PostgreSQL (very good DB, it’s also an OORDBMS) and FirebirdSQL (born from the ashes of the free version of Borland Interbase) but the winner is… FirebirdSQL for some reasons: PostgreSQL is cross-platform (Linux, FreeBSD, MacOSX and other OSes) but not “across” Windows (there isn’t an official, stable port for Win machines); FirebirdSQL is free and open source, it does support Windows, stored procedues, triggers, UDF, SQL-92, has enterprise features (such as hot backup, replication and so on) and has an embeddable library too. So I think I’ve gone right… what do you think?

Yesterday (sysadmins version)

While I was surfing the net I’ve found this modified version of the lyrics of the great song Yesterday:

YESTERDAY

Yesterday,
All those backups seemed a waste of pay.
Now my database has gone away.
Oh I believe in yesterday.


Suddenly,
There’s not half the files there used to be,
And there’s a milestone hanging over me
The system crashed so suddenly.


I pushed something wrong
What it was I could not say.


Now all my data’s gone and
I long for yesterday-ay-ay-ay.


Yesterday,
The need for back-ups seemed so far away.
I knew my data was all here to stay,
Now I believe in yesterday.

Uptime advice

I noticed that the snippet in the previous post doesn’t work correctly on Mono, because their implementation of Environment.TickCount is erroneous. The MS .NET implementation says that Environment.TickCount returns A 32-bit signed integer containing the amount of time in milliseconds that has passed since the last time the computer was started. but in the Mono mailing list they told me that Mono’s implementation returns basically the same thing as DateTime.Ticks so… not the thing I needed :(

Simple “uptime” snippet

I’ve written a snippet of code to compute the uptime of my win2k machine (i don’t have uptime like as in winxp).

  1. // author: Lawrence Oluyede
  2. // date: 18 Feb 2004
  3. // license: throw away code
  4.  
  5. using System;
  6. using System.Text;
  7.  
  8. public class Uptime
  9. {
  10.   public static int Main(string[] argv)
  11.   {
  12.     if(argv.Length == 0)
  13.     {
  14.       Console.WriteLine(getUptime());
  15.       return 0;
  16.     }
  17.  
  18.     else if(argv.Length == 1 && argv[0].ToLower() == “-v”)
  19.     {
  20.       displayVersion();
  21.       return 0;
  22.     }
  23.  
  24.     Console.WriteLine(“usage: uptime [-v]\n    -v    display version”);
  25.     return 1;
  26.   }
  27.  
  28.   private static string getUptime()
  29.   {
  30.     StringBuilder buffer = new StringBuilder();
  31.  
  32.     int ticks = Environment.TickCount;
  33.  
  34.     // append the hour:minute:second
  35.     buffer.Append(DateTime.Now.ToString(“HH:MM:ss”,
  36.       System.Globalization.DateTimeFormatInfo.InvariantInfo));
  37.     buffer.Append(” up”);
  38.  
  39.     // compute and append the number of days
  40.     int days = ticks / (1000 * 60 * 60 * 24);   
  41.     if(days > 0)
  42.     {
  43.       buffer.AppendFormat(” {0} day{1}”,
  44.         days,
  45.         days > 1 ? “s” : String.Empty);
  46.     }
  47.  
  48.     // compute seconds, minutes and hours
  49.     int seconds = ticks / 1000;
  50.     int minutes = ticks / (1000 * 60);
  51.     int hours = minutes / 60;
  52.  
  53.     hours = hours % 24;
  54.     minutes = minutes % 60;
  55.     seconds = seconds % 60;
  56.  
  57.     buffer.AppendFormat(” {0,2:D2}:{1,2:D2}:{2,2:D2}”, hours, minutes, seconds);
  58.  
  59.     return buffer.ToString();
  60.   }
  61.  
  62.   private static void displayVersion()
  63.   {
  64.     Console.WriteLine(“uptime v0.1″);
  65.     Console.WriteLine(“  written by Lawrence Oluyede”);
  66.   }
  67. }

RegexpLib.com has a RSS feed

http://www.regexplib.com/Rss.aspx

subscribed ;-)

Next entries »