ip page 36 - Dave's Blog

Search
My timeline on Mastodon

The Uneasy Relationship Between Mathematics and Cryptography

2007 Aug 13, 2:05From : "Rarely do we think of mathematicians as glamorous. But during the 1980s, the rising importance of cryptography injected a certain amount of glitz into the discipline.PermalinkCommentsmath article history cryptography

Awesome Movies Unknown to Me

2007 Aug 12, 2:50Thanks to Netflix I've been able to enjoy several movies that I'd never heard of.



Brick is a classic PI film set in a modern high school. Its fun figuring out which high school students correspond to which film noir archetypes.

Primer is a sci-fi movie but it doesn't focus on action or effects. Its like watching an excellent Twilight Zone episode. I hate to describe this any further for fear of giving something away.

The Amazing Screw-On Head is an animated version of the one shot comic. It feels like the 1800s precursor to the The Venture Bros. and stars Screw-On Head, a steam-punk robot head thing and Abe Lincoln's top spy for occult matters.

The Quiet Earth is the movie version of the book about a man who awakes one day to find himself alone(... or is he?) It was made in the 80s and in Australia but don't hold that against it.PermalinkCommentsscifi primer movie amazing screw-on head personal netflix brick the quiet earth

Brett Erlich - Wikipedia, the free encyclopedia

2007 Aug 9, 11:02This guy has some funny bits on Current (Al Gore's station)PermalinkCommentsbrett-erlich humor video google current

Two-for Script File

2007 Aug 6, 5:40I was messing with the XSLT to XSL Converter source which is a javascript file that can be run with cscript.exe. I've changed it to be like a very basic version of xsltproc that simply runs an XML file through an XSLT. I also wanted to run this from the command prompt without writing "cscript ..." everytime. I decided to make like perl programmers I've seen and make a JS file that works as a batch file and a JS file at the same time.

Here's a basic version of what I ended doing applied to a 'hello world' script named helloworld.cmd:
/* 2> NUL
@echo off
cscript /e:javascript /nologo "%~f0" %*
@goto :eof

    Hello World
        Says 'Hello world.' when you run it.
*/

var outText = 'Hello world.';
WScript.Echo(outText);
Running this on a command prompt gives the following:
C:\Users\davris>helloworld

C:\Users\davris>/*  2>NUL
Hello world.
However, after a little more experimentation I found this was slightly overkill for my purposes since if I rename the file to helloworld.js and just type its name like a command it is run by cscript:
C:\Users\davris>helloworld
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.

Hello world.
So this time I didn't need all that but if ever in the future I need to run a batch file then a JS file I can do it with one file...PermalinkCommentscmd js technical cscript batch xslt xsl javascript

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

Microsoft Windows 2000 Scripting Guide - WScript Object

2007 Aug 3, 3:19Description of the global WScript object available when running javascript via cscript.exe.PermalinkCommentsdesktop javascript microsoft programming windows vbscript reference msdn

JavaScript Language Specification

2007 Aug 3, 3:11The JavaScript language. The whole thing.PermalinkCommentsjavascript reference language specification

Chicken Roundup

2007 Jul 11, 3:52I realized that I have short list of chicken related things I find humorous and they're all available for the linking to via youtube.

Chicken: The Powerpoint Presentation. This is a power point presentation of a research paper written in the language chicken. (video)

Bluth Family Chicken Dances. From the show Arrested Development many Bluth family members had their own chicken dance. (video)

Peter Fights the Giant Chicken. A man sized chicken fights Peter from Family Guy for multiple minutes in several episodes mimicking famous action sequences. I must admire the writers dedication to the gag. (video1, video2)

PermalinkCommentsroundup video personal chicken humor nontechnical

Trendsspotting Blog Archive - kids are heavy social network users, they don’t say no to relevant marketing efforts: online surveys and tips for marketersTrendsspotting

2007 Jul 11, 9:54Stats on who uses social networks.PermalinkCommentsresearch reference statistics social web

Second Life Translator

2007 Jul 4, 10:58Hackdiary
I really enjoy reading Matt Biddulph's blog hackdiary. An entry some time ago talked about his Second Life flickr screen which is a screen in Second Life that displays images from flickr.com based on viewers suggested tags. I'm a novice to the Second Life scripting API and so it was from this blog post I became aware of the llHTTPRequest. This is like the XMLHttpRequest for Second Life code in that it lets you make HTTP requests. I decided that I too could do something cool with this.

Translator
I decided to make a translator object that a Second Life user would wear that would translate anything said near them. The details aren't too surprising: The translator object keeps an owner modifiable list of translation instructions each consisting of who to listen to, the language they speak, who to tell the translation to, and into what language to translate. When the translator hears someone, it runs through its list of translation instructions and when it finds a match for the speaker uses the llHTTPRequest to send off what was said to Google translate. When the result comes back the translator simply says the response.

Issues
Unfortunately, the llHTTPRequest limits the response size to 2K and no translation site I can find has the translated text in the first 2K. There's a flag HTTP_BODY_MAXLENGTH provided but it defaults to 2K and you can't change its value. So I decided to setup a PHP script on my site to act as a translating proxy and parse the translated text out of the HTML response from Google translate. Through experimentation I found that their site can take parameters text and langpair queries in the query like so: http://translate.google.com/translate_t?text=car%20moi%20m%C3%AAme%20j%27en%20rit&langpair=fr|en. On the topic of non US-ASCII characters (which is important for a translator) I found that llHTTPRequest encodes non US-ASCII characters as percent-encoded UTF-8 when constructing the request URI. However, when Google translate takes parameters off the URI it only seems to interpret it as percent-encoded UTF-8 when the user-agent is IE's. So after changing my PHP script to use IE7's user-agent non US-ASCII character input worked.

In Use
Actually using it in practice is rather difficult. Between typos, slang, abbreviations, and the current state of the free online translators its very difficult to carry on a conversation. Additionally, I don't really like talking to random people on Second Life anyway. So... not too useful.PermalinkCommentspersonal translate second-life technical translator sl code google php llhttprequest

COMEFROM - Wikipedia, the free encyclopedia

2007 Jul 3, 9:22The complement of goto is comefrom. Pretty funny.PermalinkCommentshumor programming comefrom goto

Microsoft Surface Parody (Videocracy | The A.V. Club)

2007 Jul 2, 9:51Microsoft Surface Parody - "The future is here and it's not an iPhone. It's a big-ass table."PermalinkCommentsvideo humor microsoft iphone surface table parody

Neomeme - Nine Cool Things You Didn't Know You Could Do With Wikipedia

2007 Jul 2, 9:36PermalinkCommentsarticle wikipedia blog list

Ozzie

2007 Jun 25, 3:13I keep seeing 'Ozzie' on emails and such now due mainly to Ray Ozzie who is now the Chief Software Architect at Microsoft and his brother Jack Ozzie. Whenever I see his name I think of Ozzie from Chrono Trigger. He was one third of a trio of villains, the other two being Flea and Slash. I feel like I should be thinking of the Ozzy for which this Ozzie was named but I really don't.
Ray Ozzie. Links to license.Ozzie from Chrono Trigger. Links to license.Ozzy Osbourne. Links to license.
My next thought on Ozzie is the Scottish guy who went to my high school. He'd shout 'Ozzie! Ozzie! Ozzie!' to which listeners were compelled to respond 'Oi! Oi! Oi!'. The wikipedia article on the chant has some thoughts on the origins but I suppose at Microsoft it could take on entirely new meaning. I really hope I'm someday in a meeting with Ray or Jack Ozzie and have the opportunity...PermalinkCommentsozzy personal ozzie random nontechnical

Unspun IE List

2007 Jun 21, 2:38Unspun is a social list creation website from Amazon. For instance, you could create a list named 'Most Desired Features for Next Version of Internet Explorer' and users of Unspun fill in and rank the answers. There's a mix of serious answers that are excellent suggestions, fan-boy answers that are lame, uninformed answers that are already implemented, and hilarious answers that are awesome. The following is the very short unsorted list of the awesome suggestions.
Innovative Anti-Phreaking Technology
Given the work done in IE7 on anti-phishing, subsequent work on anti-phreaking just makes sense.
AXELROD 2.8 Acceleration with XML Bindings
I'm not sure what AXELROD 2.8 is but accelerating it sounds good. Also I enjoy binding things to XML so...
Larger Buttons for My Mighty Fingers
For maximum humor this should be read by Richard Horvitz as Zim of Invader Zim. This one makes me laugh every time I read it.
PermalinkCommentsamazon personal ie humor nontechnical

xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe

2007 Jun 19, 9:25Unfortunate versions of popular pickup lines.PermalinkCommentscomic xkcd pickup-lines relationship humor

RFC 2388 Returning Values from Forms: multipart/form-data

2007 Jun 15, 3:44Info on the format of the MIME type that contains data from an HTML form submission of enctype multipart/form-data.PermalinkCommentsform html mime multipart encoding rfc reference internet ietf

YouTube - Family Guy - Peter's 80s Dance with Cleavland

2007 Jun 8, 1:30Clip from the Family Guy of Peter doing 80s style things. Specifically enjoying the Beverly Hills Copy theme song. Why do I think this is so funny?PermalinkCommentsfamily-guy 80s music video humor tv

Wiimote wiissues

2007 Jun 7, 5:29The other day I had the best idea for my Wii remote. Clearly I should use it to control the rotation of Tetris pieces in my N-dimensional Tetris game Polytope Tetris. One of the issues I described with Polytope Tetris is user input. Given a Wii remote the user could rotate a piece through 3 dimensions in a manner that's much easier to adjust to than particular keys on the keyboard.

Anyway, I did a little research into how this might work. I knew that the Wii remote used infrared for absolute positioning and Bluetooth for everything else (LEDs, speaker, accels.) I bought a Bluetooth adapter for my PC after realizing that none of my computers had one already. I used GlovePIE to ensure that my Wii remote could connect and successfully communicate with my computer. GlovePIE is actually pretty cool -- it provides a simple script layer over the Wii remote to control things like your mouse.

Since Polytope Tetris is in Java I looked for and found a Java library for operating with the Wii remote and a long forum thread discussing its use. I then read up on Bluetooth in Java. Apparently JSR 82 is the name of the standard that describes the API a Bluetooth stack should expose in Java. That is, to get Bluetooth working in Java one needs an additional package for Java that actually implements the Bluetooth Java API. This package would depend on the system so I suppose I can't fault Sun for not including it... Where to find such a package? I found a comparison list of implementations and tried the ones that support javax.bluetooth. None of them worked for me because none can address USB devices it seems or they cost money and I couldn't get the trial version working. I also tried bluesock (not listed on the previous list) which seemed promising and could produce an address for my Wii remote as a connected device but couldn't use that address.

And I thought that after I found the Wii remote Java library it would be easy... Oh well...PermalinkCommentsjava bluetooth wii technical remote jsr82 tetris polytopetetris wiimote

Zoo Trip

2007 Jun 7, 4:35TigerA few weekends ago Sarah and I visited the Woodland Park Zoo (Finding its website I'm amazed that its domain is 'zoo.org'. Somebody in Seattle was quick on the domain registration.) I liked the zoo except for all the children. Human children... As visitors to the zoo... What did you think I meant? The kids are everywhere! Shouldn't they be inside playing video games or something?

Gorilla HomelessThere was a gorilla that was wrapped in a dirty blanket. It looked like a homeless person and very sad. I'm reminded of the episode of the Simpsons in which the octuplets work at the zoo and the scene in which while Homer is breaking out the children a gorilla tries to get him to take her child too. Looking for a clip of this to post here I can only find clips from the Simpsons in German for some reason. Like this one.

HipposTwo thirds or so of the way through my camera started running low on power. We were forced to choose which animals were camera worthy. Is it too common? Is it cute enough? Etc. Sarah took a very nice shot of some hippos under these conditions. Unfortunately I couldn't get a good angle and view of the Elephants. But they were cool and had an interesting habitat (that's zoo for large-ish cage.)PermalinkCommentszoo personal nontechnical
Older EntriesNewer Entries Creative Commons License Some rights reserved.