robbat2: (Default)
On the day I returned from Portland (July 28th), I turned 24. It has solidified one thing I've been thinking about for a few years now with birthdays and christmas. Beyond an excuse to speak to family or grab dinner, these annual occurances mean absolutely nothing. I went out for dinner Friday evening with my parents.

My maternal grandfather (still residing in East London, Eastern Cape province, South Africa) phoned my cellphone on Thursday evening to wish me the best, and express regrets at being unable to attend my wedding due to age and deterioriating health. It was nice to talk to him out of the blue.

Marissa gave me a gift right before I left for Portland. It was a giant wooden puzzle, that unfortuntely turned out to have a nasty crack in the middle, so I need to return it at some point very soon, possibly Saturday morning.

Monday this week I decided to get myself a gift - I mean, there's no reason I can't. I'm not generally a materialist - there have been christmas/birthdays in the past where I specifically asked for various items of clothing, because I actually needed them, not because I wanted them. However, just as much as the next person, having a new toy to play with is worthwhile. I do actively limit my unnessicary budgetary expenditures where possible, and occasionally sell off old computer gear (buy my FibreChannel stuff folks!).

Anyway, I picked up a Samsung 940B-HAS 19" LCD for $250CDN, and a Bluetooth GPS unit for $110CDN, both on special at NCIX. The LCD works great, ddccontrol in Linux provides _more_ controls than the Windows Samsung utility, and now I've got a lot more space on my desk (and no excuse not to finish cleaning up my desk now.

The GPS unit works great with Bluetooth, but I'm mildly disappointed with it otherwise, because of the manufacters decision to use a USB mini-B connector on it for charging the battery, but NOT being able to use a normal USB mini-B to A cable to connect to the device in a serial port mode. Apparently I need to buy a special $20 cable, so I'll have to see about that tommorow. I strongly suspect that the manufacter (Holux) cheated and abused the Data+/Data- pins on the mini USB socket to be TTL-level RS-232 TX/RX on the GPS unit. I'll dismantle the magic cable to confirm this, and let other people know about it too.
robbat2: (ubercoder)

In the LJCut, is the public portion of my report-back on OSCON2006 to the rest of the phpMyAdmin development team. I decided to post it here, as it is a good summary of my travels to Portland.

This is the photo I refer to in it, http://www.flickr.com/photos/calevans/201270101/in/set-72157594210410472/.

reportback )
robbat2: (Default)
Just a reminder that I'll be at OSCON2006 on Wednesday 26th and Thursday July 27th. I'll mostly be manning the phpMyAdmin booth, but I don't have much in the way of other plans yet.

I'm arriving in Portland by rail at 5.50pm on Tuesday, and departing 8.30am Friday morning by rail.

SuperLag: you mentioned a beer festival?

Tuesday evening, right after I arrive, if it's something quick I'll join in.
My Wednesday lunch is taken.
robbat2: (Default)
Here's a wonderful idea. Mash Google Maps with a wiki, and you get collaborative location documentation.

Here's Vancouver: http://www.wikimapia.org/#y=49280000&x=-123130000&z=11&l=0&m=a
robbat2: (Default)
Have you got access to DB2/Firebird/{Front,Sy,Open}Base Oracle/DB2/SQLServer
Mind doing a little testcase for me?
You may need to change things slightly for other databases - I'd like to know what as well.

Give me the complete output - including what commands fail, and the exact numeric output.
CREATE TABLE test1 (i INTEGER PRIMARY KEY, n DECIMAL(30,10));
INSERT INTO test1 VALUES (1,12345678901234567890.0123456789);
INSERT INTO test1 VALUES (2,'12345678901234567890.0123456789');
INSERT INTO test1 VALUES (3,0.123456789012345678900123456789E20);
INSERT INTO test1 VALUES (4,'0.123456789012345678900123456789E20');
SELECT * FROM test1;

CREATE TABLE test2 (i INTEGER PRIMARY KEY, n DECIMAL);
INSERT INTO test2 VALUES (3,2.1);
INSERT INTO test2 VALUES (4,2.2);
INSERT INTO test2 VALUES (5,2.3);
INSERT INTO test2 VALUES (6,2.4);
INSERT INTO test2 VALUES (7,2.5);
INSERT INTO test2 VALUES (8,2.6);
INSERT INTO test2 VALUES (9,2.7);
INSERT INTO test2 VALUES (10,2.8);
INSERT INTO test2 VALUES (11,2.9);
INSERT INTO test2 VALUES (12,0.1234567890123456789012345678901234567890123456789012345678901234567890);
INSERT INTO test2 VALUES (13,1234567890123456789012345678901234567890123456789012345678901234567890);
INSERT INTO test2 VALUES (14,'0.1234567890123456789012345678901234567890123456789012345678901234567890');
INSERT INTO test2 VALUES (15,'1234567890123456789012345678901234567890123456789012345678901234567890');
SELECT * FROM test2;
Followup (2006/06/18 14h58):

So far I have submissions for SQL Server, Oracle 8i, Informix and PostgreSQL. I should have mentioned that I had already tested MySQL/Postgresql/Sqlite2/Sqlite3 myself ;-). These tests however have revealed some very interesting problems in using high precision numbers. What good is a column of DECIMAL(30,10), if Oracle decides to store it as 1.2346E+19? That's only 5 digits of precision. Informix stores it as 1.23456789012e19 - 12 digits of precision. Postgresql gets it right from the start.

The second interesting issue is SQL Server. If it's inserted in an unnormalized form, it works perfectly fine. However try to use a normalized form, and you get capped to 17 digits of precision. Alternatively, try to work around the apparent casting by giving it as a string (which incidently is required for MySQL), and it rejects the normalized form entirely.

Does anybody know how to get more precision out of Oracle? Or use normalized numbers in SQL Server without being truncated? - I don't want to have to store numbers in varchar(255) here - but if it comes to that, I may have to write code that optionally allows people to do that.

Bit of background: I'm trying to write complete decimal support for Ruby on Rail's ActiveRecord ;-).

robbat2: (Default)

So lately there have been a lot of complaints about nss_ldap-249+ breaking systems on boot. The source of this is actually not a breakage, but a change in behavior that exposed something that was always broken. Many of the comments below go for all NSS backends where the actual data source might not be available during the early phases of booting (because the LDAP server may not have started yet, or network may not be started).

In your /etc/nsswitch.conf file, you may have lines like:
passwd: files ldap
group: files ldap
If you have it the other way around, that's the first cause for breakage. The always-on sources need to be available at system boot time.

During boot, nearly every init script causes at least one lookup, in the cases of things like udev, it causes a lot of lookups, as it needs them. If it can find everything from the files nss backend, then it doesn't need to go to LDAP (or any other unavailable backend). In the case of udev, for a very long time there has been this rule:
/etc/udev/rules.d/50-udev.rules:KERNEL=="tpm*", NAME="%k", OWNER="tss", GROUP="tss", MODE="0600"
This causes udev to look up the user and group 'tss' (that's two lookups). Does your system have a 'tss' user and group? Unless you have the app-crypt/trousers package installed, you probably don't.

Ok, so if this has always been a problem, why did it suddenly turn up now? nss_ldap-249 has a change of behavior (badly documented by upstream unfortunetly). It changed from a hardcoded timeout numbers to using configurable timeout numbers, and greatly increased the timeout values. Previously, if the server was not available or otherwise had issues, nss_ldap failed out after at most 30 seconds (and a lot less if the server IP/port were actually unreachable). As of 249, it takes 124 seconds. It tries twice, then waits 4 seconds, then another 8 seconds, another 16 seconds, another 32 seconds, and finally another 64 seconds, with an attempt between each of the waits. Unfortuntely this behavior is serial, and happens for every lookup. udev tries to look up user 'tss', then group 'tss', etc. On some systems, this made the boot-up unbearly slow, as there were 30+ lookups that went to nss_ldap, at 2 minutes each, leading to an hour of waiting before the actual login prompt came up.

How do we fix this?
The proper way: For every Gentoo init script, we need to make sure that every value looked up is actually in the system files, so that no requests go to nss_ldap or any other remote backend. In the case of udev, this is a known flaw of udev, that it looks up stuff it doesn't need to. If somebody has enough time to look at the udev code, upstream would greatly appreciate it - they don't have enough time to do it. You can comment out the tss line temporarily as well if you want.
The temporary hack: I've commited nss_ldap-250-r1 that changes the default timeouts in the header files, as well documenting them, and the old ones, and even faster ones (read: more dangerous) in /etc/ldap.conf.

Side note: It does seem there is something that changed with regards to SSL behaviour in either openldap-2.3.* or nss_ldap between 239 and 249. In some setups, 'ssl on' no longer works, but specifying a plain ldap:// URL instead of ldaps://, and using 'ssl start_tls' works perfectly fine. If you run into this, move to TLS!

robbat2: (Default)

Stumbled over this wonderful commit to the tree earlier today.

In short, it allows you to dump pagecache/dentries/inodes for profiling stuff in the system. It's present in kernels newer than 2.6.16.

Cut from the docs:
To free pagecache:
 echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
 echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
 echo 3 > /proc/sys/vm/drop_caches

As this is a non-destructive operation and dirty objects are not freeable, the
user should run `sync' first.
robbat2: (Default)
Interesting paper on the current differences between enterprise and consumer grade drives.
http://www.usenix.org/events/fast03/tech/anderson.html

Esp. see section 3.5 on reliability.
- Consumer drives are designed for 2400 POH (power-on hours) a year - running them for 9600 POH will double the failure rate.
- All drives are designed to run as cold as possible (25C room temperature) - an ambient temp of 40C will double the failure rate.
robbat2: (Default)
Ok, I'm back from my insane cycle now.

My legs are killing me.

Over the last 5 hours, I've cycled approximately 33km (best estimate via Google).

Route was as follows:

  1. from home to charles and commercial drive (meet up with everybody else)

  2. charles & commercial via dock road to the seawall

  3. seawall to almost under the bridge, where it was closed. up and over the bypass road instead, stoping at the lookout point

  4. continue around seawall to burrard bridge

  5. stop at siegel's bagels just over the burrard bridge

  6. split up into smaller groups heading home

  7. follow false creek/1st to ontario

  8. all the way up ontario to 37th, and then over to home



However, if I continue to do this, I'm bound to get healthier.
robbat2: (Default)
As Marissa has gone off to an SCA this weekend (left this afternoon already), I figure I should actually try to do some non-coding things myself, beyond the Mother's Day dinner I'm attending with my parents.

So, I'm going to try out the Midnight Mass bike ride. Anybody interested, meet at Grandview Park, 11:45pm, second and fourth Thursdays of the month.

I'm just scoffing some Samosas now before I head out.
robbat2: (Default)

Consider this:

  • You are diagnosed with breast cancer. Your insurance covers many, but not all, of the resulting expenses.
  • After being mistakenly told you are in premature menopause, you find that what you thought was a new tumor is in fact a seven-month-old pregnancy. You're not prepared for the expense of a baby after just fighting your cancer to a standstill.
  • Meanwhile, you and your husband lose your jobs, running up yet more debt before you can find new jobs.
  • Your cancer returns.
  • And in the middle of this, the bank forecloses on you.

It'd pretty much suck big, spiky rocks through a straw, wouldn't it? If you can spare a few dollars, please go read this post in [livejournal.com profile] beckyzoole's journal and send a small donation to [livejournal.com profile] otterhill. If enough people send $5, it just might be enough to keep [livejournal.com profile] otterhill and [livejournal.com profile] the_geoffrey from losing their house on top of everything else that's happened to them.

Thanks to [livejournal.com profile] unixronin for pointing this out to me, and having a nice summary. I've contributed from my PayPal account now.

robbat2: (Default)

Ok, so I got myself a new workstation computer, it's been nearly 4 years since I last did a full upgrade of my workstation, and for once now, I'm taking a different direction. I've bought a Quad-core Apple G5, thanks to a nice discount for Linux developers from IBM, and it's running Gentoo quite happily (after a little bit of kernel hacking). It's a little RAM-short still, as that was expensive from Apple, so I just need to add more myself.

Sunday thru Friday, I'll be going to be in Santa Clara, California for the MySQL Users Conference. I'll be manning the phpMyAdmin booth. I'm hoping my couch surfing works out.

Immediate todo list:

  • Finish my taxes.
  • Do banners for phpMyAdmin.
  • Get USD for trip.
  • Find passport.
  • Pack.

Purchase todo list:

  • 4x1GB PC2-4200 non-ECC unbuffered 240pin DDR2 RAM (2x2GB is not cost effective yet).
  • spot-based infrared thermometer with a spread better than 6:1 distance to spot ratio - point based would be even better. Max budget $100CDN or find a contributor. I need it for developing some of the sensor drivers.

Workstation development todo list:

  • Work more on the sensor stuff (does anybody have the service book for the quad core G5? I've got a few questions) - need to write a driver for the ds1631 and gpu sensor still, and figure out where the one max6690 chip is actually located.
  • Contribute to the snd-aoa sound driver.
  • Contribute to the bcm43xx wireless driver.
  • Contribute to the EXA support for the nv driver.

robbat2: (Default)
Edit: Ok, thanks. Somebody found it and sent me the file, for which I'm grateful.

I'm hoping the collective denizens of the internet can help me. I'm working on my wedding invitations (in a Hitchhiker/Adams theme), and I need a high resolution scan of the cover of a specific edition of a book (that's not in my possession, I have a different edition).
The source imagery I had (below) is too low resolution for what I need to do.

Author: Adams, Douglas
Title: The Restaurant at the End of the Universe
Publisher: Pocket Books (USA)
Date: 1982 maybe?
ISBN: 0671532642 maybe?

These are two printings that have the cover I'm after:


If somebody has one of these on their shelf at home, could you please scan at a really high resolution and email it to me?
My email address is robbat2@orbis-terrarum.net.

This is really important to me, and I need it in a hurry. $5 from my paypal account to the first person to send me the scanned image.
robbat2: (Default)
Given several .dll/.sys files, and their respective .pdb/.dbg files, is there any way to get a reasonable assembly dump with symbols and function blocks of said files, in Linux?

objdump doesn't read .dbg/.pdb files :-(.

The compiler used was "Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8799.0" - gleaned by running strings on the .pdb.

I see that IDA Pro can do it, but I don't have access to IDA, hence I'm looking for a Linux route.
Failing that, does somebody have the internal file format for the .pdb debug files?
(Not to be confused with .pdb palm databases or .pdb protein databases).

Edit: Wine was suggested, and winedbg in particular, but it crashes and burns quite specactullarly on the .sys, and won't even open the .dll - secondly it doesn't even open the .pdb files :-(. Also winedump doesn't handle .pdb debug data it seems.
robbat2: (Default)
Those on my friends list that follow NANOG might have seen this, but if not, here's a very interesting tech-support case.

Email that fails to travel more than 500 miles.

http://groups.google.com/group/it.fan.marco-ditri/msg/623f793d1cb0dd51
robbat2: (Default)
I'm selling a Sun StorEdge A5000 FibreChannel disk array.
- 22x 9.1Gb 10000RPM Seagate Cheetah drives, hot-swappable
- Redudant power suppliess (3 total, needs at least 2 to run all 22 drives)
- Capable of 200Mbyte/sec full-duplex transfer (100Mbyte/sec up/down).
- 2x FibreChannel ports (upgradable to 4 ports, you just need to buy two more GBICs $75/each).
- In rack-mounting sled. Sorry, I don't have the table-top plastic fittings for it.

Weight is 60kg (130lbs) - For ease of moving it, you can remove the modules (22 drives, 3 power supplies, 2 fan units) and move all of those and the chassis seperately.
Electrical - Draws 6.6A @ 110V.
Documentation - http://www.sun.com/products-n-solutions/hardware/docs/Network_Storage_Solutions/Midrange/A5100_A5200/index.html

So you can use it, I'll also throw in
- Qlogic QLA2100F FibreChannel controller, 64-bit/66Mhz PCI, but works in regular 32-bit/33Mhz PCI slots (at half speed).
- 10ft single-mode fibre optic cable - you could go 0.5km with single-mode cable if you bought a longer cable, or up to 10km if you buy a multi-mode GBIC and that much fibre.

I'd like $550 Canadian for it, and you'll have to come and pick it up (Vancouver, around 35th and Fraser).
Present eBay pricing for this package is $740+($90 shipping)+($200 for QLA2100F controller) = $1030.

If $550 is too much, make me an offer.

I was originally asking $800 for this, but one of the drives is on it's last legs, and it will cost you $50-$100 to get a replacement on ebay, and I'm eagar to have my desk space back.
robbat2: (Default)
Sounds like a failure to read the contents of your screen before complaining it's not what used to be there in the most unhelpful fashon.

http://www.centos.org/modules/news/article.php?storyid=127
robbat2: (Default)
Judging by recent blog traffic in general, it seems these are coming back into fashion.

Firstly, the original Geek code, with recently proposed additions.
I've updated my attributes here.
GCS/M/IT d--(++) s+:- a23>? 5 U++++$
L+++$ P+(++) !E--- W++$ y?(*) w M
PS+(++)@ PE Y+(++) V- PGP+++@ N t(--)
X+ R*> tv--(-) h-() b+++
D+(++) G++ O e(*)++>++++ r++>+++ C++++$
o K++ UI++ ty+++ as++


And now some new ones.

Blogger code
B9 d+ t++(-) k- s u-- f- i- o+ x+ e l- c-

OmniCode 0.1.6
sxy cm180 skfdefe4 ha603e18 ey7cb3d6 es+ sp= Ag1982 anE hdd Lo49,14N123,05W ZoL&d RlE Kd! FHS IN6

-----BEGIN PERL GEEK CODE BLOCK-----
Version: 0.01
P++c!P6-R+M+O+MA E PU
BD*C!D+S+X++WP!MO---PP n!CO--PO--o!G
A-Ee---Ev++uL+++uB+w-m!
------END PERL GEEK CODE BLOCK------
robbat2: (Default)

I'm posting this here because I haven't much response in other places that I've targeted.
I'm attending the MySQL Users Conference to run the phpMyAdmin booth this year, and I'm looking for somebody with a couch or spare space that I can crash at.

The conference is 24-27 April 2006, in Santa Clara, California, at the "Santa Clara Convention Center".
Conference website: http://www.mysqluc.com/.

I'm trying to find a cheap flight that will get me there on April 22nd/23rd, and leave on the 28th.

Alternatively, for those on my friends list in that area, do you know of any cheap hotels close to the convention center? (Under $50USD/night).

Comments are screened on this post for privacy.

robbat2: (Default)
[Edit 2006/Sept/23: Price dropped to $300 or make me an offer!]

I'm selling a Sun StorEdge A5000 FibreChannel disk array.

  • 22x 9.1Gb 10000RPM Seagate Cheetah drives, hot-swappable
  • Redudant power suppliess (3 total, needs at least 2 to run all 22 drives)
  • Capable of 200Mbyte/sec full-duplex transfer (100Mbyte/sec up/down).
  • 2x FibreChannel ports (upgradable to 4 ports, you just need to buy two more GBICs).
  • In rack-mounting sled. Sorry, I don't have the table-top plastic fittings for it.

Weight is 60kg (130lbs) - For ease of moving it, you can remove the modules (22 drives, 3 power supplies, 2 fan units) and move all of those and the chassis seperately.
Electrical - Draws 6.6A @ 110V.
Sun Documentation

So you can use it, I'll also throw in

  • Qlogic QLA2100F FibreChannel controller, 64-bit/66Mhz PCI, but works in regular 32-bit/33Mhz PCI slots (at half speed).
  • 10ft single-mode fibre optic cable - you could go 0.5km with single-mode cable if you bought a longer cable, or up to 10km if you buy a multi-mode GBIC and that much fibre.

I'd like $800 Canadian for it, and you'll have to come and pick it up (Vancouver, around 35th and Fraser).
Present eBay pricing for this is $740+($90 shipping)+($200 for QLA2100F controller) = $1030.

If $800 is too much, make me an offer.

The unit will be available as of March 16th (I'm using it for a project right now, but after that it needs to go).

X-posted to my journal, [livejournal.com profile] vanbuysell, [livejournal.com profile] van_electronics.

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