Copie – Network copy/paste

Definitely my favorite school project. I love it so much that I’ve recently shared it with the world. You can find the source code here http://code.google.com/p/copie/

Part of the “Concurrent and distributed programming” course, professor was Zoran Jovanović. The main task is simple: make computers share their clipboards. So if I would copy something, and if you would “paste from” my computer you would get the content of my clipboard (text or file). It was required that was a client application (notepad like) with that special “paste from” option, also a subserver, working on every computer and a main server. Subservers communicate with the main server to find out what other subservers are alive, and the main server keeps the list all of the active subservers.

There is a lot of synchronizing, working with sockets, clipboard… Very interesting, and I’ve learned a lot from it.

It was implemented in pure Java, no additional jar were used. And yes… GUI in netbeans (yup, I love it that much, I mean the GUI builder).

Back in october 2006. But I plan to continue to work on this project (on of the reasons it is @google code)

CPU Simulator

OK, I’m really proud of this one, so beside the school project tag, I’ll label it as a project as well.

It was a part of the “Computer Architecture and Organization” course. I was a part of the team of 5 students (my great friends Marko Mitrović, Marko Ćirić, Jovan Mahaček and David Filipović). We created a Swing based (yup, you’ve guess it, we used netbeans :)) visual simulator of a CPU. Of course, it is an imaginary processor, but it had all the regular parts like registers, memory, buses, flip flops, multiplexers, demultiplexers, coders, decoders etc.

From this point of view, I can’t really imagine how got it to work, with no version control, chatting, project management tools… I could blame our internet providers, and say that we didn’t have no broadband internet. But to be honest, we were aren’t aware of such tools, but we made it work. And surprisingly (almost) after the first try.

Oh yeah, also we had more than 120 pages of required documentation. Good times, great stuff!

That was back in June 2007.

LeakyBucket simlator

Second mini project for the course “Principles of modern telecommunications” was to make a visual simulation of the leaky bucket algorithm. I’ve once again used the netbeans IDE (I was still blown away how great it works, and how it helps me code faster, note: before that I’ve only used JCreator, back at those days, it was notepad with line numbers, and it could compile java files, but didn’t take a look at it since) and it’s great Matisse GUI swing builder. Of course everything in the simulation was configurable .

It was only a couple of weeks after the first task, so it was back in may 2006.

RS232 – serial port

My first contact with serial ports. For course “Principles of modern telecommunications”  I was supposed to connect an electronic diode through a rs232 port to a computer, and make it shine. Simple as that. But the length of the shining and how many times it should shine must be configurable with some kind of software with a GUI.

This was also my first experience with Java’s Swing, and also Netbeans IDE. I was amazed how easy it was to create GUI application with Netbeans’ Matisse.

I’ve finished this mini project in April 2006.