Wednesday, July 6, 2022

Some Thoughts about the Future of the Linux Desktop

Now is time for a somewhat incoherent ramble about my thoughts about the Linux desktop.  Earlier today was a post on Hacker News regarding an announcement from the GNOME development team that GTK 5 will be exclusively for Wayland, thus dropping support for the venerable X Window System.  I have many thoughts about the transition from X11 to Wayland.  I won't share all of them, but while I believe that X11 is quite complex and a replacement will be welcome, I'm also concerned that many good aspects of the X11 ecosystem, such as the ability to run GUI applications remotely, the ability to choose between a wide array of window managers, and support for non-Linux operating systems such as the BSDs, will be lost partly due to the consequences of how Wayland is designed and also due to the effort required to convert window managers for X to Wayland compositors.

I'm also concerned about the influence that influential big players have on the Linux desktop community despite the feelings of the overall community.  We've seen this play out with the controversy behind GNOME 3 (which led to the splintering of the GNOME 2 userbase into three competing desktops: GNOME 3, MATE, and Cinnamon), the stewardship of the GTK toolkit (is it the GNOME toolkit, or should its maintainers keep it a general-purpose toolkit, recognizing that non-GNOME desktops and applications depend on it), and the adoption of systemd.  It seems that certain decisions have been foisted upon the Linux community.  Many of us are drawn to free, open source software because we don't like the decisions foisted upon us by Microsoft or Apple.  But to our dismay, we can't escape this even in the FOSS ecosystem.  "If you don't like it, then make a fork and modify the code," some people retort.  But one has to be really dedicated to learn and modify software that contains hundreds of thousands of lines of code.  Thus, many of us have no effective choice but to live with the changes, which leads to resentment, which leads to flamewars on social media.

But does it have to be this way?  Is there a way for technically-inclined users to get the desktops that they want?  I believe there is a pathway to get there, and the pathway is through embracing simple, modular, composable software rather than building large edifices and platforms that seek to directly take on major players like Apple, Google, and Microsoft.  I believe that we can learn from projects such as Smalltalk, Project Oberon, Plan 9, OpenDoc, and Microsoft's 1990s technologies (OLE, COM, ActiveX) and update this for the 2020s to build component-based GUIs.  I also believe that we can take lessons from the STEPS project, which was an effort from Alan Kay's Viewpoints Research Institute to build an entire operating system with a GUI in just 20,000 lines of code.  Reducing the amount of code needed to build a complete system may revolutionize open source software, since this may enable users to be better equipped to make contributions to the code base since the code would be easier to understand.  There would be far less complaining about GNOME, systemd, and other software projects if it were easier for users to respond to the common "if you don't like it, then fork it" retort by doing exactly that.

Tuesday, April 19, 2022

Plan for Studying for Level N3 of the Japanese Language Proficiency Test

It's been a while since I last made a blog post.  A lot has been going on, both in the world and also in my personal life, but I thought I'd share my plans for studying for Level N3 of the Japanese Language Proficiency Test (JLPT), which will be held on Sunday, December 4, 2022 provided that the pandemic won't worsen around that time.

I've been studying Japanese on-and-off for over 22 years, ever since I was a fifth grader.  In high school I attended a Saturday Japanese language school called Sakura Gakuen in Sacramento, and after graduating from Cal Poly with my bachelor's degree, I moved to Japan for eight months to intern at Fujitsu Laboratories Ltd. in Kawasaki.  Living in Japan was one of the greatest experiences in my life.  My Japanese skills improved dramatically while I was in Japan.  Unfortunately my Japanese skills laid stagnant since returning to America due to the demands of graduate school and other things happening in my personal life.  While my Japanese didn't worsen thanks to subsequent vacations to Japan as well as watching Japanese dramas and listening to Japanese music, my Japanese didn't dramatically improve.  I attempted Level N4 of the JLPT back in December 2012.  While I did very well on the vocabulary section (I credit that to spending over a year studying the Core 6000 Japanese vocabulary deck via Anki), and while I passed each individual section, I did not meet the overall passing bar for the exam; it was the listening section that was the most difficult for me and where I scored the lowest.

Recently I've been getting serious about studying Japanese again for personal and career reasons.  I've dreamed of becoming fluent in Japanese for over 20 years, and I want to put in the hard work to fulfill this dream.  Back in October I started taking a free Japanese course hosted by the Santa Clara Valley Japanese Christian Church.  The church offers Japanese classes at various levels and are taught by skilled Japanese teachers who are also native speakers.  I am currently taking the highest level offered, which uses Genki II as the textbook and meets every other week (due to the COVID-19 pandemic our courses were held online via Zoom).  The classes are at a gentle pace; there are no homework assignments or exams.  This fit well with my lifestyle, since at the time I started the class I was teaching a course on programming languages at San Jose State University.  The teacher is very friendly, and I enjoy interacting with her and the other students; since there are less than ten of us we're able to get individual attention during each biweekly lesson.

Since the school year at Santa Clara Valley Japanese Christian Church is ending and there's no summer instruction, I've thought about my next steps.  I want to take Level N3 of the JLPT.  My goal is to become fluent in Japanese, and part of this goal includes taking Level N1, the most advanced level, of the JLPT, which I want to take in either 2024 or 2025.  Since I have until December 4 to prepare for the N3 exam, and since my current textbook (Genki II) only covers JLPT N4 material, I'm going to need to increase the intensity of my studies.  However, I have more free time this year; I don't plan to teach during the rest of 2022.  Therefore I will be using some of my free time to prepare for level N3 of the JLPT.

Below is my plan:

  1. Finish Genki II, which covers the material needed to pass JLPT N4.  I should be able to finish this textbook no later than mid-July.
  2. Complete the entirety of Tobira, an intermediate-level textbook that is said to cover JLPT N3 material according to various online forums.  I plan to finish this textbook no later than the end of October.
  3. Beginning in September, begin taking practice JLPT N3 exams, making sure to brush up on weak points after each attempt.
  4. Throughout the next eight months I will be spending more time building my listening comprehension skills in Japanese.  I plan to do so by watching more Japanese dramas and movies, as well as using Japanese in conversation more.
  5. I am also studying the Mangajin series, which can be found here.  I recently saw a Hacker News post recommending the series.

I'm looking forward to making more progress with my Japanese studies and climbing each JLPT step until I make it to Level N1.  I'm glad I finally have the time again to take my Japanese studies seriously.