Monday, December 31, 2007

scratch-simpleresult Both Leon Bambrick and Jeff Atwood have posted about LOGO recently, which reminded me to talk about Scratch. It's a FREE program from MIT that's aimed at teaching kids (or anyone else, I suppose) the basics of programming. More specifically, it gets them thinking about things like logic, flow control, and handling variables. 

As a developer, I suppose it's natural to want to teach my daughters something about what I do for a living. (Note: I leave out the part about how moving into management mostly means sitting in meetings and spending more time in Outlook and Excel than in an IDE). But I do want them to grow up with strong problem-solving skills, so I've often gone out in search of good ways to teach programming concepts at a kids level. There are a number of initiatives out there, but Scratch is the one that has really taken hold for us. I've found it to be the best by far, even better than commercial products out there intended for the same purpose.

The free Scratch application is basically a workbench for creating programs using a drag-and-drop interface. You have a stage, which can be scripted to do things like clear itself, paint its background, and so on. On the stage, you drop sprites, which can be any sort of object. By default, your first object is a cartoon cat, but you can use any sort of photo, clip art, or pick from a library that is included.

For your stage and each of your objects, you have a script (or several) that can be run. This is where the genius comes in -- the script is built entirely by dragging and dropping blocks into place. No need to remember syntax or type in commands. You're essentially building a flow chart with these blocks and your "program" is executed from the first block (at the top) to the last (at the bottom). The blocks snap together as you drop them and there are good visual cues as you drag them around when and where they'll snap. If your program has multiple characters with their own script, all of those scripts run in parallel... and a single character can have multiple scripts (to support for example, moving around the stage while also waiting for some external input). The bottom screenshot gives a good example of parallel scripts.

The available blocks are grouped into categories, such as Motion, Control, Looks, Sound, Sensing, Numbers, and Pen. Each category has numerous blocks that let you control how your sprite moves, makes noise, interacts with other sprites, calculates, stores/retrieves variables, and uses its "pen". As with LOGO, the pen is the primary way of seeing what your sprite has done. You control the pen by putting it down, lifting it up, setting its color, size, and so on.

The "Control" group is where you can really do creating things as this is where flow control blocks are located. There are blocks to wait for input, "container" blocks that let you repeat other sets of blocks forever, a certain number of times, or until a condition is met. There are also If/If Else blocks and blocks to pause the script for a period of time.

scratch-simpleprogram The environment is very easy to work with and encourages experimentation. The left side is where the groups of blocks are stored, the middle is where you drag and drop your blocks, and the right side shows the sprites in your program and the stage where everything happens. It also has a "presentation mode" so the user can make their program run full-screen and show off to Mom and Dad.

I introduced my daughter to Scratch several weeks ago and it's now one of her favorite things to do on the computer. Given that she just received an OLPC, I'm glad to learn that there's an effort underway to build an OLPC compatible version of Scratch.

Initially, Scratch is great for use as an electronic Spirograph set. Kids can experiment by trying different things and take a "let's see what happens" approach to learning. The simple program to the right is what created the shape at the top of this post. Clicking on any of those numbers lets you change its value and it's easy to move the blocks around or add new blocks. You can see in this example that the orange flow-control blocks serve as containers for other blocks and that they can also be nested.

One of the first things kids learn, just as anyone else learning programming does, is that you have to be very explicit in your instructions. For example, without the "Clear" instruction in there, the stage would still have the previous shape and it'd be hard to see what your program is doing. Without telling the sprite where to start (0,0), the program would pick up wherever the sprite currently sites which is likely not what you want.

Click for larger view. Scratch also comes with many sample programs that show you just how flexible it is. Games are fairly easy to program because of Scratch's support for input handling (detecting keypresses or mouse activity) and its support for collision detection. A good example is a little racing game that features a ball you have to "drive" around a race course. The arrow keys control the ball's direction and it speeds up the longer you hold them down.

However, if your ball goes off the race course and ends up in the grass (the program has an If block to see if the sprite is touching the color green), then your speed begins to slow down significantly. The program for it (visible by clicking the screenshot to the left) is surprisingly simple and it's a fun one for kids to experiment with because they can control which keys get used, how quickly the ball moves, and what the consequences are for going off-course.

I've tried out a number of different environments for kids to create things in the computer and Scratch is easily the best of the lot. It's a commercial quality piece of software that installs quickly and works very well. The folks at MIT have also created an online community of sorts where users can share their Scratch creations. The web site also has lots of videos, reference materials, and a PDF Getting Started guide that's very kid-friendly.

(Note: I just noticed that they've released a version 1.2 maintenance update in the last couple of weeks. It looks like they've added some advanced blocks, fixed a few things, and created a more detailed PDF reference guide. I'll be upgrading shortly, but the screenshots above were created with 1.1).

If there's a kid in your life that enjoys tinkering on the computer, introduce them to Scratch. Heck, introduce yourself to Scratch... I apologize in advance for the hours you're about to lose.

Technorati Tags: , , , ,
posted on Monday, December 31, 2007 3:08 PM Mountain Standard Time  #    Comments [0]

olpc-logo As I mentioned last week, we gave our oldest daughter (8 yrs next month) an OLPC XO laptop for Christmas. I've been following this project for a while and it's been interesting to see the different reactions around the web since the boxes started shipping earlier this month. Even more interesting over the last few days has been to compare some of those reactions with the reaction of our daughter.

As expected, she's been ecstatic about getting her "own" computer. The fact that it doesn't look like Mom or Dad's laptop, from either a hardware or software perspective, has only increased it's cachet in her eyes. She thinks it's pretty cool that "somebody invented a computer just for kids." When she tells people she got her own laptop for Christmas, she likes to explain that "it's a kid's laptop, but it's still a REAL computer and it even has Google!" Pretty funny that the presence of a web browser with Google makes it a "real computer" for her.

Some of the responses to this machine around the web are really interesting. It runs the gamut from "Amazing!" to "What a piece of crap..." -- but the vast majority of impressions (good and bad) are skewed because they come from an adult perspective. As an example, the review on CNET mentions an application the laptop comes with and then says "(Actually, applications are called "activities" on the XO-1. Sometimes it seems like the developers are thinking too differently.)" If you're an adult techie, I could see that these differences feel "too different." On the other hand, which word better describes the "things you can do" on a computer to a kid who's never used on -- application or activity?

On the positive side, I've read lots of adults who will use it as an e-book reader, a rugged email-on-the-go alternative, or an inexpensive way to tinker with Linux. Some of the folks over at OLPC News are as hyped about it as any Mac/Windows/Xbox/PS3 fanboy you'd ever meet.

The criticisms tend to fall into a few categories:

It's not rugged enough -- This clearly comes from someone who's not actually held or used one. This machine is very well-built and solid. It may not be a military grade Toughbook, but it will stand up to my 7 year old lugging it around just fine.

It doesn't have [Software X] -- With this one, Software X is usually something like a full-feature Firefox browser, built-in web server for development use, or a more familiar OS. Of course, each of these comes from the perspective of an adult who wants it to be more like the machine they already use. Put it in the hands of a kid, though, and these complaints go away. I've found that the OS is very intuitive and, while I wouldn't personally use it as my main machine, my daughter has had no trouble at all learning her way around and surprising me with the things she's come up with. The main complaint I'd have here is that the open-source Flash alternative (Gnash) doesn't seem to be as widely compatible as a Flash player would be. There are instructions on the OLPC wiki, though, for installing a recent build of Flash.

The keyboard is too small -- Put a kid in front of it and you'll see how perfectly-sized the keyboard is. It may be too small for an adult to use regularly, but little hands fit it just fine.

The screen is too small (and it's not a touch screen) -- The screen is small. But it provides plenty of real estate for the activities that ship with the device and it's surprisingly sharp. Hardware keys let you adjust the brightness and at the lowest setting, the backlight turns off for use outdoors. I think a touch screen would be great, especially because the panel spins around and lays down like a convertible tablet -- on the other hand, the cost of the machine right now is right around $180 or so. Adding a touch screen to it would not only increase the cost, but it would also increase the complexity of software design (to make the activities tablet-ready) and hardware design (to ensure that the device remains rugged even as the screen is regularly beat on by kids).

Personally, I've run into only two drawbacks and neither of them is insurmountable.

  1. Out of the box, the device doesn't support WPA security on wireless networks (though it does support WEP). However, I did find instructions on the OLPC wiki for adding WPA support. I followed those and it connected to our access point great. It's a one-time thing, so the device has connected just fine ever since, but the instructions do require using a terminal prompt.
  2. I would like to see it include better Flash support in the built-in browser. I've not yet tried installing the latest Adobe Flash player, so hopefully that improves things. Given how many kids web sites use Flash for activities, games, and even their entire UI, getting solid Flash support in the browser should be a priority.

Neither of these are that big a deal... especially now during the honeymoon period when my daughter is mostly using it as an electronic journal and just experimenting with the different activities. I'll follow-up later with some info on the various activities that ship with it, including one that doesn't but probably should (hint: typing tutor).

Technorati Tags: , , ,
posted on Monday, December 31, 2007 12:25 PM Mountain Standard Time  #    Comments [0]
 Sunday, December 30, 2007

More Down Time... Last week, I posted a couple items on the continuing saga of trying to get our Xbox Live Arcade content working as it did before our console went out for repair. The major issue is that the defective console was exchanged for a working console, but the new one obviously has a new serial number (console ID). Content downloaded from Xbox Live Marketplace is tied to this ID, so our use is restricted on the new console. And has been for seven weeks now.

My previous rants on this focused on the fact that the profiles for my wife and daughter aren't able to play the many games that we purchased. When they go to those games, they're stuck in "trial" mode despite the fact that we've paid for them and they've got saved games, achievements, and so on.

An additional side-effect that I didn't mention is that MY profile (the one that purchased the games) can only play those games when I'm signed into Xbox Live. Normally, this wouldn't be such a problem since my profile logs into XBL automatically when I sign in.

This week, however, the Xbox Live service has had some serious stability issues. Many sites have reported the state of the service as it goes up for a while, goes back down, or is otherwise stuck in a gray area of "intermittent issues". Those issues continue even now as I write this (the screenshot above is about a minute old).

So not only can my wife and daughter not play these games via their profile, but now nobody in our house can play them at all -- using any profile.

I really don't understand how hosed up the back-end of the Xbox Live service must be that re-associating purchased content with a new console ID would take more than SEVEN WEEKS. Especially given that this is something that has to be done not only for the thousands of consoles being exchanged during repair work, but also for customers who would like to upgrade to an Xbox Elite. Retailers should have a bright orange sticker on the front of Xbox Elite boxes warning that any previously-purchased content will be unavailable for an undetermined, but non-trivial, period of time.

The whole experience has left a really bad taste in my mouth when it comes to the Xbox 360. I enjoy the console and have had a lot of fun. But at this point, turning it on just reminds me of the frustration that I don't have everything I've paid for.

I also mentioned last week that Xbox Live's public face, Major Nelson, posted in the support forums that anyone having these DRM licensing issues with an exchanged console should contact him. So I did. No response. He has put up a post acknowledging the downtime, though.

Technorati Tags: , , , , , ,
posted on Sunday, December 30, 2007 1:53 PM Mountain Standard Time  #    Comments [0]
 Monday, December 24, 2007

The XO Laptop Lots of tech geeks have heard of the One Laptop Per Child (OLPC) project founded and run by Nicholas Negroponte (MIT)... but non-techies may not be familiar with it at all.

The project began in early 2005 with the original idea being to design and build a laptop that could be used as a learning tool by kids in underdeveloped parts of the world. It wouldn't be based on Windows or Mac (due to cost and complexity), needed to be rugged (for use by kids, often in remote areas), needed to provide a self-contained collaborative learning environment (remote villages have students - but not necessarily the internet), and needed to be kid-friendly (to keep their interest and enthusiasm). The hope was that a combination of design efficiencies and large orders from governments around the world would bring the cost down to $100 (US). When first announced it was often referred to as "the $100 laptop".

They've come close... the machine cost is now under $200 (US). And while the machine wasn't originally intended to be sold to consumers in the US, it's now possible to buy one. Well, actually you have to buy TWO. For $399, you can participate in the "Give 1, Get 1" program -- one machine comes to you and another machine is sent on your behalf to another part of the world. This program started in November and continues through the end of the year. Of the $399 you spend, $200 is tax deductible and T-Mobile is throwing in a year of free HotSpot access as well... that makes it really a pretty good deal.

I've followed this initiative since it was originally announced because, like most technology people, I think getting kids familiar with the tools of technology gives them a big step up in their learning. Rather than something to be intimidated by or to see as a learning curve to ascend, a computer should be seen by today's kids as a very powerful tool to accomplish their goals and reinforce the curriculum they're already studying. With it, they can write, research, collaborate, create, publish, entertain, and communicate.

I think a kids' natural curiosity provides the desire and motivation, but lots of kids (particularly outside the US) lack access. A laptop as a learning tool is no replacement for the essentials of food, clean water, and basic healthcare -- but it is worthwhile venture.

SUGAR User Interface So I placed my order on the first day of "Give 1, Get 1" and the machine arrived last week. I've spent some time playing around with it and I think my daughter (7 years) is going to love it. She'll open it tomorrow for Christmas. The "Sugar" interface is very intuitive and kid-friendly, plus there are lots of activities and things to do on the machine. She can write a journal, research via the encyclopedia, play educational games, learn LOGO (or Python if she wants to go really wild), browse the web (with some supervision and controls), read some RSS feeds, use a calculator, draw pictures, and more.

Hardware-wise, this machine is very well thought-out. There's no internal hard drive, so it can be handled in a rough and tumble way (supposedly... we'll try to discourage that). The screen is very bright and sharp, it's got a built-in handle for lugging it around, and the keyboard has a rubbery membrane over it to prevent dirt and fluids from getting inside. Opening the laptop involves flipping up two latches and then raising the lid. When up, the latches look like antennae (and, I believe, actually ARE the wireless antennae) and when they're down, they serve to protect the USB and accessory jacks.

Needless to say, I'm pretty excited about it. Our oldest often asks to use my laptop or my wife's and now she'll have her own -- but with a twist. In my opinion, this is a perfect machine for a curious 7 year old to tinker with. Sure, it's not going to be exactly like the machines she'll use later in her life - but I don't think it needs to be.

She'll have plenty of time to worry about Excel and PowerPoint.

Technorati Tags: , , , ,
posted on Monday, December 24, 2007 10:26 PM Mountain Standard Time  #    Comments [0]

Wow... the more I look into this Xbox Live Marketplace DRM issue, the more I find that it's a HUGE problem. There are a ton of stories out there of people who simply don't have what they paid for. It happens in two scenarios:

1. People who, like me, had to send a console in for repair and received a different console as a replacement.

2. People who have purchased a newer Xbox or Xbox Elite for either the HDMI port or the larger hard drive.

In both cases, the problem I detailed yesterday occurs -- you can't access your Xbox Live Arcade titles (or other Marketplace content) without being signed into Xbox Live. Further, other profiles on your console can't access the content as they could before the repair/replacement.

This is made worse by the fact that Xbox Live suffered a pretty big outage over the weekend... so anyone in this situation couldn't access their XBLM content at all. Even to play in offline, single-player mode.

And while there are lots of people reporting the problem, what I haven't run across yet is anyone who says the problem was correctly resolved and that they've been made whole again by Microsoft.

Some links for your reading pleasure:

I'd love to hear an honest, open explanation for why this issue is proving so difficult and time-consuming for Microsoft to resolve.

Technorati Tags: , , , , , ,
posted on Monday, December 24, 2007 10:53 AM Mountain Standard Time  #    Comments [0]

Screwed! I try to be patient and understand when a company occasionally drops the ball. I really do. Especially a company like Microsoft, whose ecosystem I've worked in as a developer for much of my career. I generally support their initiatives... but problems with the Xbox 360 -- and now DRM issues with a console back from repair -- have just boiled over.

And crappy support was the proverbial straw that broke the camel's back.

Begin Rant...

Back in September, my console died. It suffered all the same symptoms as a Red Ring of Death failure -- except the red rings. So when I sent it in, I got the privilege of paying $99 for the repair. After roughly a month, I get a console back from them and a letter explaining that, in order to expedite things, this is a different console than the one I sent in. So as of late October, I've got a new/refurbed console that's under warranty for a year. My hard drive's plugged in, so I can see all our profiles and game data. We're set.

Or so I thought.

The problem occurs when my wife or daughter sign into their profile on the console and all of our Xbox Live Arcade games are in "Trial" mode. That's about 15-16 games purchased with Microsoft Points over the last year or so. If I sign into MY profile, the games are in "Full" mode (because my profile was the one that purchased them), but nobody else in the family can play them -- or even access their existing achievements and progress.

I tinker around with deleting and re-downloading the games, but nothing works. So on 11/10, I call Xbox support and open a support ticket. The person I ended up speaking with (Ella, a supervisor) explained that because I was sent a different console, the serial number doesn't match. So the console's DRM system thinks that my wife and daughter's profiles are being used elsewhere and won't authenticate the games.

She tells me it'll take 2-4 weeks for them to "re-associate" our downloaded games/videos with the new serial number. (Why on earth this would take 2-4 weeks is left as an exercise for the reader. I can't imagine). Note that they DO already have the new serial number associated with my Xbox Live account -- she could verify it and knew the warranty dates. But once this "re-association" is done, I'll get a phone call notifying me to re-download that content and then the other profiles will get access to that content.

As of yesterday, it's been 6 weeks. SIX.

With a daughter who's out of school for the holidays now, and me taking some time off, this obviously becomes a higher priority -- we'd like to play some games together. So I call today (43 days after the first call) and spent 51 minutes on the phone. The first guy I got put me on hold three times because "his computer was booting up, but thanks for your patience". Once he could pull up my support incident, he had me verify a bunch of information, repeat the whole saga, and then put me on hold a couple more times. Eventually, he transferred me to a supervisor, Edwin.

This is when the fun started. Edwin was a complete information vacuum. All Edwin could tell me was that:

  • My support incident is still open (duh)
  • The problem isn't resolved (ya think? seriously... he related this to me as if it were news)
  • Someone should call me when it does get resolved.

What he couldn't tell me is WHEN it would be resolved. He couldn't tell me if it would be days, weeks, or months. He said that "in special cases, it will take longer than 30 days". Given that it's been much longer than 30 days, I asked what was special about the case. His response was "I don't know. Could be a number of things."

After going round and round with me wanting to talk to someone who COULD answer my question (he couldn't connect me), wanting to know WHEN I could expect some resolution to this (he couldn't provide even a sense of scale), and wanting to know WHY this was a "special" case ("could be anything"), he hung up on me.

That's right... he told me it didn't matter if I "called a thousand times, there was no information" to be had so he went through his "thank you for calling" script and hung up on me.

This is where point out that I wasn't insulting Edwin, using foul language, or anything like that. What I was doing was asking a lot of questions because I want to understand why this is still a pending problem.

Obviously, I'm not the only person having this problem... the 360's failure rate is a joke at this point, so there must be thousands of people in the same boat. An exchanged console with more than one profile that has Xbox Live Marketplace content. In at least one case, Microsoft credited someone the MS Points required to re-purchase the games for those other profiles (this wasn't offered to me -- yes, I'd go that route if it would work). The comments for this post are also motivational reading (sarcasm)... I should point out that I am NOT "Shady515" in those comments -- sounds similar, but that poor guy is on his 11th console and has been waiting for access to his Live content since August. Travis had the problem again a few months after posting that. No shortage of similar horror stories on the web.

An Xbox team member explains the problem (but no solution) on this post... where the comments point to a petition on the issue. The petition is apparently centered around people who own an original 360 and would like to upgrade to an Elite -- but can't take their content with them because it's a new serial number.

The kicker for me to blog it... Tonight, I see a blog post from Major Nelson (Xbox Live guy about town) pimping MS Points as a holiday gift -- because I'm not getting screwed out of the Points I've already purchased?

Like the headline says... ridiculous.

Technorati Tags: , , , , , ,
posted on Monday, December 24, 2007 12:06 AM Mountain Standard Time  #    Comments [3]
 Sunday, December 09, 2007

I like to think of myself as someone who uses Outlook's capabilities to a fairly high degree. Most people I've worked with tend to use it for email alone and then occasionally for calendar items that are shared among a group (e.g., planning meetings in a workgroup). It seems a minority of people use its Tasks capabilities, which are probably the most important thing in Outlook for me (otherwise, I'd likely just use OWA).

By using the GTD approach to capturing everything (and syncing it to my phone), I've always got a good-sized list of the things that need to be done now, later, and eventually.

todobar Until the other day, though, I didn't realize that Outlook 2007 added a method for viewing task items alongside the calendar items. When I came across this blog post from the Outlook team, which describes the Daily Task List view, I initially thought, "sweet, I'd like to see my calendar alongside my tasks in a more complete way." The new "To-Do Bar" in Outlook 2007 gets me close (right)... and I do like having it over there all the time in the Inbox view. It lets me quickly see month calendars (handy during phone calls when you're coordinating something for a week or more out), along with the next 3 items on my calendar (where I can configure how many items are shown), and then a customized view of my Task items.

It's these tasks that are the bread and butter of my daily planning. Like most folks who use (or in my case, try to use) a GTD approach, I use categories to assign an @context to each task -- then when I'm in that context (@home, @office, @computer, etc), I simply go through the subset and tackle those tasks based on priority. This removes the need for A, B, C or 1, 2, 3 types of priorities and only occasionally will I even use the Low/Medium/High option on a task. Because I try to put everything I need to do into my Tasks (there are typically a couple/few hundred across all the context/categories), trying to prioritize all of that would take so much time that I might not actually get anything done.

The problem with the To-Do Bar is that it only shows you the next few appointments and doesn't show you the grid/schedule style view of your day. You have to read each appointment's details to know when it occurs and then the grid view that is so handy for knowing when you've got available time is left to your imagination. So while I have complete control of my Tasks in the To-Do Bar, its value for viewing the time available to those tasks is minimal.

dailytasklist The "Daily Task View" sounded like just the ticket as I read the post... until I looked into it further and realized the major flaw (for me). Only tasks that have a start date or due date will appear in the list. The list of daily tasks is configurable to show items for each day based on either the start date or the due date, but any task that doesn't have a date assigned to it won't appear at all.

My approach to using tasks is such that I don't use start or due dates at all.

Look at an example task -- "Record screencast to demonstrate new features added in this release." Now let's assume that this imaginary release is January 31, so I'd like the screencast wrapped up two weeks prior (January 17) to allow time for editing, proofing, etc.

I don't put a due date on this task because I don't want it filtered between now then. Instead, I want it in my @computer list every day between now and then so I can make progress on it as time and circumstances allow.

If I DO decide to assign a due date of January 17 to that task, it won't appear in my Daily Task View until that day. Today is December 9, so there are more than five weeks between now and that due date. If I wait until that day to get the screencast recorded, I have failed. I can be a procrastinator at times, but this approach to planning my tasks would spell disaster. Something more important will come up that day. We'll be approaching the release and dealing with a major quality issue. The microphone will break down. The software will crash.

And with that, my hopes for a single, unified "dashboard of my day" we dashed. Ideally, this dashboard includes:

  • My inbox (I keep the message count here in the single digits).
  • A schedule grid for the day (with an option for a compressed week view)
  • My complete task list, grouped by context and filterable to exclude certain contexts (e.g., don't need @home in the office)
  • A small calendar view that can be configured for 2-3 months.
  • The nav bar on the left so that messages can be dragged and dropped into archive folders

dashboardidea

What would really rock would be to have a collection of views like this that could be arranged by the user. Each view would have its own customizations available for sorting, filtering, grouping - just as most of the standalone views in Outlook do today.

Maybe Outlook 2011?

 

 

 

Technorati Tags: , , , ,
posted on Sunday, December 09, 2007 1:50 PM Mountain Standard Time  #    Comments [0]
 Wednesday, October 10, 2007

At nearly the same time as I was complaining about Google Browser Sync hosing up my bookmarks, Omar Shahine wrote a general post about his Firefox use (and conversation-starting Firefox t-shirt). In it he says...

Google Browser Sync allows me to sync all my cookies, saved passwords and favorites between all my computers. This is AWESOME. I cannot stand re-personalizing my web surfing experience on new computers.

Just goes to show you -- your mileage may vary. My experience with Google Browser sync was quick, but painful. In my testing so far, FoxMarks is working great for syncing bookmarks. While it'd be nice to also sync current tabs (I'm not so interested in syncing all settings, cookies, and passwords), handling bookmarks in a way that I can trust is a good start.

Technorati Tags: , ,
posted on Wednesday, October 10, 2007 10:58 PM Mountain Daylight Time  #    Comments [0]

Sara Ford (from the Visual Studio team) has been running an awesome series of daily tips for Visual Studio tweaking. The series started off as the "Visual Studio 2008 Tip of the Day," but many (most?) of her tips apply to VS.NET 2005 as well. Most of the tips explain tweaks that can be made via the Tools->Options dialog.

11pt text and 14pt members! Her tip for today is about increasing the font size in the Statement Completion window... which is the little panel that opens when you invoke Intellisense in the VS.NET code editor (either by hitting "." on a reference to get its members or via CTRL+SPACE or CTRL+J -- another recent tip).

The change is made via the "Show settings for" list in the "Fonts and Colors" portion of the Options dialog. While I'd been in there before to set my Output and Command window preferences (green on black, yo), I'd never noticed Statement Completion (and probably wouldn't have recognized it as the Intellisense members list in any case).

Very slick and I can see this making it a lot easier to find things in the list... it really makes it stand out in front of the code that's being edited.

Nice tip, Sara! Now I need to go back into that portion of Tools->Options and check out some of the other UI elements that can be tweaked in that "Show settings for" list...

posted on Wednesday, October 10, 2007 10:45 PM Mountain Daylight Time  #    Comments [1]
 Tuesday, October 09, 2007

missingbookmarks Lesson learned -- all that comes from Mountain View is not gold. Or stable. Or safe.

While I use del.icio.us for 99.47% of my bookmarking needs on the web, there are always a couple dozen or so URLs that I leave in Firefox's local bookmarks file. Examples are for sites that I want on the browser's toolbar, private or internal URLs that aren't public, and bookmarks that have search keywords assigned.

For a while now, I've wanted to sync up my Firefox bookmarks at home with the bookmarks on my office machine. Most of these get used on either machine and it's a hassle to remember to add those bookmarks and search shortcuts in both places.

So when I came across the Google Browser Sync extension, I thought, "this is PERFECT!"  It would sync up not only bookmarks but also settings and any open tabs. That seemed great for those times when I had something open for reading in the office, but didn't get to it. Shut it down on that machine and it would open up on my home machine later.

I installed the extension on both machines, let it sync up, and then merged the bookmarks in both locations. After that, I went through a process last night of cleaning up and re-organizing those local bookmarks. I spent over an hour getting rid of the ones that were old, cleaning out the dupes, and adding more search keywords.

Today, they're gone. On both machines. A couple of folders are completely missing. Nice, huh?

Thankfully, I found a backup of the bookmarks.html file from before I installed the extension... so while I've lost the cleanup work I did last night, I haven't completely lost the original bookmarks.

Anyway, be warned... if I'd have taken the time to browse through the Google Groups discussions for this extension, I'd have probably avoided it altogether and perhaps tried FoxMarks instead. But I figured Google's stuff is pretty solid... again, lesson learned. Thank goodness I didn't have it sync passwords and all of my other browser settings.

So... back to that cleanup effort (again).

posted on Tuesday, October 09, 2007 10:43 PM Mountain Daylight Time  #    Comments [0]