Projects
Description of the past projects below.
Windows Applications
A customizable calendar with extended features for defining and viewing events.
Idea and development: April 2004.
Features
- built-in scripting language to define events;
- customizable calendar layout;
- tab structure for multiple calendars views;
- verious ways for highlighting events;
- date calculator (date difference, event list, date operations).
Main screen
Event script
The event scripting is used to highlight events on the calendar. The expressions can contain OR/AND (semicolon ;
for OR / comma ,
for AND plus brackets for grouping expressions). Logical NOT is also supported (exclamation mark !
).
Today(+-) |
Highlight today's day or a day offset +- days from today. | |
Day(+-) <=> {1..31} |
Day of month | |
Month(+-) <=> {1..12} |
Month number | |
Year(+-) <=> {1..9999} |
Year | |
Even(+-) |
Even day number | |
DayDiff({date,[]today}) <=> {number} |
Difference in days between a specified date and today's date | |
InSeq({date(dd.mm.yyyy)}/{gap}/{length}) |
Check if a date is within a sequence. Suitable to highlight cyclic events | |
DayOfWeek(+-) <=> {1..7} |
Day of week 1(Monday)..7(Sunday) | |
DayOfYear(+-) <=> {1..366} |
Day number in a year | |
WeekOfYear(+-) <=> {1..53} |
Day of week in a year | |
DayOfWeek({1..5,L}/{1..7}) |
Day of week in a month, e.g. second Monday or last Tuesday | |
EasterCath(+-) |
Catholic Easter | |
EasterOrth(+-) |
Orthodox Easter | |
MoonAge() <=> {0..29} |
Moon age | |
DateY(+-) <=> {date(dd.mm.YYYY),Today} |
Exact date | |
DateY(+-) <=> {date(dd.mm)} |
Date ignoring year |
|
Event(+-) = E_{EVENT_CODE} |
Events | |
Type(+-) = T_{EVENT_TYPE_CODE} |
Types |
Examples
Tomorrow | Today(+1) |
The day before yesterday | Today(-2) |
Highlight today's and yesterday's date. Note: semicolon is used as logical OR. |
Today;Today(-1) |
Last day of week. Note: tomorrow's day number is 1. |
Day(1) = 1 |
Month number examples | Month = 1 Month() >= 10 Month(20) <= 11 |
Day number examples | Day() = 31 Day(100) = 5 Day < 4 Day() >= 29 Day(-5) <= 5 |
Weekends | DayOfWeek > 5 |
Day difference | DayDiff(13.10.2009) > 10 DayDiff() <= 5 |
Highlight single days between holidays and days off | (Type(-1) = T_{HOLIDAY_EVENT_TYPE_CODE}, DayOfWeek = 5); |
Radonitsa (a holiday in the Eastern Orthodox Church). Note: observed on the 2nd Tuesday from Easter Sunday (9 days) |
EasterOrth(-9) |
Pentecost. Note: observed on the 49th day of Easter Sunday. |
EasterCath(-49) |
Range of dates | DateY > 02.02, DateY < 09.02 |
List of dates | DateY = 02.02; DateY = 05.02; DateY = 07.02 |
Working days. Note: excluding weekends, holidays, last days of month |
DayOfWeek < 6, !Type = T_{HOLIDAY_EVENT_TYPE_CODE}, !Day(1) = 1 |
Kaliningrad — Saint-Petersburg train timetable | (!Even, !(Day=1, !Even(-1)), |
A variation of Scrabble in Russian.
Development: 1999, 2007.
Features
- up to 5 players, human or computer opponents;
- 10 difficulty levels against a computer player;
- game autosave;
- built-in vocabulary with editor.
Main screen
A dice game for one or two players with highscores.
Development: 1998, 2003
Web
CSS Calculator
No script, css only hover calculator. Going left to right: select value range and precise value (0-99), operator (+, -, *, /) and second value (0-99).
Demo
Other
Railroad map based on historic maps. Created in 2007.