Some of my College Projects 4. HellBlocks game in Java. y.2006
Its a small logical game written in Java. You can play the game if your computer supports java applets. Just click this link:
I wrote the game learning java. I must say there was much fun with swing library and other standard classes. Java is indeed very well designed and some ideas are great. Well ... have a fun.
3. SpreadGen (Magic Squares). y.2004
This project has been made for genetic algorithms class. The idea of making this program came to me long time ago in high school. I played rpg games with my friends and our game master gave us once a task of magic squares. The concept is easy: you have to put sequence of numbers 1,2,3,4 ... inside a square so that the sum of the numbers in each row, column and diagonal would be the same. For example for the square of 5 you have numbers from 1 to 25, you put them into the square and you should get sum of (1+...+25)/5 in each row, column and diagonal.
The problem is easy to solve for squares less than 9 ... imagine that, you have 81 numbers and have to fit them all. Its really hard and takes alot of time. Back in high school i tryed to write brute force program that would check all the possible permutations. Well its easy to guess that the program would not end even for 10 square. 100! is quite a wide resoult space ;)
After a few classes of genetic algorithms i thought that it could help and maybe the task could be finished. Indeed i wrote a linux program that would start with random order of numbers. Then useing genetic algorithm it selected best sequences and apply some transformations on them to generate next population.
I wrote the program useing threads to control network comunication. The program was tested at 10 clients running at once on diferent computers with one server controlling the job. I had no time to test if parameters mangling would give better results but simetric solving the problem by 10 computers returned results after 10 minutes for squares of 17. Maybe its not perfect but genetic algorithms are always like that :).
The main program (client) gets from the server actual population and then trys to generate better sequences. All the clients connected to the server report anytime they find new better sequence. There were some nice features to implement like synchronization of many threads or optymalization of some functions.
If you are interested in details please email me as i dont have time to write anymore ;). The source will probably not be public as i hate people cheating at uniwersity. I think its a big problem that peaople download programs, adjust them and pass exams this way. Perhaps ill write some more if i find time.
2. Sniffer And Interactive Network Tool (SAINT).
Tool is designed to serve many tasks. It is now under development so there is no source or bin available. Im not sure if we need another free tool for script kiddies to play with so im not sure if we publish it at all.
So far the aplication has modules for grabbing packets and let the developer to use all ethernet, IP, ICMP, and some of tcp and udp features. We are also in progress to remake the engine to work well with both ncurses and MS Windows. We have not yet complete tcp session tracking yet (changes of windows size, and many other from TCP has not yet been coded. Anyway we already have sniffing classes for Gadu-Gadu, FTP, POP3, Telnet, some HTTP post data sniffing, pattern matching, arp change detection and some more.
As to network trafic we have nice trafic statistics by IP total/per second transfers for in/out trafic this feature is mostly for ISP's. We want to show them in nice form on windoes systems and probably some way of exporting them from linux for later analization with graphs and so on. We also hae TCP session watch. We would like to develop more network stat features like numbers of diferend errors in network (by icmp and package analizing).
Development is not going very quickly but we move on. We dont use any libs and we code everything from the very bottom of the stack so there was already a lot of work. We want this way to learn as much as possible about practical TCP/IP implementations and how it works. Next goals will be finishing full TCP/IP session recovery including all TCP problems. Also we want to implement some promiscious card detector, NAT detection and many from sniffing section like X login, Windows messanger, ICQ, and other non protocols.
1. Corporation network.
This is rather networking project not a programming one. Main features are : firewall and NAT configuration using linux box, this will include static and dynamic NAT, bandwidth limiting in both directions for some users, fair bandwidth for users. In server section it will be balanced Apache WWW servers managed by short load balancing program i begun to write. Those servers will use SQL pool on separate machines so we have databases on diferent machines than SQL, we will also require pool managing tool, NFS server, some FTP, SMTP, POP3, DNS. For users there may be also WWW PROXY (if it will not make problems with bandwidth limiting) and also DHCP for unpriviledged users local IPs distribution.
System used will be Debian Linux, WWW will be Apache for sure. I want to use php scripts and make them run properly on many apache servers with session and other features working. Database access will be easy as i will use one of ready tools. Bigger problem may be with HTTP balancing but i think i have 2 good ideas that should do make it work :)
Comments
Post new comment