Search Results: "tar"

11 December 2006

Erich Schubert: Solving AJAX issues - error handling

Ajax, when used properly, can be a great user experience. Badly written ajax however can be a pain. Often huge javascript libraries are loaded, it makes your browser and system slow and sometime you just end up staring at an spinning animated gif for "Loading ...". Good Ajax makes the application snappy, responsive, fast, and avoids screen flicker. But with your traditional "get new HTML page" model, error handling is done by your browser. DNS issue? Your browser will say server not found. Connectivity issues? Browser will inform you of the timeout. Slow connection? our browsers throbber [wikipedia] gives you an indication something is happening. With AJAX, it's up to the authors of the Ajax application to do proper error handling. And many AJAX application have serious issue here. User proofing Ajax application [A list apart] is a good article on some basics on how to improve your Ajax applications. Ajax is in the need for some software engineering for QA. Right now, it's so much low level hacking there, it makes you expect 90% of Ajax applications have serious usability and reliability issues.

10 December 2006

Daniel Baumann: Kernel Modules Packaging

Kernel Modules Almost all drivers for Linux are maintained within the Linux Kernel Project. But some drivers are maintained outside in seperate projects. We distinguish between two kind of drivers. Conglomeration Packages From the user point of view, out-of-tree modules are not ideal. Although it is very easy to build the binary module packages for a driver, they require to have their build dependencies installed. This would be acceptable on a development machine, but not on a client. Therefore, some module maintainers started to build the binary modules for every kernel image available in Debian, so users can just apt-get install those prebuild packages. From the archive point of view, this is a mess. While the distribution is under development, every new kernel release and every kernel ABI bump requires a rebuild of all out-of-tree modules, resulting in new binary packages and hence NEW queue spamming for the ftp-master team. While the distribution is in maintenance after beeing released as stable, point releases suffer from this too, making it a major pain in the ass for the security team. The solution: conglomeration packages. Conglomeration packages are empty packages depending on a given set of $ driver -source packages and only building the binary modules out of them. This way, the NEW queue spamming is limited to one single source package for each new kernel release or kernel ABI bump (actually three of them: linux-modules-extra-2.6 for main, linux-modules-contrib-2.6 for contrib, and linux-modules-nonfree-2.6 for non-free). Status in Etch The conglomeration package for the modules of main is maintained by the kernel team. For contrib and non-free, I needed to take care about them myself. Fortunately, they were accepted two days ago, so there is enough time left to let them properly migrate to testing. Module Maintainers please join I can only speak for contrib and non-free: If you are a module maintainer and the license terms of your module do allow binary redistribution and auto-building, you are heartily invited to join the conglomeration package. Please submit a wishlist bug report against the respective conglomeration package, or, feel free to contact me directly if you have any questions.

Jacobo Tarrío Barreiro: Electric shock

Last Friday I was tinkering with apcupsd and rrdtool and decided to join both: I’d monitor the mains voltage during a period of 24 hours, to see if it varied during the day. Well, apparently, it does. Mains voltage during Saturday, December 9th 2006 in Santiago de Compostela, Spain. To my untrained eye it looks like it varies with the load in the electric network: the voltage is at its highest during nighttime, and hits its lowest point at 13:30 (solar mid-day in Galicia); then rises again while people is having lunch then dips until after 18:00. The discontinuity at about 20:15 was due to my briefly stopping apcupsd to change a configuration in my UPS. Now, I don’t know if the mains voltage really varies so much during the day or if it is because my UPS’s voltmeter is a piece of shit (which it, apparently, is) and is affected by the presence of non-resistive loads or whatnot, but the graph is interesting anyhow. Detailed explanations by people who know more about electricity than yours truly will be appreciated. On an unrelated subject, I’m teaching myself how to juggle a reverse cascade. To do it properly, it requires better timing and more homogeneous throws than I’m currently able to do. So, to master it, I first need to suck less at juggling. We’re working on it.

Thijs Kinkhorst: On Neal, Dials and Tagines

On our recent stay in London we passed through Neal's Yard: a nice and tranquil enclosure in the busy Seven Dials neighbourhood (Covent Garden). Here you'll find a number of establishments that cater specifically to those that can appreciate a vegetarian or organic lifestyle. Right around the corner is Neal's Yard Diary, an excellent cheese shop, selling only cheeses from the UK, including of couse very good Stilton and Cheddar. The neighbourhood around Seven Dials sports a number of nice specialty shops. Well worth a visit. We had dinner at the Souk Medina restaurant. Surprisingly large when compared to its modest entrance, it serves a large Moroccan menu with plenty of vegetarian choice. The entourage may remind one of Efteling's Fata Morgana, without being over the top. Seated at knee-level tables on comfortable pillows, we enjoyed a range of Moroccan specialties, a bottle of wine and a pot of mint tea. The price was very modest. Highly recommended!

Russell Coker: The Squirrel and the Grasshopper

There's a story going around the neo-con blogs titled "The Squirrel and the Grasshopper". It was forwarded to me by a business associate with the claim that it's "right on the money". It's strange that someone could be considered to be "right on the money" for Australia when essentially the same text is posted in the UK, New Zealand, and Sweden (from a 30 second google search - I'm sure that the neo-cons in other countries have posted it too).

The following are the neo-con ideas promoted by the story in question:
  1. To mis-represent a local main-stream political party that is known for representing workers (the ALP in the case of Australia) as being extremist and associated with Greenpeace (an organization that is out of favor at the moment and disliked by many people who vote for main-stream parties).
  2. To spread the "liberal press" lie that wing-nuts like to believe. Any analysis of the press will show that most multi-national media organizations are quite biased towards the right-wing groups.
  3. Making false claims about the legal system to drive support for recent fascistic legal changes. In the case of Australia this means allowing employers to lay off employees and immediately re-hire them at a lower rate, allowing employees to be laid off if factory equipment breaks down, and for almost any reason you can imagine. Driving the idea that the judges are incompetent and therefore imposing legislation to remove judicial discretion is an important step in removing civil rights.
  4. Claims that the government is communist and takes the property from the middle-classes and gives it to unworthy people. In fact the opposite is true (for Australia at least). Large companies and wealthy individuals are routinely given community property. The toll roads are the best example of this, the government closes public roads that can be used as an alternative to a toll road, and then politicians get paid off after they leave office. Far from taking money from people who work (as the neo-con propaganda claims) the government allows big corporations to do so with impunity. The Australian government (as many governments in first-world countries) has been becoming increasingly fascistic recently.
  5. The claim that asylum seekers are terrorists. If the government wanted to stop terrorism then they would cease involvement with those parts of the world. However only plebians (people like us) are likely to be hurt by terrorism so the government has little motivation to stop it - it's good for winning elections! By joining the invasion of Iraq the Australian government helped al Quaeda establish new training bases while also giving al Quaeda (and related organizations) a reason to target Australia. Also whenever a war is started people will be forced to leave their homes and seek asylum else-where. If you don't want asylum seekers seeking entry to your country then you don't want to mess up other countries and force people to flee.
  6. Support for the "war on drugs". That war has been at best a stale-mate and generally a loss for a century now. The approach that is being adopted experimentally of legal supply of hard drugs to addicts seems to have more promise. Incidentally the breaches in border security that are established for the purpose of drug smuggling are available for any illegal purpose that pays enough - if al Quaeda wanted to smuggle weapons into a first-world country they would probably get drug dealers to do it for them. I'll blog more on this topic in future.

There you have it, The Squirrel and the Grasshopper covered all of the neo-con propaganda bases apart from the pro-Christian angle.

For the benefit of anyone who is thinking of forwarding on a "parable" in future, the first thing you might want to do is a google search on it. Search for comments and also search for who is promoting it. If a message you are considering forwarding is being promoted by people who are obviously racist or who discriminate against people on the basis of religion then you might consider whether you want to associate yourself with them by forwarding the message.

Evan Prodromou: 18 Frimaire CCXV

Fun day today. Maj, Amita and I went up to the Christmas tree lot at Parc Lahaie on St. Joseph and St. Laurent. It was packed with people there for No l dans le Parc, a month-long Christmas festival held in two parks in Montreal. Of course, we had no idea it was going on before we got there. Christmas tree lots in Quebec are a lot more festive than the businesslike lots in, say, California. There is often a pen full of farm animals -- like the Christmas manger, eh? -- that kids can look at and pet. Since it's often ass-cold, there's also usually a fireplace or a barrel fire. For some weird reason, all the lots in our neighborhood are in public parks, but that might have to do with a dearth of big parking lots in the Plateau. But No l dans le Parc was even bigger than all that. When we arrived, there were two blues players in separate giant plastic globes hovering in the trees above the campfire. In two other (terrestrial) booths, a Quebec traditional music band was playing silently behind a glass window while a radio crew in the other booth broadcast them live. There was a concession stand serving bi re and vin chaud (of which we ordered two), and an open-air museum with fun stuff for kids. We ended up hanging out for more than an hour. Amita June developed an intense fascination with the sheep in the petting zoo, and even after Papa had bought an 8' tree and tied it to the roof, she insisted on going back to the pen and saying goodbye one more time. The tree looks great in our living room -- it's almost scraping the ceiling, but it fills up its corner nicely. tags:

Lina and Jeremy's Xmas party Even better tonight was our friends Lina and Jeremy's Christmas Party, at their house. Maj whipped up some steamed artichokes to take over, and I put together mixins for hot buttered rums, and we headed over to their great place in Little Italy. We got there early and Lina had made mulled wine -- a big pot of it, based on the recipe from Clarence the Angel. Amita June headed off with Clea and Sylvie, two girls much older than her, and although she couldn't really communicate with them she followed along with what they were doing just fine. The under-10 crowd eventually settled around the TV, which was originally on Hockey Night in Canada but eventually switched over to a tape of Zoboomafoo. So her Mama and I got to hang out with grownups for a change, which I at least was ill-equipped to do, but made a game attempt. Lots of nice people, including L and J's upstairs neighbor Annabelle, whose band The Wailin Jennys is doing pretty darn good lately. They're up for a couple slots in the Canadian Folk Music Awards tomorrow. Good for them. I made a big batch of HBRs and they were quite a hit. It's such an easy recipe, I'll share it right here:
  • 1 oz dark rum
  • 1 tsp brown sugar
  • 1 tsp butter
  • 8 oz boiling water
Mix it all together in a coffee mug and serve when the butter's melted. Keeps you warm when you need it. We came home early, of course -- the baby's getting independent, but not that independent -- and now we're rresting from a long day. tags:

Wikitravel RSS So, I know this sounds crazy, but we've never really had much of an RSS presence for Wikitravel. We've got an RSS feed for Recent Changes, of course, as does every MediaWiki site, but never anything else. But I was talking to Jack Herrick of wikiHow recently, and he was telling me that their Daily Howto RSS feed is one of their biggest vectors of people coming into the site. Wikitravellers make updated news and information on our Main Page all the time, so I figure it'd be useful to make an RSS feed of new stuff from Wikitravel, too. So I've started scraping the frequently-updated parts of the site to make them available through a Wikitravel News feed. It includes the strange-travel trivia from Wikitravel:Discover and the Travel news info, too. There's been a lot of work in it -- making feeds out of wiki pages requires some assumptions and creative markup. But I'm getting closer, and I think the lessons I'm learning with our English version will help making RSS feeds for the other language versions easier. I'll be adding in more features for English, too, as I learn how to scrape them better. tags:

John Goerzen: Renovation: Week 24

Wow! What a week. (Click here for all of this week's photos) On Sunday afternoon, we walked into the house and saw this:



Yes, over the weekend, the cabinet makers had installed the cabinets earlier than expected! I never expected that I would get excited about kitchen cabinets, but I sure was. They look great.

My grandma's china cabinet is back up in the dining room. They've removed the tile from the dining room, exposing the wood floor underneath. The floor restoration people have spent some time doing some patching already.

Doors and doorjams are starting to go in. Trim is arriving. And the wood in the wall alongside one of the staircases has been seamlessly extended.

It's exciting. (photos here)

And check this out:



That hunk of ice is the exhaust from our furnace. No joke! The furnace is so efficient that, when its running, it's a moist and slightly warm breeze blowing out of that exhaust pipe. In winter, it condenses and drips down below, forming an ice hunk.

9 December 2006

Adrian von Bidder: Categories

Completely changed all categories on my blog. I hope nothing has broken. While I like nanoblogger because it's quite simple, I really can't wrap my head around the logic of its commandline syntax. And thinking about categories: perhaps I should switch from categories to tags and do a nice tag cloud. I started blogging only after 80 year old grannies did it, so there's some time yet...

Daniel Burrows: Apologies to Samsung

I need to learn not to write blog posts after 9pm, given that my brain starts fogging up around 8:30pm.

Apparently the only reason I couldn't play DVDs is that I had forgotten to install the DVD decoder library. Doh. And apparently the reason the DVD wouldn't play yesterday is that the video program was trying to get the drive to decode the DVD for it -- which I can understand Samsung not wanting to do, since it would get them in legal hot water. (what ticked me off was that it looked like they were going beyond the minimum and keeping me from even reading the encrypted DVD data)

So, the problem is that Daniel is a doofus. I want to apologize again for being a little trigger-happy last night -- especially since this is syndicated, it sucks to have put incorrect information out there.

David Moreno Garza: Races and classes

I’ve enjoyed reading Richard Gott’ article named Latin America is preparing to settle accounts with its white settler elite, where he goes deeply on how the recent political movements in the region has been marked more on lineage and classism than in anything else. Read the article in English here, or in Spanish, here (thanks to Rebeli n).

8 December 2006

Russell Coker: SE Linux on Debian in 5 minutes

Following from my 5 minute OSDC talk yesterday on 5 security improvements needed in Linux distributions I gave a 5 minute talk on installing SE Linux on Debian etch. To display the notes I formatted them such that they were in 24 line pages and used less at a virtual console to display them. The ultra-light laptop I was using has only 64M of RAM which isn't enough for a modern X environment and I couldn't be bothered getting something like Familiar going on it.

After base install you install the policy and the selinux-basics package:

# apt-get install selinux-basics selinux-policy-refpolicy-targeted
The following extra packages will be installed:
checkpolicy libsemanage1 mime-support policycoreutils python python-minimal
python-selinux python-semanage python-support python2.4 python2.4-minimal
selinux-utils
Suggested packages:
python-doc python-tk python-profiler python2.4-doc logcheck syslog-summary
The following NEW packages will be installed:
checkpolicy libsemanage1 mime-support policycoreutils python python-minimal
python-selinux python-semanage python-support python2.4 python2.4-minimal
selinux-basics selinux-policy-refpolicy-targeted selinux-utils
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 6362kB of archives.
After unpacking 41.5MB of additional disk space will be used.
Do you want to continue [Y/n]?

The package install process also configures the policy for the machine. The next step is to label the filesystems, this took 26 seconds on my Celeron 500MHz laptop with 20,000 files on an old IDE disk. The time is in proportion to number of files, often bottlenecked on CPU. A more common install might have 5* as many files with a 5* faster CPU so 30 seconds is probably common for labelling. See the following:

# fixfiles relabel

Files in the /tmp directory may be labeled incorrectly, this command
can remove all files in /tmp. If you choose to remove files from /tmp,
a reboot will be required after completion.

Do you wish to clean out the /tmp directory [N]? y
Cleaning out /tmp
/sbin/setfiles: labeling files under /
matchpathcon_filespec_eval: hash table stats: 14599 elements, 14245/65536 buckets used, longest chain length 2
/sbin/setfiles: labeling files under /boot
matchpathcon_filespec_eval: hash table stats: 19 elements, 19/65536 buckets used, longest chain length 1
/sbin/setfiles: Done.

The next step is to edit /boot/grub/menu.list to enable SE Linux, auditing, and put it in enforcing mode:

title   Debian GNU/Linux, kernel 2.6.17-2-686
root (hd0,1)
kernel /vmlinuz-2.6.17-2-686 root=/dev/x selinux=1 audit=1 ro enforcing=1
initrd /initrd.img-2.6.17-2-686

Then reboot.

After rebooting view the context of your shell, note that the login shell will have a domain of unconfined_t when the targeted policy is used:
# id -Z
system_u:system_r:unconfined_t

Now let's view all processes that are confined:
# ps axZ  grep -v unconfined_t grep -v kernel_t grep -v initrc_t
LABEL PID TTY STAT TIME COMMAND
system_u:system_r:init_t 1 ? Ss 0:02 init [2]
system_u:system_r:udev_t 1999 ? S.s 0:01 udevd --daemon
system_u:system_r:syslogd_t 3306 ? Ss 0:00 /sbin/syslogd
system_u:system_r:klogd_t 3312 ? Ss 0:00 /sbin/klogd -x
system_u:system_r:apmd_t 3372 ? Ss 0:00 /usr/sbin/acpid -c /etc
system_u:system_r:gpm_t 3376 ? Ss 0:00 /usr/sbin/gpm -m /dev/i
system_u:system_r:crond_t 3402 ? Ss 0:00 /usr/sbin/cron
system_u:system_r:local_login_t 3423 tty1 Ss 0:00 /bin/login --
system_u:system_r:local_login_t 3424 tty2 Ss 0:00 /bin/login --
system_u:system_r:getty_t 3425 tty3 Ss+ 0:00 /sbin/getty 38400 tty3
system_u:system_r:getty_t 3426 tty4 Ss+ 0:00 /sbin/getty 38400 tty4
system_u:system_r:getty_t 3429 tty5 Ss+ 0:00 /sbin/getty 38400 tty5
system_u:system_r:getty_t 3430 tty6 Ss+ 0:00 /sbin/getty 38400 tty6
system_u:system_r:dhcpc_t 3672 ? S.s 0:00 dhclient3 -pf /var/run/
The initial install of policy inserts modules to match installed software, if you install new software then you need to add new modules with the semodule command:

# semodule -i /usr/share/selinux/refpolicy-targeted/apache.pp
security: 3 users, 7 roles, 824 types, 67 bools
security: 58 classes, 11813 rules
audit(1165532434.664:21): policy loaded auid=4294967295
# semodule -i /usr/share/selinux/refpolicy-targeted/bind.pp
security: 3 users, 7 roles, 836 types, 68 bools
security: 58 classes, 12240 rules
audit(1165532467.874:22): policy loaded auid=4294967295

Note that the security and audit messages come from the kernel via printk, it is displayed on console login but you need to view the system log if logged in via ssh or running an xterm. Now you have to relabel the files that are related to the new policy:

# restorecon -R -v /etc /usr/sbin /var/run /var/log
restorecon reset /etc/bind context system_u:object_r:etc_t->system_u:object_r:named_zone_t
restorecon reset /etc/bind/named.conf context system_u:object_r:etc_t->system_u:object_r:named_conf_t
[...]
restorecon reset /etc/apache2 context system_u:object_r:etc_t->system_u:object_r:httpd_config_t
restorecon reset /etc/apache2/httpd.conf context system_u:object_r:etc_runtime_t->system_u:object_r:httpd_config_t
[...]
restorecon reset /usr/sbin/named context system_u:object_r:sbin_t->system_u:object_r:named_exec_t
restorecon reset /usr/sbin/apache2 context system_u:object_r:sbin_t->system_u:object_r:httpd_exec_t
restorecon reset /usr/sbin/rndc context system_u:object_r:sbin_t->system_u:object_r:ndc_exec_t
restorecon reset /usr/sbin/named-checkconf context system_u:object_r:sbin_t->system_u:object_r:named_checkconf_exec_t
[...]
restorecon reset /var/run/bind context system_u:object_r:var_run_t->system_u:object_r:named_var_run_t
restorecon reset /var/run/bind/run context system_u:object_r:var_run_t->system_u:object_r:named_var_run_t
restorecon reset /var/run/bind/run/named.pid context system_u:object_r:initrc_var_run_t->system_u:object_r:named_var_run_t
restorecon reset /var/run/motd context system_u:object_r:initrc_var_run_t->system_u:object_r:var_run_t
restorecon reset /var/run/apache2 context system_u:object_r:var_run_t->system_u:object_r:httpd_var_run_t
restorecon reset /var/run/apache2/cgisock.3558 context system_u:object_r:var_run_t->system_u:object_r:httpd_var_run_t
restorecon reset /var/run/apache2.pid context system_u:object_r:initrc_var_run_t->system_u:object_r:httpd_var_run_t
restorecon reset /var/log/apache2 context system_u:object_r:var_log_t->system_u:object_r:httpd_log_t
restorecon reset /var/log/apache2/error.log context system_u:object_r:var_log_t->system_u:object_r:httpd_log_t
restorecon reset /var/log/apache2/access.log context system_u:object_r:var_log_t->system_u:object_r:httpd_log_t

The -v option to restorecon causes it to give verbose output concerning it's operations. Often you won't do it in real use, but it's good to illustrate the use.

Now you have to restart the daemons:

# killall -9 apache2
# /etc/init.d/apache2 start
Starting web server (apache2)....
# /etc/init.d/bind9 restart
Stopping domain name service...: bind.
Starting domain name service...: bind.

Apache and BIND now run in confined domains, see the following ps output:

system_u:system_r:httpd_t   3833 ?     Ss     0:00 /usr/sbin/apache2 -k start
system_u:system_r:httpd_t 3834 ? S 0:00 /usr/sbin/apache2 -k start
system_u:system_r:httpd_t 3839 ? Sl 0:00 /usr/sbin/apache2 -k start
system_u:system_r:httpd_t 3841 ? Sl 0:00 /usr/sbin/apache2 -k start
system_u:system_r:named_t 3917 ? Ssl 0:00 /usr/sbin/named -u bind

It's not particularly difficult. I covered the actual install of SE Linux in about 1.5 minutes. I had considered just ending my talk there on a note of "it's so easy I don't need 5 minutes to talk about it" but decided that it was best to cover something that you need to do once it's installed.

If you want to know more about SE Linux then ask on the mailing list (see http://www.nsa.gov/selinux for subscription details), or ask on #selinux on freenode.

Jeff Bailey

I can't really guess at how many social networking sites I've signed up to over the years. I was thinking about this a bit as I noticed some more LinkedIn mail. It's a site that seemed interesting, until I realised that I don't need to pay another company for the privilege of asking friends to introduce me to their friends. But I was thinking through the bits of electronic interaction that I have, and thinking back to my days at Hollinger where we actively spent time thinking about what content we could provide that would keep the user moving from one of our sites to another of our sites, always looking at our ads.

With this lens on, I was thinking about where I would take Google next if I were in a similar position there. I think that Google's future probably relies primarily on their crappiest product: Orkut. What places like MySpace do well is provide what I think of as the old CompuServe experience. You go, and in one spot you have different forums, chat, and downloads.

But what if Google were to make Orkut not suck? They've already started integrating Talk into it (although it still doesn't work with Apps for Your Domain), and I can only imagine that we'll soon see your account only a short while from where your Orkut page shows your public blog entries, as well as allows you to post to your own blog, or a community one. The relationships there are rich enough with Friends Groups and a gradient of friendship that the community FOAF bits could be represented easily. Picassa and their page builder things would allow people to setup myspace-like places for themselves without ever leaving the familiar framework of Orkut. Business could use all of these tools for internal corporate things, marking certain items as publish while the integrated checkout functionality let them to business quickly and efficiently.

But what other interactions then? Could we book a doctor's appointment by looking at their Calendar through their corporate page? Easily book venues for the band with the same? Use the presence notification in Talk figure out if there's someone I can deal with right now to finalise the plans for the upcoming gig?

And the cool part is that from what Google's done so far, they'll cheerfully let you integrate your own product into theirs through some sort of open standard.

Steve McIntyre: Is there nothing they won't stoop to?

In the UK, the Gowers review of Intellectual Property (sigh at the usual conflation) was released this week. Amongst a whole slew of other recommendations, he stated quite clearly that the term of current music copyright protection in the UK was already long enough, and extending it was not in the public interest: "Recommendation 3: The European Commission should retain the length of protection on sound recordings and performers' rights at 50 years." "Recommendation 4: Policy makers should adopt the principle that the term and scope of protection for IP rights should not be altered retrospectively." The review was published shortly after a slew of propaganda from various bodies in the UK representing the music industry, all essentially claiming "the sky is falling". Yesterday, there was even a full-page advertisement in the Financial Times signed by several thousand UK recording artists calling for "fair play for musicians". However, as Lessig points out, there's a small problem with that ad: at least some of the so-called signatories are dead, and have been for some time. I suppose by now we should be used to the fact that the large media corporations are corrupt and self-serving - that's hardly news any more. But this really takes the biscuit...

Alexander Sack: noteworthy things from the firefox & linux front

mconnor (Mozilla Corp) and caillon (Red Hat) give hope that mozillas attitude finally starts to change (in the right direction): That’s all good news, but even better … “Red Hat and Novell are both going to commit some effort into maintaining the Firefox 1.5.0.x line past the current EOL date this spring” ... thank $GOD for that ;-)

Evan Prodromou: 17 Frimaire CCXV

One problem with keeping your journal in the French Revolutionary Calendar is that you have to keep looking up what the date is. It is nice to know that there are functions for converting Julian dates to French Revolutionary dates in PHP. Also a nice link on that page to the strange and mellow http://bottoms-dream.de/ , which isn't anywhere near as pornographic as it sounds. tags:

Blinky Redux I had Blinky Hockey again tonight -- the first time in a month that I've gone. (Blinky is the pickup hockey team my friends Meg and Patti started. It's for people who don't play hockey so good but want to learn. Like me.) Last time we had it, I flew out to California at 6AM the next day for 2 weeks, so I missed two practices in between. And then last time I had everyone over for Thanksgiving dinner, and I fell asleep putting the baby down. Doh. So it was good to go out this time around. I've been going to our local hockey rink, Ar na Mont-Royal, for free skating from 4-5PM a couple of times per week since we got home, and I think I'm getting a little steadier on the ice. I still haven't got the whole stop-on-a-dime thing or skate-forwards-backwards-forwards thing, but I'm able to get around without going face down. Which is good. Tonight we did some more sophisticated drills and had a good scrimmage at the end of practice. I didn't score but I had an awesome shot. It would have been cool if it were a score. Anyways, I think I'm going to have to keep practicing on my own. Going to the Ar na is great, but maybe I should fill our parking lot out back with water, like this R ves de Glace site suggests. That'd be cool. tags:

Calendar wishlist So, I'm always trying to learn to use my calendar application, whatever's easiest and most available. I have a Treo 650 and Evolution, and they work OK, but they don't work great. I have a lot of things that I wish calendar programs had.
  • Project management integration. This is probably the biggest one for me. I can't believe that we have two different kinds of programs for planning the exact same information: what you're going to do with your time. On top of that it's remarkable that so few of project planner programs talk to calendars (or vice versa).
  • Hierarchical TODO lists. I'd like to break up tasks into sub-tasks that depend on each other.
  • Effort estimates. I'd like to be able to make notes about how long I think a task is going to take, and when I'll get it done.
  • Repeating TODOs. Probably the most egregiously un-ergonomic thing about modern calendaring programs. Almost everything I have to do in my life I have to do on a repeating schedule. I have to take out the recycling once a week before Wednesday morning. I have to pay rent before the 1st. I understand it's a tricky problem, but that doesn't mean I don't want a program to do it.
  • Open invitations. I'd like to be able to send open event invitations to mailing lists and have people RSVP automatically (if they want). All the systems I've used require that I know the email address of each invitee ahead of time. And they rarely work across calendaring systems.
  • Skipped TODOs. Sometimes I give myself a task todo and I just don't get around to doing it. I'd like to be able to mark a task as not done, but no longer important. I don't want to forget it forever, just remember that it never got done.
  • Logging. It'd be nice if there were more and nicer interfaces to say what I did with my day after it's done. When did I finish that module? When was the last time Niko came over for dinner? It would be nice if my calendar helped me remember the past as well as plan the future.
  • Sharing by default. I want to set up calendar sharing once, have my local and remote calendar synched transparently, and never worry about it again. CalDAV seems neat, but I have got no idea how to get it working.
  • More shared calendars. I like using shared calendars; I wish more organizations published them. I'd like it if Bell Canada published a calendar that told me when to pay my phone bill, and I'd like it if MSLUG published a calendar of their meetings. I'd like it if I could mark my phone bill as paid, and RSVP for an MSLUG meeting, through my calendar interface.
  • ACLs. Different people need to see different parts of my calendar. It'd be nice to have finer-grained control than "public" and "private".
tags:

Clint Adams: The NSA predicts flurries tonight

One, and the snow-capped peaks of the Rockies blended into dull tableaux. Two, and the steel towering above Yerba Buena Island was mistaken for something else. Three, and the bellows of the donkeys, the bad asses of Kona, became muffled by the roar of the ocean. Four, and the howling wind of the frozen north was blocked by brick and mortar. Five, and the redwoods had nothing to say. Six, and the Whittier Narrows shook. Seven was a bad movie.

7 December 2006

Erich Schubert: Memory corruption during sleep

Yesterday I put my laptop to sleep (on AC power) while I went to the christmas party of a company I worked for. After returning, I couldn't read my email any more; dovecot would segfault after login. Restarting dovecot didn't help, but a reboot helped. Sounds to me as if during sleep, some kernel cache of the dovecot application was corrupted (read only memory; cached by the kernel, which is why it survived the restart of dovecot). Whoa, this is like Windows. Rebooting the computer actually fixed something!

Martin Zobel-Helas: Preparation for r5 started

I just sent the first preparation mail for r5, which will either happen end of December or 48h before the release of Etch, whatever comes first. It currently does not cover all packages, as there are still quite a couple (more then 20) packages that need to be accepted from p-u-new by ftpmaster. Stay tuned for more information during the next days.

Roland Mas: Camsync is shaping up

Did I mention a few scripts I'm using to automagically download my digital pictures off the camera and into F-Spot? Yes, I think I did. I probably mentioned a large bunch of largely spaghetti shell-scripts, too. Fearsome. Well, fear no more! I've started a rewrite, a proper one, in Perl. With a configuration file and all. No camera models or file paths hardcoded. Probably faster, too, since I only fork a few gphoto2 processes in total (instead of one for each downloaded picture). Yes, gphoto2. I haven't reimplemented the mass-storage part yet since I mainly use my PTP camera these days. It may happen someday. I decided to call my beginning-of-a-program "Camsync". Then of course I found that this name was already taken for something similar. I'll contact the author of that something and see what happens. In the meantime, all you PTP-only camera owners may want to have a second look at sync-digicams — it's been updated.

Russell Coker: some advice for job seekers

A member of the free software community recently sent me their CV and asked for assistance in getting a job. Some of my suggestions are globally applicable so I'm blogging them.

Firstly I recommend that a job seeker doesn't publish their CV on the net in an obvious place. Often you want to give different versions to different people, and you don't necessarily want everyone to know about the work you do. I can't imagine any situation in which a potential employer might view a CV on the net if it's available but not ask for one if it isn't there. If you are intensively looking for work (IE you are currently between jobs) then I recommend having a copy of your CV in a hidden URL on your site. This means that if you happen to meet a potential employer you can give them a URL so that they can get your CV quickly, but the general public can't view it. A final problem with publishing your CV is that it may cause disputes with former colleagues (EG if you describe yourself as the most skilled programmer in the team then a former colleague who believes themself to be more skillful might disagree).

Next don't put your picture on your CV. In some jurisdictions it's apparently illegal for a hiring officer to consider your appearance. If there are many CVs put forward for the position then it may be easier to just discard yours because of this. There is absolutely no benefit to having the picture, unless of course you are applying for a job as an actor. Incidentally I've considered applying for work as an movie extra. The amount of effort involved is often minimal (EG pretend to drink beer in the back of a bar scene) and the pay is reasonable. It seems like a good thing to do when between computer contracts.

I write my CV in HTML and refuse to convert it. If a recruiting agent can't manage to use IE to print my CV then they are not competent enough to represent me. If a hiring manager can't manage to view my CV with IE then I don't want to report to them. However I recommend against using HTML features that make a document act in any way unlike a word-processor file. There should be no frames or CSS files so there is only one file to email, and the text should be all on one page so the PGDN and PGUP keys can scroll through all the content. Tables, bold, and italic are good, fonts are a minor risk. Colors are bad.

Recruiting agents will often demand that your CV be targeted for the position that you are applying for. I often had complaints such as "I see only sys-admin skills not programming". To solve this I wrote my CV in M4 and used a Makefile to generate multiple versions at the same time. If a recruiter wants a version of my CV emphasising C programming and using Linux then I've already got one ready!

These are just a few thoughts on the topic based on a CV that I just saw. I may write more articles about getting jobs in the computer industry if there is interest.

Next.

Previous.