About Chortos‑2
The Long-Awaited Proper Description, and Even in English
Finally. This page is here. 来まして有り難う御座います、ページ様! (Does 座 not look like a smilie?) Now everybody will be able to enjoy the only authoritative and the fullest one description of Chortos‑2 in the world. I mean, the world even including the outside of the Internet. Believe me.
Who I Am (Most Important Information)
I am a 32-year-old man whose home is in Riga, Latvia, the European Union, Europe, Eurasia, Afro-Eurasia, the Earth, the Solar System, the Milky Way, the Universe.
What This Page Contains
What I Am Called
My full name for use in English is Oleg Oshmyan; ideally, the correct stress in both names is on the second syllable, but even I tend to stress the first syllable in ‘Oleg’ in English. My surname is unrelated in etymology to the name of the Belarussian town Ashmyany, but it is spelt the same way in Russian (my mother tongue). Because of this I have defined for myself a simple way of transcribing my surname into any language: I take the name of Ashmyany in that language, drop the final ‘y’ and replace the first ‘a’ with an ‘o’ if it is not already an ‘o’; however, any language-specific rules take precedence over these changes. Thus I get:
My nickname is Chortos‑2 (the character in front of the digit 2 is an unbreakable hyphen), whose pronunciation follows the most usual rules: /ˌʧɔːtəsˈtuː/, /ˌʧɔɹtəsˈtuː/. A long time ago, I was known as Astiob, but currently I use Astiob only as a user name. Finally, I am known as Louise.de.La.Valliere in Google Code Jam.
My usual user names are Chortos-2 (with a hyphen-minus instead of the unbreakable hyphen), chortos and astiob.
When and Where I Was Born and How Old I Am
I was born on 21 July 1992 in Riga, the capital of Latvia. Consequently, I was approximately 32 years, 4 months and 0 days old when you loaded this page.
There is one perfectly reliable way to contact me:
If you want to send encrypted email, my PGP key is 8079D18C21AAAAFF.
There are also several other ways:
I am also registered in many other services that I barely use any more, such as:
- LiveJournal: astiob,
- ICQ: 325 100 410.
What I Speak
- (Mostly-)standard Russian (supposedly with a Latvian Russian accent),
- Latvian Russian,
- standard Latvian,
- mostly-British English,
- standard Japanese,
- a tiny bit of standard Spanish,
- a tiny bit of standard Italian,
- a tiny bit of standard German,
- a tiny bit of Esperanto.
As I have already mentioned, my mother tongue is Russian.
What I Do
I program and script (see below), do maths and occasionally play piano (I have received an education on that).
I also watch Japanese animation and keep a list of what I have seen at MyAnimeList and AniDB.
I listen to Japanese music.
I occasionally tweet. When I used to have events such as high-profile informatics competitions, I tried to report on them but usually failed to properly do so.
Probably more often than not, I am humming or singing something.
I contribute to open-source software: mainly libass, but also my own liberm and Upreckon, and in the past, hgshelve, AtomicParsley and Homebrew.
Unfortunately, I do and want to do so many things that I can barely keep up with them—or in some cases, cannot keep up.
What I Have Done
I have graduated (in 2008) from the Latgalian Suburb Music School (in Riga) with honours and stayed there for an extra year. My speciality was violin for three and a half years (during which I went through four grades because I started mid-year, and during some of which I received piano classes), then piano for another five plus one. I graduated with only piano as my speciality, although I think I may have received some certificate proving that I did finish the fourth grade being specialized in violin. In total, the years I have been studying at the music school are 1999–2009.
I have studied at Riga Secondary School #57 (in 1999–2001) and Riga Secondary School #51 (in 2001–2004) before switching to Riga State Gymnasium No. 1. (I would prefer to use the number sign in the last name just as in the first two, but the school uses ‘No.’ and ‘No’ interchangeably but not ‘#’ in official English-language communication.) During 1999–2002 (yes, the numbers are right), the class I was studying in did not change. (The truth is that the whole class moved from the one school to the other.) However, in the beginning of school year 2002/2003, I moved one grade up, hence the total number of years I have been at school is eleven and not twelve as it is supposed to be. At Riga State Gymnasium No. 1, I studied for a programme combining the International Baccalaureate Diploma Programme with standard Latvian secondary education, and I graduated in 2010 with 39 points on the IB Diploma and 7+6 on the extra certificate. Unfortunately for me, there were multiple places where a single extra mark would have brought my score to 40.
I have graduated (in 2014) from the University of Cambridge with a BA (Hons) and MEng degree in Computer Science, finishing each year respectively with a I, a I, a II.1 and a distinction, and eventually (in 2017) received a traditional automatic upgrade of my BA degree to an MA. I belong to Robinson College. I was on the committee of the Cambridge University Anime and Manga Society as the webmaster for more than three years and helped hold society meetings.
I have spent about half a year (the second half of 2014) working as a software engineer at Scuderia Ferrari before quitting and returning home.
I have authored some open-source mods for Invision Power Board back in the times of versions 2.0 and 2.1.
What Programming Languages and Standard Libraries I Can Use Well
A detailed list with version numbers and proficiency levels used to be here. However, I never remembered to update it when learning new things and it was hard to determine proficiency levels, so I have removed it.
I primarily use modern Python, C and C++. At work, I use Scala, Kotlin and Java. I also use or have used and still at least vaguely remember many other languages, among them PHP, JavaScript, TypeScript, C#, Bash, Bourne shell, Ruby, Mathematica, Prolog, Pascal, Visual Basic, Cmd.exe, AutoIt v3, Taxi, ERM.
What Software I Use
These are the products I currently use for personal purposes (not necessarily all with the same frequency):
- Windows 11,
- openSUSE,
- Android 9,
- Microsoft Edge,
- Sublime Text,
- Mathematica,
- Windows Explorer,
- iTunes 12,
- Media Player Classic Home Cinema,
- madVR,
- XySubFilter,
- mpv,
- libass,
- Python 3,
- PyPy,
- PHP,
- Apache 2.4,
- MariaDB,
- GCC,
- Clang,
- bash,
- nano,
- screen,
- Git,
- Mercurial,
- Scoop,
- Irssi,
- Discord,
- Skype,
- Telegram,
- WhatsApp,
- Slack (for work),
- Microsoft Teams (for work),
- Microsoft Outlook (for work),
- OpenSSH,
- Transmission,
- Windows Terminal,
- Notepad,
- Unicode Character Map,
- Aegisub,
- AssetStudio,
- UABEAvalonia,
- CDisplayEx,
- Steam,
- Visual Studio,
- Adobe Photoshop,
- Microsoft Office,
- LibreOffice.
Most of these features should be easy to implement, and my life would be so much easier and my hard disk would be so much emptier, and my iPod’s flash memory would too have been so much emptier—until I loaded it with videos, of course. Some of them are partly implemented in some media library management software, some are not.
- I want to be able to specify multiple artists, names, albums, composers, lyricists and whatnot for a single piece and then filter my library to show just one of them and still see the piece.
- I want every piece that has been released on more than one disc/single/album to be in my library (and on my storage device) just once. I still want to see it in all the collections it is in, for which purpose I want to tag it with multiple albums as discussed above.
- I want every disc/single/album’s cover art to be stored just once.
- I want to see how much time I have spent listening to or watching every piece. I also want to see how much time I have spent listening to or watching all pieces from every artist, album, composer, lyricist and whatnot.
- I want to specify lyricists and arrangers for my songs, and as many other staff members as possible. (As many as they print in the booklets that come with discs.)
- I want to specify the key(s) of every piece.
- I want to be able to specify tempo that is a fractional number of beats per minute.
- I want to be able to specify multiple pieces of lyrics per piece of media and the language and writing system of every one of them.
- I want to be able to specify multiple pieces of cover art per disc/single/album and the role of every one of them.
- I want the play count to be counted for every second of every piece, not just for every whole piece. I want at least to be able to split a piece and count the play count for each subpiece separately. This would be extremely useful for the Overture track from the original recording of The Phantom of the Opera.
- I want the play count of the TV version of the opening/ending of the anime I am watching to be incremented when I watch another episode without skipping its opening/ending.
What I Like and Dislike
My favourites in various areas are:
- my favourite music playlist is the 50 Most Popular Not Played in Last 2 Days constantly-updating smart playlist in my iTunes library (but usually I listen to iTunes DJ);
- my favourite song, judging from my iTunes play counts, is The Biggest Dreamer by Kōji Wada, which I had been listening to long before I switched to iTunes and which I hum figuratively all the time, while the runner-up is Brave Song by Aoi Tada;
- similarly, my favourite mini-album is Suzumiya Haruhi no tsumeawase,
- my favourite B‑side song is apparently Seven from the Butter-Fly single by Kōji Wada,
- my favourite B‑side song that I like better than the corresponding A‑side song (not to say I dislike the A‑side one!) is aozora no kakera from the gomen ne ♥ single by Rie Kugimiya (as Louise Françoise Le Blanc de La Vallière),
- my favourite singer is Kōji Wada
- and my second favourite singer (and my favourite female singer) is AiM;
- my favourite media library manager and player is iTunes;
- my favourite text editor is Sublime Text;
- my favourite console text editor is GNU nano;
- my favourite integrated development environment is Microsoft Visual Studio, especially for .NET-specific languages like C# and VB.NET;
- my favourite version control system is Git, followed by Mercurial;
- my favourite Web browser ever was Presto-based Opera;
- my favourite computer games are Braid and various versions of Heroes of Might and Magic Ⅲ;
- my anti-favourite anime characters are Kazumi Yoshida from Shana and Siesta from Zero’s Familiar.
In Web pages, I like, approve and appreciate:
- purely semantic mark-up with a single exception, which is Microsoft Windows Internet Explorer’s conditional comments,
- the usage of Microsoft Windows Internet Explorer’s conditional comments for making things work in that Web browser using non-semantic mark-up when it does not support the semantic way,
- graceful degradation and progressive enhancement,
- full accessibility, including but not limited to the non-reduction of functionality with JavaScript off, with CSS off and with JavaScript and CSS both off,
- the favouring of CSS over JavaScript (e. g. for drop-down menus),
- compatibility, even if strained, simultaneously with the latest desktop versions of Opera, Safari, Firefox, Internet Explorer, Trident Edge, Chromium Edge, Chrome, Konqueror and with as many older (but reasonably recent) versions of these Web browsers and as many other (not only desktop) Web browsers as possible,
- the usage of SVG where vector graphics are applicable,
- the usage of transform-based lossy formats like JPEG for photographic data (this does not include screenshots),
- the usage of PNG for non-photographic data where vector graphics are not applicable,
- the usage of optimized SGML (but still valid and semantic) for HTML 4, optimized HTML 5 for HTML 5 and well-formed XML with semantic tags for XHTML,
- the favouring of XHTML 1 over HTML 4 and (x)HTML 5 over them both,
- providing a separate stylesheet for @media print that eliminates the need for a ‘Printable Version’ page,
- the usage of non-standard extensions to DOM in scripts if these extensions work faster than the standard DOM way to do the same thing and are supported by the major Web browsers (the ones singled out above), provided that graceful degradation ensures that in Web browsers that do not support the extensions the standard way will be used,
- the absence of anything that I dislike in Web pages,
- the presence in the page’s text content of anything that I like in text.
In Web pages, I dislike and disapprove:
- the usage of images where text would suffice except when this is a means of progressive enhancement,
- information being split into country-specific Web sites or pages (think ‘Select Your Country’ when all you want to do is download a driver or find out what Lipton Ice Tea is),
- downloads downloading download managers to download the download.
In Web applications, I dislike and disapprove:
- using pre-moderation (for example, for comments on Web logs) but not informing the user about it,
- accepting or rejecting things like referral codes without informing the user about it,
- screwing up non-breakable spaces (like vBulletin does, for example),
- being screwed up by non-breakable spaces (like LiveJournal and the countless other Web applications that rely on \s).
In text-based things including Web browser engines, text input controls, programming languages and word processing, I dislike and disapprove:
- not treating non-breakable spaces as non-breakable,
- not treating non-breakable spaces as
spaces whitespace,
- displaying old characters such as arrows and the trademark symbol as emoji by default and failing to honour variation selector 15.
In syntax definitions for syntax highlighters, I dislike and disapprove:
- matching regular expressions only to one line at a time (due to this,
@media print {
in the source of this page is highlighted incorrectly by Colorer and Sublime Text).
In text entered using computers, I like, approve and appreciate:
- the right character being used for the em dash (U+2014),
- the right character being used for the wave dash (U+301C),
- the non-breakable space (U+00A0) being used where it is required,
- full-width and half-width variants being used correctly,
- all other Unicode characters being used correctly as well,
- non-breakable spaces being used in abbreviations and initials where required by the usual rules rather than spaces being omitted,
- hanging punctuation.
In languages, I like, approve and appreciate:
- the Japanese language,
- the Russian language,
- the correct usage of the Polivanov system when spelling Japanese in Russian text, except that I like ‘di’ to be transcribed as ‘ди’,
- adapting foreign words to the language they are used in, including transcribing them if the pronunciation is intended to stay the same (e. g. hypothetically spelling the German surname Stein when it is used in English as Shtyne or anything else resulting in the same pronunciation),
- purism in general.
In parts of life not covered by the above, I like, approve and appreciate:
- Japanese rock and pop music,
- classical music,
- generally most kinds of music (although see the list of what I do not like in life),
- music being encoded losslessly,
- music being encoded in such a way that the encoded version takes the least possible space but sounds transparent to the owner, as long as the owner has a lossless version nevertheless,
- the use of ABX tests to check the transparence of processed audio,
- the use of official names, titles etc. in the tags of audio and video files and generally everywhere,
- Japanese animation,
- date and time formatting facilities provided by the operating system taking into account not only regional settings but also the current language,
- proper parsing of DOCTYPE declarations being implemented in Web browsers (if this page has a ]> at the very top or you are using Internet Explorer older than version 9, then your browser does not properly parse DOCTYPE declarations),
- SGML-based mark-up formats supporting all shorthand forms (as opposed to other SGML-based formats),
- using native rather than custom controls in applications,
- paying attention to punctuation when reading, e. g. when reading my list of favourites,
- Apple’s Mac OS X at least since Leopard,
- Professional editions of Microsoft Windows 2000, XP and 8 and newer,
- Ultimate editions of Microsoft Windows Vista and 7.
In parts of life not covered by any of the more specific lists above, I dislike and/or disapprove:
- footnotes not referenced in the main text,
- missing footnotes when footnote references are present in the main text,
- minimum word or character count requirements,
- regional restrictions,
- country-specific versions of Web sites etc. having separate user account systems,
- various subsites of a single Web site or site network having separate user account systems,
- registration/signup/login being required unnecessarily,
- hyper-loud discos,
- rap,
- excessive use of XML,
- excessive use of object-oriented programming tools and techniques,
- search ignoring repeated terms,
- (un)installers launching a Web browser upon finish, and for that matter any applications launching a Web browser without explicit user’s consent,
- computer network authorization implemented through Web redirects,
- the presence of enforced access modifiers in programming languages,
- the absence of support for SGML shortcuts in the major Web browsers (once again, this means the ones singled out above),
- the absence of support for SGML shortcuts in HTML 5,
- blind application of automatic source code style converters/enforcers,
- people’s changing of their Skype names, email addresses, phone numbers etc.,
- sudden changes in the subjects of thematic Twitter accounts,
- the nonexistence of any decent Web browser
for macOS,
- the user interfaces provided by Java Standard Edition.
What I Have Achieved
I have participated in the following olympiads and contests of at least state-level significance and received the following prizes. (The selection stage of the Latvian Informatics Olympiad is the hardest stage in the entire Olympiad in Informatics stage chain available for Latvian residents, being harder than the basic Latvian Informatics Olympiad, the Baltic Olympiad in Informatics and the International Olympiad in Informatics. The total number of contestants is specified according to official information, which sometimes includes those who did not attend the event and sometimes does not.)
Grouped by year:
- Latvian Open Mathematics Olympiad, form 5 students: a silver medal (absolute place between 8 and 17 inclusive [precise data not available] out of 611),
- Latvian Open Mathematics Olympiad, form 6 students: an honourable mention (absolute place between 36 and 83 inclusive [precise data not available] out of 554),
- Latvian Open Mathematics Olympiad, form 7 students: the only gold medal (absolute 1st place out of 438),
- Latvian Open Mathematics Olympiad, form 8 students: a silver medal (absolute place between 5 and 19 inclusive [precise data not available] out of 369),
-
- Latvian Mathematics Olympiad, form 9 students: a silver medal (absolute 5–7th place out of 71),
- [according to my memory and a fellow LMO participant] additional contest day of LMO, single group (form 9–12 students): no prize,
- Latvian Open Mathematics Olympiad, form 9 students: a silver medal (absolute place between 5 and 10 inclusive [precise data not available] out of 334),
- Latvian Chemistry Olympiad, form 9 students: no prize,
- Latvian Informatics Olympiad, single group (form 10–12 students, although I was in form 9 at the time): a bronze medal (absolute 7th place out of 62),
- Baltic Olympiad in Informatics: no prize (absolute 29–30th place out of 55),
- International Olympiad in Informatics: no prize,
-
- Latvian Mathematics Olympiad, form 10 students: a gold medal (absolute 1st place out of 77),
- additional contest day of the Latvian Mathematics Olympiad, single group (form 9–12 students): admission to the selection stage,
- selection stage of the Latvian Mathematics Olympiad, single group (form 9–12 students): did not participate but was allowed to,
- Latvian Informatics Olympiad, form 8–10 students: a gold medal (absolute 1–2nd place out of 43),
- selection stage of the Latvian Informatics Olympiad, single group (form 8–12 students): admission to BOI (absolute 2nd place out of 22),
- Baltic Olympiad in Informatics: no prize,
- International Olympiad in Informatics: a bronze medal (absolute 114–115th place out of 283),
- the final of Lattelecom Technology’s IT Olympiad (a team competition), schoolchildren: absolute 1st place out of 6,
-
- Latvian Mathematics Olympiad, form 11 students: a silver medal (absolute 2nd place out of 72),
- additional contest day of the Latvian Mathematics Olympiad, single group (form 9–12 students): admission to the selection stage,
- selection stage of the Latvian Mathematics Olympiad, single group (form 9–12 students): absolute 7th place out of 8,
- Latvian Open Mathematics Olympiad, form 11 students: an honourable mention (absolute 27–29th place out of 424),
- Latvian Informatics Olympiad, form 11–12 students: a gold medal (absolute 2nd place out of 40),
- selection stage of the Latvian Informatics Olympiad, single group (form 8–12 students): admission to BOI (absolute 2nd place out of 22),
- Baltic Olympiad in Informatics: a bronze medal (absolute 19th place out of 48),
- International Olympiad in Informatics: a bronze medal (absolute 99th place out of 301),
- the final of the team competition in informatics and mathematics Ugāle: no prize (absolute 8th place out of 12),
- the final of Lattelecom Technology’s IT Olympiad (a team competition), schoolchildren: absolute 1st place out of 6,
-
- Latvian Mathematics Olympiad, form 12 students: a gold medal (absolute 3rd place out of 96),
- additional contest day/selection stage of LMO, single group (form 9–12 students): admission to IMO (absolute result unknown),
- International Mathematical Olympiad: an honourable mention (absolute 338–351st place out of 517),
- Latvian Open Mathematics Olympiad, form 12 students: a silver medal (absolute 10th place out of 204),
- Latvian Informatics Olympiad, form 11–12 students: a gold medal (absolute 1st place out of 41),
- selection stage of the Latvian Informatics Olympiad, single group (form 8–12 students): admission to BOI (absolute 2nd place out of 16),
- Baltic Olympiad in Informatics: a bronze medal (absolute 18th place out of 56),
- International Olympiad in Informatics: a bronze medal (absolute 100th place out of 300),
- the final of the team competition in informatics and mathematics Ugāle: the gold medal (absolute 1st place out of 13),
-
- Northwestern European Regional Contest (a team competition): a gold medal (absolute 4th place out of 83+2),
-
- Internet Problem Solving Contest (a team competition): absolute 34th place out of 694,
- Northwestern European Regional Contest (a team competition): a silver medal (absolute 5th place out of 92).
Grouped by subject and competition:
- mathematics:
- Latvian Open Mathematics Olympiad:
- form 5 students: a silver medal (absolute place between 8 and 17 inclusive [precise data not available] out of 611),
- form 6 students: an honourable mention (absolute place between 36 and 83 inclusive [precise data not available] out of 554),
- form 7 students: the only gold medal (absolute 1st place out of 438),
- form 8 students: a silver medal (absolute place between 5 and 19 inclusive [precise data not available] out of 369),
- form 9 students: a silver medal (absolute place between 5 and 10 inclusive [precise data not available] out of 334),
- form 11 students: an honourable mention (absolute 27–29th place out of 424),
- form 12 students: a silver medal (absolute 10th place out of 204),
- Latvian/International Mathematics/al Olympiad:
-
- LMO, form 9 students: a silver medal (absolute 5–7th place out of 71),
- [according to my memory and a fellow LMO participant] additional contest day of LMO, single group (form 9–12 students): no prize,
-
- LMO, form 10 students: a gold medal (absolute 1st place out of 77),
- additional contest day of LMO, single group (form 9–12 students): admission to the selection stage,
- selection stage of LMO, single group (form 9–12 students): did not participate but was allowed to,
-
- LMO, form 11 students: a silver medal (absolute 2nd place out of 72),
- additional contest day of LMO, single group (form 9–12 students): admission to the selection stage,
- selection stage of LMO, single group (form 9–12 students): absolute 7th place out of 8,
-
- LMO, form 12 students: a gold medal (absolute 3rd place out of 96),
- additional contest day/selection stage of LMO, single group (form 9–12 students): admission to IMO (absolute result unknown),
- IMO: an honourable mention (absolute 338–351st place out of 517),
- informatics:
- Latvian Informatics Olympiad / Baltic/International Olympiad in Informatics:
-
- LIO, single group (form 10–12 students, although I was in form 9 at the time): a bronze medal (absolute 7th place out of 62),
- BOI: no prize,
- IOI: no prize,
-
- LIO, form 8–10 students: a gold medal (absolute 1–2nd place out of 43),
- selection stage of LIO, single group (form 8–12 students): admission to BOI (absolute 2nd place out of 22),
- BOI: no prize,
- IOI: a bronze medal (absolute 114–115th place out of 283),
-
- LIO, form 11–12 students: a gold medal (absolute 2nd place out of 40),
- selection stage of LIO, single group (form 8–12 students): admission to BOI (absolute 2nd place out of 22),
- BOI: a bronze medal (absolute 19th place out of 48),
- IOI: a bronze medal (absolute 99th place out of 301),
-
- LIO, form 11–12 students: a gold medal (absolute 1st place out of 41),
- selection stage of LIO, single group (form 8–12 students): admission to BOI (absolute 2nd place out of 16),
- BOI: a bronze medal (absolute 18th place out of 56),
- IOI: a bronze medal (absolute 100th place out of 300),
- the final of Lattelecom Technology’s IT Olympiad (a team competition):
- schoolchildren: absolute 1st place out of 6,
- schoolchildren: absolute 1st place out of 6 (with a different team than in 2008),
- the final of the team competition in informatics and mathematics Ugāle:
- no prize (absolute 8th place out of 12),
- the gold medal (absolute 1st place out of 13; with a different team than in 2009),
- ACM International Collegiate Programming Contest (a team competition):
- NWERC: a gold medal (absolute 4th place out of 83+2),
- NWERC: a silver medal (absolute 5th place out of 92),
- Internet Problem Solving Contest (a team competition):
- absolute 34th place out of 694,
- chemistry:
- Latvian Chemistry Olympiad:
- form 9 students: no prize.