Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts
Friday, May 19, 2006
Ha!
I don't think anyone reads this who would find this funny, but I get a kick out of it: Linux posters.
Sunday, May 14, 2006
NBA Playoffs
Rob's running a pool for the NBA playoffs. They started about 3 weeks ago, and last until sometime in June. Part of the fun of March Madness was watching our relative standings in the pool updated almost live. ESPN did it all for us. So when Rob started the pool, he called me up and asked how much work it'd be to make such a website. You see, ESPN doesn't have one for the NBA. I said it'd be a few hours of work, but I didn't commit to doing it.
This past week I've had a little extra time on my hands. The result is here. There are a few things I still want to do:
I can now run a pool every year! Hah.
This past week I've had a little extra time on my hands. The result is here. There are a few things I still want to do:
- PPR! As you can see from the table, there's a spot for the possible points remaining. The scheme for awarding points makes calculating PPR somewhat more complicated than it might seem at first glance. A correct pick gets 2, 4, 8 or 14 points depending on the round plus 4, 2, 1 or 0 points depending on how closely the series length is predicted plus an upset bonus if applicable. The upset bonus is awarded when there is an upset, i.e. a lower seeded team wins. The upset bonus is the difference of the seeds. This is what makes it tricky! It's entirely possible that someone can maximize his points by losing a series one round, in order to get the upset bonus in the next. One has to take this into account to faithfully calculate PPR.
- Automatic updates! The whole point of this thing was to make both Rob's life and my life easier (in the long run). I haven't yet written the script that will update the database. This is actually a pretty simple step thanks to AJAX. I remember back in the day when I might have to screenscrape to do this. But now every website has a nice XML feed so AJAX can automatically and asynchronously refresh its webpages.
- Game progress! When I write that background script, I can get more information than the series tallies the database currently holds. I can follow individual games (scores and the like) and display these on the page. Of course, this means I should also use an AJAX-style refresh, to keep those updates coming. (Knowing the upcoming schedule will also allow for better caching!)
- Clean code! I did this rather quickly, so it's a little messier than it has to be. It'd be nice if it were a bit more intelligible. The files so far total over 800 lines. Isn't that a kick?
I can now run a pool every year! Hah.
Friday, April 28, 2006
To the pub...
So I should let you know that my laptop now works. I had talked to Dell technical support at about 5 p.m. on Tuesday, and Thursday morning my laptop hard drive arrived. That's a pleasant surprise. I quickly installed it, then worked on installing my preferred operating system. This took a little bit longer than it should have, but I eventually got everything set.
Tonight, we went to the pub. We went to watch basketball. Rob, Bert, Elizabeth, George, Matt and Christina came. I was being overly "social" though. I was hanging out with some people nearer the pool table and more willing to play pool. The people were trying to hook me up with one of their female friends.
Amused...
Tonight, we went to the pub. We went to watch basketball. Rob, Bert, Elizabeth, George, Matt and Christina came. I was being overly "social" though. I was hanging out with some people nearer the pool table and more willing to play pool. The people were trying to hook me up with one of their female friends.
Amused...
Wednesday, April 26, 2006
Baby we can make it if we're heart to heart
Tuesday I crossed off most of my to-do list. In the process, I learned a lesson:
Don't call Dell technical support. Ever. I learned this the hard way. I called them, spent a little over half an hour giving personal information and describing the problem to a lady with one of the thickest Indian accents I've ever heard. This included giving my phone number, so she could call back if we got disconnected. Great idea! Poorly implemented: as we were discussing the problem at hand, the connection was dropped. No one called back. So I tried calling again. This time I got a guy, also clearly Indian, but with a much milder accent. He also seemed to know what he was doing. We got to the same part in the conversation before the connection was dropped, again. Naturally, he never called me back either. And I had no ticket number, and nothing had been started to actually resolve my problem. This is precisely why I had put off this call...
So at this point, frustrated, I tried Dell's online technical support. The lady was very helpful. Even though it took an hour, and her responses lagged considerably, it was infinitely better. I should have a part coming in a few days.
With a great feeling of accomplishment, I arrived at the CP for our pool league. It was the last week of regular play. Next week starts the playoffs. We're in the playoffs, but so is everyone else. (Our division only has 6 teams. The first team automatically advances, and the next 4 have these playoffs.) Anyways, we're having trouble with attendance. One of our guys is captain of a softball team. One is being flaky for unknown reasons.
The highlight of the day was the ride home. On the southbound red line, three girls entered at some downtown stop. One said, "Hey, look what James wrote," and pulled out a small note and began to read it aloud:
I grant you that being hit in the ankle with a blunt object must hurt, but when thinking of potentially painful things, is this the first one that pops into your mind? I had trouble not laughing too noticably. (There's a blog which specializes in things overheard on Chicago mass transit. Wouldn't you figure?)
Don't call Dell technical support. Ever. I learned this the hard way. I called them, spent a little over half an hour giving personal information and describing the problem to a lady with one of the thickest Indian accents I've ever heard. This included giving my phone number, so she could call back if we got disconnected. Great idea! Poorly implemented: as we were discussing the problem at hand, the connection was dropped. No one called back. So I tried calling again. This time I got a guy, also clearly Indian, but with a much milder accent. He also seemed to know what he was doing. We got to the same part in the conversation before the connection was dropped, again. Naturally, he never called me back either. And I had no ticket number, and nothing had been started to actually resolve my problem. This is precisely why I had put off this call...
So at this point, frustrated, I tried Dell's online technical support. The lady was very helpful. Even though it took an hour, and her responses lagged considerably, it was infinitely better. I should have a part coming in a few days.
With a great feeling of accomplishment, I arrived at the CP for our pool league. It was the last week of regular play. Next week starts the playoffs. We're in the playoffs, but so is everyone else. (Our division only has 6 teams. The first team automatically advances, and the next 4 have these playoffs.) Anyways, we're having trouble with attendance. One of our guys is captain of a softball team. One is being flaky for unknown reasons.
The highlight of the day was the ride home. On the southbound red line, three girls entered at some downtown stop. One said, "Hey, look what James wrote," and pulled out a small note and began to read it aloud:
Dear Lola,
Your absence is like being hit in the ankle with a blunt object.
I grant you that being hit in the ankle with a blunt object must hurt, but when thinking of potentially painful things, is this the first one that pops into your mind? I had trouble not laughing too noticably. (There's a blog which specializes in things overheard on Chicago mass transit. Wouldn't you figure?)
Saturday, April 22, 2006
Rumours of my Demise
To make a long story short, my laptop died. Actually, it seems the hard drive died. (It was my fault, but I won't get into that.) As a result, my access to jgarrett was hampered until now.
Anyways, I've been having a great few weeks, lately. I'll avoid getting saccharine about it, but I'm beginning to build a better appreciation... (Good luck if you can figure out what I'm talking about! In 2 weeks, I probably won't even know.)
I've been keeping in touch with that prospie who e-mailed me a while back. He decided to come. I'm somewhat curious how he found me. Anyways, because of a lack of access to my primary e-mail, I had to get inventive in figuring out how to respond to his last e-mail (which is on my now dead laptop). I googled, and he has a myspace page. So now do I (so I could message him). That's in the category of things I doubt I'll ever think about again. My brother has a myspace page even...
I should get back to real life now that I've checked this off my to-do list.
Anyways, I've been having a great few weeks, lately. I'll avoid getting saccharine about it, but I'm beginning to build a better appreciation... (Good luck if you can figure out what I'm talking about! In 2 weeks, I probably won't even know.)
I've been keeping in touch with that prospie who e-mailed me a while back. He decided to come. I'm somewhat curious how he found me. Anyways, because of a lack of access to my primary e-mail, I had to get inventive in figuring out how to respond to his last e-mail (which is on my now dead laptop). I googled, and he has a myspace page. So now do I (so I could message him). That's in the category of things I doubt I'll ever think about again. My brother has a myspace page even...
I should get back to real life now that I've checked this off my to-do list.
Monday, March 20, 2006
Why PHP is not a real language...
PHP doesn't have named parameters. You know what that means? That's right, you have to specify every parameter to a function, in order and unnamed, even if there are default values. You can leave off parameters at the end, but only at the end.
Earlier today I thought, "Hey, it'd be neat to list the number of posts in each category." It's not exactly rocket science. The categories are listed by some function called
So I have just to send the function
There's only one other parameter in there that's not taking the default value. That's the one
Now I must ask you the reader a few questions. Which one is more readable? It's certainly not clear what all the parameters in the first one do. Furthermore, which ones are important? For example, which ones differ from the defaults? Which ones are there because the author intended them to be set, and which are just there because the language is braindead?
While we are at it, which line is more maintainable? If you write this and come back to it five years later, or even two days later, you'll have to scour the documentation to figure out what all the parameters of the first line do. You can make an educated guess (and probably be right!) for the second version. (Maybe PHP developers are envious of Perl developers for being able to create morasses of unmaintainable, illegible code! Just a theory.)
This shortcoming is nothing new. I used to use PHP all over the place. So when I encountered this flaw again, I thought, "Hey, maybe they fixed that in the latest version!" So I googled. Unsurprisingly, I found this guy Adam who thought named parameters would make his life easier. I'm sure there are many such people out there though. He had a nice link though... Apparently the PHP people did think about adding named parameters pretty recently. Laughably, they did not. The link gives three reasons:
Now, certainly in my example, and in Adam's, it makes code simpler and easier to follow. What's more, it leads to maintainable code. You could actually read some lines without having to continually return to the manual or documentation. You can imagine how difficult it must be to actually figure out what's going on in a reasonably-sized PHP script. So really, that only leaves their first one: there is no real need.
I suppose. Other languages respect developer time. They try to help one make simple, legible, maintainable code. Ruby and Python stand out. Even Perl has named parameters. So in the sense that one can just use a decent language, I agree.
(If this seems like a bit of a rant, I suppose it is. I just see no reason to purposely thwart developers--even if they do use PHP. Given the option, the PHP language gods could add named parameters. It'd lead to better code, and save time for everyone. But they choose not to... WHY?)
Earlier today I thought, "Hey, it'd be neat to list the number of posts in each category." It's not exactly rocket science. The categories are listed by some function called
list_cats
, and it takes a parameter for just such an occassion. It's called optioncount
because it controls the option of whether or not to list the post counts for each category. It defaults to FALSE
, or in other words "don't show the counts." Hey, I told you it's not rocket science.So I have just to send the function
TRUE
in that parameter instead of the default FALSE
. Now here comes the whacky part. I now have to specify all the parameters of list_cats
up to and including this one--even though I don't want to change any of the others. So the code must read:list_cats(FALSE,'All','name','asc','index.php',TRUE,FALSE,TRUE)
There's only one other parameter in there that's not taking the default value. That's the one
'name'
which says to sort by category name (it defaults to category ID--why!). So with named parameters, it could look as simple as:list_cats($sort_column => 'name', $optioncount => TRUE)
Now I must ask you the reader a few questions. Which one is more readable? It's certainly not clear what all the parameters in the first one do. Furthermore, which ones are important? For example, which ones differ from the defaults? Which ones are there because the author intended them to be set, and which are just there because the language is braindead?
While we are at it, which line is more maintainable? If you write this and come back to it five years later, or even two days later, you'll have to scour the documentation to figure out what all the parameters of the first line do. You can make an educated guess (and probably be right!) for the second version. (Maybe PHP developers are envious of Perl developers for being able to create morasses of unmaintainable, illegible code! Just a theory.)
This shortcoming is nothing new. I used to use PHP all over the place. So when I encountered this flaw again, I thought, "Hey, maybe they fixed that in the latest version!" So I googled. Unsurprisingly, I found this guy Adam who thought named parameters would make his life easier. I'm sure there are many such people out there though. He had a nice link though... Apparently the PHP people did think about adding named parameters pretty recently. Laughably, they did not. The link gives three reasons:
- There is no real need.
- It's not simple enough.
- It makes code messier.
Now, certainly in my example, and in Adam's, it makes code simpler and easier to follow. What's more, it leads to maintainable code. You could actually read some lines without having to continually return to the manual or documentation. You can imagine how difficult it must be to actually figure out what's going on in a reasonably-sized PHP script. So really, that only leaves their first one: there is no real need.
I suppose. Other languages respect developer time. They try to help one make simple, legible, maintainable code. Ruby and Python stand out. Even Perl has named parameters. So in the sense that one can just use a decent language, I agree.
(If this seems like a bit of a rant, I suppose it is. I just see no reason to purposely thwart developers--even if they do use PHP. Given the option, the PHP language gods could add named parameters. It'd lead to better code, and save time for everyone. But they choose not to... WHY?)
Wednesday, March 15, 2006
Hard links!
I found the Unix Hater's Handbook for the umpteenth time. When I was in high school, I got it out from the public library. It's a long rant, but it's cute. It has many stories of ancient relics, such as LispM, and early Unix frustration... (One can also peruse some archives of the Unix Haters' mailing list.)
In the last chapter, they bring up one of my favorite things: hard links. Most of you probably don't care, but that hasn't stopped me yet. Hard links are absolutely wonderful creations. Most Unix-like filesystems behave very similarly. Information on a file (such as its owner and permissions and where it is located on disk) are stored in a central place. This allows for a little legerdemain. The filename is not part of this information. Instead, the filesystem views directories as lists of names and associated files (i.e. pointers to these blocks of information).
This means the name, and location in the directory hierarchy are not inherent properties of a file. It is possible that a file on disk is "hooked into" the directory hierarchy at no places (this shouldn't happen) or at more than one place. This latter condition is known as a hard link. This means one has the exact same file at two (or more) different locations in the filesystem, possibly in two different directories, possibly with different names. This is not just an exact copy--it's the exact same file, and it's only taking up space for one.
Why is this useful you ask? That's a very good question. Hard links do seem arcane at first glance. One could use them to get a certain amount of safety. Say you have an important file. Hard link it to a safe place. It can still get screwed by malicious actors--it's the same file--but if your usual editor breaks hard links (i.e. when it edits a file, it takes a hard linked file, and replaces it with a copy) you will be safe from accidentally messing it up. You have a known good copy in the "safe place."
An even better use is to create branches cheaply. When I program something (I've been known to do this ;)), and I want to work on some feature or another, I can hardlink the entire directory structure over. This is quicker than copying, and it uses much less disk space. Then my editor can break the links for any files I edit. And I now have two directory structures: one with the unmodified source and one with the modified source. And they get to share the disk space for all the unedited files! Yes, disk is cheap, but my laptop hard disk isn't that big. (There are even certain revision control systems that can work within this setting. Even cooler!)
To create a hard link, just run
Then, you may want to teach your editor to break hard links. For vim you can do this by putting
In the last chapter, they bring up one of my favorite things: hard links. Most of you probably don't care, but that hasn't stopped me yet. Hard links are absolutely wonderful creations. Most Unix-like filesystems behave very similarly. Information on a file (such as its owner and permissions and where it is located on disk) are stored in a central place. This allows for a little legerdemain. The filename is not part of this information. Instead, the filesystem views directories as lists of names and associated files (i.e. pointers to these blocks of information).
This means the name, and location in the directory hierarchy are not inherent properties of a file. It is possible that a file on disk is "hooked into" the directory hierarchy at no places (this shouldn't happen) or at more than one place. This latter condition is known as a hard link. This means one has the exact same file at two (or more) different locations in the filesystem, possibly in two different directories, possibly with different names. This is not just an exact copy--it's the exact same file, and it's only taking up space for one.
Why is this useful you ask? That's a very good question. Hard links do seem arcane at first glance. One could use them to get a certain amount of safety. Say you have an important file. Hard link it to a safe place. It can still get screwed by malicious actors--it's the same file--but if your usual editor breaks hard links (i.e. when it edits a file, it takes a hard linked file, and replaces it with a copy) you will be safe from accidentally messing it up. You have a known good copy in the "safe place."
An even better use is to create branches cheaply. When I program something (I've been known to do this ;)), and I want to work on some feature or another, I can hardlink the entire directory structure over. This is quicker than copying, and it uses much less disk space. Then my editor can break the links for any files I edit. And I now have two directory structures: one with the unmodified source and one with the modified source. And they get to share the disk space for all the unedited files! Yes, disk is cheap, but my laptop hard disk isn't that big. (There are even certain revision control systems that can work within this setting. Even cooler!)
To create a hard link, just run
ln filename linkname
. They must be on the same filesystem. After this you'll now have a file called linkname
which is identical in every respect to filename
. If you want to do this on a whole directory structure, you can run cp -al directory/ newdirectory/
. Now you'll have a new directory structure newdirectory/
with exactly the same files as directory/
.Then, you may want to teach your editor to break hard links. For vim you can do this by putting
set backupcopy=auto,breakhardlink
in your .vimrc file.Sunday, January 8, 2006
Googlebot
I've tried this Google sitemaps thing now for a few months. At the very least, it hasn't hurt. I do wish more statistics were available.
One thing I can't figure out: why does Googlebot see my site as US-ASCII?
One thing I can't figure out: why does Googlebot see my site as US-ASCII?
Sunday, December 11, 2005
Oh the past
This blog started as a LiveJournal blog in early 2003. My username there was txaristocrat. Then earlier this summer I set up jgarrett.org specifically so that I could have a rather permanent, personal e-mail address. As an added bonus, in moving my blog to the new machine, I now had complete control over it. So for example, I could choose the style more freely than at LJ, or include polls, or whatever I so desired...
When I did this, the computer on which all of my site was hosted was one a friend of mine had set up at his job (at a web hosting company). Near the end of the summer though, he left that job under somewhat questionable circumstances. And he left quickly...
The computer was soon taken down, so what little information I had stored there I lost, including those blog entries made after moving away from LJ, as well as some e-mail, and perhaps a few other things. I later set up my site again at a web hosting company where I had substantially more control. I never moved my archival blog entries though, the few ones from the LJ days.
The point of this is: now I have! So you can now see all the blog entries (excluding those from this summer forever lost) since I've ever had a blog.
When I did this, the computer on which all of my site was hosted was one a friend of mine had set up at his job (at a web hosting company). Near the end of the summer though, he left that job under somewhat questionable circumstances. And he left quickly...
The computer was soon taken down, so what little information I had stored there I lost, including those blog entries made after moving away from LJ, as well as some e-mail, and perhaps a few other things. I later set up my site again at a web hosting company where I had substantially more control. I never moved my archival blog entries though, the few ones from the LJ days.
The point of this is: now I have! So you can now see all the blog entries (excluding those from this summer forever lost) since I've ever had a blog.
Monday, November 21, 2005
Sunday, October 30, 2005
Jabber
AOL, MSN, ICQ, and Yahoo! all have instant messaging networks. About 6 years ago, a superior alternative known as Jabber (or XMPP) was developed. It is now a published standard. Jabber is superficially very similar to other instant messaging systems. Each user has a Jabber ID and a roster of some other Jabber users. The online presence of those on the list can be seen, and they can be messaged. But Jabber is different:
Convinced? The first step is to find a client here and a server here or use jgarrett.org. In the latter case, be sure to read this. Your Jabber ID will be of the form username@servername. Once you've chosen a server, you are free to choose the username portion. Then you use your client register the new account. (The server will tell you if the username conflicts with another preexisting one, or is otherwise disallowed.) Now you can sign into your Jabber account and start talking. If your browser is configured properly, you can even follow this link to message me.
For more information on Jabber, check out the Jabber user guide.
- Anyone can run a Jabber server. Users are not reliant upon the continuing beneficence of a large corporate entity. Users with accounts on different servers can communicate, just as with e-mail. My Jabber ID is jeff@jgarrett.org and my home server is jgarrett.org, but any Jabber user can message me, and vice versa.
- There is not a privileged (often buggy, bloated, and poorly integrated) "official" client. All have access to the standards defining Jabber, so -- in theory -- all clients are created equal. Those who aren't on the most popular platform have access to a first-class client with the same features. Even those on the most popular platform have a choice of client.
- Authorization is required to view a Jabber user's online presence. This authorization is neither permanent (it may be revoked) nor reciprocal. In fact, more fine-grained control is possible. A user -- though online and available -- can choose to be "invisible" to some or all.
- Users may be signed into their accounts multiple times. Inbound messages go through the connection with the highest priority. This is especially useful for nomadic computer users. Forgetting to close a connection will not affect the ability to use Jabber as usual on another machine.
- A user's roster is stored on the server. It's therefore protected from data loss, and in a single central location.
- Users may opt to have their basic information listed in the Jabber user directory. Other users can then find them more easily.
- Gateways to other instant messaging networks exist. Not everyone uses Jabber instant messaging yet. :-)
- Security was a priority from the start. The whole interaction with the server can be encrypted. Even more, using the magic of public key encryption, individual messages can be signed or encrypted.
- The basic Jabber protocol was developed 6 years ago and has (almost) completed the Internet standards process. It has been widely used during this time, and is both stable and mature. Google is deploying its Google Talk based on the same technology. (Note however that not all of the features I mention are available on Google Talk. For example, Google Talk users cannot talk to most Jabber users not themselves using Google Talk.)
- Despite the rigidity of the basic protocol, its structure allows for easy extensibility. Features not yet imagined or codified in the standard can be developed relatively quickly and share many of the advantages of the "standard" features. There is a body who oversees this process, and publishes these enhancements.
Convinced? The first step is to find a client here and a server here or use jgarrett.org. In the latter case, be sure to read this. Your Jabber ID will be of the form username@servername. Once you've chosen a server, you are free to choose the username portion. Then you use your client register the new account. (The server will tell you if the username conflicts with another preexisting one, or is otherwise disallowed.) Now you can sign into your Jabber account and start talking. If your browser is configured properly, you can even follow this link to message me.
For more information on Jabber, check out the Jabber user guide.
Saturday, October 29, 2005
Identity
The top Google hit for "Jeff Garrett" used to be one of my pages. A very old and tendentious one, if i recall, but still mine. I have had an Internet presence for 10 years or more, after all. Now you can't even find me! :-)
I've not had a blog for as long -- only about 3 years. The top Google hit for "Jeff Garrett blog" is unsurprisingly not mine. But still, check it out. At least people can tell us apart. :-)
I've not had a blog for as long -- only about 3 years. The top Google hit for "Jeff Garrett blog" is unsurprisingly not mine. But still, check it out. At least people can tell us apart. :-)
Tuesday, July 12, 2005
Examining my system
Ok, so this linode setup is pretty neat. The whole thing is based on UML, so several "hosts" run on one box. You essentially get your own computer coexisting with others on the same hardware. They have multiple distributions to install, etc. Installing and formatting the disk are done with their web interface. Once installed though, you have your own box esssentially. You can even ssh into the box your host is running on, and get console access!
So far a great experience...
So far a great experience...
Control freak
Ok, so modified it a bit. Dates appear below posts, with categories. This bugs me less. :-)
Playing with the blog
I like this theme.
Meanwhile, this is getting to be a very small Debian installation. 134 packages installed, 197 MiB used. And still it could get better.
Meanwhile, this is getting to be a very small Debian installation. 134 packages installed, 197 MiB used. And still it could get better.
Another day
Ok, so a little backstory... My friend WS has an excellent job as network architect/engineer for some web hosting company. He set himself up a little private box on their network, and that was hosting jgarrett.org. The purpose of my little vanity address itself is questionable, but I'd like to think of it at least as giving itself to a stable e-mail and web server. Turns out that the e-mail went down on that machine about a month ago, and I was completely unaware. I'm not so fond of e-mail. :-)
The reason for the failure was a rather questionable apt-get upgrade, shortly after Debian 3.1 was released. Anyways, this gave me the incentive to relocate. This way, (a) I'm not mooching off of WS' bandwidth, (b) he was going to need to move that machine sometime anyways, leading to trouble, and (c) I can task the machine exactly right. :-)
Linode.com was what I settled on. Seems like a great little UML based virtual hosting place. Anyways, right now I'm in the process of getting everything set up the way I like, and batting down the hatches as it were.
In more personal news, you may or may not know that my brother intends to become a fireman. He is taking some classes to this effect. Anyways a week ago, his equipment worth nearly $1500 was stolen out of his truck. The real downside more than anything else it seemed, was that this would put him very far behind in his class. See, he originally ordered the coat specially, to get the sleeve length right, and it took 2 weeks to get the coat in. Fortunately though, this time he had no problems at all. He has already got his equipment replaced and only had to make up about 30 minutes worth of instruction.
Yay for that!
The reason for the failure was a rather questionable apt-get upgrade, shortly after Debian 3.1 was released. Anyways, this gave me the incentive to relocate. This way, (a) I'm not mooching off of WS' bandwidth, (b) he was going to need to move that machine sometime anyways, leading to trouble, and (c) I can task the machine exactly right. :-)
Linode.com was what I settled on. Seems like a great little UML based virtual hosting place. Anyways, right now I'm in the process of getting everything set up the way I like, and batting down the hatches as it were.
In more personal news, you may or may not know that my brother intends to become a fireman. He is taking some classes to this effect. Anyways a week ago, his equipment worth nearly $1500 was stolen out of his truck. The real downside more than anything else it seemed, was that this would put him very far behind in his class. See, he originally ordered the coat specially, to get the sleeve length right, and it took 2 weeks to get the coat in. Fortunately though, this time he had no problems at all. He has already got his equipment replaced and only had to make up about 30 minutes worth of instruction.
Yay for that!
Thursday, May 26, 2005
The Phoenix Moves
I have acquired for my own nefarious purposes the domain jgarrett.org.
My blog is therefore moving to http://jgarrett.org/blog.
My blog is therefore moving to http://jgarrett.org/blog.
Friday, April 8, 2005
The Phoenix Rises
My livejournal account has not yet been discontinued, despite my nearly 2 year hiatus. (I think my gmail account has!) This warrants new entries. Unfortunately the math will not be as restrained, although not quite as evident as in Ian's blog.
A geometer friend Ben from college is visiting. He told me about a process through which you can associate a curve to a knot. One can then ask if infinitely many curves of genus 0 show up, etc. Apparently to do this, one starts with a knot, look at the complement in S3, give this a hyperbolic structure, look at the associated group in PSL2C, and take the character variety. There is a distinguished component, and it is 1-dimensional. Smooth this and you get a smooth proper curve defined over a number field from your knot. My first response to this was to consider the analogy between 3-manifolds and number fields. By this analogy, one would have a process which associates to each rational prime a smooth proper curve over some number field. I would be curious to know what this is. Then one could guess what the appropriate answers are to questions about the curves.
In relation to something else he brought up, the question arose if the rank of an elliptic curve over a number field is independent of the number field. That is, is it stable under extension. This is a pretty stupid question, but I don't know the answer. Another question: given an elliptic curve E over a number field K, can the set of points over K be dense in E.
Another Ben told me while ago that étale K-theory is just the étale sheafification of algebraic K-theory. Although this should've been obvious to me, it wasn't. Algebraic K-theory gives a presheaf of spectra on the small étale site of a scheme X, and one should sheafify to get a sheaf of spectra. The global sections of this of this on X is the étale K-theory spectrum. One can make sense of the sheafification with model categories and Bousfield localization. Ben suggested that the theory of Kan extensions means you can make sense of sheafification whenever you have a theory of homotopy limits. Unfortunately, I don't know anything about Kan extensions.
A more naïve approach to sheafification might be solved as follows. For a “triangulated category” D, there should be a notion of presheaves and sheaves with values in D. These should also be “triangulated categories.” One should have notions of exactness and localization. An example of both should be given by sheafification. One should have an exact global sections functor from both presheaves and sheaves to D. There should be a descent spectral sequence, etc.
Unfortunately, trying to do this naïvely with triangulated categories fails due to the nonuniqueness of the cone. One should use DG-categories, or better A∞ categories.
This perhaps explains why one has to go through the model category structure above when D is the category of spectra, and likewise why Thomason has to work so hard to work with appropriate models of the derived category.
One can likewise introduce algebraic K-theory this way. Define it first for affine schemes, and then sheafify in the Zariski topology. I should write this all up soon.
Another example of this, would be with D the derived category of abelian groups. Then sheaves with values in D would essentially be the derived category of sheaves. The global sections functor is the usual one, and the descent spectral sequence specializes to the hypercohomology spectral sequence.
A geometer friend Ben from college is visiting. He told me about a process through which you can associate a curve to a knot. One can then ask if infinitely many curves of genus 0 show up, etc. Apparently to do this, one starts with a knot, look at the complement in S3, give this a hyperbolic structure, look at the associated group in PSL2C, and take the character variety. There is a distinguished component, and it is 1-dimensional. Smooth this and you get a smooth proper curve defined over a number field from your knot. My first response to this was to consider the analogy between 3-manifolds and number fields. By this analogy, one would have a process which associates to each rational prime a smooth proper curve over some number field. I would be curious to know what this is. Then one could guess what the appropriate answers are to questions about the curves.
In relation to something else he brought up, the question arose if the rank of an elliptic curve over a number field is independent of the number field. That is, is it stable under extension. This is a pretty stupid question, but I don't know the answer. Another question: given an elliptic curve E over a number field K, can the set of points over K be dense in E.
Another Ben told me while ago that étale K-theory is just the étale sheafification of algebraic K-theory. Although this should've been obvious to me, it wasn't. Algebraic K-theory gives a presheaf of spectra on the small étale site of a scheme X, and one should sheafify to get a sheaf of spectra. The global sections of this of this on X is the étale K-theory spectrum. One can make sense of the sheafification with model categories and Bousfield localization. Ben suggested that the theory of Kan extensions means you can make sense of sheafification whenever you have a theory of homotopy limits. Unfortunately, I don't know anything about Kan extensions.
A more naïve approach to sheafification might be solved as follows. For a “triangulated category” D, there should be a notion of presheaves and sheaves with values in D. These should also be “triangulated categories.” One should have notions of exactness and localization. An example of both should be given by sheafification. One should have an exact global sections functor from both presheaves and sheaves to D. There should be a descent spectral sequence, etc.
Unfortunately, trying to do this naïvely with triangulated categories fails due to the nonuniqueness of the cone. One should use DG-categories, or better A∞ categories.
This perhaps explains why one has to go through the model category structure above when D is the category of spectra, and likewise why Thomason has to work so hard to work with appropriate models of the derived category.
One can likewise introduce algebraic K-theory this way. Define it first for affine schemes, and then sheafify in the Zariski topology. I should write this all up soon.
Another example of this, would be with D the derived category of abelian groups. Then sheaves with values in D would essentially be the derived category of sheaves. The global sections functor is the usual one, and the descent spectral sequence specializes to the hypercohomology spectral sequence.
Subscribe to:
Posts (Atom)