[{"content":"Just in time for KDE Plasma 6, Chromium 122 and Electron 29 have been released! They contain my patch that adds support for Wayland\u0026rsquo;s new cursor-shape-v1 extension protocol.\nWhen running natively in a Plasma 6 Wayland session, up-to-date Chromium-based browsers and Electron apps should now always use the correct mouse cursor theme and have the cursor drawn in the correct size, even when running in a Flatpak sandbox.\nYou can enable Chromium\u0026rsquo;s native Wayland support by setting chrome://flags/#ozone-platform-hint to “Auto” or with a command-line flag. There are multiple ways to apply this preference to Electron apps as well.\nTo check whether an app runs natively on Wayland or relies on the XWayland compatibility layer, you can look up kwin in any KRunner-enabled search bar (e.g. in the app launcher) and select “Open KWin debug console”.\nHope this helps! 😃\n","permalink":"https://ilyabiz.com/2024/02/cursor-shape-v1-in-chromium-and-electron/","summary":"\u003cp\u003eJust in time for KDE Plasma 6, \u003ca href=\"https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_20.html\"\u003eChromium 122\u003c/a\u003e and \u003ca href=\"https://github.com/electron/electron/releases/tag/v29.0.0\" title=\"Electron 29\"\u003eElectron 29\u003c/a\u003e have been released! They contain \u003ca href=\"https://chromium-review.googlesource.com/c/chromium/src/+/5196950\" title=\"patch\"\u003emy patch\u003c/a\u003e that adds support for Wayland\u0026rsquo;s new \u003ca href=\"https://wayland.app/protocols/cursor-shape-v1\" title=\"cursor-shape-v1\"\u003ecursor-shape-v1\u003c/a\u003e extension protocol.\u003c/p\u003e\n\u003cp\u003eWhen running natively in a Plasma 6 Wayland session, up-to-date Chromium-based browsers and Electron apps should now always use the correct mouse cursor theme and have the cursor drawn in the correct size, even when running in a Flatpak sandbox.\u003c/p\u003e\n\u003cp\u003eYou can enable Chromium\u0026rsquo;s native Wayland support by setting \u003ca href=\"chrome://flags/#ozone-platform-hint\"\u003echrome://flags/#ozone-platform-hint\u003c/a\u003e to “Auto” or with a \u003ca href=\"https://wiki.archlinux.org/title/chromium#Native_Wayland_support\" title=\"command-line flag\"\u003ecommand-line flag\u003c/a\u003e. There are \u003ca href=\"https://wiki.archlinux.org/title/Wayland#Electron\" title=\"multiple ways\"\u003emultiple ways\u003c/a\u003e to apply this preference to Electron apps as well.\u003c/p\u003e","title":"cursor-shape-v1 in Chromium and Electron"},{"content":"It\u0026rsquo;s been a long while since I posted to my blog, and I apologize for the unpleasant period of boring silence, but I hope to make up for some of it with a brief overview of what happened to me since my last update 🙂\nFirst and foremost, I would like to express the gratitude for my second year of university, which was the most exhausting period of studies that I\u0026rsquo;ve had so far but taught me a great deal of patience, focus, and perseverance. Also, I cannot but mention that never have I valued friendship as much as I do now. I was able to pass my exams with satisfying grades, and while I do not yet feel ready to dive into the next academic year, I am a lot more confident about its success.\nNext, I would like to thank KDE for the most exciting learning experience I could wish for: the Plasma Mobile sprint in Berlin that I was lucky to attend. I have never met so many passionate developers in one place before, and learning from them, as well as contributing my humble bits of knowledge, was priceless.\nAnd a special thanks to Linus and Jonah for showing me around the city 😃\nFinally, I am incredibly thankful to Google for having me as a Software Engineering intern in Munich this summer 😃\nMaking Linux application support in Chrome OS easier to manage for schools, enterprises and individuals is by far the biggest contribution to the Linux ecosystem that I can possibly make. Most googlers I had a chance to meet are very positive, cheerful and helpful. My first feature has landed the Chromium codebase today, and I am very excited and motivated for the rest of my work here.\nTo make sure you don\u0026rsquo;t have to wait another half a year to hear from me, I\u0026rsquo;m sharing my Instagram; I seem to be more responsible at posting pics of cute stuff around me than at serious blogging 🙂\nI wanted to keep this update short and easy to read. If, however, I managed to get you interested and craving for more info, feel free to reach out to me!.\nAnd have a great summer! 😄\n","permalink":"https://ilyabiz.com/2019/07/summer-update/","summary":"\u003cp\u003eIt\u0026rsquo;s been a long while since I posted to my blog, and I apologize for the unpleasant period of boring silence, but I hope to make up for some of it with a brief overview of what happened to me since my last update 🙂\u003c/p\u003e\n\u003cp\u003eFirst and foremost, I would like to express the gratitude for my second year of university, which was the most exhausting period of studies that I\u0026rsquo;ve had so far but taught me a great deal of patience, focus, and perseverance. Also, I cannot but mention that never have I valued friendship as much as I do now. I was able to pass my exams with satisfying grades, and while I do not yet feel ready to dive into the next academic year, I am a lot more confident about its success.\u003c/p\u003e","title":"Summer update!"},{"content":"2018, my favorite year so far, has come to its end. So, I decided to recap what happened in my life this year, as well as to tell about events I haven\u0026rsquo;t covered yet.\n2018 was the first year for me that started with exams. Not that I haven\u0026rsquo;t spent holidays studying for exams before, though, so with some persistence and tangerine fuel 🍊 I passed them all good enough and had a week of TV series and open source contribution before the upcoming semester. With some help from Halium project maintainers and a steep learning curve, I was finally able to conquer graphics libraries on an x86 Android phone and start a Wayland compositor. At the same time, my efforts on the Russian-speaking KDE community became visible, as our friendly local group crossed a symbolic border of 1000 members!\nThe new courses at university were difficult at first, so I had to really focus on my studies. I had a nice weekend break at the C++ Russia conference, but otherwise had been immersed, and that helped me catch up and finish the freshman year proudly. 🏆\nIn July, August, and September I could finally participate in the world of free software again. I was mostly focused on Plasma Mobile, KDE\u0026rsquo;s mobile platform, and KDE Russia. I prepared and gave an introductory talk about GNU/Linux on mobile devices, then developed and launched the kde.ru website. I\u0026rsquo;m thankful to Chaos Constructions conference managers and local FOSS news platforms for the chance to promote KDE\u0026rsquo;s amazing work to wider audiences. 📱\nVK Hackathon As part of an amateur yet motivated team, I was working on a corporate assistant application for the State Hermitage Museum. Our aim was to provide a 3-in-1 cross-platform solution: a task management system, an internal messenger and a navigation system (Hermitage is huge). The deadline was tough, but we managed to deliver a working prototype.\nOur application was not selected by case managers, but the atmosphere of passionate hacking is unforgettable. Besides, some of my work went upstream and will benefit many applications to come 🙂\nICPC NEERC 2018 My second time in this competitive programming contest as a Technical Committee assistant. It is an amazing experience, as well as a steep learning curve. Thanks to everyone who participated in this year\u0026rsquo;s programming competitions at ITMO University, both teams and fellow volunteers! 👨‍💻💪\nRust An ordinary algorithm class assignment can become a challenging experiment if you give up on your habits and try solving it using a different programming language, like Rust. I\u0026rsquo;ve had a deep dive into the Rust ecosystem, implementing some algorithms, trying a game framework and building a research web browser (with small fixes along the way).\nI\u0026rsquo;ll definitely continue learning the ways of oxidized metal in 2019! 📔\nTo the awesome new year! Let 2019 be even better for us all! Thank you for reading, and all the best in 2019! 😃\n","permalink":"https://ilyabiz.com/2018/12/2018-what-a-year/","summary":"\u003cp\u003e2018, my favorite year so far, has come to its end. So, I decided to recap what happened in my life this year, as well as to tell about events I haven\u0026rsquo;t covered yet.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"Snow-covered path through a park during heavy snowfall\" loading=\"lazy\" src=\"/2018/12/2018-what-a-year/snowy-park.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e2018 was the first year for me that started with exams. Not that I haven\u0026rsquo;t spent holidays studying for exams before, though, so with some persistence and tangerine fuel 🍊 I \u003ca href=\"/2018/02/exams-are-over-new-studies-coming/\"\u003epassed\u003c/a\u003e them all good enough and had a week of TV series and open source contribution before the upcoming semester. With some help from Halium project maintainers and a steep learning curve, I was finally able to conquer graphics libraries on an x86 Android phone and \u003ca href=\"/2018/02/halium-on-asus-zenfone-5/\"\u003estart a Wayland compositor\u003c/a\u003e. At the same time, my efforts on the Russian-speaking KDE community became visible, as our friendly local group \u003ca href=\"/2018/02/kde-russia/\"\u003ecrossed\u003c/a\u003e a symbolic border of 1000 members!\u003c/p\u003e","title":"2018 — what a year!"},{"content":"\nThis week I was assigned to implement a number of string related algorithms that perform substring search and count, calculate helper functions and build performant structures on them, etc. Algorithms themselves were not too complicated, so I decided to challenge myself and solve the problems using Rust (instead of my main language C++).\nNow that I\u0026rsquo;ve solved the task, I can tell a bit about my experience, things that I found convenient or complicated. I\u0026rsquo;m a beginner in Rust, but if my idea of the language is interesting to you, read on! 🙂\nThe assignment I had to solve is part of my Algorithms and Data Structures course at ITMO University. It has been published on the Codeforces competitive programming platform that has recently moved to ITMO. The version of Rust available on Codeforces is 1.26, so I haven\u0026rsquo;t yet had a chance to check out the new features of Rust 2018 edition.\nSearching for an IDE for Rust, I\u0026rsquo;ve chosen CLion with JetBrains\u0026rsquo; official Rust plugin. This IDE is proprietary, but of all IDEs and editors I checked only CLion provided debugging out of the box. I also enjoyed VSCode quite much, but couldn\u0026rsquo;t get any plugins that provide debug support to work with Rust. I am aware of some efforts to support Rust in KDevelop, as well as of an official Vim plugin, but decided to stick to something I use regularly anyway.\nIn the end, I solved 12 of 13 tasks using Rust and wrote some extra code for personal tests. I published all of it in a GitHub repository, in case it might be useful for someone.\nGenerally, the C++ → Rust switch felt pretty natural. With Rust, it takes a lot more time to persuade the compiler that the code is worth building, but it actually helps to fix bugs, and in the end you\u0026rsquo;re thankful to the borrow checker for its hard work. Then a number of issues gets fixed during a couple of first launches, when the program panics on integer overflows and out-of-bounds array indexes. And finally, a nice static analyzer called clippy suggests some final touches to optimize and prettify the code. Compiler errors feel unexpectedly pleasant and friendly after GCC\u0026rsquo;s text walls.\nBuilt-in collections were sufficient for the programs I needed to write. Not much to say here really, except for that data structures want to be cloned rather than copied to avoid memory errors.\nSadly, there\u0026rsquo;s a couple of negative aspects I discovered, both related to performance. First is that rustc does not support tail call optimization (TCO), and likely won\u0026rsquo;t anytime soon. That was a big disappointment for me because there are so many algorithms out there that are described in a recursive manner, have proper asymptotics limits, but expect a compiler to do the optimization. Of course, they can be rewritten using loops, but usually you want to stick to idiomatic implementations and not reinvent.\nSecond, the file IO speed. Buffered file input-output in Rust is as fast as fstream in C++ unless the latter is \u0026ldquo;optimized\u0026rdquo; with sync_with_stdio(false), tie(nullptr) and no flushes (like std::endl). It\u0026rsquo;s the sole reason for that 13th program to not be submitted in Rust: it was really hitting the time limit. And even though it may seem to be a rare case, it can play its role in competitive programming.\nTo sum up, I loved Rust for its strict yet friendly compiler, a nice standard library, and a nice community ready to help (check out #rust on irc.mozilla.org!). There are many cool libraries out there, and I am very eager to try Qt with Rust as soon as I get some free time.\nOther than that — have to go now! 🙂 Thanks for bearing with me if you made it to this sentence. Stick around for more random posts about the stuff I enjoy, and have a great day! 😃\n","permalink":"https://ilyabiz.com/2018/12/rust-for-algorithms/","summary":"\u003cp\u003e\u003cimg alt=\"Rust logo over colorful source code\" loading=\"lazy\" src=\"/2018/12/rust-for-algorithms/rust-code-logo.png\"\u003e\u003c/p\u003e\n\u003cp\u003eThis week I was assigned to implement a number of string related algorithms that perform substring search and count, calculate helper functions and build performant structures on them, etc. Algorithms themselves were not too complicated, so I decided to challenge myself and solve the problems using Rust (instead of my main language C++).\u003c/p\u003e\n\u003cp\u003eNow that I\u0026rsquo;ve \u003ca href=\"https://github.com/IlyaBizyaev/rust-experiments\"\u003esolved\u003c/a\u003e the task, I can tell a bit about my experience, things that I found convenient or complicated. I\u0026rsquo;m a beginner in Rust, but if my idea of the language is interesting to you, read on! 🙂\u003c/p\u003e","title":"Rust for algorithms"},{"content":"There was a small problem with Qt\u0026rsquo;s deployment tools that could, however, cause some struggle for beginners. windeployqt, macdeployqt and linuxdeployqt could not add a third-party Qt Quick module (i.e. one that is not located inside Qt\u0026rsquo;s installation directory, like Kirigami) to the resulting bundle.\nIt was, of course, possible to workaround the issue by copying the missing files to their expected locations with a script or manually. For non-systemwide Qt installations, there was also an option of installing the libraries by side with Qt\u0026rsquo;s own modules. However, these are still platform-dependent workarounds we shouldn\u0026rsquo;t rely on long-term.\nI faced this issue when trying to package Kaidan, a Qt Quick XMPP client, as an AppImage. After a discussion with linuxdeployqt\u0026rsquo;s contributors and some research, I found that internally the tool uses qmlimportscanner to locate the imported modules, but only passes QT_INSTALL_QML (Qt\u0026rsquo;s own modules location) to the scanner. It was clearly missing an option to list custom import paths, like -qmlimport. That was easy to fix, and so I did.\nlinuxdeployqt is a fork of macdeployqt, and so I decided it makes sense to upstream my changes. I made sure I\u0026rsquo;m not missing anything, then started a Gerrit revision.\nWhile my changes were pending approval, I looked into windeployqt\u0026rsquo;s sources and submitted a matching revision to that tool.\nWhen all three commits had been merged, I documented my changes.\nConclusion Starting with Qt 5.13 there\u0026rsquo;ll be an option in Qt deployment tools ( -qmlimport) to specify custom import paths for Qt Quick libraries. As a nice bonus, this option also allows to choose between multiple versions of a library installed at different locations. For a more in-depth explanation of the change, please refer to this comment.\nContributing to Qt is not that difficult, and making even a small useful change feels so nice 🙂\nIf you hesitated to try Kirigami in your project because of deployment quirks, give it a go now! Join us on IRC or Matrix, take a look at the docs and have fun creating! 😃\n","permalink":"https://ilyabiz.com/2018/11/automatic-qml-import-by-qt-deployment-tools/","summary":"\u003cp\u003eThere was a small problem with Qt\u0026rsquo;s deployment tools that could, however, cause some struggle for beginners. windeployqt, macdeployqt and linuxdeployqt could not add a third-party Qt Quick module (i.e. one that is not located inside Qt\u0026rsquo;s installation directory, like \u003ca href=\"https://www.kde.org/products/kirigami/\"\u003eKirigami\u003c/a\u003e) to the resulting bundle.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"Kirigami QML module files in a file manager\" loading=\"lazy\" src=\"/2018/11/automatic-qml-import-by-qt-deployment-tools/kirigami-qml-module.png\"\u003e\u003c/p\u003e\n\u003cp\u003eIt was, of course, possible to workaround the issue by copying the missing files to their expected locations with \u003ca href=\"https://invent.kde.org/network/kaidan/-/blob/163523212016418dcc10929aefe4abecf692c127/utils/build-mac.sh#L173\"\u003ea script\u003c/a\u003e or manually. For non-systemwide Qt installations, there was also an option of installing the libraries by side with Qt\u0026rsquo;s own modules. However, these are still platform-dependent workarounds we shouldn\u0026rsquo;t rely on long-term.\u003c/p\u003e","title":"Automatic QML import by Qt deployment tools"},{"content":"\nToday, on September 18th, 2018, the Russian-speaking KDE community launches its updated website on KDE.ru.\nThe new website serves as the main page for the Russian-speaking community. It provides localized information about the community, product download links and the list of social network pages we maintain. It is also meant to help new members get involved in KDE\u0026rsquo;s projects, particularly in our translation and promotion efforts.\nThe website was created by me and Alexander Potashev on top of Jonah Brüchert\u0026rsquo;s work for plasma-mobile.org. It uses Jekyll and is now hosted on official KDE servers. It replaces the old forum that has significantly lost its users in the past years.\nIf you like our work, please share the website with your friends and subscribers! 🙂 If you find mistakes, report them in VK group messages, contact me or open a Phabricator revision with a fix.\nWe would like to thank Ben Cooksley for his help with website deployment, all the users who participated in beta testing, and everyone who helped polish the content.\n","permalink":"https://ilyabiz.com/2018/09/new-kde-ru-website/","summary":"\u003cp\u003e\u003cimg alt=\"KDE Russia website showing a group photo and product information\" loading=\"lazy\" src=\"/2018/09/new-kde-ru-website/kde-russia-website.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eToday, on September 18th, 2018, the Russian-speaking KDE community launches its updated website on \u003ca href=\"https://kde.ru\"\u003eKDE.ru\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe new website serves as the main page for the Russian-speaking community. It provides localized information about the community, product download links and the list of social network pages we maintain. It is also meant to help new members get involved in KDE\u0026rsquo;s projects, particularly in our translation and promotion efforts.\u003c/p\u003e","title":"New KDE.ru website"},{"content":"Chaos Constructions is an annual computer festival held in Saint Petersburg, Russia. It is centered around demoscene — a form of computer art where participants write programs that produce short audiovisual presentations. Apart from the demoscene contests, you can enjoy computer-related seminars, live acts, and a computer exhibition.\nCC'2018, ZX Spectrum AY-music\nTalks, seminars\nComputer exhibition, retro gaming consoles\nOn 25-26th of August I was lucky to be there and give an introductory talk about Plasma Mobile, Halium and other projects that aim for a complete GNU/Linux experience on smartphones and tablets.\nThat was my first talk at a big event, and I was very emotional and nervous. Nevertheless, the talk went just fine, people were interested in our work around Plasma Mobile, and we had a long discussion about the future of GNU/Linux on mobiles as we see it.\nI plan to turn my talk into a big blog post (or a series, if appropriate) so that all the stuff I collected and learned could be useful for more people. Stay tuned!\nI would like to thank event organizers for the amazing experience and a chance to talk about my passion to the smart geeky crowd of Chaos Constructions! 🙂\nAlso, a big shout-out to @JBBGameich, Bhushan Shah, and @NotKit for their help with putting my device into shape for the talk.\nKirigami Gallery\nTelegram\nDiscover Software Center\nIf you would like to join Plasma Mobile development, you can always find interesting tasks here and here.\nFor more news of the Russian KDE community, join us at vk.com/kde_ru or t.me/kde_ru.\n","permalink":"https://ilyabiz.com/2018/08/plasma-mobile-at-a-demoparty/","summary":"\u003cp\u003e\u003ca href=\"https://2018.chaosconstructions.ru/en/start.html\"\u003eChaos Constructions\u003c/a\u003e is an annual computer festival held in Saint Petersburg, Russia. It is centered around \u003ca href=\"https://en.wikipedia.org/wiki/Demoscene\"\u003edemoscene\u003c/a\u003e — a form of computer art where participants write programs that produce short audiovisual presentations. Apart from the demoscene contests, you can enjoy computer-related seminars, live acts, and a computer exhibition.\u003c/p\u003e\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"ay-music.jpg\"\n         alt=\"ZX Spectrum AY-music event at Chaos Constructions 2018\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eCC'2018, ZX Spectrum AY-music\u003c/p\u003e\n        \u003c/figcaption\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"chaos-talk.jpg\"\n         alt=\"A seminar at Chaos Constructions 2018\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eTalks, seminars\u003c/p\u003e\n        \u003c/figcaption\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"computer-exhibition.jpg\"\n         alt=\"Computer exhibition with retro hardware and gaming consoles\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eComputer exhibition, retro gaming consoles\u003c/p\u003e","title":"Plasma Mobile at a demoparty?"},{"content":"THE EXAMS ARE OVER! Finally!\nMy university freshman year has come to its end. I have successfully passed all the exams (yep, math included), so I\u0026rsquo;m ready to embrace summer adventures!\nWell\u0026hellip; after a bit of sleep, ok? 🙂\n","permalink":"https://ilyabiz.com/2018/06/summertime/","summary":"\u003cp\u003eTHE EXAMS ARE OVER! Finally!\u003c/p\u003e\n\u003cp\u003eMy university freshman year has come to its end. I have successfully passed all the exams (yep, math included), so I\u0026rsquo;m ready to embrace summer adventures!\u003c/p\u003e\n\u003cp\u003eWell\u0026hellip; after a bit of sleep, ok? 🙂\u003c/p\u003e","title":"Summertime!"},{"content":"Better late than never, right? 🙂\nI finally got a small break from the endless studies, so I decided to share my experience during C++ Russia 2018, an amazing C++ developer conference that I was lucky to attend as a volunteer.\nThe conference is a fun 3-day-long event hosted by the C++ Russia User Group, and an opportunity to listen to deep knowledge and practical wisdom of speakers from all over the world. This year\u0026rsquo;s keynote speaker was Jon Kalb, a C++ developer with 25-years of experience.\nI managed to attend a number of talks, including:\nInteractive C++ Compilation (REPL): The Lean Way by Viktor Kirilov C++ No-Launch Code Debugging by Anastasia Kazakova Building in Docker with Conan by Evgeny Lukyanets Concept Based Testing by Dietmar Kühl CMake Pitfalls and Where to Find Them by Dmitry Kozhevnikov WebAssembly Transition: Is It Worth It? by Pavel Bulatov I have also met many interesting people, some developers I previously messaged with, and made new friends 🙂\nI would like to thank Sergey Platonov, the event manager, for this awesome experience.\nRegistration Awaits!\nKDE software lights up the place!\nThe Brave Team behind the scenes\n","permalink":"https://ilyabiz.com/2018/05/cpp-russia-2018/","summary":"\u003cp\u003eBetter late than never, right? 🙂\u003c/p\u003e\n\u003cp\u003eI finally got a small break from the endless studies, so I decided to share my experience during \u003ca href=\"https://cppconf.ru\"\u003eC++ Russia 2018\u003c/a\u003e, an amazing C++ developer conference that I was lucky to attend as a volunteer.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"Ilya wearing a C++ Russia 2018 volunteer shirt\" loading=\"lazy\" src=\"/2018/05/cpp-russia-2018/volunteer-selfie.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eThe conference is a fun 3-day-long event hosted by the C++ Russia User Group, and an opportunity to listen to deep knowledge and practical wisdom of speakers from all over the world. This year\u0026rsquo;s keynote speaker was Jon Kalb, a C++ developer with 25-years of experience.\u003c/p\u003e","title":"C++ Russia 2018"},{"content":"This January, an amazing milestone has been passed by the Russian KDE community: our VK group, main local community page, got more than a thousand subscribers!\nGlobally, that doesn\u0026rsquo;t sound like much, but that\u0026rsquo;s really a lot for a local page of a FOSS community!\nMy participation started more than a year ago, and throughout the year we\u0026rsquo;ve been covering all major events in community life, helping new users find their ways in FOSS and KDE in particular, inviting everyone to participate and do whatever they can to make the bright future of software freedom closer.\nThis year we made a friendly Telegram chat and bridged it to an IRC channel (#kde_ru); I developed a bot that publishes news from our page to the chat and delivers them personally. We established a good relationship with local openSUSE and Qt communities.\nNo doubt, there\u0026rsquo;s a lot to be done to make our community a brighter, stronger, more welcoming place. But I am proud of what we have achieved and look forward with passion.\nIf you speak Russian and would like to help spread the word about free software, you are always welcome to join us! 😃\n","permalink":"https://ilyabiz.com/2018/02/kde-russia/","summary":"\u003cp\u003eThis January, an amazing milestone has been passed by the Russian KDE community: \u003ca href=\"https://vk.com/kde_ru\"\u003eour VK group\u003c/a\u003e, main local community page, got more than a thousand subscribers!\u003c/p\u003e\n\u003cp\u003eGlobally, that doesn\u0026rsquo;t sound like much, but that\u0026rsquo;s really a lot for a local page of a FOSS community!\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"KDE Russia VK community page with 1,068 members\" loading=\"lazy\" src=\"/2018/02/kde-russia/kde-russia-vk-page.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eMy participation started more than a year ago, and throughout the year we\u0026rsquo;ve been covering all major events in community life, helping new users find their ways in FOSS and KDE in particular, inviting everyone to participate and do whatever they can to make the bright future of software freedom closer.\u003c/p\u003e","title":"KDE Russia"},{"content":"Halium is a hardware abstraction layer developed collaboratively by multiple open source communities (KDE, UBPorts, Mer, LuneOS) to enable Android devices to run GNU/Linux distributions.\nI had posted this news on Twitter some time ago, but I\u0026rsquo;m still happy that my port got mature enough to deliver hardware-accelerated graphics:\nThis port is quite special as the phone has an x86 CPU, a PowerVR GPU and a closed-source HWComposer. To make it possible, I authored a number of patches to Libhybris and Halium; as of now, most of them have been merged. I am going to continue my work on the device.\n","permalink":"https://ilyabiz.com/2018/02/halium-on-asus-zenfone-5/","summary":"\u003cp\u003e\u003ca href=\"https://halium.org\"\u003eHalium\u003c/a\u003e is a hardware abstraction layer developed collaboratively by multiple open source communities (KDE, UBPorts, Mer, LuneOS) to enable Android devices to run GNU/Linux distributions.\u003c/p\u003e\n\u003cp\u003eI had posted this news on Twitter some time ago, but I\u0026rsquo;m still happy that my port got mature enough to deliver hardware-accelerated graphics:\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"ASUS ZenFone 5 running a hardware-accelerated spiral demo with Halium\" loading=\"lazy\" src=\"/2018/02/halium-on-asus-zenfone-5/halium-zenfone.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eThis port is quite special as the phone has an x86 CPU, a PowerVR GPU and a closed-source HWComposer. To make it possible, I authored a number of patches to Libhybris and Halium; as of now, most of them have been merged. I am going to continue my work on the device.\u003c/p\u003e","title":"Halium on ASUS ZenFone 5"},{"content":"Hello blog, no news from me for a while 😅\nStudies at the university are really overwhelming, and I feel that passing my first exams was a major step in my life.\nDespite my week off coming to its end already, I still haven\u0026rsquo;t done many things I planned: my brain felt exhausted, and I couldn\u0026rsquo;t help spending time watching TV series and stuff 🙂\nAnyway, I still have some news to share, and so I will in next blog posts.\n","permalink":"https://ilyabiz.com/2018/02/exams-are-over-new-studies-coming/","summary":"\u003cp\u003eHello blog, no news from me for a while 😅\u003c/p\u003e\n\u003cp\u003eStudies at the university are really overwhelming, and I feel that passing my first exams was a major step in my life.\u003c/p\u003e\n\u003cp\u003eDespite my week off coming to its end already, I still haven\u0026rsquo;t done many things I planned: my brain felt exhausted, and I couldn\u0026rsquo;t help spending time watching TV series and stuff 🙂\u003c/p\u003e\n\u003cp\u003eAnyway, I still have some news to share, and so I will in next blog posts.\u003c/p\u003e","title":"Exams are over, new studies coming"},{"content":"ITMO University is a very welcoming place, and I enjoy so much being here 🙂\nWelcome party!\nNew friends!\nStudent docs\nAlso, I finally have a stable web connection.\nP.S. And all in all, St Petersburg is not THAT rainy?\n","permalink":"https://ilyabiz.com/2017/09/studies/","summary":"\u003cp\u003eITMO University is a very welcoming place, and I enjoy so much being here 🙂\u003c/p\u003e\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"welcome-event.jpg\"\n         alt=\"ITMO University welcome event outside the Baltic House\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eWelcome party!\u003c/p\u003e\n        \u003c/figcaption\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"new-friends.jpg\"\n         alt=\"New ITMO University students gathered on a lawn\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eNew friends!\u003c/p\u003e\n        \u003c/figcaption\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"student-documents.jpg\"\n         alt=\"A grade book and student ID\"/\u003e \u003cfigcaption\u003e\n            \u003cp\u003eStudent docs\u003c/p\u003e\n        \u003c/figcaption\u003e\n\u003c/figure\u003e\n\n\u003cp\u003eAlso, I finally have a stable web connection.\u003c/p\u003e\n\u003cp\u003eP.S. And all in all, St Petersburg is not THAT rainy?\u003c/p\u003e","title":"Studies"},{"content":"In a couple of hours I\u0026rsquo;m leaving my home city and going to Saint Petersburg, where I\u0026rsquo;m going to study for a software engineer in ITMO University for 4 years. I\u0026rsquo;ll be there tomorrow, but I probably won\u0026rsquo;t have a stable Internet connection for a while. If I don\u0026rsquo;t answer your messages, it\u0026rsquo;s just that I can\u0026rsquo;t 😉\nBest wishes 😃\n","permalink":"https://ilyabiz.com/2017/08/itmo-university/","summary":"\u003cp\u003eIn a couple of hours I\u0026rsquo;m leaving my home city and going to Saint Petersburg, where I\u0026rsquo;m going to study for a software engineer in ITMO University for 4 years. I\u0026rsquo;ll be there tomorrow, but I probably won\u0026rsquo;t have a stable Internet connection for a while. If I don\u0026rsquo;t answer your messages, it\u0026rsquo;s just that I can\u0026rsquo;t 😉\u003c/p\u003e\n\u003cp\u003eBest wishes 😃\u003c/p\u003e","title":"ITMO University"},{"content":"Hey blog! How about a new blog post? 🙂\nThere have been no messages from me for a while, mostly due to my exams, and I feel guilty of the silence. Now that\u0026rsquo;s high time I write about my experience.\nThe most important event in my life for the past few months is the Google Code-In trip. It was an amazing opportunity to meet so many interesting people, see lots of stunning views, visit lots of amazing places, hear talks about topics I\u0026rsquo;ve never thought of before and make new friends.\nA small KDE meetup 😄 (Sergey Popov, Kevin Funk and me)\nMissing all of them\u0026hellip;\nIvan Smirnov told us a bit about his work at Google\nWith all the planes, trains and buses, it was also a big journey with an 11-hour time difference from my home.\nMe at the New York airport (JFK)\nI am SO thankful to the Google Open Source team, particularly Stephanie and Mary, for their continuous work on making Google a hospitable place for students, mentors and parents from all over the world. They paid special attention to the food (yummy!) and even invited whales 🙂\nMe, Stephanie, Mary and Sergey!\nGear cupcakes!\nA WHAAALE! 🐋\nI am looking forward to meeting my new friends again.\nAt the moment, me, Filip Grzywok and Soham Sen (other GPW winners) are working on a cool app. I highly recommend you to follow updates on the development; we expect our project to be released by the end of the summer.\nI am also now working on porting Halium, a hardware abstraction layer developed by KDE, UBPorts, Mer and Sailfish, to ASUS ZenFone 5. It\u0026rsquo;s quite difficult for me, but the communities around the project are very helpful (special thanks to Bhushan Shah and JBB) and I learn quite fast. When I succeed with porting, my phone is going to be the first x86 device to run Plasma Mobile!\nCurrently, I am entering a university. That\u0026rsquo;s an important step in my life, so I am very immersed in it.\nThat\u0026rsquo;s it! Hope you enjoyed reading and don\u0026rsquo;t feel like having wasted your time. If you want to ask me anything, suggest an idea on improving my blog or just talk, feel free to contact me by any means suggested in \u0026ldquo;Contacts\u0026rdquo;.\nHave a great day!\n","permalink":"https://ilyabiz.com/2017/07/mountain-re-view/","summary":"\u003cp\u003eHey blog! How about a new blog post? 🙂\u003c/p\u003e\n\u003cp\u003eThere have been no messages from me for a while, mostly due to my exams, and I feel guilty of the silence. Now that\u0026rsquo;s high time I write about my experience.\u003c/p\u003e\n\u003cp\u003eThe most important event in my life for the past few months is the Google Code-In trip. It was an amazing opportunity to meet so many interesting people, see lots of stunning views, visit lots of amazing places, hear talks about topics I\u0026rsquo;ve never thought of before and make new friends.\u003c/p\u003e","title":"Mountain Re-View"},{"content":"If someone asked me to describe Google Code-In with one word, I would definitely say “amazing”. And that\u0026rsquo;s not just a common word: that\u0026rsquo;s what this contest really makes me feel.\nTo begin with, I learned about GCI by chance in a few days after its start. After registration and completing my beginner tasks, I was scrolling through the enormous task list choosing the one for me when I suddenly read “KDE”.\nI did not know that my favorite community is a participating organization. So I revised my knowledge of Qt, prepared my programming tools and… opened Inkscape! Most of the tasks I completed in Google Code-In are design tasks. I designed a bunch of logo variants for KDE neon and a leaflet for Plasma, helped update application screenshots on kde.org, but what I am really proud of is redesigning 16 (!) activity icons for GCompris.\nI now work on 6 more icons, and it feels like creating an icon pack 🙂\nSuch focus on design is not accidental: in my opinion, core functionality in open source projects is usually already quite polished due to many developers contributing to it, while design, considered “unimportant”, often lacks. This is not the case of KDE, which is yet another reason for admiration; but I think there are still things to improve, and so I do 😃\nOn the programming side, I helped fix some Clazy warnings in Dolphin. The perfectionism that is found in every line of code, every guideline and in people\u0026rsquo;s attitude made me reevaluate the amount of effort put in the software I use every day.\nI was going to help KDE community, and I found KDE helping me 🙂\nDuring the contest, I learned to use IRC, Phabricator, Git Review Board, CMake and Clazy. Also, my vector drawing skills have greatly improved. I even learned French regions!.. 🙂 This led me to understanding that the word “student”, so commonly used in GCI, does not only mean “high school student”: it also means “Google Code-In student”, and I am proud of being one.\nI still have about a week, and I hope to help as many KDE projects as possible, meet new people and prove the world that software can be beautiful! And no matter if I win the contest or not, my KDE journey does not end there.\nThank you, KDE!\n","permalink":"https://ilyabiz.com/2017/01/my-google-code-in-experience/","summary":"\u003cp\u003eIf someone asked me to describe Google Code-In with one word, I would definitely say “amazing”. And that\u0026rsquo;s not just a common word: that\u0026rsquo;s what this contest really makes me feel.\u003c/p\u003e\n\u003cp\u003eTo begin with, I learned about GCI by chance in a few days after its start. After registration and completing my beginner tasks, I was scrolling through the enormous task list choosing the one for me when I suddenly read “KDE”.\u003c/p\u003e","title":"My Google Code-In experience"},{"content":" My name is Ilya Bizyaev, I am a Software Engineer at Google Munich. Aside from work, I enjoy designing and implementing open-source software in my spare time. Some of my skills and projects are listed below.\nFeel free to contact me using any means mentioned here.\nProjects At Google Authentication I am proudly involved in Google\u0026rsquo;s efforts to develop more secure and maintainable authentication mechanisms.\nAppEngine (Google Cloud Platform) Previously, I worked on modernizing Google AppEngine\u0026rsquo;s infrastructure — for more flexibility and performance.\nChrome OS Enterprise features My first contribution at Google was the addition of advanced access controls for enterprise Chromebook fleet administrators to the Linux virtualization subsystem.\nIn the KDE Community KDE Russia I promote KDE software in Russia by writing articles and how-tos, translating news and administrating social network pages and chats. I also develop a Telegram bot for group management and news posting and the website.\nKDE Russia homepage: kde.ru\nPlasma Mobile \u0026amp; Halium I worked with the Plasma Mobile and Halium projects to help build a free user-friendly mobile OS for everyone. This involved hardware adaptation and application development.\nPlasma Mobile: plasma-mobile.org\nHalium: halium.org\nKaidan Kaidan is a user-friendly cross-platform XMPP-based chat built on top of KDE\u0026rsquo;s Kirigami UI framework. I authored some contributions to the visual components, including a refreshed logo, and extended operating system support.\nWebsite: kaidan.im\nTalks Chaos Constructions 2018 I gave a talk about GNU/Linux architecture on mobile devices at Chaos Constructions 2018.\nMore: ilyabiz.com/2018/08/plasma-mobile-at-a-demoparty\nContests Google Code-in 2016 I am a grand prize winner of the Google Code-in 2016 contest. Together with other fellow open source contributors I visited the Google HQ in Mountain View, CA. It was an amazing experience! 🙂\nMore: dot.kde.org/2018/10/23/google-code-2018-about-start\nVK Hackathon Participated as part of Team Userspace.\nWebsite: vk.com/hackathon\nVolunteering C++ Russia 2018 Details: ilyabiz.com/2018/05/cpp-russia-2018\nWebsite: cppconf.ru\nNEERC 2017-2019 ICPC (The International Collegiate Programming Contest) is an algorithmic programming contest for college students.\nNERC (Northern Eurasia Regional Contest) is the ICPC finals for Northern Eurasia. It is held annually at ITMO University, the lovely place where I study.\nIn 2017-2019, I participated in NERC three times as a Technical Committee Assistant.\nWebsite: neerc.ifmo.ru\n","permalink":"https://ilyabiz.com/me/","summary":"\u003csection class=\"about-intro\"\u003e\n  \u003cimg\n    class=\"about-intro-photo\"\n    src=\"profile-photo.jpg\"\n    alt=\"Ilya Bizyaev wearing an ICPC NEERC volunteer shirt\"\n    decoding=\"async\"\n  /\u003e\n  \u003cdiv class=\"about-intro-text\"\u003e\n    \u003cp\u003eMy name is Ilya Bizyaev, I am a Software Engineer at Google Munich. Aside from work, I enjoy designing and implementing open-source software in my spare time. Some of my skills and projects are listed below.\u003c/p\u003e\n\u003cp\u003eFeel free to contact me using any means mentioned \u003ca href=\"/contacts/\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\n  \u003c/div\u003e\n\u003c/section\u003e\n\n\u003ch1 id=\"projects\"\u003eProjects\u003c/h1\u003e\n\u003ch2 id=\"at-google\"\u003eAt Google\u003c/h2\u003e\n\u003csection class=\"project\"\u003e\n  \u003cimg\n    class=\"project-logo\"\n    src=\"google-account-security.png\"\n    alt=\"Google Account security shield\"\n    loading=\"lazy\"\n    decoding=\"async\"\n  /\u003e\n  \u003cdiv class=\"project-description\"\u003e\n    \u003ch3 id=\"authentication\"\u003eAuthentication\u003c/h3\u003e\n\u003cp\u003eI am proudly involved in Google\u0026rsquo;s efforts to develop more secure and maintainable authentication mechanisms.\u003c/p\u003e","title":"About me"},{"content":" E-mail: me[at]ilyabiz.com LinkedIn: https://www.linkedin.com/in/ilya-bizyaev/ Telegram: @ilyaishere GitHub: IlyaBizyaev Matrix: @ilya_b:kde.org ","permalink":"https://ilyabiz.com/contacts/","summary":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eE-mail:\u003c/strong\u003e me[at]ilyabiz.com\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLinkedIn:\u003c/strong\u003e \u003ca href=\"https://www.linkedin.com/in/ilya-bizyaev/\"\u003ehttps://www.linkedin.com/in/ilya-bizyaev/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTelegram:\u003c/strong\u003e \u003ca href=\"https://t.me/ilyaishere\"\u003e@ilyaishere\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGitHub:\u003c/strong\u003e \u003ca href=\"https://github.com/IlyaBizyaev\"\u003eIlyaBizyaev\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMatrix:\u003c/strong\u003e \u003ccode\u003e@ilya_b:kde.org\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e","title":"Contacts"}]