Saturday, December 25, 2004

Making CDs

I had to get 700 CDs made for the conference proceedings of SCONEST 2004. I'm blogging this so it might be useful for someone else who is doing this or act as a reference for me later on.
I got the master copies from the conference chair, and took it to the notorious Rainbow Center. I ordered 700 duplicates of it. I also ordered 700 plastic sleeves with two pockets. I went to the Burns Road area near the Burns Road bus stop and visited the printing guys there and ordered a film they call "gola" for CD. He quickly composed one with the name of the conference and the sponsors for me and I got it for Rs. 100 on a film. I took that back to my vendor, Royal Corner at Rainbow Center and handed it over to them so that they could get a single color label on the CD-Rs. He said that the labelling sometimes wastes 30 to 40 CDs out of 600, so we are safe.
We'll compose and print out a paper lable to inserted with the CD, which will also contain the copyright notice. We'll get it photocopied or cyclo styled and inserted into the CD sleeves. That should get us going. The entire process of 700 CDs creation is taking 3 working days at a cost of approximately Rs. 20 per CD.

PakCon 2004

Pakistan Cyber Security Convention 2004, Dec 22 and 23, 2004, at Hotel Peal Continental. I registered for both days, but could only attend part of the first day before being pulled back into SCONEST 2004 arrangements. It was expected.
Hotel had made poor power arrangements, as there was a power breakdown in the morning on Dec 22. The volunteers were well organized, and very composed. I would have like to see more attendance. I dont know why people took such small interest in it. In my opinion, it was an important event. I also bought a PakCon 2004 T-shirt there.
Event details are available at www.pakcon.org. The mastermind behind it is Mr. Faiz Ahmed Shuja, who is Sr Security Consultant, Cyber Internet Services, and Founder Pakistan Honeynet Project amongst many other things.

Kernel newbies

To develop skills at the low level Operating System details, a friend advised www.kernelnewbies.org, where one can find things to do at the kernel level, which are not very difficult, but are a good skill development exercise. Links to other websites as well which have some ideas not specifically related to the kernel itself. One such link is http://people.freebsd.org/~phk/TODO/, which has FreeBSD related tasks.

Monday, December 20, 2004

Plexus

I had to see Mr. Abdur Rehman at Plexus, which is a sister concern of the group that runs Meezan Bank. They are an ISV. They wanted to explore the chances of finding the right manpower at various levels to develop some network security related products. They require people with some Linux Device Driver expertise, TCP/IP skills etc. I wouldnt disclose it all, since it is unethical. However, if you think this matches you, feel free to drop me a line and I'll see what we can do.

Forget me not!

I got to Bar B Q Tonight at Boat Basin at 8:05 pm according to the decided deal between four friends at the University for dinner last night. I ring up one to check where he is sitting at the restaurant. His brother answers the phone and informs that he is at his grandma's place. Bummer! I ask him to call him and tell him to get here asap. I call another one of us, and he's at home cause he thinks it was 9 pm. Double Bummer! I ask him to get here asap and ask him to call the last one. The first one arrives at 9:05 pm, the second one arrives about 10 minutes later. The last one said that since there was no confirmation the day before, he thought the dinner was off. Oh well, we had dinner and had lots of chit chat. We called for the bill at 10:40 pm. I recalled my friend's advice and looked at the bill. I asked Fahad to check it. He said it looked too high. He found some discrepencies. I looked at it and I called the waiter and the menu. Sure enough, extra items in our bill all across the board. The sons of a "you know who." We sent it back for correction, he came back, with still remaining errors. We catch them, send them back for more correction. Bam! They come back with still remaining errors. We correct them, and finally, at 11:20 pm, we pay the bill and leave. Of course, I left no tip. Damn these stealing bastards! Never trust them. I'm incredibly pissed at them. They're lucky I didnt break anything at their pretty little restaurant.

Sunday, December 19, 2004

Imagine Cup

A design meeting was held at Core IT Education Center last night to talk about the ideas that can be pushed to the Imagine Cup participants for brainstorming.
I was there alongwith Hammad Rajjoub, Adnan Farooq and Jan Dost Khan (JDK). We discussed the idea of knowledge objects and agreed that it's a wonderful idea and decided to come up with a write up so that we can describe what is included and what is not and then go from there.
Moreover, the idea of using location based services for GPRS was also discussed and we also agreed to push it in a similar manner.
We're waiting for the input from Adnan. The level of commitment on part of the prospective participants in the cup is evident from the attendance at this design meeting.

More books

Went to the book market again yesterday, and bought yet more books. This time mostly on .Net. Here's a list:
1. .NET Patterns - Architecture, Design and Process by Christian Thilmany
2. Programming in the .NET environment by Damien Watkins, Mark Hammond, Brad Abrams. Damien Watkins has considerable work in the area of distributed computing. He has worked on the development of the .NET framework. I have taken several of his talks. He's an excellent person and an excellent scholar. That's why I bought this book. I'm sure it's a well written book. Next time I see him, I can tell him that I have read his book.
3. Component Software - Beyond object-oriented programming by Clemens Szyperski. When Clemens wrote this book, Microsoft hired him immediately. It's a gem of a book and the best reference on component software. It discusses the theory and principles and also discusses the implementation in DCOM and CORBA.
4. Compiling for the .NET Common Language Runtime by John Gough.
I hope I'll read them soon enough. Got a lot of books to read.

Friday, December 17, 2004

Books and more

I got my copy of Packet magazine Fourth Quarter 2004 Vol 16, No. 4. I havent read it yet. I'm crazy when it comes to buying books. I went with a colleague to buy books and bought the following:
1. Bridges, routers and switches for CCIEs by Caslow, Second Edition. This I bought for the next time I teach CS 523 Routing and Switching
2. Wireless Communications Prcinciples and Practices by Rappaport, Second Edition. This I bought to quench my curiosity about CDMA 2000 after the training course in Islamabad.
3. Wireless Network Evolution by Garg. This one looks more practical than the one above.
4. Designing Network Securit by Kaeo, second edition. This I bought for my upcoming course on Computer Network Security.
5. Hackers Beware by Eric Cole. This is for the same as above.
I'm considering drawing some more money to buy more tomorrow. This time, I'd like to buy some books on .NET.

Monday, December 13, 2004

CDMA 2000 Seminar at Islamabad, Pakistan

I am at Islamabad, the capital of Pakistan, attending a seminar hosted at Air University, by Higher Education Commission, http://www.hec.gov.pk.
The seminar started on Dec 6 and will run till Dec 16. Since my Chairman had told me I was nominated for Dec 13 and 14 only, I had a trip through Lahore. I arrived at Islamabad on Friday, Dec 10, 2004 afternoon. I came straight to the seminar and was greeted by a Chinese speaker who was sitting on a chair with a laptop in front of him staring at the laptop and speaking that way. The guy is very strong technically, but I must say that he is not an effective teacher. I was also greeted to a quiz the same day. Since it was open book, I was able to attempt 39 or so questions.
This guy works for QualComm, the producer of CDMA chips and probably owns the IP to the CDMA specs. Some execs from QualComm USA were also there.
I guess, we're getting all the literature and we'll have to spend time on it to see what we can do about it. The idea is that since CDMA is going to be the basis for 3G services, there is need to develop engineers well-versed with CDMA.
Today was supposed to be Wireless Internnet Optimization, but I think the schedule was changed, and it was Network Planning. Same tomorrow. I'm flying back to Karachi tomorrow night, so I'll miss Wireless Internet Optimization, but at least I have the course material.
The course material is very badly structured as well, and I am still unable to get the big picture out of it. I guess there's no replacement for a book. I'll see if I can find a good book on CDMA in the local market.

Tuesday, December 07, 2004

Forgot a couple of things about UMT event

Oh yea, a couple more things. I gave Mr. Ahmad Abdullah, Corporate Liaison Managerm University of Management and Technology, Lahore, abdullah@umt.edu.pk a copy of MSDN Webcast Archive Vol I. Anyone in Lahore or adjoining areas is welcome to ask him for a copy. If you have any difficulties, email me and I'll help you out.
Also, the Dean at UMT was of the opinion that vendor products such as .NET should not be part of the curriculum but should be taken as seminars and workshops. I agree with him that the curriculum should be vendor neutral in the classroom, but one must have something specific in the labs and workshops and seminars. All of these can contain multiple vendor products if logistically possible.

INETA Pakistan event at University of Management and Technology

Today, my seminar at University of Management and Technology, Lahore, Pakistan started at 2:30 pm 15 minutes behind schedule, owing to the fact that I was unfamiliar with the route and we got confused about directions.
The event went well. Even though it was the last day before exams, about 50 students attended the event. The topic was Introduction to .NET framework and Non-commercial .NET implementations. The response was good and a few students asked some good questions. Some students also caught hold of me after the event to ask some questions.
Apart from encouraging the audience to form an INETA User Group, I also appraised the audience about Imagine Cup and encouraged them to participate in it. Let's see what the impact turns out to be.

Tuesday, November 30, 2004

INETA minus Karachi

Well, the trip to attend a wedding on Dec 5 and 6 at Sialkot, a training course at Islamabad on Dec 13 and 14. Did that maths and came up with a plan to showcase INETA, share some information about .NET or anything else anyone needs in Lahore and Islamabad. Sat down, drilled down, sent emails to anyone I could find in the academic circles to schedule seminars.
Heard back from UMT, where I'll be speaking on Introduction to the .Net framework on Dec 7, 2004 between 2 pm and 3:30 pm.
Also heard from IMS, Lahore, and the Associate Dean has forwarded my request to the Head of Computer Science.
FAST NUCES Lahore would like a knowledge sharing session with the faculty which is great. I'd like to share the DVD that I have about teaching using .NET.

Saturday, November 20, 2004

Web services and Apache

This is not specifically concerned with .NET but I checked and located that http://ws.apache.org/ has links to several web services projects. I'll explore them later. Meanwhile, I havent had time to spend on dgee as yet.

Thursday, November 18, 2004

Progress on DotGNU

OK, to run Web Services, I obviously need a web server. FreeBSD beign a rather secure OS out of the box it didnt install Apache, or maybe I hadnt installed it for some reason. Anyway, once again, I downloaded the source code for it. I downloaded Apache 1.3.3 since I was home and dial up was not good so the latest version was too big.
I configured it, compiled it and ran gmake for dgee, but it gave me an error that there was no DSO support in my Apache. I fired up vi and looked for where the error was and it was trying to lauch something called apxs, which is part of apache. I tried the command from the shell prompt and got the same response. I tried ./configure --help on Apache and notice --with-so and tried it, make isntall 'ed it and tried gmake on dgee again and it worked.
I need to configure dgee and Apache to test the sample web services applications. I'll post more when I succeed (or fail)

Wednesday, November 17, 2004

.Net on Unix

First, let me introduce you to my machine:
A dual processor capable machine based on the L440GX+ motherboard. Right now it is only ornamented with one Intel Pentium III 500 MHz processor. I have a Seagate Baracuda 40 GB hard disk drive and 360 MB of RAM. Windows 2000 Professional is installed in the 32 GB primary partition and FreeBSD 4.7 is installed on the Secondary partition which is 8 GB. I had installed FreeBSD 5.1 earlier.
The main reason for installing FreeBSD was that I wanted to work with NCTUns http://nsl.csie.nctu.edu.tw/nctuns.html. I wanted to get familiar with network simulations on it. Earlier I had used NS-2 and ran mobile IP and mobile ad hoc network simulations on it. It was very difficult to use. It bases its simulations on TCL scripts and its output is a huge trace file (the size depending upon the duration of the simulated test amongst other factors) which contains very raw data, and then you have to make sense of it based on your objectives using some sort of programming. Someone tells me tha Perl would be best, but I havent had any experience with it, so my friend used gawk, C++, sed, shell scripting and what not to extract the end to end delay in a simulation. More on that in some other post. Anyway, NCTUns does not compile on FreeBSD 5.1. I had been needing FreeBSD 4.7 for a long time, talked to many people and then finally stuck my office PC to the campus intranet and left it running overnight to download 2.42 GB of FreeBSD 4.7 ISOs, and here I am with it and NCTUns running.Down to .NET on FreeBSD. There are four .net projects in the open source arena that I am aware of:
1- Mono: http://www.go-mono.org/
2- OCL - Open CLI Library from Intel : http://ocl.sourceforge.net/
3- Rotor SSCLI - Shared Source Common Language Infrastructure - from Microsoft: http://msdn.microsoft.com/net/sscli/
4- DotGNU: http://www.dotgnu.org/
The DotGNU project consists of various components, some of them optional. The required build is:
treecc - an aspect oriented tool that assists in creating the pnet's compiler cscc
pnet - Portable .NET consists of a runtime engine, a C# compiler, and several useful development tools coded in C
pnetlib - Implementation of the C# System libraries such as mscorlib.dll, System.dll, System.Xml.dll, System.Drawing.dll, System.Windows.Forms.dll etc.
These must be built in the same order as specified above. Optional components include:
PNetMark - a benchmarking tool for the CLR
pnetcurses - a wrapper around ncurses library. Also includes a game called curse of frogger. Coded in C#
cscctest - a regression test tool for the C# compiler
pnetC - cscc has had the ability to compile C code since version 0.4.4 of DotGNU. pnetC is the companion implementation of the C library. There is some early stage compiler plugins for Java and Visual Basic.NET available
ml-pnet - these are some of the upper level libraries of mono distributed in a form that they can be used with the CLI implementation of DotGNU. Also includes ADO.NET with some useful SQL providers such as NPgsql
The DGEE project runs web services. It has the potential to host ASP.NET, but presently does not. You should have Apache installed on your machine as the make script includes a call to a component of Apache. It requires goldwater, a distributed message-based middleware. Obviously, gotldwater must be built first before dgee can be built.One other tar ball that I had downloaded is phlib. I couldnt figure out what it is for.
The build process is the standard ./configure followed by gmake (not make). I had trouble when I ran make, and when I did searches online, I found why I was getting the trouble. We must use gmake. My FreeBSD machine for some reason wasnt having ld load libraries to link from the /usr/local/lib and most of the libraries the compile process wanted were there. I tried the environment variable LD_LIBRARY_PATH but I couldnt get it working. My shell skills are weak and I always get confused with the difference in syntax between the different shells and stuff. So, what I did was either try ./configure --help, which showed me that there was a command line option --libdir=DIR, so I could say ./configure --libdir=/usr/local/lib --includedir=/usr/local/include or I could open the configure script and modify the variable CPPFLAGS to include -L/usr/local/lib -I/usr/local/include. With that, except for some missing dependencies, which will certainly vary from one compilation to another, and took me a lot of time and effort to figure out, everything went well. One tip is, if configure does not succeed, look at the config.log file. It contains traces of command lines that are invoked. I located missing -L directives to the gcc at more times than I care to count, so I opened configure in vi and included the -L in the CPPFLAGS variable as I mentioned before. Also, the stdout does not show you why a program compile test failed in configure, but configure.log contains the output of the gcc program, which will let you know whether gcc can not locate a library or an included header file and then you can go from there. One of the major source of problems to me, especially because it was the first bump for me, was missing glib-2.0. I downloaded the source from ftp.gnu.org and compiled it and faced the problems I outlined above, and finally got it working. So, you might want to make sure you have it on your machine before you start compiling.
Compiling C# programs: I'm mostly interested in C# as the programming language in the .NET arena, even though one of the corner stones of .NET are language interop and independence. Anyway, you can compile C# and C programs using cscc. The usual syntax is:
cscc -o helloworld.exe helloworld.cs
Once you've compiled the program, you can run it by typing
ilrun helloworld.exe
On Linux ILRun can be registered so that you wouldnt have to type ilrun before every managed program, but not on FreeBSD. If you're trying it out on Linux, please read the DotGNU docs. Of course, you can also assemble IL directly using the ilasm tool. Needless to mention, ildasm is also available.
ilasm -o helloworld.exe helloworld.il
ildasm helloworld.exe > hello.il
Other tools that I would like to look at later are:
Qt# - http://qtcsharp.sourceforge.net/
Gtk# - http://gtk-sharp.sourceforge.net/
wx.NET - http://wxnet.sourceforge.net/
CsGL - http://csgl.sourceforge.net/
C#-SDL - http://cs-sdl.sourceforge.net/

Monday, November 15, 2004

The many faces of .Net framework

I made a very long post this afternoon and just when I submitted it, the darned line dropped, and even if I hit the back button, I didnt get the post back. I'd actually spent a long time on that post.
Anyway, I've been trying out SSCLI Rotor (http://msdn.microsoft.com/net/sscli/), mono (www.go-mono.com), and Dotgnu (http://www.dotgnu.org). I spent today and yesterday on it. SSCLI compiled easily, but the other two gave a lot of problems. I got dotgnu done and tested out some stuff. I have got mono to compile but the make install stage is stuck at a certain point. I'll try to figure it out like I figured out the rest of it hopefully. I'll post more on my experiences with these three tomorrow or some other time later. I wouldnt make another long post.

Monday, June 28, 2004

Routing and Switching, Fall 2004

Routing and Switching Course for Fall 2004 launched at NED University. This is the second time I am conducting this course. In today's lecture, we talked about a recap of OSI reference model, TCP/IP stack, and communication over an internet in general. We talked about IP addresses, classes and subnetting.
Next week, we will do more examples of subnetting and do VLSM as well.