Filed under General by Oscar Boykin | 3 comments
Great and all knowing Internet,
I have looked for information about how to have server-side code trigger an event for client-side javascript code, and I can’t find a good way to do it without polling. Since polling is immoral and ugly, there should be a better way. Is there?
If not, here is my suggestion: an addition to the Javascript standard library which allows javascript code to register an event handler for a serverside event. When the event occurs, a string is passed from the server to a function specified by the client. This could be accomplished by the client opening a TCP connection to the server. The connection stays open, and client watches the socket for data from the server. Of course, one can consider a more complex model, but even this simple one would be very powerful (since the string could in principle encode more complex structured (xml, json) data).
I don’t think this would be difficult to code correctly and securely. It would make a lot of applications (like chat systems, webmail, auction systems, etc…) more efficient. Is there already something equivalent/superior to this?
Filed under General by Oscar Boykin | 2 comments
I am putting new floors into my house. Before I can do that, I have to remove the tile that is in my kitchen and breakfast area. I removed about half of it this weekend. I made some observations along the way:
- Though exhilarating, overwhelming force is usually not the most efficient way to get things done. By treating the tiles a little more gently you can usually persuade larger pieces to come up. Too much force just shatters them.
- Quite often, when you hit a tile hard, pieces of it fly back and hit you right in the face. (Kind of related to the above).
- Things that seem really great, later can seem really annoying. Generally, I liked when the tiles stayed on the floor when I was walking on them. But that same property made it really annoying when I wanted them up.
- Though they may seem the same on the surface, underneath, each is different. From one tile to the next, I couldn’t tell which would be easy to remove or not. Some came right up, some I had to spend 30 minutes chipping off the floor. It seemed to do mostly with the way they were bonded to the floor, something I could not tell at all from looking at them.
- You never know when things will totally change. About 1/4 of the tiles were put down directly on concrete. These are the ones I happened to do first. They were not fun to remove since the bonding agent bonded extremely well to the concrete and the tile. But, then something wonderful happened. I got to a part of the floor where the tiles were put down over linoleum. These were much easier to remove. Who knows how long it will last. Maybe another change is coming.
Filed under General by Oscar Boykin | 0 comments
For a variety of reasons, a researcher will sometimes need to supply a list of their coauthors. When recently asked to do this, I realized my list was out of date. I also realized that I need to keep track of this information in different formats. Like any good geek, I knew it was time to write some code.
So, perhaps this will be interesting to others: Colpar (yeah, it comes from collaborator-parse, no, it’s not an exciting name). Here’s how to use it. You prepare an XML file which lists coauthors and affiliations (here’s an example). Then you run the script by sending your xml file as standard input. Colpar will print out either html or text versions of the alphabetized list (depending on which function you comment out in the python code, sorry). I used this to generate the html on my coauthors page.
I may extend this system to include papers, and other metadata. It would be nice to have the system be able to output bibtex, collaborator lists (text and html versions), and data for my CV. In this case, I only need to keep one file up to date which includes all the information about my papers, then everything else can be produced from this. A web based system would be nice, where users could post their xml file, and the web service would produce the other files automatically.
Filed under General by Oscar Boykin | 0 comments

This past Saturday I was witness to an amazing event which I had neither the photographic technology nor the literary talent to capture properly. So, we are left with what you have here: a grainy picture from my phone’s camera and this text.
I pulled up to an intersection on Newberry road (heading towards Newberry) to find three large German Shepherds in the back of a pickup truck barking ferociously at a dancing man wearing a subway sandwich custume. We could all feel how close we were to seeing those dogs rip that sandwich apart, yet none of us could escape the comedy. Even Sandwichman’s assistant was having a good time, and Sandwichman himself seemed to realize the only way out of danger was through it, and so, he continued his merry dance.
Ultimately, the truck carried the dogs away and Sandwichman lived to dance another day.
Filed under General by Oscar Boykin | 0 comments
Dear Raleigh (capital of the Great State of North Carolina),
Congratulations on tying for the number 2 position on the list of cities with the highest fraction of adults over 25 with bachelor degrees (50.1%). You’re only trailing number 1 by 1.6%.
(a little NC rivalry): To Charlotte, NC: tied for 12th with Portland (38.1%). Weak.
To Los Angeles: Not in the top 25. Better luck next time.
I’ve lived in Raleigh (50.1), Atlanta (42.4), Oakland (33.8), Los Angeles (?), and now Gainesville. Other than Gainesville (which is too small [I think] to be on the list) each time I move, I go to a less educated city (I guess that’s why I keep feeling smarter).