This page is to collect all the bits and pieces of source code and other material that I created during my studies at Eötvös Lóránd University. Expect it to be mostly in Hungarian.
Theoretical subjects
Relational Programming
Read this introductory paper to get an idea of what this is all about. I've put some problems and solutions online. If you understand Hungarian, you're in luck because there's an online textbook in two parts.
Formal languages & automata
- The Turtle language family: Family of languages describing geometrical shapes using turtle graphics semantics.
- The SP programming language: A very simple toy language for writing programs solving number theory problems.
Functional programming languages
- Alef: Interpreter for a toy functional language with lazy evaluation and Hindley-Milner type inference
- Dependent types with Agda: Literate Agda source file and presentation slides, in Hungarian
Parallel programming & Grid computing
- Pipelined calculation of a Taylor approximation
- Parallel prefix computation
- Generating rainbow tables for MD5 on the EGEE grid
Parsers & compilers
- Simple backtracking parser: A simple backtracking parser generator, written in Lisp
- Recursive descent LL(1) parser: Another Lisp compiler generator macro, this time implementing the recursive descent strategy.
- SP compiler: A very simple compiler for the SP language (see above), that compiles directly into IA-32 assembly.
- Advanced SP compiler and interpreter: A slightly more complex compiler and interpreter for the SP language that does const folding.
- LALR(1) parser generator: Completing the list of Lisp macros for creating parsers using various strategies, this last one implements the LALR(1) optimization of the LR(1) algorithm.
Algebra and Number Theory
- Twin prime sieving: An application of the Miller-Rabin primality test (Literate Haskell source)
Linear and non-linear optimization
- Infeasible interior-point optimizer for linear optimization problems, with Literate Haskell source
Practical subjects
Programming Environments
Programming assignments for the fall semester of 2005-2006:
Programming Languages/C++
The assignment was to write a solver for the Sudoku puzzle. Input format: 81 digits (separated by whitespace) describing the board row by row, 0 denoting unspecified cells. Output format: the 81 digits of the solution, or 81 zeros if an error occured (such as wrong input format, or unsolvable puzzle).
To aid testing, I also wrote a small Python script that checks solved Sudoku boards of the format described above.
Programming Languages/IA-32 Assembly
Developing Elementary Applications
This subject is about implementing programs for specific problems, as constructed using the relational model described above.
EAF I
- EAF I. 1/11: Decomposing to digits (source)
- EAF I. 2/8: Filtering a vector (source)
- EAF I. 2/8: Filtering a sequential file (source)
- EAF I. 3/9: Searching diagonals of a matrix (source)
- EAF I. 4/6: Updating a database (source)
EAF II
- EAF II. 1/2: Natural numbers (source)
- EAF II. 2/2: Bag (multiset) (source)
- EAF II. 3/5: Bounding box for regular polygons (source)
- EAF II. 4/3: Ternary tree container (source)
EAF III
- EAF III. 1/7: Knight's Tour interactive game (source)
- EAF III. 2/2: Blackjack (source)
- EAF III. 3/4: Visualization of the Heapsort algorithm (source)
- EAF III. 4/1: Simple, single-table database (source)
Blog
Neked aztán lehet
15 March 2010 (personal ELTE) (1 comment)Ezt Viki mesélte, de szerintem érdemes ide is.
Az az alaphelyzet, hogy a suli mellett az ELTÉn dolgozik operátorként. Keveset operál, annál többet kell segítenie random ELTÉs oktatóknak akiknek "nem megy a levelezés". Szóval endless fun. Most viszont becsúszott egy jó sztori.
Bölcsészmérnök felhívja telefonon az operátori szolgálatot valami fájással, mondják neki hogy azonosítás végett küldjön egy levelet a benti címéről (ugyanis az SMTP autentikált). Persze, hogy leírja a levélben a jelszavát is. Válaszolnak neki hogy jó, akkor most mielőtt bármi egyéb történik, letiltották a jelszavát mert kiadta, itt meg itt tud ETR-en keresztül újat választani (remélhetőleg az ETR-es hozzáférését még nem adta ki senkinek).
Mivel ez már bőven túl bonyolult volt neki (amúgy én azt is el tudom képzelni, hogy azt hitte, szivatásból tiltották le), bement személyesen az irodába. Ott Viki elmondta neki az alábbi 3 (három) információt:
- Ne legyen a jelszóban ékezetes betű
- Nem praktikus, ha van benne y vagy z betű
- Soha senkinek, az operátori szolgálatnak se adja ki a jelszavát. Sosenem.
Különösebben hosszú gondolkodási idő nélkül vágta erre rá az alábbi, azóta nálunk szállóigévé vált mondatot:
Akkor lehet a jelszavam az, hogy "prüntyőke"?