Roger So: Happy 13th Birthday, Debian
, ! Sadly no Debian birthday party tonight in Hong Kong, since everyone is so busy… actually which DD is still in HK nowadays?
Tag: Debian
quest upstart% ./initctl trigger test-event
ping (start) starting, process 5029 active
script (start) starting, process none
script (start) running, process 5031 active
test-event event triggered
quest upstart% ./initctl status ping
ping (start) running, process 5040 active
quest upstart% ./initctl jobs &
[1] 5442
quest upstart% kill 5040
ping (start) respawning, process none
ping (start) running, process 5450 active
quest upstart% ./initctl status ping
ping (start) running, process 5450 active
quest upstart% ./initctl stop ping
ping (stop) running, process 5450 killed
Hello Daniel,
Thank you for writing in. My personal apologies for what happened, this is
not allowed behavior here at Google and this email was mistakenly sent to
you. Mistakes happen but we're sorry that this particular mistake
happened, unsolicited email is not acceptable. If you have any further
questions, please do not hesitate to email us.
Sincerely,
Sam
The Google Base Team
We found this e-mail address from the public Google search results.Can someone please explain to me how spamming public lists is somehow compatible with Google's stated 'don't be evil' ethos? freedesktop@l.fd.o wasn't the only list to get hit. Very disconcerting.
$ mv .ssh/ .ssh.old/
$ python
>>>import gnomevfs
>>> gnomevfs.get_file_info( "ssh://aigarius:password@aigarius.com/home/aigarius" )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
gnomevfs.AccessDeniedError: Access denied
>>>
$ ssh aigarius.com
The authenticity of host 'aigarius.com (85.254.216.40)' can't be established.
RSA key fingerprint is 6d:29:c0:f3:d0:84:c9:a9:d9:4c:7e:e3:1a:18:a2:e2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'aigarius.com,85.254.216.40' (RSA) to the list of known hosts.
aigarius@aigarius.com's password: *******
[...]
aigarius.com$ exit
$ python
>>>import gnomevfs
>>> gnomevfs.get_file_info( "ssh://aigarius:password@aigarius.com/home/aigarius" )
<gnomevfs .FileInfo 'aigarius'>
>>>
Of course, this is mentioned nowhere in the sparse documentation. Please keep me away from the person who wrote GnomeVFS and its Python bindings. Bloodshed might ensue. Bug reported
Why can’t someone write a nice, light, working network file transfer protocol abstraction library that would be independent of any desktop environment (bonus) and a working X server (I am looking at you, GnomeVFS). Something that would simply provided all file and folder manipulation operations in sync and async ways in such way that those operations work completely uniformly across all supported protocols. Support for at least ssh and ftp is essential, webdav, nfs, rsync and other protocols that allow writing files to remote locations and http, https and other protocols that only allow read only access to remote files would be very welcome. The library should be in C with bindings in C++, Python, Perl, Ruby, PHP and also a command line processor that would allow all commands to be used in a shell script.
Guess who’s paying Amtrak… a lot…

(via Luke Welling)
| [*] | since almost every write() changes the file size, it would be a massive performance hit if every size change was logged. However, XFS actually violates its own journaling rules by doing this. |
One of the major problems of all journalled filesystems especially on notebooks/desktop machines leading to filesystem corruption is the harddisk writeback cache (enabled by default). With the writeback cache some writes are not immediately written to disk Now if a crash happens some of the data may not have hit the disk. The journalling filesystems however need a way to rely that the certain writes have hit the disk to ensure filesystem consistency. There are two solutons: Enable write barrier support in the filesystems (avalable for ext3 since around 2.6.8, mount option: barrier=1, available for the other filesystems as well now probably) or disabling the write cache altogether with hdparm/sdparm.XFS supports barriers as well, but unfortunately not yet on non-physical media, like RAID or dm-crypt. ext3 seems to work okay on both. Enable your barriers today!
C:\ to arete’s ext3 /home. Moving wasn’t an option either; although Dad would very much like to try out Ubuntu, he still had some projects (especially the newletter) that needed, uhm, proprietary software to work (sigh.) Thus, remembering that Linux already had some way of reading NTFS partitions, I promptly Googled about it.
I also knew that the Linux-NTFS guys (who made the ntfsprogs suite and kernel module) were already working on getting full read/write NTFS support on Linux, but it didn’t occur to me that they were able to get a working implementation done so soon…
Enter ntfs-3g: the third generation Linux-NTFS driver. Weighing in at around 550K, this seems to be the one thing that I need for my problem. From the looks of it, ntfs-3g can both read from and write to NTFS partitions, allowing one to create, delete, and update files and directories on the system; it can even allow access to certain metadata that even Windows XP hides from its users. Furthermore, its built from the ground up as a filesystem-in-userspace driver, using the Linux fuse subsystem. It certainly looks very attractive indeed.
So, being the sysadmin for arete that I was, I quickly decided to give ntfs-3g a try. After all, it was a simple matter of grabbing the tarball, then reading the README, then doing the three-step tango of ./configure; make; sudo make install, then calling ntfs-3g /dev/hda1 /media/hda1 -o umask=007 as root.
Right?
Wrong. I quickly ran into a trio of subproblems: first, I needed fuse (>= 2.5.0); the one Dapper had on its official archives was 2.4.2 . So, naturally, I had to make a quick backport of the fuse source from Edgy (2.5.3), but I at this point I ran into the second problem: for Eggy’s fuse to get busted, I needed the new makedev (2.3.1) as well. Forgetting to do apt-get -f install for the moment, I grabbed Edgy’s makedev and proceeded backporting it, which ran me against the last problem: I also needed the newest sysvinit (2.86.ds1). In short, I needed to do a trio of backports first before being able to build ntfs-3g. My own fuse was almost ready to explode.
Fortunately, everything went fine after the backports (thank goodness for my being a Debian package maintainer and MOTU,) so I didn’t break my own fuse after all. Soon after, I was reading and writing stuff to and from /media/hda1 without so much as batting an eyelash. Dad was definitely pleased, since that meant that he no longer had to dread the thought of having to maintain two separate document trees and cause him pain and gnashing of teeth. I was glad too, since I no longer had to dread the thought of having to hack on this today, causing me to disrupt my Summer of Code schedule.
But, being the packager that I was, I realized that I could make the world a better(?) place by turning ntfs-3g from a regular Joe source to a real Debian/Ubuntu package. While I was happily waiting for ntfs-3g’s build to complete, I happened to pass by a certain HOWTO on the Web using pre-built fuse and ntfs-3g Ubuntu packages. I grabbed those packages, and took a look at them, and while they were pretty much useful, the ntfs-3g package certainly did not look to pass the gold(?) standards of Debian and Ubuntu: the ntfs-3g package was a single binary package, shipping both a shared library and its headers, coupled with the working binaries. It had outdated FSF addresses too, which my bugging Lintian pointed out to me.
With some more extra time to spare on arete, I decided to go ahead and build proper a proper source package for ntfs-3g, producing the three binary packages ntfs-3g (containing ntfs-3g and mount.ntfs-3g,) libntfs-3g0 (depended on by the former package,) and libntfs-3g-dev (containing the include headers.) CDBS and debhelper definitely made this easy pickings, and made my life with ntfs-3g easier.
And, I’m going to make everyone else’s life with ntfs-3g easier, by making this package available for nit-picking. tr command:
echo -n abweqsq@@@uqfqvmb.vmb tr -s @a-z@ @s-za-r@
I don't know if it will be useful, but at least it looks a lot more freaky ;).
Next.