Difference between revisions of "User:Alex Ionescu"

From ReactOS Wiki
Jump to: navigation, search
(Current Work)
(Future Plans)
Line 28: Line 28:
 
* [[Alex Ionescu/RosNTLDR|RosNTLDR]]
 
* [[Alex Ionescu/RosNTLDR|RosNTLDR]]
 
* [[Alex Ionescu/RosCSRSS|RosCSRSS]]
 
* [[Alex Ionescu/RosCSRSS|RosCSRSS]]
 +
* [[Alex Ionescu/RosLDR|RosLDR]]
 
* [[Alex Ionescu/RosGooeySetup|RosGooeySetup]]
 
* [[Alex Ionescu/RosGooeySetup|RosGooeySetup]]
 
* [[Alex Ionescu/MiniROS|MiniROS]]
 
* [[Alex Ionescu/MiniROS|MiniROS]]

Revision as of 19:52, 6 November 2005

Early Life

Alex Ionescu was born on April 26th, 1986, in the city of Bucharest, Romania. Son of a doctor and an engineer, he took up a passion with computers at the age of six, when he first hacked DOS 4.00's command line parser unsucesfully until the age of seven, when he discovered hex editing. At that time, he was already fluent in QBASIC and was working on password protection programs and graphical shells.

First Programming Experience

At the age of eight, he emmigrated to Canada with his family and has been living in Montreal, Quebec, Canada ever since. Near that time, he learnt his second programming language, Visual Basic and worked for over four years on a project called WinAlOS, a replacement shell for Windows. It was during this time that he developped a passion for operating system design, and the fact that Visual Basic could only create shells frustrated him. With the advent of V2OS, a hobby Operating System, and after lecturing himself with John Fine's famous OS Design documents, Ionescu made his first contribution in an Operating System Kernel. His work on VB continued however, and by the age of 16, WinAlOS grew into an Office Suite, Programming IDE supporting over 10 scripting languages, and a full featured shell that rivaled Explorer, which included over 50 applets from games to system utilities and multimedia applications.

Beginnings of Public Appearances

After a catastrophic hard-disk failure due to a failed Linux installation which cost Ionescu all his work, he decided to work on a security suite for charity and small-business organizations, which also offered internet cafe management. Baptized Internet Control and Configuration (ICC), it was the first product of his startup company, Relsoft Technologies. The final product was submitted as a school project for the coveted International Baccaulerate Diploma, and was submited to academic judges in Cambridge. Bored with the limitations of Visual Basic, Ionescu got to work on advanced plugins which expanded the features of the suite, as well as posting software on Planet Source Code. He made three submissions, all of which won the "Best Code of the Month" award, as well as wrote numerous articles about NT Architecture, which he had become obsessed with. He did some research on NTFS, and published a private document outlining the entire format of the on-disk structures, after which he started to work on non-malicious virus software, which eventually led him to advanced rootkit development, which hooked parts of the NT Kernel in order to hide information, or modify kernel data to fool the system itself. This work got him even deeper into the Kernel/OS Programming world, and he often thought about re-writing entire parts of the kernel in a rootkit.

Work Experience

Thanks to Rent A Coder, an online outsourcing site, Ionescu was able to find a more stable job for SPAMfighter ApS, a Danish company specializing in Anti-Spam products, where he was the Lead Developper of the Outlook Express plugin. This work was the culmination of his previous Visual Basic experience, as he had to develop plugins which made Visual Basic able to create standard C DLLs, as well as use Assembly code in Visual Basic. Apart from this job, he also took on over 20 other projects on Rent A Coder, where he received 10, the highest possible rating, on all of them. Additionally, he transformed one of the Visual Basic plugins into a retail product, which became Relsoft's first official public product. Over 50 copies have been sold to date.

Beginnings at ReactOS

Around this time, ReactOS reached 0.2 stage, which now included a much more stable codebase for developpment, as well as a GUI and some basic applications. This immediately piqued Ionescu's interest, and he joined the project during Summer 2004. His first patch added Callback support to the Kernel, which would become needed by later NT5 Drivers. He then spent the next 2 months stubbing every kernel function that was in XP but not yet exported by ReactOS. This task added about 700 new stubs to ReactOS, out of which he personally coded around 150. While his work has focused mainly on Kernel Development, he has been monumental in the creation of the Ancilliary Function Driver DLL (msafd.dll/mswsock.dll) and accelerated the implementation of ReactOS's first working networking system. His other most important contributions include the SYSENTER patch, which singlehandedly improved ReactOS System Call execution speed by 70-80%, and the FreeLoader Patch, which added dynamic loading of the Kernel using the Portable Executable (PE) format. He has also re-written the ReactOS APC and DPC implementations, making them similar to NT's. As of November 2005, a large number of other large kernel patches can be attributed to him, including implementing Guarded Mutexes, Kernel Gates, making the Object Manager more NT compatible, rewriting parts of the Process Manager for Thread/Process Create/Kill and reviewing and fixing hundreds of bugs in the Ex and Ke modules of the kernel. He has finally also been responsible for major changes in the I/O Manager related to event sychronizations of I/O operations, as well as the IRP implementation.

Current Work

Alex Ionescu currently does a variety of work in ReactOS which splits up into many directions, usually yielding results only months later. Ionescu is currently re-writing the ReactOS Winsock Libraries for the 0.3.0 release, which will have full networking support. Sometimes, he enjoys taking up smaller projects as well to clean up the air, and he has recently documented his plans on his blog (link available below). Two of these projects include a new Loader (rewrite of Ldr in NTDLL to match XP's new features) and new Kernel Process Manager semantics. Due to his unpredictable nature, Ionescu is known to stop work on a long-term project and quickly implement a completely unrelated feature. He also participates in bug bashes every once in a while, where he spends his time only doing bug fixing. Ionescu's work current work touches the Ke, Ex, Ps and Io subsystems of the NT Kernel. He also still works at SPAMfighter on new versions of the client, and other related work.

Future Plans

Here are Ionescu's future projects:

Trivia and Interests

Alex Ionescu has a passion for chemistry and biology (especially organic chemistry! he's got a kick at it! uh huh!) His surroundings are all computer illiterate, including his best of friends. Whenever he is not programming, he is quite childish... Unfortunately, he is not a brilliant man, but a brilliant boy (How sad). By the way folks, psssst!... he wrote all of the article !! (except for the "Trivia and Interests" part)

That's it that's all folks!


Links

Alex Ionescu can be reached at alex.ionescu@reactos.org. His blog is at: http://blogs.reactos.com/Alex_Ionescu/