Programming

ToyIDE

Posted in Programming, Scala, Software on October 22nd, 2011 by Pavel – Be the first to comment

ToyIDE LogoToyIDE is an imitation of a full-featured IDE plus toy languages (imperative, functional) with complete IDE support, interpreters and compilers. All the parts were built from scratch in Scala, without relying on any existing code or libraries.

The project is purely educational. It is a product of a long vacation in the country and a desire to learn how all this stuff really works.

Although I applied evolutionary design in the development (to uncover the reasons behind architecture), it turns out that many techniques in the code come close to commonly used patterns. I learned a lot from the project and hope it might be useful to the people who want to know more about lexers, parsers, AST, Java bytecode and other similar fun, but tricky things.

Update: Jason Zaugg endorsed the project as “open-source Scala application with simplicity and taste”

Source code is 100% Scala (including ~800 unit tests which run in < 3 seconds).

Download binaries: toyide-1.2.3-bin.zip (7.5 MB)

ToyIDE: Main Window
Continue reading →

SleepArchiver is open sourced

Posted in Programming, Software on March 20th, 2011 by Pavel – Be the first to comment

SleepArchiver code with GPLv3 licenseWhile I am currently working hard on Scala plugin for IntelliJ IDEA at JetBrains, I have no time to continue development on SleepArchiver. However, there are still many useful features that could be implemented, so I decided to open source SleepArchiver and put the project on SourceForge under GPLv3 license.
Continue reading →

Scala for Project Euler

Posted in Programming, Scala on August 21st, 2010 by Pavel – 44 Comments

Scala logo, e^ipi + 1 = 0Project Euler is a collection of interesting computational problems intended to be solved with computer programs. Most of the problems challenge your skills in algorithm design rather than your knowledge of mathematics.

Thanks to short concrete problems and number-only solutions you don’t have to thinker with IDEs, GUI designers, programming libraries and frameworks, so Project Euler is an excellent tool for learning a new programming language or improving your core programming skills.
Continue reading →

SleepArchiver

Posted in Programming, Software on August 18th, 2009 by Pavel – 5 Comments

SleepArchiver Logo - CatSleepArchiver is an open source, cross-platform data manager for Sleeptracker-series watches.

The aim of the program is to provide powerful, yet user-friendly capabilities to collect, store and analyze sleep data.
Continue reading →

Hello World!

Posted in Programming on January 25th, 2009 by Pavel – 1 Comment

This is the post to cherish a tradition.