Projects - Ivo Georgiev
Profile

last week

last 3 months

last 6 months

last year

overall

0
notes

Projects

(in chronological order)

RaceDay 3D

This is a (racing) game that I’m not particularly proud of. I’ve worked for a year on it and never completed it due to the fact I began working on Linvo. It features one track and two cars.


Linvo

This is my first serious project. It is a Linux distribution. It started without any particular goals except from making a good operating system, but it spawned some sub-projects:


LinvoApp

An experimental project designed to change the software distribution model in Linux distributions. In particular, to reduce the need of a complex package manager. It separates the Linux system itself and the applications into different locations, breaking from the UNIX’s all-in-root (/) model, thus making your applications persist after system re-installation. This, in turn, allows system re-installations to act like an upgrade (keeping settings and apps), making upgrades much more stable. It takes advantage of “unification” file-systems. It is written in C and uses Glib2, plug-ins are written in Bash. Read more (go to “LinvoApp” section).

Get source code.

An explanation of “user jails”, it’s latest concept.

Minor demo showing the click-and-activate functionality.

Preview of the LinvoApp software center (last 4 screenshots).


The Linvo Builder

A system designed to build software source code packages into  binary packages ready to be handled by a package manager without any human intervention or any metadata about the source package. It was created to automate Linvo package maintenance.


Kickstarter

A small (1000 LoC) program written in C designed to replace the initrd - starts right after the Linux kernel, auto-detects ONLY the needed hardware to start the system (usually hard drives). In contrast, a normal Linux initrd has an entire miniature Linux system in it and it initializes every storage device before booting into the real system. The initrd was created to solve a paradox -  how will a Linux kernel without any storage drivers boot into a Linux system which is installed in a storage device (the drivers, being built into kernel modules, are stored on a storage device, creating a classic chicken-and-egg paradox). The kickstarter reduces the initrd’s size from multiple (~100) binaries to 1 binary and improves it’s speed. Besides replacing the initrd, it can be used for hot-plugging in embedded systems. Besides cold/hot-plugging hardware, it also initializes Live CD’s, and replaces Linux-Live in Linvo. Source code. 


Linvo Installer

This is an operating system installer built in JavaScript (GUI) and Vala/C (core). Before it was re-written from scratch, it was written in Python and used GTK+ and it was forked off another project (the Salix installer). You can find this old version in the 2010.12 version of Linvo.

 A video of the old installer.

Source code of the new installer.



Minor projects

  • lnvconf (Linvo configuration tool), C++/GtkMM
  • Unnamed FPS game written in C++/Irrlicht
     To date, those are my only projects written in C++
  • Ping-pong game
  • The Linvo website & the Linvo website framework (a small CMS with tag-based templating; was recently rewritten)
  • Various Tumblr widgets (Tumblr TARDIS - no longer preview on this website, it was removed, Last.fm recently played)
  • A minor mathematical app written in C++/Qt (source code, screenshots)