I wrote this:

in Java

import java.util.*;

class StackTest
{
    public static void main (String[] s)
    {
	Stack stack = new Stack ();
	stack.push ("a");
	stack.push ("b");
	stack.push ("c");

	Iterator itr = stack.iterator ();
	while (itr.hasNext ())
	    System.out.print (itr.next () + " ");

	System.out.println ();
	stack = null;
    }
}

and C#

using System;
using System.Collections;

class StackTest
{
   public static void Main ()
   {
       Stack stack = new Stack ();
       stack.Push ("a");
       stack.Push ("b");
       stack.Push ("c");

       IEnumerator e = stack.GetEnumerator ();
       while (e.MoveNext ())
	   Console.Write (e.Current + " ");

       Console.WriteLine ();
       stack = null;
   }
}

The result:

 $ javac StackTest.java
 $ java StackTest
 a b c

 $ mcs StackTest.cs
 $ mono StackTest.exe
 c b a

What the heck? This is confused, but I like more the .NET framework implementation. So, here is my own stack implementation: Stack.java alongside with the test program StackTest.java.

Okay, here is also a similar example in C++:

#include <iostream>
#include <string>
#include <list>

using namespace std;

int main ()
{
  list<string> stack;
  stack.push_back ("a");
  stack.push_back ("b");
  stack.push_back ("c");

  for (list<string>::const_iterator itr = stack.begin ();
       itr != stack.end (); itr++)
    cout << *itr << " ";
  cout << endl;
      
  for (list<string>::reverse_iterator itr = stack.rbegin ();
       itr != stack.rend (); itr++)
    cout << *itr << " ";
  cout << endl;

  return 0;
}
 $ g++ StackTest.cc -o StackTest
 $ ./StackTest
 a b c
 c b a

Notice that I didn't use <stack>, because it is a container adapter and it doesn't provide the iterators.

[image]

I got this new shiny Two-Disc Special Edition of the legendary Enter the Dragon. This is the full uncut version (in my collection, I have also the original release which is about four minutes shorter). I have many good martial arts films, but this one is probably the best ever made. It just kicks ass ;).

[image]

Tonight I went to see Collateral at the local movie theater and I enjoyed it much. Tom Cruise's new look was quite good, his and Jamie Foxx's acting was solid, but the best thing about this movie was the photography. L.A. at night, those wonderful city lights were so amazing... Excellent! Oh, and the soundtrack was also nice.

GNU Anubis 3.9.96 Released

I think the most important addition is a new automatic test suite for the Dixie mode, because doing manual tests takes a lot of time and it is drudging. As I already mentioned it earlier in my blog, we have adjusted the format of plain text database, which allows now for inclusion of empty fields. I'm also very happy to see those less user-visible changes, like the XELO extension, the use of MD5 checksums when checking user configuration file on a remote machine, and the recent error handling improvement.

According to our roadmap, version 4.0 will be released on December 15th, 2004. Uhm, so less than 3 months remain, but we are going to hit that date, you can bet on it :).

...

[photo]

[photo]

...

libmu_cpp hacking

A lot of new stuff... Added new classes (but not always complete): List, Iterator, Mailer, Pop3, and improved rest of the code.

Anubis

Jim Cheetham suggested an interesting thing in his post on bug-anubis.

[image] The Good Old Times

Thanks to ScummVM, once again I was able to run hilarious The Secret of Monkey Island game. Last time I played it about 10 years ago! It reminded me of the good old times :).

[image]

I love this game's specific humor!
Hah, I even ran the second part...

libmu_cpp hacking

Today I added the FilterStream class that derives from the Stream and provides filtering mechanism, i.e. quoted-printable, base64, etc. Now I am able to run the exemplary iconv.cc. Moreover, I extended the Stream class and successfully ran new murun.cc.

I think the project work is slowly going in the right direction, but there is still a lot of work to be done. I definitely must put more effort into this. I wish I had more free time...