sed page 19 - Dave's Blog

Search
My timeline on Mastodon

California Trip

2007 Dec 23, 11:18Other Jelly FishSarah and I went down to California at the end of last month for a Thanksgiving visit with my parents. We visited the famous Monterey Bay Aquarium (fun fact: the aquarium scenes in Star Trek IV were filmed here) and saw many jelly fish. We wandered around Capitola where we visited many local shops and ate on the wharf. We shopped in Carmel and ate at the Forge in the Forest (fun fact: Clint Eastwood was the mayor of this city in the late 80s). We visited the Santa Cruz Beach Boardwalk which was very cold and closed.
Silly Party HatsMy parents took us out to dinner on the first night and the rest of the nights we ate dinner at their house. They had the Shelton's over and I got to see Chris and Alison. It was fun to talk with them and catch up since its been quite a while since I'd seen them.
Beach House LivingroomWe stayed in the lovely beach house of our family friend's the Goodwins. My parents have been helping them fix it up and decorate it and it looks great. It was quite a treat staying in a house right on the ocean. Also of note, this was the first trip on which I was old enough to rent the car and accordingly I did all of the driving. This trip was very fun and relaxing.PermalinkCommentsaquarium friends parents personal beach california vacation

FOAF and OpenID: two great tastes that taste great together | Decentralized Information Group (DIG) Breadcrumbs

2007 Nov 28, 4:43How to use FOAF and OpenID together and how DIG used that as a basis for commenting on their blog.PermalinkCommentsfoaf openid authentication identity rdf semanticweb trust web spam

TED | Talks | Rives: Is 4 a.m. the new midnight? (video)

2007 Nov 6, 7:34Humorous TED talk based losely on the topic of 4AM.PermalinkCommentshumor video ted conspiracy history politics

Portal is fun; the cake is a lie!

2007 Oct 22, 4:47I purchased the Orange Box off of Steam a bit ago and like others before me who have discussed elsewhere, I already owned two of the five games that come from the Orange Box. However, the combined price of HL2E2 and Portal, the two games I actually wanted was supposedly equivalent to the price of the Orange Box bundle. Incidentally, if anyone would like HL2 or HL2E1 I can gift them to you.

HL2E2 was excellent of course but the big surprise for me was Portal. (Mild spoilers follow) It has a sort of zen simplicity: there are a few simple game-play mechanics, a handful of textures and objects, and a deceptively simple story all used well and tied together to produce an entertaining and polished game. It seems a bit short but its probably better to end with the gamer demanding more. The humor and the sort of play within a play aspect of the game is what really sold me though. It has the funniest ending theme I've heard (also blogged by the creator). The voices of the automated turrets are so adorable I would feel compelled to hug them if they weren't always trying to kill me. Additionally the weighted companion cube seems like an experiment in understanding gamers' attachment to NPCs. In this case the NPC is a box and yet I still felt awful incinerating it. The whole time I was vaguely reminded of Solitary the reality show that sticks contestants alone in small rooms forcing them to endure various tests all the while being watched by a humorous computer with a female voice. Someone should sue...

RPS has articles on Portal including a Portal review, a page suggesting Portal is a tale of lesbianism, and others.PermalinkCommentshl2e2 game hl2 solitary valve portal nontechnical

Rock, Paper, Shotgun - Blog Archive - RPS Portal Desktops

2007 Oct 17, 11:45Background images based on the game Portal featuring the weighted companion cube.PermalinkCommentsportal game desktop background images

Ironick: My history of the (Internet) Robustness Principle.

2007 Oct 17, 5:17History of the various versions of Postel's Law or the Robustness Principle which paraphrased says: "In general, an implementation should be conservative in its sending behavior, and liberal in its receiving behavior. That is, it should be careful to sendPermalinkCommentsblog article history robustness-principle jon-postel internet tcp

Hixie's Natural Log: A low-bandwidth, high-latency, high-cost, and unreliable data channel (Cached)

2007 Oct 16, 12:22FTA: "Look at all those zero cents... there are data bits there, lying unused! It struck me that with every single restaurant transaction I could set the cents field to some number under my control, thus allowing me to communicate with myself at a lPermalinkCommentsblog humor hack food article encoding restaurant via:ericlaw

e-ignite: Webmail With Encryption and Signing

2007 Oct 15, 1:31This is a howto on using encryption with web based mail clients. This article suggests a FireFox plugin. I should look into doing this in IE.PermalinkCommentsemail secure webmail google gmail pgp encryption howto article

The Old New Thing : Nicolas Bourbaki, perhaps the biggest inside joke in mathematics

2007 Oct 15, 11:30Raymond talks about false names used in math publications.PermalinkCommentsmath humor raymond-chen blog article

FoaF on my Homepage

2007 Oct 14, 3:12I've updated my homepage by moving stuff about me onto a separate About page. Creating the About page was the perfect opportunity to get FoaF, a machine readable way of describing yourself and your friends, off my to do list. I have a base FoaF file to which I add friends, projects, and accounts from delicious using an XSLT. This produces the FoaF XML resource on which I use another XSLT to convert into HTML and produce the About page.

I should also mention a few FoaF pages I found useful in doing this: PermalinkCommentstechnical xml foaf personal xslt xsl homepage

Sorting It All Out : It isn't really PenIsland/PenisLand all over again

2007 Oct 12, 10:04FTA: 'From just released Microsoft security bulletin: "..formerly known as Wang Image Viewer, handles specifically crafted images files.."'. Specially crafted eh?PermalinkCommentshumor article michael-kaplan blog wang msrc microsoft security

URL Schemes Supported in Lynx

2007 Oct 11, 12:55The list of URI schemes supported by the command line based web browser Lynx.PermalinkCommentslynx uri scheme internet web browser reference

Microsoft Research Singularity Project

2007 Oct 8, 3:55FTA: "Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We are building a research operating system prototype (called Singularity)PermalinkCommentsmicrosoft os singularity windows research microkernel

Singularity (operating system) - Wikipedia, the free encyclopedia

2007 Oct 8, 3:18More on Singularity the managed microkernel based Microsoft Research OS.PermalinkCommentssingularity os wikipedia article microsoft research microkernel

Copyright and tattoos: who owns your skin? - Boing Boing

2007 Oct 3, 1:30"Hatcher explores the legal ramifications of tattoo artists who assert copyright over their works after they've been inked, objecting to the tatts being displayed in advertising -- and even seeking to prevent old tattoos from being erased! "PermalinkCommentsboingboing via:felix42 copyright ip law legal tattoo art culture blog article advertising

Date Time Formats

2007 Sep 27, 2:17Starting on a new simple project I wanted to get the history of my Delicious links. Delicious has an export tool available via the settings section so I thought I'd try that. However, the links aren't exported in XML not even in XHTML but rather in HTML. Shocking. An example:
"Don't Tase Me, Bro!" (UF Student Tasered Remix)
Remix of the 'Don't tase me, bro!' guy getting tasered.At this point I'm already not going to use this file because its in HTML but I'm even more disgusted by those date time values. Raymond Chen of the Old New Thing posted about recognizing timestamps and timestamp sentinel values. From the first blog post and with the use of a calculator for base conversion one can tell that those are UNIX style timestamps counting the number of seconds since 1970.

It reminds me of my hatred for the MIME date time format I developed working on my webpage's server side parsing of atom and RSS. Atom is of course my favorite as Atom uses the Internet date time format described in the following documents. Here's an example of one 2007-09-27T020:50:00.000-08:00 On the other hand the evil and villainous RSS uses the MIME date time format now described in the more recent IETF MIME standard. Here's an example Thu, 27 Sep 2007 20:50:00 -0800
The Internet date time format has the advantage of being so easy to sort. An alphabetic sort with normal C-style collation rules of strings containing Internet date times will also sort them chronologically. This is not the case for the MIME date time due to the preceding day of the week and the spelled out month name. This also means that when producing these you have to figure out the day of the week and when parsing them you have to match month names rather than just parsing out numbers. Anyway now days if I see mention of a date time in a new proposed standard or spec I be sure to point out the numerous advantages of the Internet date time format.
PermalinkCommentsdate xml html feed time technical date-time code atom rss

ErrorZilla err ErrorSoft

2007 Aug 21, 4:04Seeing ErrorZilla I realized I could easily do a similar thing to the IE7 404 page using the same technique I used for the XML view and the feed view.

So that's what I did: I made a new 404 page for IE7. There's not much new here technically if you've read the previous blog entries to which I linked. My 404 page change adds links to the Internet Archive, the Coral Cache, and Whois Tool.PermalinkCommentsarchive personal res cache resource ie7 technical browser whois 404 error extension

Welcome to Subsystem for UNIX-based Applications

2007 Aug 10, 9:25A POSIX subsystem to build UNIX applications on top of on Windows.PermalinkCommentsunix microsoft posix programming c windows via:swannman

Which which - Batch File Hackiness

2007 Aug 9, 5:41To satisfy my hands which have already learned to type *nix commands I like to install Win32 versions of common GNU utilities. Unfortunately, the which command is a rather literal port and requires you to enter the entire name of the command for which you're looking. That is 'which which' won't find itself but 'which which.exe' will. This makes this almost useless for me so I thought to write my own as a batch file. I had learned about a few goodies available in cmd.exe that I thought would make this an easy task. It turned out to be more difficult than I thought.

for /F "usebackq tokens=*" %%a in ( `"echo %PATH:;=& echo %"` ) do (
    for /F "usebackq tokens=*" %%b in ( `"echo %PATHEXT:;=& echo %"` ) do (
        if exist "%%a"\%1%%b (
            for  %%c in ( "%%a"\%1%%b ) do (
                echo %%~fc
            )
        )
    )
)
The environment variables PATH and PATHEXT hold the list of paths to search through to find commands, and the extensions of files that should be run as commands respectively. The 'for /F "usebackq tokens=*" %%a in (...) do (...)' runs the 'do' portion with %%a sequentially taking on the value of every line in the 'in' portion. That's nice, but PATH and PATHEXT don't have their elements on different lines and I don't know of a way to escape a newline character to appear in a batch file. In order to get the PATH and PATHEXT's elements onto different lines I used the %ENV:a=b% syntax which replaces occurrences of a with b in the value of ENV. I replaced the ';' delimiter with the text '& echo ' which means %PATHEXT:;=& echo% evaluates to something like "echo .COM& echo .EXE& echo .BAT& ...". I have to put the whole expression in double quotes in order to escape the '&' for appearing in the batch file. The usebackq and the backwards quotes means that the backquoted string should be replaced with the output of the execution of its content. So in that fashion I'm able to get each element of the env. variable onto new lines. The rest is pretty straight forward.

Also, it supports wildcards:
C:\Users\davris>which.cmd *hi*
C:\Windows\System32\GRAPHICS.COM
C:\Windows\System32\SearchIndexer.exe
D:\bin\which.exe
D:\bin\which.cmd
PermalinkCommentswhich cmd technical batch for

Wp64 Issues

2007 Aug 6, 3:43Miladin told me about the Visual Studio compiler's promising option Wp64 that finds 64bit portability issues when compiling in 32bit. If, for instance, you cast from a (long*) to a (long) you get a W4 warning. However, the #defines are still set for 32bit builds. This means that other parts of the code can make assumptions based on the #defines that are valid on 32bit but generate 64bit errors or warnings.

For instance, in winuser.h the public published Windows header file there's the following:
...
#ifdef _WIN64
...
WINUSERAPI
LONG_PTR
WINAPI
SetWindowLongPtrA(
    __in HWND hWnd,
    __in int nIndex,
    __in LONG_PTR dwNewLong);
...
#else  /* _WIN64 */
...
#define SetWindowLongPtrA   SetWindowLongA
...
#endif /* _WIN64 */
...
In 64bit everything's normal but in 32bit SetWindowLongPtrA is #defined to SetWindowLongA which takes a LONG rather than a LONG_PTR. So take the following code snippet:
...
LONG_PTR inputValue = 0;
LONG_PTR error = SetWindowLongPtrA(hWnd, nIndex, inputValue);
...
This looks fine but generates warnings with the Wp64 flag.

In 64 bit, p is cast to (LONG_PTR) and that's great because we're actually calling SetWindowLongPtrA which takes a LONG_PTR. In 32 bit, p is cast to (LONG_PTR) which is then implicitly cast to (LONG) because we're actually calling SetWindowLongA. LONG and LONG_PTR are the same size in 32bit which is fine but if you turn on the Wp64 flag there's a W4 warning because of the implicit cast from a larger size to a smaller size if you were to compile for 64bit. So even though doing a 32bit or 64bit compile would have worked just fine, if you turn on the Wp64 flag for 32bit you'd get an error here.

It looks like I'm the most recent in a list of people to notice this issue. Well I investigated this so... I'm blogging about it too!PermalinkCommentswp64 technical 64bit compiler c++ visual-studio setwindowlongptra
Older EntriesNewer Entries Creative Commons License Some rights reserved.