September 3, 2009 tools

Add “Search the Internet” Back to the Win7 Start Menu

Add “Search the Internet” Back to the Win7 Start Menu

Windows 7 took away a feature I use all the time, as shown on the right: Search the Internet.

Here’s what I did all day, every day in Windows Vista: Ctrl+Esc to bring up the Start menu, then I start typing. If I’m searching on my HD, I immediately get matches and I can choose one with just the arrows and the Enter key. If I’m typing in the name of a program in the Start menu, I get those matches and choose one. If I want calc” or notepad” I can just type those and those work.

However, 80% of the time, I want to search the internet, so enter my search term, optionally including attributes like site:”, I press, down-arrow once, highlight Search the Internet” and press Enter. This brings up my default browser with my search results in my default search engine without me having to move the mouse or open the browser and wait for the home page or even decide where I want the search results to come from until after I’ve entered my search phrase.

And we took it out of Windows 7. : (

But, Shawn VanNess has shown me how to put it back! : )

Download this zip file, execute the .reg file, press Yes and OK a bunch, kill and restart the explorer.exe process and the next time you do the Ctrl+Esc+type+something dance, you’ll see your old friend Search the Internet” right back on the Start menu where Bill intended it to be. Thanks, Shawn!

Update: This post has been translated to Danish.

September 2, 2009 oslofeaturedcontent

Amanda Laucher on Using Oslo for DSLs

Amanda Laucher talks about Oslo and its tools, Intellipad, m.exe and mg.exe - the M” compilers - and how they can be used to create a DSL. She demonstrates the creation of a demo DSL in Oslo, and she does it in a very approachable way. [ed: Quadrant is available with the May CTP.]
July 24, 2009 oslofeaturedcontent

SQL Script to Uninstall an “M” Image

In the May CTP bits, we started working on parts of uninstall support for schema created by an image, but didn’t expose it as a user-visible feature as we will in future CTPs. So if you want to get your hands on this functionality right now, give this SQL script a try. This creates a stored procedure creatively named Uninstall,’ which takes one argument, the id of the image to uninstall which can be obtained from the [Language.Catalog.Runtime].[Images] table.”

July 10, 2009 spout

PowerBoots makes me want to use PowerShell!

I’ve picked up PowerShell half a dozen times or more. The central premise, that I can pipe streams of objects instead of streams of text between programs, is pure genius. However, in the day-to-day, two things make me put it down again every single time:

  1. The differences between ps and cmd.exe are annoying and unnecessary.
  2. The lack of pushing the boundaries on the text output in a GUI window leaves me wondering what I really gain when I get over the hump of #1.

I understand the need to reboot” the DOS command line and get something scalable and consistent, but ps is a superset of cmd.exe and aliasing could’ve made the transition seamless. However, because little more than dir” works (and dir /s” doesn’t) I’m constantly bumping into barriers just trying to get my work done in the new shell.

And I’d be really ready to learn ps, especially since it’s everywhere now, but what am I really gaining? I never wrote a bunch of shell scripts in cmd.exe and I don’t find myself writing them in ps either, which means that the cool piping objects” thing doesn’t make my life any simpler. What I really really want is for the text window of the ps shell to also be something active, e.g. if I do a dir”, I’d like to be able to click on a file or folder in output of dir and open it or right-click on a file and choose a method on the .NET File object to execute. Even better, I’d like all of that functionality but with a keyboard command interface like the old Norton Commander used to provide. I’ve tried the ps IDEs and GUI shells and haven’t liked any of them.

Anyway, the first thing that’s made me really really want to move to ps is PowerBoots! It’s starting to really deliver on what I had hoped to get out of ps and it feels like Shoes, which I already know I love. Check it out!

July 10, 2009 oslofeaturedcontent

Modeling Inheritance in “M”

Dave Langer, an architect at Microsoft, explores the question of how to model inheritance in M”. What do you think? What support for inheritance should Oslo” provide? What scenarios do you need us to nail in this area? Let us know!
July 10, 2009 oslofeaturedcontent

Use the “Oslo” Repository to Store Service Config

Mikael Håkansson has built a WCF ServiceHostFactory to load service configurations from the Oslo” Repository, which allows you to configure your services with Quadrant”. And he does it even though the Service.ServiceModel type that has been removed from the May CTP (Keith Short talks about why). Check it out!
July 9, 2009 oslofeaturedcontent

Telerik Ships Alpha “M”-Based Comparison Tool

Imagine you’ve shipped v1 of your database applications against a schema created from M”. Now, you’re about to ship the v2 of your database, but what about the v1 clients? Are the tables and views exposed from your database backward compatible or are you going to break those existing clients? How do you even find out?

Well, wonder no more! Telerik has shipped the alpha of their Oslo” comparison tool, which can compare v1 of your M” source code against v2 to see what’s changed and whether that’s going to break your v1 clients. And as if that weren’t enough, they’re working on another version of the tool that will create scripts so that you can migrate your v1 data to v2 after you’re satisfied that your v1 clients will continue to work.

And the best part? It’s all free! Download yours today.

July 8, 2009 oslofeaturedcontent

Telerik Does LINQ to “M”

Stephen Forte and Mehfuz (who, like Prince and Cher, needs no last name), have built LINQ to M”, which means that if you’ve got M” source code like this (shown in a C# string variable for loading convenience):

string MGraphCode =
@"{{Name=""Stephen Forte"", Age=37}, ... }";

and a C# type like this:

public class Person {
  public string Name { get; set; }
  public int Age { get; set; }
}

then you can load the M” source and run LINQ queries against it:

var persons =
QueryContext.Instance.Load<Person>(MGraphCode);
var result =
from person in persons
  where person.Age == 37 &&
person.Name == "Stephen Forte"
  orderby person.Name ascending
  select person;

Enjoy!


← Newer Entries Older Entries →