Burak Ozdemir 's Blog
Computer Science & Softwares - Latest Technology


Where people meet new technology !


First Order Logic Parser

Programming, Computer Science No Comments »

Finally after a week or so, I am ready to put the parser for download. I want to clarify some points, actually I used the word “parser” to intend syntax checking, it is not a complete parser, it just checks first order logic syntax, so not a big deal ! Be aware that code may contains error(s), I am not saying it is perfect, it is just a piece of code that I wrote for my Automata Lecture project. So the code gives just a simple idea about how syntax checking done iteratively. The rar archive contains a fol.txt besides main.cpp (single source file) , all predicates, functions, variables, constants, simply all our language defined in this text file.You may change some values while some must remain as it is. After compiling the source file, put fol.txt in the same directory with compiled .exe.

Download Source File(2.80 KB)

First Order Logic Parser (Soon)

Computer Science No Comments »

I finished writing a complete first order logic in just 5 hours, a little a simple approach, soon you will be able to download it here with its source file, the parser was completely written in C++ , no recursive calls, no backtracking, all iterative and simple to understand. All lexicon is defined in a text file. I will be able to put the details, so I hope this will help someone who is interested in how to write a simple parser and how it works. Check the site frequently, I will be posting it in a few days.

Some useful AES Documentation

Computer Science No Comments »

Some important documentations about AES (Rijndael Block Cipher). Below documents include great knowledge about basics and implementation methods.
The files were taken from http://csrc.nist.gov/CryptoToolkit/aes/rijndael/ ,take a look for further information.

rijndael.pdf - Detailed documentation
fips-197.pdf - F.I.P.S. Publication 197

AES Implementation (Visual C# .NET)

Computer Science No Comments »

What is AES?
-Advanced Encryption Standard
This is a well-known cryptographic algoritm, which is also known as Rijndael, and it is a block cipher adopted as an encryption standard by the U.S. government. AES was announced by National Institute of Standards and Technology.

Description of the cipher:
Strictly speaking, AES is not precisely Rijndael (although in practice they are used interchangeably) as Rijndael supports a larger range of block and key sizes; AES has a fixed block size of 128 bits and a key size of 128, 192 or 256 bits, whereas Rijndael can be specified with key and block sizes in any multiple of 32 bits, with a minimum of 128 bits and a maximum of 256 bits.

The key is expanded using Rijndael’s key schedule.

Most of AES calculations are done in a special finite field.

AES operates on a 4×4 array of bytes, termed the state (versions of Rijndael with a larger block size have additional columns in the state). For encryption, each round of AES (except the last round) consists of four stages:

1. AddRoundKey — each byte of the state is combined with the round key; each round key is derived from the cipher key using a key schedule.
2. SubBytes — a non-linear substitution step where each byte is replaced with another according to a lookup table.
3. ShiftRows — a transposition step where each row of the state is shifted cyclically a certain number of steps.
4. MixColumns — a mixing operation which operates on the columns of the state, combining the four bytes in each column using a linear transformation.

The final round replaces the MixColumns stage with another instance of AddRoundKey. (You can also search Wikipedia for detailed information.)

I am involving of implementation of this algorithm in .NET platform as a practical tool for testing and learning purposes, and you will be able to download and test this tool soon.!

Virtual Machine Simulator

Computer Science No Comments »

Virtual Machine Simulator was an Operating System lecture project.This simulator holds up to 5 operating systems in itself and each operating system has its own weight. (These weights are used as priorities to schedule all operating systems in virtual machine).Each operating system may have up to 10 processes each with its own arrival time and burst time. Also each operating system has its own scheduling algorithm to schedule the processes (First Come First Served, Shortest Job First, Round Robin), This simulator may run for a random based simulation or user defined values. It draws ganth charts associated to operating systems and the virtual machine itself. This was the first main part of this project, second part of this project includes memory paging algorithms for processes, each operating system has its own memory paging algorithm (Least Recently Used, Optimal). These algorithms determine if a process has its pages on the cache or not, according to this process burst time may increase (due to miss times). Again in this part user can define his/her own values for process pages, or may make a random simulation. Also it is possible that user may define memory frame size and observe the memory states. The graph has scalability for ease of use. As final words , i have found chance to work with great programmers they are my project partners.

Download and try it.

(Don’t forget to download .NET Framework 2.0 , You can get it from Microsoft.com)

You can contact with us at:

Burak OZDEMIR : burak@buraak.com
Nadir AKINCI : naadir@gmail.com
Gizem KAYAR : gizemm@gmail.com

Some screen shots from the program:

Copyright Protected ©2007 http://www.buraak.com
Contact info : <burak [at] buraak [dot] com>
Entries RSS Comments RSS Login
eXTReMe Tracker

Privacy Policy