How to deal with Patch Rejection
When use the old good tool patch
, rejections are commonly seen. AFAIK, the
only way to handle it properly is manual fixing. However if you are not
intimately familiar with the code base and if the difference is subtle, this
approach can become frustratingly tedious. This post explores one experiment to
try to get computer to help, i.e. scripts to identify the difference.
Symbolic links on Windows
Symbolic link is a very convenient facility to organize your files. When using
Bash
on Windows, there are multiple options that simulate the native symlink
as on Linux. This post records my experience with them and also some other
useful tips.
Still Emacs, still Tufte
Quite long ago, I started to use Tufte
style for my blog posts. The liquid
tags used is from Immaculate
. As with all plain-text formatting, these tags
eventually get in the way.
From Word-like WISIWIG to plain-text formats like the venerated Tex
or much simpler ones Markdown
or Org-mode
, the key differences are whether the formatting tags are seen and how demanding the formatting requirement is. The formatting requirement of Tufte
style is more demanding than conventional markdown documents and thus the tags feel more cluttering. As a weekend project, I hacked a
markdown-tufte
extension for Emacs
. It help me cope with the
sidenote/marginnote mess.
Understand 'Just Enough' GObject For Code Reading
Without referring to GObject
documentation or any online posts
For the record, I can not claim I have never been exposed to GObject
materials. The best I can say is that I haven’t systematically learnt GObject
., understand just enough knowledge about GObject
for the
purpose of reading related code. The process is question-driven and
code-inspired.
Code-Reading: The Racing Of Two Agents
From a bug due to a race condition between two polkit agents, this post explain
the handling of the startup components and autostart apps within gnome-session
.
Writing habit and tools
As a follow up to my TODO review, I’ve rolled out the first draft of a writing habit, together with an over-enginered tool, habit, to enforce it.
Try Out Bash on Unbuntu on Windows
Windows Subsystem for Linux is the new toy Microsoft brings to developers. Having played it for one day, I feel it’s still not good enough for daily use, but a possible alternative when necessary.
A learning guide for GNOME Shell bug fixing
A curated list of learning materials, references for GNOME Shell (bug-fixing) developers – very pragmatic.
Revisiting TODO of this site
With a revamping done, it’s a good moment to reflect upon the old plan I had for this site and some ideas about it in the future.
A Reflection on Content Management
Just some thoughts on “How do I manage files/content on computers?”.
Adapt other than Configure
After many years of unscrutinized way of configuring – try to make things “the right way”, I’ve realized that in many cases adaption is better. It offers the most smooth entry into new fields, more productivity from the very start and it’s also pedagogically the best way to learn from others. Configuring still matters but only when it really matters. Stay focused, unscrutinized configuring is essentially premature optimization.
Installing SLED 12 with PXE using libvirt
Recently I get a task to fix a bug related to SLED in KVM. Since there is a local PXE server for easy installation, I've planned to install SLED in KVM through PXE. Here is the struggle I've been through.
TODO (old page before 201608)
DISCLAIM: This post is the old TODO page. Archived as a psot for reference.
We list some long-term TODO entries here. For now only entries related to this blog site are included.
Java Programming Language Specification
The last several weeks I've been skimming through James Gosling, Bill Joy, Guy Steel, Gilad Bracha, The JavaTM Language Specification - 3rd edition. An old book, but I happen to have a printed version around. So I guessed that reading through it would be helpful for me to understand language specification in general.
A workflow for bug fixing
As a developer in SUSE Desktop Department, most of my work are bug fixing. Desktop bugs are diversified in nature: you constantly need to handle bugs from an unknown package or some esoteric features. To comb with this reality, I’ve been pondering on the proper methodology.
From Text to simple UML diagram - Tools
My review and survey on textual uml tools
Copy & Change: be careful
The story about a file-roller bug
From Octopress to Jekyll
After 4 months' idleness, I've come back to my blog and decide to take another look at the blogging tools.
Packaging and Several Concepts
The other day some of my colleagues were discussing about how to manage a
package. From what I heard: SUSE
decides to use kernel's bundled DRDB
module
instead of the version built out of DRDB
's source tree, which is dropped in
DRDB
's new version anyway. The package for this new DRDB
is called
DRDB-user
as it only contains the user-space part. The problem rises when a
user of older version of SLE
(SUSE Linux Enterprise) decides to update to this
DRDB-user
. DRDB-user
is said to support some old versions, i.e. for these
versions you can mix up kernel modules from old DRDB
package with newer
DRDB-user
. The question is how to do the packaging? (I am totally ignorant
about DRDB
, so the details might not be exact but the important point here is
packaging.)
Arch for SUSE package development
I work across multiple computers: home PC, my own laptop, company PC and laptop.
And I like to use Arch
for my daily work everywhere. The problem is that
Linux
does a poor job to support new hardware, more so for less known brands.
For example the sleep/hibernation on my AMD-laptop constantly breaks. So I've
opted for a VM/Linux + Windows/Linux
setup. My Arch
runs inside the
VirtualBox
, and basically all I need is to sync the vm
to have a consistent
working environment EVERYWHERE! It took me about one month to adapt to this new
layout, but it feels superb!
Octopress Customization: easy blog source link
Most my posts here are programming-related and one of Org
's killer features is
embedding code (used in literate programming and etc.), I thought why not give
the reader an easier way to access my post source. Chances are that they might
be using Emacs
and Org
, then they can try the code directly without
copying/pasting or the hassle to wade through my source repo ;).
Org-octopress: Links
In Org-Mode Octopress Setup V2, which I am still reading to complete my setup of
Org
with Octopress
, the author mentions the problems with links in Org-mode
Integration.