robbat2: (Default)
  • 20:17 Drinking w/ Rick of Pirate Party #
  • 17:22 In mylvmbackup talk #
Automatically shipped by LoudTwitter
robbat2: (Default)
  • 07:52 What do you get w/ 4 geeks driving silicon valley? Australian, south african, dutch, german? Lost w/ a sense of humor. #
  • 09:25 Jonathan Swartz says zfs license may change #
  • 15:38 Test to .ca #
  • 15:40 Test to international (done .ca+.us already) #
  • 16:10 So .us sms fail, & .ca depends on what gsm provider's tower i hit #
Automatically shipped by LoudTwitter
robbat2: (Default)
  • 22:29 Salmon marinated in miso paste & sake = win #
  • 10:58 Going to check out MtView farmers market #
  • 17:32 CA boerewors mostly ok #
Automatically shipped by LoudTwitter
robbat2: (Default)
I guess I missed mentioning this here before.

I'm going to the MySQL Users Conference 2008, and staying in Silicon Valley a few days either side. Gone April 11th till the 18th.

I'll be at the phpMyAdmin booth on the two expo days of the conference.
robbat2: (Default)
http://www.siat.sfu.ca/news/events/2008/147/
http://www.siat.sfu.ca/files/File/PDF%20Files/Alumni_Invite_pink.pdf

TechBC Alumni time!


1st Annual SIAT TechBC Alumni Event: April 24. 2008

When: Thursday April 24th, 2008
Mingle 6-630 PM
Presentations 630-730 PM
Wrap up 730-745 PM
Where: Room 3400, SFU Surrey Campus

* Drinks at the pub afterwards for those interested (please add a note in your RSVP if you plan on going to the pub so we can arrange reservations)

1st Annual Alumni Event: Catch up with old school friends. See where people have been and what people have been doing since grad.

Casual atmosphere with food and beverages from 6-630. Short 3-5 minute presentations from siat alumni about what they are doing in the industry between 630-730. The 3-5 minute presentations will be a great opportunity to let everyone know what you are doing, help connect you with others who share similar career paths, and to connect alumni seeking jobs to the right people.

RSVP: We ask that anyone planning to come please RSVP to to Barinder Dhesi at bdhesi@sfu.ca / 778 782 8131.

RSVP Presenter: If you are interested in presenting (solo or as a group) please RSVP to Barinder Dhesi at bdhesi@sfu.ca / 778 782 8131 with your name(s), position, and what company you are representing.

Please circulate this invitation to other SIAT alumni you think would be interested.

p.s. If you are interested in becoming involved in future alumni event planning, please contact Ginger Deverell at ginger_deverell@sfu.ca.
robbat2: (Default)

This is more a reminder for myself, how I laid out the seeds for herbs and spices in the small corner of garden that I planted them in this year.


North
MarjoramLots of
Coriander
Oregano
TarragonThyme
robbat2: (Default)
On South African racism, an interesting article that was in the Cape Argus today, describing Makwerekwere (discrimination by South African black people against non-South-African black people).

http://www.int.iol.co.za/index.php?click_id=13&art_id=vn20080222114544136C699021&set_id=
robbat2: (Default)
The original meme was using iTunes, but I use Audacious, so I compiled the data from there and my last.fm account. For all song titles, I use the format of Album/Artist/Song. Excluding album if it's just in a folder of mixed stuff.

How Many Songs Total: 23431 on my drives right now, a couple thousand more not handy.
How Many Hours Or Days Of Music: more than 1595 hours.
Most Recently Played: Vorsprung Dyk Technik (Remixes 92-98) (4x12)/Dina Carroll/Run To You (BT And PVDs Inner Sanctuary Remix)
Most Played: Goo Goo Dolls/Iris
Most Recently Added: Lots of albums by Plaid

Sort By Song Title
(only 20263/23431 had actual title data)
First Song: Final Fantasy V/Nobuo Uematsu/01 Ahead On Our Way
Last Song: 劉德華 (Andy Lau Tak Wah)/美麗的一天/黑蝙蝠中隊 (it's chinese pop music)

Sort By Time
Shortest Song: 1 second. Earthworm Jim soundtrack/Mark Miller/"Groovy!" sound effect.
Longest Song: 7h53m04s. Vorsprung Dyk Technik (Remixes 92-98) (3xCD)/Various Artists/Vorsprung Dyk Technik CD1.

Sort By Album [artist/album format]
(18747/23431 with data)
First Album: Alanis Morissette/022602 Live On Later
Last Album: 梁詠琪 (Gigi Leung Wing Kei)/魔幻季節 (Hong Kong pop music)

First song that comes up on Shuffle: "What Goes Up!: The Best Of Blood, Sweat & Tears"/Blood, Sweat & Tears/Sometimes In Winter

Search the following and state how many songs come up:
Death: 71
Life: 243
Love: 500
Hate: 7
You: 623
Sex: 6
robbat2: (Default)
Following up on the previous post about Gitosis on Gentoo, here's how to integrate GitWeb into the config. You should emerge dev-util/git with USE="cgi perl", and then dump the following two bits of config in. gitweb config )
robbat2: (Default)

A few days ago, nicoj posted about using Gitosis on Gentoo, and as the developer that put the package into the tree. However, I don't think he realized at the time, that the Gitosis I packaged up, does differ from the original upstream version.

Why is is different? It is different because I decided to use Gitosis to power the new Gentoo Overlays, and found some limitations with Gitosis, so ended up hacking the codebase heavily to make it do what I wanted. It seems my original Christmas email to the upstream author went AWOL, so I wrote him another in the meantime. I hope that he will be able to merge the changed sanely, and make life easier for evertbody.

So what's different? A lot. Here's a partial list of the big stuff that is actually visible to most folk

  • Relative git+ssh:// URLs! The original Gitosis required that you use : between the hostname and the repository for a relative URL, and assumed that you were using an absolute URL otherwise. This made URLs look a bit ugly, and also broke some classical URL parsers that expected a port number after the colon, then a path after the slash. So now Gitosis supports git+ssh://HOST/REPO style URLs, where the REPO is looked up directly in the Gitosis config to see if it is a valid relative URL.
  • gitosis-init, you can use the default STDIN input of your key, or you can use actual command-line arguments: gitosis-init --adminkey=FILE --adminname=STRING. The latter argument is for when then username portion of your SSH key does not contain anything useful to you, and you wish for gitosis to place it in a more suitably named file in the keydir/ set of SSH keys.
  • Handle SSH keys intelligently, validate the algorithm, supporting both SSH1 and SSH2 keys, extract the username (the field is actually a comment per the RFC) safely if possible, and handle the options correctly. Amongst the options, the from field of the key is now preserved, so that if you had a key (without a passphrase for example) that was limited to login from a certain location only, it does not become less secure.
  • Allow setting of the initial directory permissions, globally and per-repository. Gitosis used chmod 0750 on directories it created before, which caused problems if you were running git-daemon as nobody:nobody. For the Gentoo overlays, the default repos now use 0755. If you set this globally, you should ensure that your gitosis-admin repo gets dirmode=0750, so that it does not get shared out by gitweb or git-daemon.

There are also two pending TODO items that I have for the Gentoo Gitosis-powered Overlays

  • Gitweb has broken owner strings when UTF8 is involved
  • The permissions handling needs an overhaul, adding a repo presently requires adding two config sections, each with 3 lines long. I'd like to refactor and make the [repo ...] section get a single line extra for the common case, which would totally do away with the [group ...] section per repo. Groups would remain JUST for defining groups, and the [repo ...] sections would get the lists of members and groups directly.

On a total lark, something like Gitosis for managing SVN users would be great too.

2008/08/03: Comments have now been disabled due to the amount of spam comments on this post. Email me if you have something useful to say.

robbat2: (Default)

Not sure who out there can help, but I'm looking for a number of old Gentoo distfiles, that were located on the Gentoo mirrors directly, and not copied from some other location. I do have every other version of the mysql-extras, so I am only looking for those listed here.

mysql-extras-20050904.tar.bz2
mysql-extras-20050919.tar.bz2
mysql-extras-20051205.tar.bz2
mysql-extras-20060114.tar.bz2
mysql-extras-20070104.tar.bz2

I have every other version of that distfile, those are the only ones I'm missing, and I'm after making a nice Git repo to trace the history. The SVN tree that was used for a short while doesn't contain some of the details from these either, hence the need for the tarballs.

Beyond those tarballs, it would be interesting to try and build an archive of every distfile ever used in Gentoo. I've got the diskspace (and tape backup) to do it. I already have an LTO3 tape that is getting every bit of release media/stages from Gentoo, so distfiles would be the next logical step.

Edit: Thanks to Lisa for 20050904.

robbat2: (Default)
This is a weird request. But if anybody sees these as Region 1 DVDs, I'd love to have them. They are South African movies written by or involving Leon Schuster. IMDB doesn't even list all of them, but I'm strongly certain they exist.

Wanted:
"Mama Jack"
"Mr Bones"
"Sweet and Short"
"Panic Mechanic"
"You must be joking 1"
"You must be joking 2"
"Oh Schucks it’s Schuster"
"Oh Schucks here comes Untag" (Also known as "Kwagga Strikes Back")
"Oh Schucks I’m gatvol"

I already have
"There’s a Zulu on my Stoep" (North American title "Yankee Zulu")

I think I might be SOL, as it seems a bunch of them have not been produced as Region 1 DVDs at all.

Update 2008/07/16:
I bought a region2 box set on my 2008 trip back to South Africa. UPC 600416062939. It just doesn't have the most recent movies.
robbat2: (Default)
Just got pair of spam posts to my LiveJournal, the string in itself is not interesting, but the fact that the identical string shows up via Google is.

"very interesting, but I don't agree with you Idetrorce"

Search for it as an exact string, and also search the unique word on the end - both get some unique Google hits.
All I can surmise is that it's a system that the spammers use to find new spammable spots - submit to web forms, and then use google in a week to find URLs that have the magic string.

I've deleted the original ones now, both from 91.163.196.209 - I'd be interested to hear what other IPs this magic string is seen from.
robbat2: (Default)

If you use 'PermitRootLogin no' in your sshd_config and a locked-down sudo (requiring a password to upgrade powers), logging in to a machine as root is not allowed. This can be a pain when you want to rsync files between two machines, as root on both sides to preserve permissions and ownership. There is a fun little hack that you can use to get around this, that I'll document here.

  1. Ensure your SSH agent is running and has a key present.
  2. Open two shells, we will call them A and B (instructions prefixed with either or 'Both' below)
  3. We will use A to connect to the source, and B to connect to the destination.
  4. Both: SSH to the relevant machines, forwarding your agent, using 'ssh -A hostname'
  5. Both: Run 'sudo su', authenticating to sudo. Do not use 'sudo su -', as we need to preserve our SSH agent information.
  6. B: Run your rsync command as normal, but include the following option: --rsync-path='sudo rsync'

You should not get a password prompt! If you do get one, your sudo authentication did not propagate on the source machine properly. You cannot enter a password at this prompt either, it will never reach sudo, as rsync does not pass your input to it.

Alternatively, if your rsync version does not have a usable 'rsync-path' option (non-existant or wants a full path to a single program), you can use the -e option as: -e 'ssh user@source sudo /usr/local/bin/ignorefirst'. /usr/local/bin/ignorefirst is the following tiny script:

#!/bin/sh
shift
exec "$@"

The '-e' method is a lot more flexible, you can chain SSHs in it for example. You only need the 'ignorefirst' script because rsync puts the the hostname as the immediate next argument to the contents of '-e' commands.

Nerd Test

Sep. 6th, 2007 01:32 am
robbat2: (Default)

NerdTests.com says I'm a Nerd God.  What are you?  Click here!
robbat2: (Default)
Tired of the slow TransLink web forms?
One of my co-workers made a nice Firefox plugin to TransLink's site.


Give it a search like "5100 fraser st to 200 burrard st at 9pm" and it takes you immediately to the results. If a search would take you to the TransLink location confirmation page, you still end up there unfortunately.

Get it here: http://tomsmyth.ca/translink/

It's fully cross-platform as well, that's his Windows screenshot, but I'm using it on Linux-firefox.
robbat2: (Default)

On one of my machines with a PCI-express Intel e1000 network controller, I get some weird behavior during startup. The driver loads, but the link lights are not lit until such time as I cycle the administrative link status. I did complain to the e1000 upstream folk about it months ago, but I still haven't seen a solution, as they seemed to bicker about it with Linus, in the name of power-saving.

The following is a snipped for /etc/conf.d/net that combines the solution with this problem with the more common check for link status check before trying to get a DHCP address.

check_link() {
  ethtool "${1}" | grep -q 'Link detected: yes'
}

preup() {
  # Try to force link up first, for e1000 special case
  i=0 
  while [ "${IFACE}" != "lo" ] && [ $i -lt 3 ] && ! check_link "${IFACE}"; do
    [ $i -gt 0 ] && sleep 1
    ip link set "${IFACE}" up  
    i=$(($i+1))
  done
  # Then check for actual link
  if ! check_link "${IFACE}"; then
    ewarn "No link on ${IFACE}, aborting configuration"
    ip link set "${IFACE}" down
    return 1
  fi  
}
robbat2: (Default)

So lately I've doing a variety of development that uses PostgreSQL. It's come a long way since I last used it a couple of years ago, esp. in the realm of performance. The auto-complete in the psql tool is also a very nice touch, I can get it confused occasionally, but the auto-complete in the similar mysql tool is far less advanced.

There is however one thing that still bugs me, and it's turned up in plenty of other places. This is the issue of INSERT IGNORE/REPLACE that MySQL supports, but PostgreSQL doesn't. The widely documented way to handle these is to used a stored procedure instead, but that has a major shortcoming: it can only insert a single value at a time. This is a major performance limitation, and also suffers concurrency issues. INSERT IGNORE and REPLACE handle multi-valued inserted much more gracefully.

INSERT IGNORE is defined as inserting a data tuple, and if the primary key already exists, that singular tuple is not applied to the table. REPLACE is defined as insert a data tuple, and if the primary key already exists, using the remaining data in the tuple to perform an UPDATE statement.

If anybody has got other ideas that make handling REPLACE and INSERT IGNORE in PostgreSQL easier, I'd love to hear them.

Cut for the length of this post )

May 2017

S M T W T F S
 123456
78910111213
141516171819 20
21222324252627
28293031   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags