February 2008 Archives

Todd Ogasawara

AddThis Social Bookmark Button

This week: Revo Uninstaller 1.42, Windows Live SkyDrive, NewsPond, and Free PDF to Word Doc Converter 1.1.
Revo Uninstaller 1.42
Sat, 23 Feb 2008 22:58:18

Uninstalling software from Microsoft Windows can sometimes be a lot more challenging that it should be. The freeware Revo Uninstaller 1.4.2 has a reputation for easing this sometimes ornery process. It has a bunch of features including an auto-start manager, junk files cleaner, browser history cleaner, and tools to really delete files (delete all traces of the file). This version was released on January 7, 2008. I haven’t tried it yet. But, I just downloaded it and plan to give it a spin.


SkyDrive Ups Its Storage to 5GB
Thu, 21 Feb 2008 20:35:35

SkyDrive 5GB

read more


Newspond: Is This the New Digg?
Tue, 19 Feb 2008 20:24:10

Digg has, IMHO, spread its news coverage area too wide and has lost my interest. Slashdot has, to its credit, maintained its tech focus after being around for over 10 years now but but updates/percolates kind of slowly. I’m hoping that Newspond will be the a good tech news resource. But, it currently draws too much from mainstream sites that, I’ll guess, most tech geeks already have in their newsfeed reader.

read more


Free PDF to Word Doc Converter 1.1
Mon, 18 Feb 2008 22:32:29

I read about this PDF to Word converter a week or two ago…

Free PDF to Word Doc Converter 1.1

…but have not tried it out yet. Note to self: Try this thing out soon. There’s apparently some kind of free registration code that requires solving some simple math problem according to its FAQ.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft Sync: Business Week Dissects this Car System
Sat, 23 Feb 2008 12:50:49
Just found this in Business Week… The Secrets of Microsoft’s Sync Sync is is a Microsoft car product found in Ford cars that lets you control the stereo and your phone (via Bluetooth) using voice commands. Microsoft tried this several years ago with their Windows CE Automotive products that never really caught on. Given Ford’s slipping sales, […]
Microsoft TechNet: Intro to System Center Mobile Device Manager 2008
Thu, 21 Feb 2008 19:59:07
If you’ve been looking some info about scmdm (System Center Mobile Device Manager) 2008, Microsoft TechNet has a 23 minute video interview about it at… Intro to System Center Mobile Device Manager (scmdm) 2008
Tiny-Code.com Now Redirects to Apple iPhone Dev Center
Wed, 20 Feb 2008 21:00:01
While reading a PC World blog entry about Apple’s upcoming iPhone SDK, I learned about the Tiny-Code.com site for people interested in unofficial iPhone installers. When I tried to visit the site, I was redirected to Apple’s official Developer Connection… iPhone Dev Center It (the official site) only has information about Webkit (browser) development now. But, we […]
iFrogz Vibez: The Little Speaker That Could
Tue, 19 Feb 2008 20:40:26

I bought this little Vibez speaker from iFrogz on a whim during their post-holiday sale period. It listed for $34.99. I bought it for $19.99. And, it currently lists on their site for $24.95. This thing is not going to give your high-end or even decent portable speakers any competition. However, despite its relatively low-fidelity, […]
Engadget Describes the Limits of Verizon’s Unlimited Plans
Tue, 19 Feb 2008 06:08:29
Engadget points out the limits of the new Verizon Wireless Unlimited Plans. It looks like the way to read the three offerings are: Somewhat unlimited, sort of unlimited, and unlimited but pricey. These plans can also have two-person and three-person family plans (Sprint and T-Mobile family plans include up to 5 phones if I recall […]
M. David Peterson

AddThis Social Bookmark Button

Reflector_on_OSX_small.png

AddThis Social Bookmark Button

Microsoft’s announcement of “broad-reaching changes to its technology and business practices to increase the openness of its products and drive greater interoperability, opportunity and choice for developers, partners, customers and competitors” is certainly an interesting development. Although most of my career experience has involved Unix/Linux platforms, lately I do quite a lot of experimentation on Windows, in my role as open source community manager for the cross-platform Threading Building Blocks (TBB) project.

In fact, I’m hoping to present a 45-minute session at this year’s Open Source Convention (OSCON) that will involve an application I’m working on that integrates Python, Boost.Python, Visual C++, and TBB. So a statement by Microsoft that talks about interoperability between the Microsoft platform and open source (one aspect of the new initiative is “fostering more open engagement with customers and the industry, including open source communities”) is quite interesting to me.

Threading Building Blocks (if you haven’t heard of it) is a C++ template library that simplifies the development of multithreaded applications, by abstracting the details of low-level thread management behind constructs such as parallel_for, parallel_reduce, parallel_scan, etc. TBB also includes thread-safe STL-like containers (concurrent_vector, concurrent_queue, concurrent_hash_map), scalable memory allocators, mutexes, a well-developed task manager, and quite a lot more.

In this sense, Threading Building Blocks is “like” Microsoft’s Parallel Extensions (ParallelFX) — though a major difference between the two is that TBB has several years of development behind it and is already a fully-functional library, while ParallelFX is a new initiative announced just this past November. Hence, as you’d expect, ParallelFX is currently fairly slim in terms of capability compared with TBB.

What grabs my attention in this Microsoft press release is the stated objective to “drive greater interoperability … and choice for developers”. As I said, Threading Building Blocks is a cross-platform library. You can apply it to multithread your Windows applications without spending a dime, using the following free software packages:

(See my recent post about how one developer accomplished this.)

One question, though, is: do Windows developers really want to integrate non-Microsoft libraries and applications into their Windows projects? Doing so carries some risk (given Microsoft’s past), should the development path of Microsoft’s own platform diverge from the newly declared commitment to openness and interoperability.

Then there’s the convenience aspect. When I was a Windows development manager a few years ago, we didn’t use anything outside of Microsoft’s own platform. But the truth is, as good as the Microsoft development platform is, in some instances there are other products that are better for accomplishing a specific task. We seriously considered offering customers the option of using SQL Server or Oracle, for example.

When it comes to multithreading C++ applications on Windows, developers have an already-solid (on Version 2.0+ at this point) open source choice in Threading Building Blocks. Yet, thus far, it seems to me (from the anecdotal evidence, talking to people who visit the #tbb FreeNode.net IRC channel, etc.) that TBB has been embraced primarily by developers who prefer other (primarily open source) operating system platforms.

As expected, the Microsoft announcement has received plenty of negative press and commentary (doesn’t that happens with every Microsoft announcement to a certain extent?). I happen to like the Microsoft platform — it’s development tools are stellar in my opinion. I’m also a great fan of open source, and indeed I have a vested interest in open source through my involvement in TBB open source.

It’s going to be very interesting to see if Windows developers and software companies will take advantage of Microsoft’s new encouragement for them to explore integrating open source libraries into their Windows applications.

Todd Ogasawara

AddThis Social Bookmark Button

Port 25: Installing Apache on Windows
Thu, 14 Feb 2008 22:27:53

Chris Travers (who wrote the excellent tutorials for installing MySQL and PostgreSQL on Windows last year) wrote a tutorial for Microsoft’s Port 25 site titled: Apache 2.2 on Windows: A Primer. You can find this PDF download linked in the Port 25 blog entry…

Technical Analysis: Installing Apache on Windows

read more


Social Micro Presence Sites for Windows Mobile
Wed, 13 Feb 2008 22:27:39

I’ve mentioned and tried out a lot of social micro presence sites here over the last year. Twitter and Tumblr have become my favorites. But, did you know that many of these sites have special web pages for mobile devices like Windows Mobile smartphones? I’ve collected and listed a bunch of the better known ones over on my MobileViews (mobile technology focused) blog. You can find the blog entry at…

Social Micro Presence Sites for Windows Mobile


Oops They Did it Again: Sun Bought the VirtualBox Team
Tue, 12 Feb 2008 21:47:56

Well, Sun bought another Open Source company. This time it is the group responsible for the multi-platform Open Source VirtualBox virtualization product:

Sun Microsystems Announces Agreement to Acquire Innotek, Expanding Sun xVM Reach to the Developer Desktop

read more

Todd Ogasawara

AddThis Social Bookmark Button

iPhone Searches on Google 50x More Than Other Phones
Fri, 15 Feb 2008 17:30:32
Saw a reference to this on the AppleInsider site and followed the link to… Google homes in on revenue to phones …The key quote from the article that AppleInsider pointed out is: Google on Wednesday said it had seen 50 times more searches on Apple’s iPhone than any other mobile handset, adding weight to the group’s confidence […]
PIM Backup: Free Windows Mobile Pocket PC Backup App
Fri, 15 Feb 2008 17:29:58
Just read about this free Windows Mobile backup software… PIM Backup 2.8 …on the Inside Microsoft blog. Note that this software only works with the Pocket PC or Pocket PC Phone Edition (Classic or Professional). Standard Edition users need to look elsewhere for a free backup solution (let me know if you find one) or use a […]
Is T-Mobile USA Going to Survive? Should Microsoft Help Them Stay Relevant?
Thu, 14 Feb 2008 22:53:41
I mentioned earlier this week that T-Mobile USA customers will still have WiFi access in Starbucks coffee shops due to a WiFi roaming agreement between T-Mobile and AT&T Wireless. Then, I learned that this agreement ends after 5 years (early 2013). It is possible they could renew their agreement at that point in time. But, […]
Microsoft Posts: Troubleshooting BCM for Pocket PC/Smartphone
Wed, 13 Feb 2008 22:43:00
Just noticed this blog post over on the Microsoft Business Contact Manager (BCM) Team Blog… Troubleshooting BCM for Pocket PC/Smartphone If you are using BCM, you probably want to bookmark this blog entry. And, I continue to be amused when even Microsoft forgets the whole awful Classic Edition (Pocket PC), Professional Edition (Pocket PC Phone Edition), and Amateur […]
Social Micro Presence Sites for Windows Mobile
Wed, 13 Feb 2008 22:22:19
I’ve become a fan of social micro presence sites over the past year or so. I think Twitter and Tumblr were the two that showed me the way and their value. Although all the good mobile web designs are being developed for the iPhone Safari browser, there are a lot of social micro presence sites that […]
OEDb: 100 Ways to Use Your iPod to Learn and Study Better
Tue, 12 Feb 2008 21:16:50
I don’t know anything about the OEDb (Online Education Database) site. But, someone associated with them pointed out this useful looking iPod resource… 100 Ways to Use Your iPod to Learn and Study Better I thought it looked useful enough to spread the word. The resources are categorized as study guides, podcasts, tutorials, applications, tools ad sites, […]
MSN Direct for Windows Mobile Standard Edition
Mon, 11 Feb 2008 22:43:53

I read about the MSN Direct beta release for Windows Mobile before heading to work this morning. So, as soon I got in, I point my T-Mobile Dash at http://phone.msndirect.com/ and downloaded the installation CAB file. To make a long story short, MSN Direct was removed from my phone within 20 minutes. Here’s what happened… The […]

T-Mobile Customers Still Can Use WiFi at Starbucks
Mon, 11 Feb 2008 17:47:44
As a T-Mobile customer the first thing that came to mind when I read the headline that Starbucks is switching WiFi providers (from T-Mobile to AT&T Wireless) was… well, I won’t write them in a G-rated blog. However, if you read the Starbucks press release about this switch, you’ll see that they say: In recognition […]
Are the HTC Shift and Sony Ericsson Xperia X1 Too Little Too Late?
Mon, 11 Feb 2008 06:19:09
I read somewhere that the HTC Shift is near shipping and that the Sony Ericsson Xperia X1 was announced. (the first Windows Mobile device from a firm that normally uses their home-brewed Symbian OS). Both devices are amazing pieces of ultra mobile technology. The question is: Are they still relevant? We already know that the […]
Todd Ogasawara

AddThis Social Bookmark Button

Firefox 2.0.0.12
Thu, 07 Feb 2008 22:57:04

I use Firefox because for a long time I believed it was a superior and safer browser than Internet Explorer 6. And, while it is mostly stable on my Linux and Mac boxes, Firefox is a disaster on my Windows PC. It crashes, it leaks memory (very badly!), and add-ons wreak havoc on its already tenuous stability. And, oh yes, Firefox 2.0.0.11 doesn’t run at all one my old iBook G4 that still runs Panther (Mac OS X 10.3).

read more


TrueCrypt 5.0: Encrypt Data Your Way on Any Platform
Wed, 06 Feb 2008 21:58:35

TrueCrypt 5.0
TrueCrypt 5.0 was released on Feb. 5. This Open Source multi-platform data encryption tool gets the first ever 5 out of 5 Walruses Rating. I say first ever because it is the first ever (I think) rating I’ve given a product mentioned here. I’ve been using it for a while under Microsoft Windows and it has become one of those tools that I recommend to nearly everyone.

read more


KeepVid.com: Download Flash Videos from Video Sites
Tue, 05 Feb 2008 22:17:31

keepvid.com
KeepVid.com performs one function: It lets you download a video in Flash format from a variety of video sites. You take the URL of the video’s web page and paste it into the text box labeled download. It seems to know what to do with it and starts downloading a FLV file to your computer. You will need a video transcoding utility if you want to use the video in some format other than Flash.


What Effect Will a Recession Have on the Current Open Source Environment?
Tue, 05 Feb 2008 06:21:12

After reading about the stock market continuing to plummet on recession fears (CNN Money, MSNBC), I began to think back to the 2000/2001 time period when I started looking at GNU Linux and Open Source as a serious alternative to the familiar Microsoft and other proprietary tools and, later, my belief that I could use both kinds of tools successfully together. The Open Source world has changed dramatically since then.

read more


Adventures Upgrading from PostgreSQL 8.2.6 to 8.3
Mon, 04 Feb 2008 23:01:31

PostgreSQL 8.3 was announced today (Feb. 4). As a Pgsql newbie (I started testing it less than two weeks ago), I thought it would be a useful experience to see what the upgrade process looked like. MySQL (which I have years of experience using) is pretty much a snap to upgrade (I’ve been upgrading since the 3.x days).

read more


U3 Uninstall vs. Windows Vista
Sun, 03 Feb 2008 10:12:12

read more

M. David Peterson

AddThis Social Bookmark Button

Listen: Pay attention to what your customers are telling you.
Understand: Take the time to understand what your customers are telling you.
Respond: Follow-up to what your customers are telling you where and as appropriate.
Repeat: Keep listening, understanding, and responding to what your customers are telling you.

Following the LLUR Principal: Bad Example



PM : FooBar Project : Eveel Empire

“We’re sorry our buggy software has blocked progress on your project. If we get around to fixing it we’ll release it in a service pack, but if it happens we’re not sure when that might be. What do you want us to do? Our resources are “limited”!

Customer : BarBaz Project : We’re Not Eveel (At Least Not Yet) Startup

“If you gave me access to the source, I could just fix it myself”

PM : FooBar Project : Eveel Empire

“Bwaahhhahahaaa!!! Wait, you’re serious, huh? Bwaahhhahahaaa!!! That kills me! :D :D :D”

Following the LLUR Principal: GoodGreat Example


Jesse Liberty

AddThis Social Bookmark Button

In Sunday’s NY Times (February 10, 2008) Tim O’Reilly is quoted as saying

Popfly shows me that Microsoft still thinks this is all about software, rather than about accumulating data via network effects, which to me is the core of Web 2.0…They are using Popfly to push Silverlight, rather than really trying to get into the mashup game.

This raises a host of interesting questions for me as a long time author for O’Reilly Media and as “Silverlight Geek” for Microsoft.

As a start, I decided it was time for me to turn my attention to writing a bit more about Popfly, and I invite you to join me if you’d like to know more about this interesting, if now somewhat controversial, technology.

Thanks.

-Jesse

Todd Ogasawara

AddThis Social Bookmark Button

Manufacturers Can’t Build Linux Based Ultraportables Fast Enough
Fri, 08 Feb 2008 06:23:38
The Wired article Linus Torvalds on Why Users Aren’t Flocking to Linux has the Linux creator rationalizing why Linux hasn’t been accepted on the desktop. My message to Mr. Torvalds: Dude, don’t worry about the desktop - Linux has conquered and cornered the ultraportable market! I just went over to ZaReason to check on the […]
Does Mobile Device Ecosystem Matter?
Thu, 07 Feb 2008 22:48:30
While syncing my Zune with a bunch of video podcasts, I began thinking about the fact that my iPod is usually what travels with me because of all the eco-system infrastructure I have to support it: FM transceiver dock for the car, battery powered docking speaker, belt cases, etc. The Zune 2 firmware transformed my […]
HanDBase 4.0 Available
Wed, 06 Feb 2008 22:27:05
When HanDBase was only available for the Palm OS, I remember wondering if it would ever be available for Windows CE devices. I remember how excited i was to get an early Windows CE version of it to write the first review of it for Microsoft.com. Here’s a republished version of it that is still […]
Apple Bumps iPhone to 16GB and iPod touch to 32GB
Tue, 05 Feb 2008 06:00:53
Just read an MSNBC article that Apple increased the iPhone to 16GB ($499) and the iPod touch to 32GB (also $499). I wonder: (1) Why didn’t they announce this during Macworld? It might have prevented some of their dramatic stock price drop since then. (and) (2) Shouldn’t the iPod touch price be down around $449 […]
Pownce Mobile
Mon, 04 Feb 2008 22:43:15
Hmm, I think I’m asking for information tonight instead of providing it Pownce switched from its invitation beta phase to public beta a few weeks ago. They also brought out a mobile friendly site you can find at… http://m.pownce.com/ So, here’s the thing. I like Twitter a lot. I like Tumblr a lot. Jaiku, um, […]
DPreview.com Mobile Friendly Site
Sun, 03 Feb 2008 22:44:07

My favorite digital camera review site recently created a mobile device friendly website. You can find the Digital Photography Review mobile friendly site at… http://www.dpreview.com/mobile/
Todd Ogasawara

AddThis Social Bookmark Button

U3 Uninstall vs. Windows Vista
Sun, 03 Feb 2008 10:12:12

read more


Linux/Wine as a Game Playing Alternative to Windows Vista?
Sat, 02 Feb 2008 10:45:35

This is a bit of an oddity. Instead of talking about Open Source apps running on the proprietary Microsoft Windows, this is about running Windows games on the Open Source Linux platform (with some help from the WINE project). Take a look at the Windows game compatibility testing with Linux/WINE on the blog WastingTimeWithMikeAndAri…

Linux has better Windows compatibility than Vista

read more


StopBadware.org Declares RealPlayer 10.5 and 11 are Badware
Thu, 31 Jan 2008 21:56:10

I’ve never mentioned RealPlayer here although it is a well-known freeware because of the numerous negative experiences I’ve had with it crashing and then being difficult to remove from a Windows system (never installed it on Mac OS X). However, I never thought to consider it badware in the sense of malicious software (though sometimes it appeared to behave like one IMHO).

read more


GOM Player: Multi CODEC Video Player
Wed, 30 Jan 2008 22:49:02

GOM Player

read more


Twitter Getting Flakier?
Wed, 30 Jan 2008 06:18:59


Twitter has really been flaky for the past month or so. It has gone down a couple of times. For the past couple of weeks I have not been able to get to the follower request screen to deal with requests. This morning, it is just down. Of course, it is hard to complain about a FREE service that is great when it is working. I hope the good folks at Twitter figure out some kind of income generating business model soon that gets them the added servers and technical expertise I suspect they need. Good luck, Twitter!

Note: My follower request problem was resolved the weekend after I wrote this blog item.
vLite 1.1: Reduce Vista Bloat
Tue, 29 Jan 2008 22:47:06

Windows Vista is heavy. My recollection is that a new install requires about 2 or 3 times more disk space than a fresh Windows XP installation. And, it seems really slow on hardware with good specs (Core 2 Duo, 2GB RAM, dedicated graphics RAM, etc.). Even copying a file from my notebook to a Samba share seems to take much much longer than from an XP PC to the same Samba share. So, I was very interested to read about…

vLite 1.1. Final

read more


pgAdmin III 1.8.1: PostgreSQL Database Management Tool
Mon, 28 Jan 2008 21:39:41

pgAdmin

read more

Jesse Liberty

AddThis Social Bookmark Button

Since Silverlight 2 is around the corner, and with it Managed Code and LINQ, I’m cross posting the following to both my Silverlight blog and my O’Reilly blog. Hope that isn’t too annoying.

I believe it is a major stumbling block, when learning new technology, if you can’t say the syntax “out loud in your head.” — that is if you can’t read the code to yourself in a way that you can then translate into a meaningful sentence. For example, when learning C#, if you see

int result = employees.Add(237, new Employee(”John Doe”, theAddressRecord);

If you don’t speak C# you can’t really read this to yourself without stumbling. What do you do with the dot between employees and Add? What do you do with the commas? the parenthesis? Do you pronounce them (employee dot add?)

if you “speak” C# you can read this to yourself quite easily; perhaps without noticing: “Call the Add method on the Employees object, and pass in a new Employee object, initialized with two parameters, a string and an object and return a value that you will assign to the local integer variable result.”

In fact, you’d go much further, based on your knowledge of C# and you’d read it complete with the logical inferences: “add to the Employees dictionary a new Employee object, keyed to the integer value 237. The new Employee’s constructor takes two parameters: the Employee’s name as a string, and the Employee’s address as a AddressRecord. The Add Method of the Dictionary returns an integer indicating success or failure which is assigned to a local variable named result.”

Now, I posed the following question to Ian Griffiths: “how do you pronounce this C# LINQ statement:

IEnumerable<Person> results = people.Where(p => p.LastName == “Liberty”);

Ian Griffiths is a consultant, developer, speaker, author, blogger, and to my great fortune, he was one of the technical editors for the fifth edition of my book Programming C# 3.0

Ian’s first response to my question was “IEnumerable of Person results equals people dot where p goes to p dot last name equals Liberty .. or just people where last name equals Liberty” … However, I’ve not spent any time trying to devise a way of saying LINQ that’s necessarily comprehensible to anyone listening who doesn’t have the source code to look at…I’m also wondering if I’m missing a trick question

[Let me note now that I’m abbreviating both Ian’s comments and mine to make this readable and keep to the essence of the discussion]

I explained my reasons for wanting to teach how to pronounce it and suggested

Declare results as an instance of a collection that implements the generic interface IEnumerable of Person, and assign to results each member of the collection people (which we assume to be a collection of Person objects) that meets the condition given in the parentheses. The condition is: let p represent each member of people in turn, give me each p where p.LastName is equal to Liberty.”

Ian objected to the two parts I marked in bold.

“First, results holds an instance of a collection, and I prefer to keep the distinction between the variable and the object clear.”

After some back and forth, we agreed that it is better to say that results is a reference to an instance of a collection.

Ian’s’ second objection was more substantive and nailed my misunderstanding. He wrote,

The language suggests that we will assign each matching Person into results, which isn’t really true. It could be taken to suggest a process that looks like this:

List<Person> results = new List<Person>();
foreach (Person p in people)
{
if (p.LastName == “Liberty”) { results.Add(p);
}

and while that might have the same effect, I think it’s potentially misleading to think in those terms. (For one thing, the approach shown here will fail for infinite collections. But LINQ is quite happy to evaluate infinite collections lazily, so long as a) you use suitable enumerator and operators, and b) you never ask it to materialize the full results of the query.)

To that end, part of me wants to pare it right down:

“Let ‘results’ be all the ‘Person’ objects in ‘people’ that have a LastName of “Liberty”.”

For me that captures the essence, and avoids getting bogged down in details. I like it because it doesn’t make many assumptions about what ‘people’ is. (Specifically…very specifically and somewhat pedantically in fact…it makes the assumption that when we examine people through the standard LINQ ‘Where’ operator, it appears to contain a set of objects. And I chose my wording very carefully there - that does not mean that ‘people’ is necessarily a collection of objects. I could for example write a LINQ to SwipeCard library; ‘people’ might actually be a SwipeCardReader, and I may have provided a Where extension method that can be applied to a SwipeCardReader that returns an enumerator that yields an object each time someone swipes a card that matches the Where predicate.

OK that’d be a slightly weird thing to do - I’m just illustrating that there are scenarios in which talking in terms of ‘collections’ doesn’t fit. More pragmatically, in LINQ to SQL and LINQ to Entities, the Where clause ends up getting converted into SQL…so all you know is that it yields filtered output, and you can’t talk about how it achieves this in object terms.)

But that doesn’t explain the individual pieces. If we want to say precisely what each bit of that code does, we need a more complete explanation. And for that…well I’m still in two minds. It depends on context - how much do we really know about ‘people’. Given just that line of code, people could be anything, and we might well be building a query against a database here. The pattern presented is using one of the standard LINQ operators, so it’s applicable to LINQ to Objects, LINQ to SQL, and LINQ to anything else that might spit out an object that might have a LastName property. (So I don’t think this particular example would work directly with LINQ to XML. However, it’s still possible that person was a LINQ to XML query whose SELECT clause happened to project the results into a .NET object. But that would make this LINQ to Objects…)

But if we can assume that ‘people’ really is a collection objects, and that we’re using LINQ to objects, then my ‘no stone unturned’ version might look like:

“Declare a variable ‘results’, which will hold an enumerable set of Person objects, calculated by invoking the ‘Where’ operation on ‘people’. ‘Where’ is a standard LINQ operator that performs filtering. Since ‘people’ is a collection, the ‘Where’ operator is provided in this case by LINQ to Objects, and it is an extension method. (So we are really invoking Enumerable.Where here, even though the syntax makes ‘Where’ look like a member of the object referred to by ‘people’.) The parameter to ‘Where’ is a lambda expression that will be evaluated for each Person ‘p’ in people. The ‘Where’ method includes all Person objects for which the expression evaluates to true (i.e., the ones whose LastName property is “Liberty”) and excludes the rest. ‘Where’ returns all of the included objects as an IEnumerable<Person>, which is assigned into the ‘results’ variable.”

Comprehensive and, I fear, unreadable…

This was particularly powerful to me, because I had exactly that foreach loop in my head. I replied acknowledging that, and also highlighting his distinction of a set vs a collection and I didn’t much like the includes / excludes language, and asked about using

the ‘where’ method yields all Person objects for which the expression evaluates to true.

We agree that the problem with my language is that it doesn’t quite make explicit that those that don’t match are dropped on the floor, but on the other hand it is less ugly than saying

the ‘where’ method yields all (and only) Person objects for which the expression evaluates to true

Jesse Liberty

AddThis Social Bookmark Button

I’m incredibly proud and pleased to announce the release of the fifth edition of Programming C#.

C# 3.0 represents a significant maturation of the C# language adding numerous small new features, and a few major enhancements including LINQ.

This new edition was a tremendous opportunity to revisit every aspect of my book, and to bring it fully up to date, to ensure that we were adding value, and telling the story of C#; never simply reproducing the documentation already available from Microsoft.

We also took the opportunity to demonstrate how C# supports WPF, ASP.Net and Ajax, as well as WinForms.

We spent months reviewing and rewriting every chapter, and we then subjected the book to the most extensive technical review I’ve ever been involved with.

Finally, I re-edited the entire book, to ensure that it speaks with a single voice, because I believe that a tutorial must ultimately be a conversation between one author and one reader.

This year I will also be producing two new books from O’Reilly Media: Programming .Net 3.5 and Programming Silverlight. More about those when they become available

Todd Ogasawara

AddThis Social Bookmark Button

Gartner Says: More Macs, More by 2012
Sat, 02 Feb 2008 21:28:48
Information Week quotes some Gartner predictions in the article… More Macs, More Mobile, More Open Source, Gartner Predicts They predict mobile workers will abandon the notebook form factor in favor of what they term new classes of Internet-centric pocketable devices at the sub-$400 level. Believe it or not, people have been making this prediction since the early […]
PayPal Security Key: Part 2
Fri, 01 Feb 2008 21:59:39
I received my replacement PayPal Security Key and went through the activation process again. Fortunately, the process went smoothly this time. I made a small purchase to test the purchase process and it also went well. Here’s something to note though. After completing the activation process, PayPal instructs you to use the system by logging […]
Windows Mobile Calendar Weirdness: Outlook Overrides Smartphone Changes
Thu, 31 Jan 2008 22:12:08
This Windows Mobile Calendar problem happens all the time to me ever since Microsoft removed the two-way conflict resolution option. Here’s the scenario. 1. Create an appointment on a WiMo smartphone 2. Sync it to Outlook 2003 (or 2007) 3. After syncing, edit the appointment and change it to a different day (i.e., reschedule it) 4. Resync it with […]
Why Do US Cell Phone Companies Hate Text Messages?
Thu, 31 Jan 2008 17:41:15
An article over on ABCnews.com talks about the high cost of text messaging and calculates some interesting comparisons based on AT&T Wireless’ upcoming increased charge of 20 cents per text message and 30 cents per MMS message. Based on the assumption of a cost of 1 cent for every 7 bytes (characters), AT&T’s text messaging […]
The Mysteries of Windows Mobile Battery Problems
Tue, 29 Jan 2008 22:38:00

Of all the problems a Windows Mobile smartphone might have, battery problems rank somewhere in the top three if not number one. Why? If your battery dies at an inopportune time, it doesn’t matter how good the rest of the phone is, you have a paper weight. Having a spare always helps, of course, but […]
iZoho: Zoho Web Office Suite for the iPhone/iPod touch
Mon, 28 Jan 2008 22:43:03

Cool sites designed specifically for the iPhone (and by side effect the iPod touch) just keep on coming. I’ve been using the Zoho Creator web database product for almost a month now because it works well both on the desktop as well as mobile devices (not just the iPhone). However, Zoho created a very nice […]
Sync Windows Mobile with a Mac?
Sun, 27 Jan 2008 22:58:55
I installed Microsoft Office 2008 for Mac this weekend and have been giving some thought to syncing my Windows Mobile smartphone with a Mac instead of Windows XP (I have Vista running but don’t want to use WMDC). Unfortunately, all of the solutions have issues. Here are my options. Sync my smartphone with Mac OS X’s […]
M. David Peterson

AddThis Social Bookmark Button

In a recent entry to the news section of the lighttpd site,

Mono + FastCGI

Reggie pointed me to the FastCGI support for Mono. For our lighttpd they have a full featured page that should cover all possible configuration needs.

Feel free to try it out and comment on this article if it works as expected.

In follow-up, Amr_not_Amr asks,

This is so nice .. but does this work with lighttpd 1.5 ?

My response to Amr_not_Amr either didn’t make it through because of the pre and code tags, or just hasn’t been approved yet, but either way here it is (again?),

M. David Peterson

AddThis Social Bookmark Button

Mono Beta Launch ? Official Linden Blog

We’re very pleased to announce the beta testing of Mono in Second Life. Mono is a technology which will increase the speed of scripts running in Second Life. The goal is that everyone will experience reduced lag and improved stability and that it will be possible to script complex behaviours that were not previously feasible in Second Life.

Very nice! It’s absolutely wonderful to see successful open source projects such as Second Life (for those unaware, the Second Life grid is now GPL’d) embracing other successful open source projects such as Mono, making both projects better as a result. With as many code savvy Second Lifers’ as there are on this planet, I can only imagine the type of positive impact this is going to have when the more curious of the bunch begin rootin’ around to discover what other cool things they can now do with the extended capabilities the Mono VM offers them.

Very cool! :D