Monday, August 14, 2006

Natural Tendency of Writing

The following strikes me as profoundly true:

It's like a law of nature, a law of aerodynamics, that anything that's written or anything that's created wants to be mediocre. The natural state of all writing is mediocrity. It's all tending toward mediocrity in the same way that all atoms are sort of dissipating out toward the expanse of the universe.
- Ira Glass (host/producer of This American Life)

(link)

Saturday, August 12, 2006

Waterborne Spinner Dolphins

To accompany a previous post and to highlight the beautiful aqua-green water of Hawaii.

Gates Apparently on Circumcision Promotion Tour

Google News aggregation makes for some interesting combinations of headlines. I saw this one last night and couldn't help but take a screenshot. The primary headline, "Circumcision promoted," actually has no accompanying graphic. The Bill Gates shot, shown just to the right of the "Circumcision promoted" text, is actually related to the third headline link: "AIDS Funding: Gates Steps Up as Rich Countries Step Back." However, given the proximity/layout of the Gates graphics and the Circumcision headline, it's easy to interpret that they are related.

Thursday, July 27, 2006

Gary Gulman, 9 to 5

For my birthday last year my clever gf got me an autographed copy of Conversations With Inanimate Objects by Gary Gulman, who is one of our favorite comedians. First saw him opening for Dane Cook a few years ago at the Improv in Irvine. Comic Genius. Hard to upstage Dane but Gary definitely held his own.

9 to 5, eh. You know what the worst part of the 9 to 5 is... the 9. Noon to 5, OK. 9 to 5? I'm not even up at 9, what am I a farmer?

Tuesday, July 18, 2006

American Gluttony

Two different lovely views of my lunch today. Enjoy!


Saturday, July 15, 2006

Monday, July 03, 2006

Hilarious IM

them: OHMYGOSH
me: wut?
them: i just swallowed a cherry pit!!

(Ah how I love IM; also note the gratuitous txtspk here to save myself a letter)

Wednesday, June 28, 2006

Inkscape Rocks

Hard to believe something so good could be free. Go check it out yourself here.

Sunday, June 11, 2006

Advisor Stickers

I'm about 1 month behind here, which is about par for the course, but I should mention that my former advisor has a posse (indexical reference to maintain searchbot anonymity--wouldn't want to fan the flames now would we?).

Friday, June 09, 2006

Gnarls Barkley

Crazy. That is all.

Monday, May 15, 2006

Canoeing Lake Washington

The present participle of canoe is "canoeing"--which just looks wrong to me. Perhaps it's the juxtaposition of o + e + i. I'm sure 'u' feels left out. Photos by Danyel Fisher.



Wednesday, May 10, 2006

Iowa State's Cave

It's fully immersive you know. 6-sided even. And it's only getting better. (link)

Sunday, April 23, 2006

Wednesday, April 12, 2006

Where are my creative inventions?

An imaginative (yet utilitarian take) on USB flash drives. Yet another clever idea I wish I'd thought of:

http://www.plusminus.ru/flashbag.html

Robbie Cordry = H-A-T-E Monger

I saw Mr. Cordry perform at a show last month at UW. He recently taped a segment for the Daily Show on Comedy Central about tolerance in America--his finding, that Americans on the whole are quite tolerant people, except when it comes to their views on racists. The segment ends with a list of 200+ groups that he hates scrolling quickly across the screen. Someone took the time to transcribe these and post them on the web (here).

The best part is the continued reference to TiVo list pausers scattered about:
1. TiVo List Pauser
2. Seriously Stop Pausing This
3. What do you think this is Lost?
4. listpauser@yahoo.com

Others: first "Korea (North)" and then later "Korea (South)", suggested lottery number picks, Lebanese Christians as well as Lesbian Christians, Circumsized, Mohawk Indian, and Mary Kate and Ashley.

Update: someone more clever than me sent an e-mail to listpauser@yahoo.com and received this response.

Friday, February 24, 2006

A Froehlich Recently Auctioned

Dartmouth just auctioned off a date with my cousin for their Asian Relief fund. Note the young lady in front with her hand held high and proud--they can't get enough of him. (link)

Monday, February 20, 2006

My Girlfriend Represents

This past weekend my clever girlfriend competed in the New England Regionals for the National Trial Competition. Her law school, Suffolk Law in Boston, sent two teams, each made up of three law students. The top 2 teams (out of 22) advance to Nationals, which takes place at the end of March in Dallas, Texas. As a testament to their court room prowess, both Suffolk teams advanced beating out, among others, Harvard Law, UConn, and Boston College. My girlfriend's team did the "near impossible" and finished with a perfect 5-0 record.

“The National Trial Competition (NTC) is one of the oldest and most prestigious mock trial competitions in the United States. Every ABA-accredited law school in the country is invited to compete... The competition will rely on more than 25 judges from the federal and state court systems, over 100 lawyers from the New Hampshire bar and 150 students from Pierce Law to act as judges, jurors and witnesses,” says Professor Albert ‘Buzz’ Scherr, director of the Pierce Law’s Trial Advocacy Program.

According to the Texas Young Lawyers Association homepage, "In addition to the prestige of competing at the top levels of one of the oldest, most respected trial competitions in the country, winning treams are provided many prize incentives. Customarily the Best Oral Advocate (and, if not on the same team, a member of the championship team) is invited to the ACTL annual meeting, at which the winning team is presented with a silver bowl and the $10,000 Kraft W. Eidman Award sponsored by Fulbright & Jaworski. The Best Oral Advocate receives the George A. Spielberg Award sponsored by Fried, Frank, Harris, Shriver & Jacobsen. The $5,000 award to the second-place team is sponsored by the firm of Beck, Redden & Secrest. "

Wednesday, February 15, 2006

Google Quote of the Day

You know your day is going well when your personalized Google quote of the day is "Information is temporarily unavailable." Hmm, I wonder who said that.


Also, in other Google news, my clever girlfriend found out today that if you search for "search" in Google, Google is actually the 5th result from the top behind MSN Search and Lycos of all things.

Monday, February 13, 2006

10 Ways Cheney Can Kill You

In light of the recent man-hunt conducted by Dick Cheney in which he shot and injured a 78 year-old man in the face, neck and upper torso (link), here's a celebratory picture memorializing Cheney's brutality.

Frail

Frail is a .NET visualization toolkit that I'm working on (which I jokingly refer to as a "robust visualization toolkit"). Basically, it's an incorporation of all my visualization work into a generic package. It's based on my own experiences using really good Java vis toolkits like JUNG and JFreeChart. For the most part, though, it closely resembles Jeffrey Heer's Prefuse toolkit (also in Java) -- which is a really phenomenal interactive graphics toolkit that supports layout animations, distortions, graph filtering, color interpolation, etc. Here's a low res screen shot -- click on it to see a slightly bigger version. I implemented panning and zooming last night.


Friday, February 10, 2006

Black Sabbath + Madeleine Peyroux

I was browsing the iTunes music store tonight and happened across Geezer Butler's celebrity playlist. He's the longtime bassist of Black Sabbath -- a band famous for ushering in a new era of hard rock, with a macabre subtext :) In contrast to the dark sound Sabbath is known for, Geezer has quite an ecclectic mix of blues (e.g. madeleine peyroux, etta james), country (e.g. alison krauss), electronica (e.g. lamb), and, of course, slayer.

Thursday, February 09, 2006

UDub, (cough), Top of List, (cough)

http://vcmike.blogspot.com/2006/01/ranking-colleges-using-google-and-oss.html

Pretty cool use of Google regardless of the findings.

Update September 13, 10:17PM: Not that it makes much of a difference here, but I was trying to be tongue-in-cheek with this post. You see, I got to the University of Washington so I like any ranking in which it tops the list (well, any positively connoted ranking). Regardless, it's a great university.

Wednesday, January 25, 2006

video.google.com, worse than previously thought

I attempted to purchase and download the "Kobe vs. Raptors" video on Google last night. It was a frustratingly bad experience and, in the end, resulted in three failed downloads of the video. It gets worse...

Let's start at the beginning. Upon trying to purchase a Google video, you must create an account and submit credit card information. There is no visible information about whether Google will store the credit card data or not for future purchases; in addition, there is no checkbox to control whether my credit card data persists on Google's servers. This is of particular concern because my Google Video Store account is the same account that I use for GMail and "personalized Google."

Once you enter this information, Google prompts you to "login and complete your purchase." The login requirement here might seem a bit redundant here but is typical of online stores attempting to protect their customers. However, what's not typical is after you submit your login/password, the next screen asks you to "login and complete your purchase." Um, OK, so I thought I just did that. I try again. Same result. And again.... argh! OK, well, luckily I had actually expected this as a friend had IM'd me earlier in the day and said he had the same problem. I asked "Are you using FireFox?" He replies, "Yes." I say, "Switch to IE." Unfortunately, I was already using IE -- so, what to do? I decide to close all of my IE windows, restart IE, and reopen the video store - which, of course, requires that I go through Google Video's horrible interface once again to find the video.

Finally, I get through the "login and complete your purchase" screen and then Google notifies me that I must download their "Google Video Player." I'm also informed that once the video player downloads, my video will begin downloading automatically. Sadly, Google uses a pop-up window to download the video player and Google Toolbar blocks such things. Now, the "download" screen has dissapeared and I'm left with no video player or video (though I just received my e-mail receipt so I know the transaction has gone through). Hmm, I must go back up through the interface to get to a screen with a download button.

Eventually, I get to a "manual download" area and am able to download the video player. I install it and click on "download video." This link opens the video player which begins to presumably download the video. Of course, this doesn't work either. The first attempt fails after like 13 retries. The second attempt downloads 45 megs of the video in 2 hours (note that I've downloaded every episode of the Office via the iTunes Music Store -- each episode is about 250 megs, which takes 5 minutes or so to download). The third attempt, which I start before going to bed, downloads 63 megs but then prompts me for my login information again -- however, I am now sound asleep and unaware that the download stopped. I wake up and note that the video is only up to 63 megs (around 12:33AM -- ironically went to bed at 12:15) and that a modal dialog in the Google video player is waiting for my login information. After filling out the dialog, the download does not restart.

I started my fourth attempt before I left for work -- let's hope that it will be completed by the time I return home.

Tuesday, January 24, 2006

video.google.com: Worst Interface Ever

http://video.google.com has some of the absolute worst interfaces I've ever used -- which is quite startling given that it's google and their product/interface design follows Apple: less is more and minimalism is beautiful. However, they are clearly working on it as last night I spent like an hour exploring the interface and looking for the Kobe Bryant 81 point game vs. the Toronto Raptors. This afternoon I checked again and noted that, first, the interface was much different from last night (though still very lacking) and, second, the Kobe Bryant game is now online. At the very least, the NBA games are somewhat organized -- there exists a bit of a hierarchical structure rather than straight search.

Link to Kobe vs. Toronto.

Monday, January 23, 2006

Where does XML Data Belong?

"This raises the question of when and whether one should use child elements or attributes to hold information. This is a subject of heated debate. Some informaticians maintain that attributes are for metadata about the element while elements are for the information itself. Others point out that it's not always so obvious of what's data and what's metadata. Indeed the answer may depend on where the information is put to use.

What's undisputed is that each element may have no more than one attribute with a given name. That's unlikely to be a problem for a birth date or death date; it would be an issue for profession, name, address, or anything else of which an element might plausibly have more than one. Furthermore, attributes are quite limited in structure. The value of the attribute is simply undifferentiated text. An element-based structure is a lot more flexible and extensible. Nonetheless, attributes are certainly more convenient in some applicaitons. Ultimately, if you're designing your own XML-vocabulary, it's up to you to decide which to use."

from O'Reilly's XML in a Nutshell

Saturday, January 21, 2006

A Capella Pop Songs

Mr. Brightside, A Capella performed by the MIT a capella troupe, "resonance."

Monday, January 09, 2006

Target > Walmart, Some Differentiation

Lately, I've been thinking about the importance of branding and consumer perception to a business's success -- from the company name and logo to the quality of the service rendered. Robyn Waters, former vice-president of trend, design and product development at Target was interviewed by businessweek here back in Oct. 2005. A few snippets,

You worked at Target during its crucial transformation into a design powerhouse. How was the decision made to adopt design?
Our ads were always hip. When I came in to Target, 12 years ago, the merchandise was half as cool as the ads. We needed to differentiate ourselves from Wal-Mart, which was becoming very big. We didn't want to compete on price -- it wouldn't work. Target was at a crossroads, deciding whether it would be a regional discounter or if it would go national.
Top management decided on a strategy of growth based on a three-legged stool -- to be trend-right, to be completely customer-focused, and finally to be design-driven. Everybody was on board -- the chairman, the president.
We soon developed a healthy respect for what design could do for the bottom line. We had started to see what the iMac computer did to Apple's stock or the [impact of] Volkswagen's redesign of the Beetle. Everyone at Target heartily and unanimously accepted that design can drive business growth.

What other brands have captured the concept of design for business?
P&G, Apple. Coach is one of my favorite examples of a great brand. The name always stood for quality. But now it's a design powerhouse, leveraging design in a forward-thinking and innovative way that's reflected by its phenomenal sales every quarter.

Any businesses that haven't figured it out?
Sony has stumbled and struggled.

What are the trends today?
Finding luxury in everyday basic goods is a big trend. To do that, companies are leveraging design to turn everyday products into unique and special experiences. Whirlpool's latest washers and dryers are a good example. Combining beauty and functionality, they sold at three times the price of the ones in the market.

So, what are tomorrow trends?
Mass customization is the next big wave. The Coldstone Creamery ice cream chain is a great example. You can make your own flavor of ice cream by choosing candy or other topping that the server will mix in right there on a cold marble slab. Or the Mini Cooper, which offers customization online.

Monday, December 19, 2005

DirectXmas

Just because they said "DirectXmas" on their frontpage, I must link to remind myself of:
http://msdn.microsoft.com/coding4fun/

C# Static Classes

Static classes are meant to replace the design pattern of creating a sealed class with a private constructor that contains only static methods. A static class is denoted by placing the static modifier on the class declaration. For example: public sealed class Environment
{
// Keep class from being created
private Environment() { }
}
can now be written as: public static sealed class Environment
{
}
The benefit of using a static class instead of the design pattern above is that the compiler can now report an error if any instance methods are accidentally declared.

(from link)

Saturday, December 17, 2005

C# Using Statement

C#, though the .NET Framework common language runtime (CLR) automatically releases the memory used to store objects that are no longer required. The release of memory is non-deterministic; memory is released whenever the CLR decides to perform garbage collection. However, it is usually best to release limited resources such as file handles and network connections as quickly as possible.

The using statement allows the programmer to specify when objects that use resources should release them. The object provided to the using statement must implement the IDisposable interface. This interface provides the Dispose method, which should release the object's resources.

(from MSDN VS20005 documentation)

Windows ISO Mounting Tool

http://msdn.microsoft.com/subscriptions/faq/default.asp#iso: http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe

Wednesday, December 14, 2005

Erasures in Java 1.5

..., the generics implementation uses a technique known as erasure. The easiest way to understand erasure is to think of the compiler as performing two distinct tasks. First, it does type checking at compile time using all the type information it has (including the type parameters). Then it transforms the code, using a set of rules that remove all of the type parameters (e.g. all of the parameterized types are mapped to raw types), and inserts a set of casting operations. The complete list of transformations is beyond the scope of this article. However, to give you an idea of what erasure does, here are some of the rules:

  • If a class doesn't use type parameters in its definition, erasure doesn't change the class definition.
  • Parameterized types "drop" their type parameters.
  • Every type parameter is mapped to the appropriate bound. By this, I mean: the type parameter is erased and replaced with the strongest type the compiler can reasonably assert. Thus, in the case of , T is mapped to Object. In the case of , T is mapped to Rentable, and so on.
  • Casts are inserted wherever necessary, to ensure that the code compiles.
(from link)

Structs vs. Classes in C#

From the MSDN Structs Tutorial:

Structs vs. Classes
Structs may seem similar to classes, but there are important differences that you should be aware of. First of all, classes are reference types and structs are value types. By using structs, you can create objects that behave like the built-in types and enjoy their benefits as well.

Heap or Stack?
When you call the New operator on a class, it will be allocated on the heap. However, when you instantiate a struct, it gets created on the stack. This will yield performance gains. Also, you will not be dealing with references to an instance of a struct as you would with classes. You will be working directly with the struct instance. Because of this, when passing a struct to a method, it's passed by value instead of as a reference.

Monday, December 12, 2005

LoudNetworks in the Hizouse

The LoudNetworks team in full force:


Phase 1: Design and implement (efficient) reliable communication between two PCs using a microphone and speaker. CHECK
Phase 2: Design and implement robust ad hoc routing between a set of PCs using sound as their only means of communication. CHECK
Phase 3: Design and implement (efficient, fair, etc.) resource control (that is, sound control) among a set of PCs using sound as their only means of communication. CHECK

Understanding C# Timers

All of this information is taken from VS2005 RC2 MSDN Documentation unless otherwise specified; unfortunately information about Timers is littered about the docs and not all in one place. So, in trying to make sense of it all, I made this compilation:

There are three timer controls in Visual Studio and the .NET Framework — the server-based timer you can see on the Components tab of the Toolbox, the standard Windows-based timer you can see on the Windows Forms tab of the Toolbox, and the thread timer that is only available programmatically.
  1. The Windows-based timer is optimized for use in Windows Forms applications.
  2. The server-based timer is an update of the traditional timer that has been optimized to run in a server environment.
  3. The thread timer is a simple, lightweight timer that uses callback methods instead of events and is served by thread-pool threads.

There are two types of threads in Win32 architecture: UI threads, and worker threads. UI threads sit idle most of the time and wait for messages to arrive in their message loops. Once they receive a message, they handle it and then wait for the next message to arrive. Alternatively, worker threads are used to perform background processing and do not use message loops. Both the Windows timer and the server-based timer run using an Interval property. The interval of the thread timer is set in the Timer constructor. The timers are designed for different purposes, as evidenced by their handling of threads:

  • The Windows timer is designed for a single-threaded environment where UI threads are used to perform processing. The accuracy of Windows timers is limited to 55 milliseconds. These traditional timers require that the user code have a UI message pump available and always operate from the same thread, or marshal the call onto another thread. For a COM component, this would be detrimental to performance.
  • The server-based timer is designed for use with worker threads in a multi-threaded environment. Because they use a different architecture, server-based timers have the potential to be much more accurate than Windows timers. Server timers can move among threads to handle the raised events.
  • The thread timer is useful in scenarios where messages are not pumped on the thread. For example, the Windows-based timer relies on operating-system timer support, and if you are not pumping messages on the thread, the event associated with your timer will not occur. The thread timer is more useful in this case.

Windows Form Timer
This class wraps the counters we had in Win32 based on Windows messages. Use this class only if you do not plan to develop a multithreaded application. The Windows Forms Timer component has an Interval property that specifies the number of milliseconds that pass between one timer event and the next. Unless the component is disabled, a timer continues to receive the Tick event at roughly equal intervals of time. This component is designed for a Windows Forms environment. If you need a timer that is suitable for a server environment, see Introduction to Server-Based Timers.

The Interval Property
The Interval property has a few limitations to consider when you are programming a Timer component:

  • If your application or another application is making heavy demands on the system — such as long loops, intensive calculations, or drive, network, or port access — your application may not get timer events as often as the Interval property specifies.
  • The interval can be between 1 and 64,767, inclusive, which means that even the longest interval will not be much longer than one minute (about 64.8 seconds).
  • The interval is not guaranteed to elapse exactly on time. To ensure accuracy, the timer should check the system clock as needed, rather than try to keep track of accumulated time internally.
  • The system generates 18 clock ticks per second — so even though the Interval property is measured in milliseconds, the true precision of an interval is no more than one-eighteenth of a second.

Thread safety: Any public static members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Server-Based Timers (System.Timers)
The Timer component is a server-based timer, which allows you to specify a recurring interval at which the Elapsed event is raised in your application. You can then handle this event to provide regular processing. For example, suppose you have a critical server that must be kept running 24 hours a day, 7 days a week. You could create a service that uses a Timer to periodically check the server and ensure that the system is up and running. If the system is not responding, the service could attempt to restart the server or notify an administrator. The server-based Timer is designed for use with worker threads in a multithreaded environment.

Server timers can move among threads to handle the raised Elapsed event, resulting in more accuracy than Windows timers in raising the event on time. For more information on server-based timers, see Introduction to Server-Based Timers.

Key Programming Elements of Server-Based Timers
The Timer component raises an event called Elapsed. You can create handlers for this event to perform whatever processing needs to occur. Some of the more important properties and methods of a Timer component include the following:

  • The Interval property is used to set the time span, in milliseconds, at which events should be raised. For example, an interval of 1000 will raise an event once a second.
  • The AutoReset property determines whether the timer continues raising events after the given interval elapses. If set to true, the timer continues to recount the interval and raise events. If false, it raises one event after the interval elapses and then stops.
  • The Start method sets the timer's Enabled property to true, which allows the timer to begin raising events. If the timer is already enabled, calling the Start method resets the timer.
  • The Stop method sets the timer's Enabled property to false, preventing the timer from raising any more events.

Thread safety: any public static members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.

Thread-timer (System.Threading.Timer)
Use a TimerCallback delegate to specify the method you want the Timer to execute. The timer delegate is specified when the timer is constructed, and cannot be changed. The method does not execute on the thread that created the timer; it executes on a ThreadPool thread supplied by the system. The callback method executed by the timer should be reentrant, because it is called on ThreadPool threads. The callback can be executed simultaneously on two thread pool threads if the timer interval is less than the time required to execute the callback, or if all thread pool threads are in use and the callback is queued multiple times.

When you create a timer, you can specify an amount of time to wait before the first execution of the method (due time), and an amount of time to wait between subsequent executions (period). You can change these values, or disable the timer, using the Change method.

As long as you are using a Timer, you must keep a reference to it. As with any managed object, a Timer is subject to garbage collection when there are no references to it. The fact that a Timer is still active does not prevent it from being collected.

Note: System.Threading.Timer is a simple, lightweight timer that uses callback methods and is served by threadpool threads. You might also consider System.Windows.Forms.Timer for use with Windows forms, and System.Timers.Timer for server-based timer functionality. These timers use events and have additional features.

Thread safety: This type is safe for multithreaded operations.

Other Timers
1. timeGetTime() : This Windows.DLL call can give you up to 1 microsecond of accuracy on some operating systems; however it can be up to 5 microseconds on Windows NT.
2. System.Tickcount (Environment.TickCount): Gets the number of milliseconds elapsed since the system started.
3. DateTime.Ticks: The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001.
4. QueryPerformanceCounter: often used in C++ Windows games. Provides a high resolution timer of less than 1 microsecond. Not exposed in managed code, so you would have to write a wrapper for it.

References
Programming the Thread Pool in the .NET Framework
System.Timers Namespace
Introduction to Server-Based Timers
Timer Programming Architecture
Introduction to the Windows Forms Timer Component

Other C# Timer Resources
Comparing the Timer Classes in the .NET Framework Class Library (added 12/15/05 5:37PM)
http://www.mvps.org/directx/articles/selecting_timer_functions.htm (added 12/20/05 2:20)
The mvps link is very revealing; it discusses timers in the context of high performance games and evaluates them via benchmarking.

Sunday, December 11, 2005

Redick vs. Morrison

My officemate saw Adam Morrison of Gonzaga sink a last second three-point shot over two defenders with 2.5 seconds left yesterday at Key Arena (where the Seattle Supersonics play). We also watched Morrison dominate the game vs. U. of Washington last week (43 points, which ties his career high) -- Morrison is a spectacle, his shot is perfect and he always seems to be in the right place to get a much-needed steal or pick up an offensive rebound. I also observed that he tends to "power dribble" immediately after receiving a pass, which is particularly difficult to guard given that he is 6'9".

J. J. Redick of Duke also had an amazing performance yesterday, scoring a career-high 41 points vs. the #2 team in the country (Texas). He shot 9/16 from the three-point line.

Katz compares the two on espn for a preliminary investigation of NCAA player of the year.

(link)

Friday, December 09, 2005

Painting Techniques in .NET

http://windowsforms.net/articles/windowsformspainting.aspx

Nash a Professional Soccer Player

You cannot escape the "grass-is-always-greener" syndrome:

"'How good are you?', I asked him after his team won. 'I guess I could have played professionally,' he said. 'If I’d focused on it. Sometimes I wish I had. But that’s probably just a grass-is-always-greener kind of thing.' " [Steve Nash talking about playing soccer professionally]

(from link)

Sunday, December 04, 2005

CFP: mobilehci

The 8th International Conference on
Human-Computer Interaction with Mobile Devices and Services
Dates: 12-15 September, 2006
Location: Espoo, Finland
Website: www.mobilehci.org
Deadlines:
* Papers, Workshops and Tutorials: 1 March 2006
* Short Papers, Posters, Demos, Panels, Industry Cases: 7 May 2006

Saturday, November 26, 2005

Thanksgiving 2005 in Nebraska

For those not in "the know," Nebraska is one of those fine "great plains" states centered around Iowa, South Dakota and other spectacles of fun.




My Mother, the Sweater Model

My mother is now a professional model at http://www.familyknitwear.com/! Buy all the clothes she is modeling for so she gets more modeling work!

Tuesday, November 22, 2005

Ah, Minnesota Pride

Yet it's safe to say the Jazz are looking for Humphries, who left the University of Minnesota for the NBA after his freshman season, to develop much more of an all-around game. "I told him, 'I don't want a confrontation every time. (But) how are you going to make a living in this league? Shooting it every time you touch it? Or, I say, you can make a living in this league if you defend, rebound, run the floor and do some of those things,' " Jazz coach Jerry Sloan said when discussing Humphries' play after Utah's Saturday-night loss to Memphis "I don't have a problem with a guy shooting," Sloan added. "But every time he touches it? He's got to learn to pass it. To me, that's one of the simple things to learn how to do. Once you do that, then your teammates accept you a lot more and it makes the game easier for you." Desert Morning News

And

"Another day, another lesson for Kris Humphries. The Jazz's second-year forward checked into the game at the start of the second quarter Saturday against Memphis. So he was obviously shocked when Robert Whaley subbed in for him just 2 1/2 minutes later. As Humphries approached the bench, Jazz coach Jerry Sloan stopped him with a blunt message. "I can't put you out there," Sloan said as Humphries passed by, "if you're not going to compete." Salt Lake Tribune

(from link)

Wednesday, November 16, 2005

College Graduation Rates

Unfortunately I did not see any references to the source of data for this article -- it's a pretty startling statistic.

Just 54 percent of students entering four-year colleges in 1997 had a degree six years later -- and even fewer Hispanics and blacks did, according to some of the latest government figures. After borrowing for school but failing to graduate, many of those students may be worse off than if they had never attended college at all.

(from link)

Monday, November 07, 2005

Informal Awareness in a Hallway

Just saw a very insightful "hidden" camera view of a workplace hallway taken by Saul Greenberg back in the early 90s (at least that's what the presenter said). Essentially, a hidden camera was placed at an end of a office hallway allowing the viewer to see how people casually peered into offices as they walked by to create an informal awareness of the people in their immediate surroundings.

Tuesday, November 01, 2005

What the Public Deserves

From the Washington Post:

"In my administration, we will ask not only what is legal but what is right, not just what the lawyers allow but what the public deserves," Bush said Oct. 26, 2000.

(link)