I wouldn’t believe that I will be writing this 10 years ago. It’s 2020 though. Microsoft has improved a lot of services for Linux, ranging from developer tools like Visual Studio Code, to the protagonist today: Azure (cloud computing). Azure has steadfastly become a real credible alternative to Amazon EC2 (or AWS in general). Today, I want to share my experience of using a virtual machine on Microsoft Azure cloud. To be more specific, it is a Linux desktop virtual machine (SLES 15).Continue reading “Virtual Linux Desktop Experience in Azure”
Microsoft has been steadily enhancing Visual Studio Code Remote Development. One of the components is VS Code Server, which is also open-source and hosted at GitHub. With VS Code Server, you can use Visual Studio Code in a browser. The usual setup involves a server (a VPS perhaps) that hosts the code server. It turns out that it’s also possible to run them locally on your Android device! Here is how.Continue reading “Visual Studio Code Server on Android”
Over the last few weeks, I’ve been working on a new plasmoid (KDE Plasma Applet) that provides a simple interface to monitor stocks. The first version was rather basic, being able to show the current market price only. Now it’s time to announce the availability of the second iteration of YapStocks (Yet Another Plasma Stocks Applet). I’ve recorded a short video clip showcasing all the features it has, ranging from the information summary to the historical price chart.Continue reading “Announcing YapStocks 2.0”
Not sure if this is related to the COVID-19 lockdown, but we’ve seen a lot of geeky hobby projects coming up recently. A lot of community ports have been done over the last few months for niche mobile operating systems such as Sailfish OS. That’s exactly the one I played with briefly after purchasing a second-hand Redmi Note 7 on eBay (don’t ask me if I think it’s a waste of money now LOL).
If you come here hoping to find the resources, head to the GitHub repo directly where you can find the ROMs to download.
Make sure that you’ve unlocked the bootloader already! If not, you need to register a MI account and apply for unlocking here. You must log in to your MI account on both the unlocking tool and your phone (MI, POCO, RedMi). If you don’t have a Windows PC, I recommend using XiaoMiTool V2 which works on macOS, Linux, as well as Windows. Though I couldn’t find this on the official FAQ, you have to have a working SIM card inserted. You have to use the mobile data instead of WiFi when unlocking the bootloader on your phone because XiaoMi is doing some verification.
Another problem I encountered was that in fastboot mode, RedMi Note 7 would just say “Press any key to reboot” when any commands are sent from my laptop. After googling on this, there seems to be a driver bug that makes RedMi Note 7 fastboot USB3 unfriendly. Using a USB-Hub worked for most people, including me 🤷.
I wish you all a successful attempt to flash Sailfish OS into your RedMi Note 7. Here are some screenshots I took.Continue reading “Hands-on Sailfish OS on Redmi Note 7”
當然了，還是不想拋棄堅守Internet Explorer和蘋果家Safari的用戶，所以我們需要一個聰明的外掛程式，在支援WebP的瀏覽器上使用WebP圖形，不支援的話則提供JPEG或者PNG檔案。隨便Google到的一個頗爲流行的免費開源程式WebP Express就是這輛帶我們上路的快車。
在WordPress後臺Plugins頁面搜尋下載好WebP Express並啓用。如果你使用的是Apache，它開箱即可用。如果你使用的是nginx，則需要按照說明稍微配置一下。這裏用的是nginx，而我選的是簡單的CDN Friendly選項，然後批量將全部圖形檔案轉換成了WebP（原始檔案是不會動的）。Alter HTML那個選項一定要開啓不然什麼也不會發生……
- Use the not-yet-stable NodeGUI
- Go Web and use Electron
- Rewrite the core in Python or C++ to use Qt
I’ve explored the option 1, however, I soon ran into the problems with the Model/View/Delegate architecture which means I would have to implement native plugins/add-ons in order to use
ListView. Not to mention the framework itself is still heavily under development.
As for option 2, I’m not a web frontend engineer and personally I much prefer something that is native (or looks and feels native at least). For the third option, it feels a bit overkill but it is a possible way out.
Luckily I don’t have to do the re-implementation, because I’ve managed to get the core functionality bundled into a single JS file which works flawlessly in the QML environment. Before I start diving into the details on how you can make your npm packages work in QML, I have to emphasise that there are many limitations in the QML environment and it’s very likely that only a small subset of the npm package that you’re interested in is going to work.Continue reading “Use npm packages in QML”
Although my personal laptop isn’t getting much attention from me because I’ve spent most of my time on my work laptop (a MacBook Pro) and my Android tablet (Samsung Galaxy Tab S5e), I’ve decided to take good care of its software over last weekend by wiping the SSD clean and installing a fresh OpenSUSE on it. As an old habit, I’m sharing some notes during the installation and later setup. This is, however, the first blog post written in English here (not counting the old ones on no-long-working en.librehat.com).Continue reading “OpenSUSE 15.1 Installation Notes”
最近部落格的WordPress更新頻頻提示出現錯誤，log就簡單地說一句inconsistent permission error，就這樣在網路上搜尋了一會兒才發現，同樣的錯誤提示很可能是有不同的underlying issue，比如可能文件與目錄的權限有被人為修改過（文件必須是644，而目錄必須是755，可以用find指令批量更改），又或者可能是owner和group不一致（
drwxr-xr-x. nginx nginx unconfined_u:object_r:user_home_t:s0 wordpress
chcon -R -t httpd_sys_rw_content_t wordpress
知其然還需知其所以然，繼續Google了一下，在Red Hat的文檔庫找到配置Apache HTTP Server的權限管理文章，裡面有提到