Archive for the ‘Desktop Computing’ Category
One way Microsoft could resuscitate Windows
I said in a previous post that I didn’t dislike the Gates/Seinfeld Churro Ad. That (and the recent TWiT discussion about it and cloud computing) got me thinking about what Microsoft could do to resuscitate themselves.
It seems to me that Apple presents itself as the creative platform. Microsoft, on the other hand seems to be the business platform. What do business users care about? Productivity. Read the rest of this entry »
WikidPad on multiple computers synced with Git
There was apost over at wikidpad-devel | Google Groups, where someone talked about using Drop Box to sync WikidPad databases. The person used the original_sqlite database format of WikidPad.
I personally like the “Original SQLite” format for storage. This internal database has the following properties:
The data for your wiki is stored in plain text under the data
directory of the directory your Wiki config is stored in. There is one
file per wiki word. The database to index the wiki is stored in the
file “wikiovw.sli”.
Which is great, because I get all the features of SQLite search/indexing, but all my pages are in a text format.
The great thing about this setup is that I can use version-control to keep them in sync. I originally thought about using SubVersion. However, I decided to go with a distributed version control system instead. I took a hard look at both Mercurial and Git. I decided on Git since it does implicit renames rather than explicit renames. This means that I don’t have to write any hooks in WikidPad for when there is a rename/copy of a page. Of course, I could do without this feature in Mercurial, and it would still work. It’s just nice that Git does provide the benefit of diff-based storage without the need for explicit copies/renames/moves.
So, I keep two WikidPad notebooks going: a Work one, and a Personal one. The Personal one is on all the computers at home (Windows Laptop, Windows Desktop, FreeBSD server). It is also on a USB thumb drive. One of the features of git is that the entire repository comes along with a working copy. Let’s say I’m editing a WikidPad page at home that I already edited on another computer. I don’t have to worry about syncing. I can check in both changesets and merge later. This is a feature that Mercurial also has.
That’s the great thing about text files: they work very well with version-control systems.
I also use the ScrapBook extension from Firefox to archive/annotate pages from the web. The extension saves an index of the pages in RDF format. RDF is a form of XML, which was touted as a better way to save data because it is text-based. Curiously, XML doesn’t work well with any merge tool I’ve come across. I’ll post about my descent down this rat-hole (and how I got around it) later.
Autohotkey transparency script
I use WikidPad at work (and at home) to keep logs/notes on tasks that I’m doing (or want to do). One nice feature of WikidPad is that it has an “always on top” setting which keeps the WikidPad window on top while another window (behind it) is active.
I use this feature with my VNC session (most of my work is on Linux) so that I can copy/paste results and snippets. Unfortunately, a lot of time the result itself (due to its placement within the VNC session) is right behind the WikidPad window. It would be nice to have WikidPad be transparent.
Turns out, AutoHotkey already has this feature. The following script does the trick:
#T:: DetectHiddenWindows, on WinGet, curtrans, Transparent, A if ! curtrans curtrans = 255 newtrans := curtrans - 64 if newtrans > 0 { WinSet, Transparent, %newtrans%, A } else { WinSet, Transparent, 255, A WinSet, Transparent, OFF, A } return #w:: DetectHiddenWindows, on WinSet, TransColor, Black 128, A return #o:: WinSet, Transparent, 255, A WinSet, Transparent, OFF, A return #g:: ; Press Win+G to show the current settings of the window under the mouse. MouseGetPos,,, MouseWin WinGet, Transparent, Transparent, ahk_id %MouseWin% WinGet, TransColor, TransColor, ahk_id %MouseWin% ToolTip Translucency:`t%Transparent%`nTransColor:`t%TransColor% return
Key codes:
<Win>+T: Increments transparency by 25% (with wrap-around) <Win>+W: Set black color to be 50% transparent (also does click-through) <Win>+O: Reset transparency settings
Here’s a screenshot of a partially transparent WikidPad hovering over a full-screen VNC session; Ion3 is my window manager: