Better network access...
Mar. 7th, 2008 05:45 pmMy employer, both MySQL and Sun, will reimburse me for my internet connection.
I wonder if I could just buy FON routers for my favorite cafes, and then expense them? It would let me have better and more reliable internet access then I get thru the crappy little wireless routers from Quest and Comcast...
I wonder if I could just buy FON routers for my favorite cafes, and then expense them? It would let me have better and more reliable internet access then I get thru the crappy little wireless routers from Quest and Comcast...
Dear Lazyweb.
I have a remote IMAP mailbox full of read messages.
I have a Sieve script.
I want to run that sieve script against the contents of that remote mailbox, and refile all those messages into different mailboxes.
This IMAP server can sieve new incoming messages, but how do I run a new sieve against already filed old messages?
I have a remote IMAP mailbox full of read messages.
I have a Sieve script.
I want to run that sieve script against the contents of that remote mailbox, and refile all those messages into different mailboxes.
This IMAP server can sieve new incoming messages, but how do I run a new sieve against already filed old messages?
Brain control headset for gamers
I saw this discussed at OScon. I'm looking forward to seeing the hardware hackers play with this.
On the other hand, someone suggested "Consider a Hulk game where you have to get angry to Hulk-out."
Keyboards and game controllers resulted in all sorts of interesting forms of RSI. What kind of RSI can people get from a neural interface?
I saw this discussed at OScon. I'm looking forward to seeing the hardware hackers play with this.
On the other hand, someone suggested "Consider a Hulk game where you have to get angry to Hulk-out."
Keyboards and game controllers resulted in all sorts of interesting forms of RSI. What kind of RSI can people get from a neural interface?
SG FOO Camp 2008
Feb. 7th, 2008 05:04 pmMy main complaint to myself when I went to FOO Camp this past summer is that I had wished I had taken better notes. I have the same problem this time. I was having so much fun and getting so much joy spending interacting, participating, and hacking, that I don't have the bandwidth to take notes.
On December 29th, I got an invitation from David Recordon
daveman692, Scott Kveton, and Tim O'Reilly, to "Social Graph Foo Camp". I immediately said yes, of course.
MySQL Inc agreed cover my travel (a real deal for them, since they didnt have to pay a hotel), so long as I appropriately represented the company, e.g. use the company logo on slides, and so forth. So I wore my swag jacket with the logo on the back, and I ran a session, "MySQL for Social Networks: Graphs and Tags".
A couple of days before the event, I picked two names at random from the "looking for a ride" list, and ended up meeting Leslie Chicoine of Get Satisfaction, and Gavin Bell of Nature Magazine. I actually met up with Leslie at her office, and ended up having lunch with her and some of the other interesting GetSatisfaction people. We then drove to SFO to pick up Gavin, who was flying in from England. (A small and meaningless adventure ensued, where I missed a poorly marked turn at SFO international arrivals, and we ended up discovering where the municipal waste treatment plant is).
On the drive up to Sebastopol, the conversation ranged and rambled, and I didn't notice that I had completely missed the exit until I glanced at the NeverLost, to see that it was constantly recalculating the route, trying to turn me around. We had overshot by over 30
miles. Another small adventure, but we finally made it to the right place, checked in, and then the fun started.
At the introduction meeting, Tim introduced David and Scott, and then they told the story about wanting to put together a small gathering on the subject, and the "who should be there" expanded from a handful of people, to a couple of dozen people, to more than a couple of dozen people. The event kind of exploded on them, and they put it together
really fast. It helped that the O'Reilly people now have a lot of experience, both with geek conferences in general, and with FOO camps at their facility.
There was the standard "rushing the boards", tho the crush wasn't nearly so insane, with only about 100 people, instead of the 350 last summer.
There were groups and discussions about microformats, the new OpenSocial API, the graph mapping work being done by SixApart, by Google, and by Plaxo. There were people there from FaceBook, from MySpace, and from LinkedIn. There were people from Microsoft
Research, and some people from LiveSpaces. There were people from Yahoo, and from Flickr. And from Twitter and Jaiku.
Some of these systems are HUGE. Both LiveSpaces and Yahoo have active social users bases with many hundreds of MILLIONS of users, managing and moderating that many people is an interesting challenge. There are over a billion people online regularly now, and another billion will be online in a couple of years, and another billion a few years after that.
At the big introduction, I sat next to Rob Dolin, the Program Manager of Microsoft Windows Live Spaces, and showed him the unified friends status change feed that they could hook up to, and we talked about "why doesn't MSN Messanger just do XMPP".
In the geo location session, I remembered reading a couple of days ago about a service called TripIt and so signed up for it then and there. And then I discovered that Andy Denmark, their VP of Engineerings was sitting right next to me, he was
pointed out to me by the guy from Dopplr.
So Andy and I had lunch together, and he watched over my shoulder as I added my past couple of months worth of trips to their system, and I praised what it got right, and we noted what it got wrong.
I made two concrete suggestions to him. One that instead of just forwarding itenerary emails to them, they let me create a personal email address there, that I had have the airlines and travel agents directly send emails to. And that they work closely with Dopplr. What would be best is if Dopplr have a "do you have a TripIt account?" and TripIt have a "Do you have a Dopplr account?" buttons, and then sync up.
Other stuff. I geeked a fair amount with Stephen Paul Weber of DiSo, and hooked him up with Don MacAskill, tho I can't remember right now why. I got invited by Blaine Cook to a presentation on how to run huge XMPP services and about XMPP PubSub. I geek with and ate with someone from LinkedIn. I need to get all the bizcards and "rel me" links I was given into my address book, so I can remember more names...
It was cool, it was productive, and a lot of stuff happened.
On December 29th, I got an invitation from David Recordon
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
MySQL Inc agreed cover my travel (a real deal for them, since they didnt have to pay a hotel), so long as I appropriately represented the company, e.g. use the company logo on slides, and so forth. So I wore my swag jacket with the logo on the back, and I ran a session, "MySQL for Social Networks: Graphs and Tags".
A couple of days before the event, I picked two names at random from the "looking for a ride" list, and ended up meeting Leslie Chicoine of Get Satisfaction, and Gavin Bell of Nature Magazine. I actually met up with Leslie at her office, and ended up having lunch with her and some of the other interesting GetSatisfaction people. We then drove to SFO to pick up Gavin, who was flying in from England. (A small and meaningless adventure ensued, where I missed a poorly marked turn at SFO international arrivals, and we ended up discovering where the municipal waste treatment plant is).
On the drive up to Sebastopol, the conversation ranged and rambled, and I didn't notice that I had completely missed the exit until I glanced at the NeverLost, to see that it was constantly recalculating the route, trying to turn me around. We had overshot by over 30
miles. Another small adventure, but we finally made it to the right place, checked in, and then the fun started.
At the introduction meeting, Tim introduced David and Scott, and then they told the story about wanting to put together a small gathering on the subject, and the "who should be there" expanded from a handful of people, to a couple of dozen people, to more than a couple of dozen people. The event kind of exploded on them, and they put it together
really fast. It helped that the O'Reilly people now have a lot of experience, both with geek conferences in general, and with FOO camps at their facility.
There was the standard "rushing the boards", tho the crush wasn't nearly so insane, with only about 100 people, instead of the 350 last summer.
There were groups and discussions about microformats, the new OpenSocial API, the graph mapping work being done by SixApart, by Google, and by Plaxo. There were people there from FaceBook, from MySpace, and from LinkedIn. There were people from Microsoft
Research, and some people from LiveSpaces. There were people from Yahoo, and from Flickr. And from Twitter and Jaiku.
Some of these systems are HUGE. Both LiveSpaces and Yahoo have active social users bases with many hundreds of MILLIONS of users, managing and moderating that many people is an interesting challenge. There are over a billion people online regularly now, and another billion will be online in a couple of years, and another billion a few years after that.
At the big introduction, I sat next to Rob Dolin, the Program Manager of Microsoft Windows Live Spaces, and showed him the unified friends status change feed that they could hook up to, and we talked about "why doesn't MSN Messanger just do XMPP".
In the geo location session, I remembered reading a couple of days ago about a service called TripIt and so signed up for it then and there. And then I discovered that Andy Denmark, their VP of Engineerings was sitting right next to me, he was
pointed out to me by the guy from Dopplr.
So Andy and I had lunch together, and he watched over my shoulder as I added my past couple of months worth of trips to their system, and I praised what it got right, and we noted what it got wrong.
I made two concrete suggestions to him. One that instead of just forwarding itenerary emails to them, they let me create a personal email address there, that I had have the airlines and travel agents directly send emails to. And that they work closely with Dopplr. What would be best is if Dopplr have a "do you have a TripIt account?" and TripIt have a "Do you have a Dopplr account?" buttons, and then sync up.
Other stuff. I geeked a fair amount with Stephen Paul Weber of DiSo, and hooked him up with Don MacAskill, tho I can't remember right now why. I got invited by Blaine Cook to a presentation on how to run huge XMPP services and about XMPP PubSub. I geek with and ate with someone from LinkedIn. I need to get all the bizcards and "rel me" links I was given into my address book, so I can remember more names...
It was cool, it was productive, and a lot of stuff happened.
A complaint about iChat
Jan. 25th, 2008 10:33 amDoing more migration over from my Fedora laptop to my MacBook.
I really prefer how Pidgin allows me to have a "person" be a contact, who may have one or more IM protocols under them, unlike iChat, which seems to treat each Person/protocol tuple as a high level thing. This causes an explosion of contacts when I have people who have gtalk, livejournal, and AIM accounts.
Apple has this reputation for getting high touch human scale user interface philosophy right, why are they dropping the ball on this one?
I really prefer how Pidgin allows me to have a "person" be a contact, who may have one or more IM protocols under them, unlike iChat, which seems to treat each Person/protocol tuple as a high level thing. This causes an explosion of contacts when I have people who have gtalk, livejournal, and AIM accounts.
Apple has this reputation for getting high touch human scale user interface philosophy right, why are they dropping the ball on this one?
An idea. Bloom Filter storage engine
Jan. 13th, 2008 05:08 pmA couple of days ago, Jacob DeHart and Harper Reed pinged me with an interesting idea for a MySQL storage engine. A "write-only" engine into a Bloom Filter.
What a neat idea!
The bloom filter, and it's varients and improvements, is almost magic. You can insert items. You can tell if you have inserted an item in the past, You can tell if you havn't inserted an item in the past (probably). But you can't get a list of all the items inserted.
And the performance is interesting. The space used is fixed. Insert and lookup time is constant.
Have to specify about how many elements it will hold.
It usually doesn't make sense to specify more than one column. The entire row will be concatinated together as the input into the hash functions.
It probably doesn't make sense to use any index description syntax, unless doing so will give clues and hints to the query planner (need to talk to BrianA about that). Maybe the thing to do is if the row is described to be a unique or primary key, build a plain one-bit bloom, and otherwise make it a counting varient.
Alternatively, could use the connection string. In this case, we are saying "use m=1000 bits, k=10 hash functions, 8 bit count bucket".
Now we can insert stuff into it.
In a plain bloom, this is pointless, the value "five" gets stored once. In a counting one, on the other hand, this makes sense.
This can't work. Will just return an empty set.
This will return the string "one".
This will return the empty set. Probably. There is a small chance it will return the string "nine".
This can't be done in a classic bloom, but would work with a counting one.
This might be possible, in a counting bloom. Maybe.
Would instantly empty the bloom.
And, of course, can always drop it.
What a neat idea!
The bloom filter, and it's varients and improvements, is almost magic. You can insert items. You can tell if you have inserted an item in the past, You can tell if you havn't inserted an item in the past (probably). But you can't get a list of all the items inserted.
And the performance is interesting. The space used is fixed. Insert and lookup time is constant.
CREATE TABLE t (v VARCHAR(255)) MAX_ROWS=100 ENGINE=BLOOM;
Have to specify about how many elements it will hold.
It usually doesn't make sense to specify more than one column. The entire row will be concatinated together as the input into the hash functions.
It probably doesn't make sense to use any index description syntax, unless doing so will give clues and hints to the query planner (need to talk to BrianA about that). Maybe the thing to do is if the row is described to be a unique or primary key, build a plain one-bit bloom, and otherwise make it a counting varient.
CREATE TABLE t (v VARCHAR(255)) CONNECTION='1000,10,8' ENGINE=BLOOM;
Alternatively, could use the connection string. In this case, we are saying "use m=1000 bits, k=10 hash functions, 8 bit count bucket".
INSERT INTO t (v) VALUES (('one'), ('two'), ('three'), ('four'));
Now we can insert stuff into it.
INSERT INTO t (v) VALUES (('five'), ('five'), ('five'));
In a plain bloom, this is pointless, the value "five" gets stored once. In a counting one, on the other hand, this makes sense.
SELECT v FROM t;
This can't work. Will just return an empty set.
SELECT v FROM t WHERE v = 'one';
This will return the string "one".
SELECT v FROM t WHERE v = 'nine';
This will return the empty set. Probably. There is a small chance it will return the string "nine".
DELETE FROM t WHERE v = 'two';
This can't be done in a classic bloom, but would work with a counting one.
SELECT COUNT(*) from t;
This might be possible, in a counting bloom. Maybe.
TRUNCATE TABLE t;
Would instantly empty the bloom.
DROP TABLE t;
And, of course, can always drop it.
I just tweaked my online banking configuration, setting up bill payment from a different bank account, changing some settings on some credit cards, and so forth. In so doing, I had to both set up new "security questions", and to answer some I had set up in the past.
These "security questions" are a result of a US banking regulation mandate that online banking use "Two Factor Authentication". "Two Factor Auth" means, in theory, that auth be done on the basis of "something you know", which means "password", and "something you have", which means something like a RSA SecurID or Versign VIP, or the end point of a second comm channel, like say, a SMS cellphone.
The banking industry, being fools, knaves, and villains, decided that issuing, or even selling, most everyone, a security token "was too expensive and confusing", and so instead complained, lied, and did the usual regulatory capture dance, and managed to convince the banking industry regulators (see "fools, knaves, and villains", above), that knowing the answer to a "security question" counts as a "second factor".
!
Now, maybe it's true that for a significant fraction of the banks' clients, using a RSA token is, in fact, maybe too "confusing". But for those of us with a clue, please give us the option! Let me buy one from a list approved varieties/branks of security tokens for a couple of bucks, register it with each of my banks, credit cards, and other "secure" sites, and then have the option to use it.
Its not even really necessary to have to buy something. It can be a little app that runs in a smartphone, or even just the ability to receive a SMS message on a not-so-smart phone.
To cut the banking industry a bit of slack, I suspect part of the issue was that Verisign/RSA decided the regulation to be a license to rape the banking industry even harder, and the industry rebelled against them.
These "security questions" are a result of a US banking regulation mandate that online banking use "Two Factor Authentication". "Two Factor Auth" means, in theory, that auth be done on the basis of "something you know", which means "password", and "something you have", which means something like a RSA SecurID or Versign VIP, or the end point of a second comm channel, like say, a SMS cellphone.
The banking industry, being fools, knaves, and villains, decided that issuing, or even selling, most everyone, a security token "was too expensive and confusing", and so instead complained, lied, and did the usual regulatory capture dance, and managed to convince the banking industry regulators (see "fools, knaves, and villains", above), that knowing the answer to a "security question" counts as a "second factor".
!
Now, maybe it's true that for a significant fraction of the banks' clients, using a RSA token is, in fact, maybe too "confusing". But for those of us with a clue, please give us the option! Let me buy one from a list approved varieties/branks of security tokens for a couple of bucks, register it with each of my banks, credit cards, and other "secure" sites, and then have the option to use it.
Its not even really necessary to have to buy something. It can be a little app that runs in a smartphone, or even just the ability to receive a SMS message on a not-so-smart phone.
To cut the banking industry a bit of slack, I suspect part of the issue was that Verisign/RSA decided the regulation to be a license to rape the banking industry even harder, and the industry rebelled against them.
Dear Lazyweb. Open by inode.
Jan. 8th, 2008 01:38 pmFor the past twenty years, I've always assumed that, given knowledge of a file's inode number, there was some efficient way to open(2) that file by inode instead of name, and I've just never felt the need to use it.
Now I feel the desire to do that, and cannot find how. Searching google for "open by inode" just gives me references to stuff on how to implement Linux VFS, and/or how to open a file from inside kernel space, not from user space.
The openat(2) looks like a half-assed way to get some but not all of the same optimization.
So, is there a way to "open by inode" from user space, and how do I do it?
Now I feel the desire to do that, and cannot find how. Searching google for "open by inode" just gives me references to stuff on how to implement Linux VFS, and/or how to open a file from inside kernel space, not from user space.
The openat(2) looks like a half-assed way to get some but not all of the same optimization.
So, is there a way to "open by inode" from user space, and how do I do it?
Storage Engine Idea, tzdata
Dec. 27th, 2007 12:13 pmI recently ranted that Sun JRE installs /usr/java/jre*/lib/zi/, a nearly complete timezone database in it's own java-ish format, instead of using the Olson database in ZIC format in /usr/share/zoneinfo/.
It turns out that MySQL does the same thing, it installs a set of MyISAM tables with the TZ database.
It won't be too hard to write a read-only storage engine that reads the /usr/share/zoneinfo/ ZIC files, and presents tables that "look" just like the currently used tz tables, basically doing what mysql_tzinfo_to_sql does, only "live".
It turns out that MySQL does the same thing, it installs a set of MyISAM tables with the TZ database.
It won't be too hard to write a read-only storage engine that reads the /usr/share/zoneinfo/ ZIC files, and presents tables that "look" just like the currently used tz tables, basically doing what mysql_tzinfo_to_sql does, only "live".
I've started hacking together another storage engine. It's one I've wanted to write since before I wrote my AWSS3 engine.
I'm calling it "pig", because it's going to eat inodes like a pig eating corn.
Each table, row, and element is a filesystem directory. Each element directory contains a file that has the current value, and also a set of version files of the value, thus the table will contain it's entire history. The table directory contains a copy of the .FRM, to enable discovery. Storage engine API events write entries into a logging directory.
As it is, it's not very "useful", in that it's not fast, and it beats the filesystem half to death.
But, on the other hand, it's going to be useful to me for in three ways:
It's a good exercise in writing a more fully featured SE than my AWSS3 SE.
I think it will be a better "example" engine than the stock example engine, in that it will actually store data in an understandable form, and will be logging SE API calls.
And I'm going to modify it to store to HTTP, HTTP/DAV, and to AWS S3/SDS.
I'm calling it "pig", because it's going to eat inodes like a pig eating corn.
Each table, row, and element is a filesystem directory. Each element directory contains a file that has the current value, and also a set of version files of the value, thus the table will contain it's entire history. The table directory contains a copy of the .FRM, to enable discovery. Storage engine API events write entries into a logging directory.
As it is, it's not very "useful", in that it's not fast, and it beats the filesystem half to death.
But, on the other hand, it's going to be useful to me for in three ways:
It's a good exercise in writing a more fully featured SE than my AWSS3 SE.
I think it will be a better "example" engine than the stock example engine, in that it will actually store data in an understandable form, and will be logging SE API calls.
And I'm going to modify it to store to HTTP, HTTP/DAV, and to AWS S3/SDS.
Today at 10:08pm PST (20071222T060800Z) is the Southern Solstice.
About a year ago, as an exercise in learning the iCal data format, I hand built an ICS file that contains the days and times of all the Solar Ephemeris events, that is, the Solstices, Equinoxes, Perihelions, and Aphelions, from 1990 to 2020.
If you are running Outlook or Mac iCal, you can import it by clicking on or importing from this link.
If you are using Google Calendar put "Solar Ephemeris" in the gcal search box and hit the "Search Public Calendars" and add it to your calendar set.
About a year ago, as an exercise in learning the iCal data format, I hand built an ICS file that contains the days and times of all the Solar Ephemeris events, that is, the Solstices, Equinoxes, Perihelions, and Aphelions, from 1990 to 2020.
If you are running Outlook or Mac iCal, you can import it by clicking on or importing from this link.
If you are using Google Calendar put "Solar Ephemeris" in the gcal search box and hit the "Search Public Calendars" and add it to your calendar set.
I'm a big fan of OpenID. However, pretty much all of my past uses of it have been experiments, demonstrations, or because I sought out OpenID enabled sites.
A couple of days ago, I finally used it "for real".
A client of MySQL's uses a system called projectpath.com. And when I first went to it, I saw that it is OpenID enabled!
It's kind of a pity that MySQL.com isn't an OpenID provider for it's staff, like Sun.com does, so that I could have used something like "http://openid.mysql.com/mark.atwood" for it. Instead I just used my personal OpenID of "http://mark.atwood.name/".
A couple of days ago, I finally used it "for real".
A client of MySQL's uses a system called projectpath.com. And when I first went to it, I saw that it is OpenID enabled!
It's kind of a pity that MySQL.com isn't an OpenID provider for it's staff, like Sun.com does, so that I could have used something like "http://openid.mysql.com/mark.atwood" for it. Instead I just used my personal OpenID of "http://mark.atwood.name/".
Gadget Geekery. New Camera.
Dec. 10th, 2007 09:22 pmA couple of weeks ago, when I was in San Francisco, I noticed that my banged up old Canon PowerShot A80, which I had carried around nearly everywhere, was starting to show flickering and streaking on it's LCD. I hoped that it was only an artifact of the display, and that it was still capturing good images.
It was a false hope. About one picture in three was ruined. Time for a new camera.
The one I had had my eye one was the Lumix TZ1, mainly because it had gotten a very positive review on CoolTools, (a site and blog I cannot recommend highly enough).
Turns out that the current incarnation is the TZ3. And many of the user reviews were about features I could really like. It's solid metal. Very good in low-light. Image stabilization. These are solutions to the problems I had had with the A80. Plus, it came in black, which I appreciate.
The only real downsides are that it's going to be a format change in batteries and in memory, from rechargable AAs and CF, to a proprietary pack and SD.
I found the best price, by a significant amount, at "86th Street Photo & Video". And then discovered how it was so "cheap", in that the actually call you to verify your credit card (makes sense, given the fraud rates for small high value electronics in internet sales), and at the same time, press really hard on the up-sell, especially their very overpriced "special super high speed" memory and "special super capacity" batteries, which a little research shows to be no faster than standard SanDisk memory and no larger than the one that comes with the camera.
It was waiting for me when I got home from Dallas on Saturday, wanting only for memory. I was thinking that I was going to have to make the trek to Fries or to CostCo to get SD memory, but then noticed this evening that the Walgreens around the corner has it, and for only a couple of bucks more than CostCo for the 2G size.
So now I have a new camera, for to dump more images into my own collection, and to publish onto Flickr.
It was a false hope. About one picture in three was ruined. Time for a new camera.
The one I had had my eye one was the Lumix TZ1, mainly because it had gotten a very positive review on CoolTools, (a site and blog I cannot recommend highly enough).
Turns out that the current incarnation is the TZ3. And many of the user reviews were about features I could really like. It's solid metal. Very good in low-light. Image stabilization. These are solutions to the problems I had had with the A80. Plus, it came in black, which I appreciate.
The only real downsides are that it's going to be a format change in batteries and in memory, from rechargable AAs and CF, to a proprietary pack and SD.
I found the best price, by a significant amount, at "86th Street Photo & Video". And then discovered how it was so "cheap", in that the actually call you to verify your credit card (makes sense, given the fraud rates for small high value electronics in internet sales), and at the same time, press really hard on the up-sell, especially their very overpriced "special super high speed" memory and "special super capacity" batteries, which a little research shows to be no faster than standard SanDisk memory and no larger than the one that comes with the camera.
It was waiting for me when I got home from Dallas on Saturday, wanting only for memory. I was thinking that I was going to have to make the trek to Fries or to CostCo to get SD memory, but then noticed this evening that the Walgreens around the corner has it, and for only a couple of bucks more than CostCo for the 2G size.
So now I have a new camera, for to dump more images into my own collection, and to publish onto Flickr.
Change? in sasl.smtp.pobox.com
Nov. 25th, 2007 09:46 amFor years, the mail relayhost for my laptop has been pobox, secured with SSL and authed with SASL.
Sometime in the last week, either sasl.smtp.pobox.com stopped listening on port 25, or else I've just always been behind an ISP that blocks outbound port 25. So I've reconfigured to smtp.gmail.com:587.
And finally the mail stacked up in my machine, including invitations to Monday's dinner, just went out.
Sometime in the last week, either sasl.smtp.pobox.com stopped listening on port 25, or else I've just always been behind an ISP that blocks outbound port 25. So I've reconfigured to smtp.gmail.com:587.
And finally the mail stacked up in my machine, including invitations to Monday's dinner, just went out.
AOL screws up
Nov. 16th, 2007 03:09 pmhttp://registration.aol.com requires cross-site cookies to login to one's AIM account.
This is unwise. (Which is a polite way of saying "Those dumbasses!".)
This is unwise. (Which is a polite way of saying "Those dumbasses!".)
Futzing with a USB storage thingeee
Nov. 16th, 2007 12:54 pmI was given a box of MySQL PS swag. One of the items is a 256MB USB storage thingeee. I just tried mounting it for the first time today, it's got some interesting quirks.
I'm thinking of reformatting it, and then keeping my MySQL SSH key on it.
- It doesnt have a MBR or a partition table, instead just formatted like a floppy disk, with a msdos boot sector at the start. This is different from all the other storage thingees I own, which are all formatted like HDs, and have a partition table. This difference sometimes confused the hald automounter.
- It has no MSDOS filesystem label. Thus it got mounted as "/media/disk". That I consider a weakness in the hald automounter. If there is no disklabel, there are lots of good things to fallback to. Maybe I should dig into hald and see how hard this would be to add and how welcomeing they would be to the patch.
- MSDOS fs serialnumber: "A018-E668"
- SCSI device serialnumber: "4CD98788"
- USB device serialnumber: "4CD98788"
- SCSI bus,channel,id,lun,vendor,model: "05000000 Generic Storage Alcor Flash Disk"
- USB bus,port,dev,mfgr,prod: "040317 Generic Mass Storage"
- And when I dump out the raw sector blocks, most of the them are just strings of "FF", but occationally there is a 32bit value at the beginning or end of a sector. Maybe the remains of the factory qualification tests?
I'm thinking of reformatting it, and then keeping my MySQL SSH key on it.