 |
Monday, April 15, 2002 |
My wife of 6 years as of 4/15/2002 were in the library talking and heard a crash in the other room. Shortly afterwards Luke, our almost 5 year old, came in. I asked him what that crash was. He said he didn't want to talk about it. I told him he has to tell us what happened at which point he asked "Why?" "Because I'm your Dad." I said and to which Sue added "Come on Luke, spit it out." Without missing a beat he said he didn't have anything in his mouth and probed it with his finger to reassure us. Just goes to show, you have to be careful what you tell kids..
p.s. Katie's plastic shovels fell off the counter, that was what the crash was.
6:57:23 PM
|
|
Who Reads What and Why [The Car Talk Guys, via LISNews]
- The Wall Street Journal is read by the people who run the country.
- The New York Times is read by people who think they run the country.
- The Washington Post is read by people who think they should run the country.
- USA Today is read by people who think they ought to run the country but don't really understand the Washington Post. They do, however, like their smog statistics shown in pie charts.
- The Los Angeles Times is read by people who wouldn't mind running the country, if they could spare the time, and if they didn't have to leave L.A. to do it.
- The Boston Globe is read by people whose parents used to run the country and they did a far superior job of it, thank you very much.
- The New York Daily News is read by people who aren't too sure who's running the country, and don't really care as long as they can get a seat on the train.
- The New York Post is read by people who don't care who's running the country either, as long as they do something really scandalous, preferably while intoxicated.
- The San Francisco Chronicle is read by people who aren't sure there is a country, or that anyone is running it; but whoever it is, they oppose all that they stand for. There are occasional exceptions if the leaders are handicapped minority feministic atheist dwarfs, who also happen to be illegal aliens from ANY country or galaxy as long as they are democrats.
- The Miami Herald is read by people who are running another country, but need the baseball scores.
- The National Enquirer is read by people trapped in line at the grocery store.
[The Shifted Librarian]
8:21:20 AM
|
|
A Word Map for Wonderland? Curiouser and Curiouser
"Mr. Paley has created an Internet site, TextArc.org, that uses computer technology to put a new spin on the written word. Visitors to the site, which went online today, can pick from among 2,000 literary classics and watch as each work's complete text is etched clockwise, line by line, in a wide oval on the computer screen.
The texts, which range from Lewis Carroll's "Alice's Adventures in Wonderland" to Balzac's "Z. Marcas," are too tiny to read around the perimeter. Behind the computer glass, though, Mr. Paley's online software is counting each word and noting its location every time it is used. The oval's black center soon fills with legibly larger versions of every word from the source text. Different stories look different. As a result, Mr. Paley's software effectively turns any prose into concrete poetry in which a word's size and location are as important to its meaning as how it is used.
Once TextArc slices and dices a story, the most frequently used words are the brightest. So in the Carroll work, "Alice" glows at the center. And each word's location in this linguistic constellation is determined by its exact locations in the story text. "Cheshire," for instance, is near the bottom, close to the two middle chapters in which the cat materializes. Roll the cursor over a word, and lines pop up that connect it to all the points in the outer circle where the word is used....
New interpretations may also be suggested. Viewing "Alice," for instance, one can immediately see that the novel's second most significant word is "know," a paradoxical choice for a work in which neither the protagonist nor the reader ever fully understands what is happening.
During a test of the site, Mr. Paley conducted his own comparative-literature exercise with Bram Stoker's "Dracula" and Mary Shelley's "Frankenstein." The more prosaic Stoker novel yielded a circle with a few key words clustered hotly in the center; the elegant Shelley novel generated a circle with 50 words of moderate intensity that faded toward the edges.
'I've never read either book,' Mr. Paley said, 'but I got the sense that Dracula was just a story, while Frankenstein is meant to be a metaphor.' He learned later that Shelley's novel was subtitled 'Or the Modern Prometheus.' " [NY Times: Technology] [The Shifted Librarian]
8:09:30 AM
|
|
Will Rogers. "Half our life is spent trying to find something to do with the time we have rushed through life trying to save." [Quotes of the Day]
8:01:01 AM
|
|
Scripting the Google SOAP API via VBScript.
Scripting the Google SOAP API via VBScript
Hopefully, there's someone out there besides me who was excited by Dave Winer's post of the Google SOAP API release! Here's a vbscript snippet to call the google spelling API for those of you looking to experiment on Windows XP, or any release of Windows that has the Windows Scripting Host (WSH) and the SOAP 2.0 Toolkit installed. I intend to post more significant examples later but this is all I have time for right now.
Go Google! Can I work there? Please? Pretty please? I promise to develop the most killin' search client on the planet. If you open up images.google.com to the SOAP API, I'll even make it work with this!
REM googlespeller.vbs dim SOAPClient set SOAPClient = createobject("MSSOAP.SOAPClient") on error resume next REM put the wsdl from the googleapi.zip in the same directory as the vbscript SOAPClient.mssoapinit("GoogleSearch.wsdl") if err then wscript.echo "WSDL" wscript.echo SOAPClient.faultString wscript.echo SOAPClient.detail end if REM if you need proxy support keep the next 3 lines, if not, get rid of them SOAPClient.ClientProperty("ServerHTTPRequest") = True SOAPClient.ConnectorProperty("ProxyServer") = "your.proxy.goeshere.com" SOAPClient.ConnectorProperty("ProxyPort") = 8080 outputText= SOAPClient.doSpellingSuggestion("YourGoogleKeyGoesHere", "Britney Spars") if err then wscript.echo SOAP wscript.echo SOAPClient.faultString wscript.echo SOAPClient.detail else MsgBox outputText end if
Here's what you get: [www.davidwatson.org]
7:56:47 AM
|
|
Scripting the Google API via C++ (Microsoft Visual Studio.net).
Scripting the google SOAP API via C++ (Microsoft Visual Studio.net)
Here's the next installment in my google SOAP API experiment. I have the major stuff working in a win32 C++ console application. You can get the project files, source, and binaries here. Too tired too say much about it but it works even though it's not iron-clad. I'd like to put the typical while loop and take the commands interactively like a real shell but ran out of steam. If you do that, please send me the updates. Thanks.
/*
PROGRAM: GoogleShell.cpp AUTHOR: David Watson CONTACT: http://www.davidwatson.org/ DATE: April 11, 2002 PURPOSE: Define a win32 console application for calling Google's SOAP API.
Copyright (c) 2002 David Watson
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "stdafx.h" #include "GoogleSearchService.h" #include #include
class CCom { private : HRESULT m_hr;
public: CCom() : m_hr(E_FAIL) { }
HRESULT Initialize() { ATLASSERT(FAILED(m_hr)); return m_hr = CoInitialize(NULL); }
~CCom() { if (SUCCEEDED(m_hr)) CoUninitialize(); } static bool SoapSuccess( HRESULT hr) { if (FAILED(hr)) { std::wcout << L"0x" << std::hex << hr; return false; } return true; }
};
int _tmain(int argc, _TCHAR* argv[]) { using namespace GoogleSearchService; using namespace std;
if ( argc < 4 ) { cout << "usage: GoogleShell key [page, search, spell] [\"url", "search string", "spelling word"]" << endl << endl; cout << "example: GoogleShell \"7ei2nf9e8wn3s7dhjr8dnr8e72lednd7" page "http://www.davidwatson.org/"" << endl; cout << "example: GoogleShell \"7ei2nf9e8wn3s7dhjr8dnr8e72lednd7" search "david watson"" << endl; cout << "example: GoogleShell \"7ei2nf9e8wn3s7dhjr8dnr8e72lednd7" spell "britney spars"" << endl; return 0; }
CCom COM; HRESULT hr = COM.Initialize(); if (SUCCEEDED(hr)) { CGoogleSearchService service; CComBSTR bstrResponse; GoogleSearchResult retVal; ATLSOAP_BLOB blob; wstring command ( static_cast(CComBSTR(argv[2]) )); wstring SPELL ( L"spell" ); wstring SEARCH ( LSearch ); wstring PAGE ( L"page" ); if ( command == SPELL) { if (CCom::SoapSuccess(service.doSpellingSuggestion(CComBSTR(argv[1]), CComBSTR(argv[3]), &bstrResponse))) wcout << static_cast(bstrResponse); } else if (command == SEARCH) { if (CCom::SoapSuccess(service.doGoogleSearch(CComBSTR(argv[1]), CComBSTR(argv[3]), 0, 10, false, CComBSTR(L""),false,CComBSTR(L"lang_en"),CComBSTR(L"latin1"),CComBSTR(L"latin1"), &retVal))) for(int i = retVal.startIndex; i < retVal.endIndex; i++) wcout << static_cast(retVal.resultElements[i].title) << endl; } else if (command == PAGE) { if (CCom::SoapSuccess(service.doGetCachedPage( CComBSTR(argv[1]), CComBSTR(argv[3]), &blob))) wcout << static_cast(CComBSTR(blob.size,(LPCTSTR)blob.data)) << endl; } } return 0; } [www.davidwatson.org]
7:55:03 AM
|
|
Cool! Here's something you don't see every day from Microsoft - an ASP.NET IDE and Web Server that fits on a floppy! Codenamed Saturn, the web site is giving a 403 right now (I'm guessing someone, somewhere's will have mirrored it :-) ), but you can still download a article about it from NeoWin.net. I wonder if they will release the source for the IDE, like SharpDevelop? Maybe under a Shared Source licence? (After all, it's not as if anyone's going to build a business selling IDEs competing against VS.NET) [Peter Drayton's Radio Weblog]
7:48:18 AM
|
|
© Copyright 2002 Mark Oeltjenbruns.
|
|
 |
 |
 |
 |
April 2002 |
Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
|
|
|
Mar May |
|
 |
 |
 |
 |
|