Friday, January 22, 2016

Can a superfast internet connection change your perspective?

Pondering this afternoon about having a superfast internet connection and what it would mean for my everyday experience.   If I had a superfast internet what kinds of things would I do differently.  What are the types of things that I am not doing because it takes a long time?

One of the things, would be to forgo the use of the Google App Engine developer server.  Maybe.  Seems that GAE does not allow me to attach to a running instance.

How about really extending your filesystem to the web?

Perhaps this would be the full realization of ChromeBooks.  Everything really is in the web.

What are the open questions about ChromeBooks?
-how to do Android development?
-how to do any development (web or rich client)?




Visual Studio .suo ==> there be dragons

Fought a weird problem today in Visual Studio 2015 and the Microsoft Git Extension to Visual Studio.

It really seems that the .suo file is involved with keeping state in Visual Studio because after deleting the file from source control, Visual Studio deleted all the source files from the local hard drive.

Here's the path to the .suo:
.vs\\v14\.suo

After checking out an earlier commit id (before the .suo was deleted) made Visual Studio happier.  The merge of the .suo back into the master branch kept complaining about nothing to commit and a

git push --force

was required to get the HEAD of the master branch happy again.

Moral Lesson:
- be careful deleting .suo from source control...

Tuesday, June 07, 2011

Why did Google enable flash on Chrome?

It always seemed a bit strange to me why Google enabled Flash on Chrome. I guessed it enabled a more streamlined intial install behaviour. Today, I installed Flash on Internet Explorer 9. One of the things that came by default in the install was the Google Toolbar. It occured to me that Google did a deal where they install Flash by default on Chrome and Adobe will install the Google Toolbar by default.

Monday, December 21, 2009

Visual Studio Macro for Opening a stack trace file

I often open a file and go to location from a stack trace. It gives information in the following format:
filename:line 999

Here's the macro that I'm bound to Ctrl-Shift-O (because I don't open projects from shortcuts and it is close to Ctrl-O for opening a file).

======
Sub OpenFileFromStackTrace()
Dim ret As String = InputBox("Input filename and line number (example=> c:\myfile.cs:line 321):", "Open File From Stack Trace")
If (ret = String.Empty) Then
Return
End If

Dim spl3 As String() = ret.Split(New [String]() {":line "}, StringSplitOptions.None)

DTE.ItemOperations.OpenFile(spl3(0))

Dim line As Integer = Integer.Parse(spl3(1))
DTE.ActiveDocument.Selection.GotoLine(line, False)
End Sub

================

Thursday, September 03, 2009

The case of the mysterious window popping up

At work one day my difference tool stopped working when launched from the source control system. This applies to any large tool that's launching a 3rd party tool.

The source control system did not specify what the command line it was launching. Time for a bit of reverse engineering...

1. Launch the source control tool
2. Run filemon
3. Launch the difference tool

Take a look at what filemon was trying to open. In my case it was a tool called "compare.exe".

Hmm. Why would that fail.

I ran the compare.exe from the command line (cmd.exe) and bingo it came up with the other 3rd party tool (in my case it was ImageMagick's compare.exe). As I don't use ImageMagick too much I just renamed the binary on my system to imcompare.exe and I was in the money again running my difference tool happily.

Tuesday, September 23, 2008

Chrome under Windows 2003 Server

Chrome works well under Windows 2003 server except in one small case. When composing an email in Gmail when you press tab the "Send" button should highlight and it doesn't. This is because the Theme engine is using the Windows Classic style. In order to change this run the Theme service (Start>>Run>>services.msc>>find "Themes" and change it to "Automatic" startup type and press start). The Display Properties "Appearance" tab for "Windows and buttons" will now allow you to change it to "Windows XP style". This style shows the highlighted buttons.

Monday, September 15, 2008

What you can do when your browser is a lot faster

Well, Chrome has changed the landscape and TraceMonkey from the Firefox team is also making a dent in what is possible with browsers.

Here's a really cool demo that only works on the latest Firefox 3.1 builds and apparently Webkit nightlies.

Image Manipulation in browser

Thursday, August 21, 2008

WinMerge in MKS Diff and Merge Tools


I've done this integration a number of times and I've always had to resort to creating a C# program to discover what the options really are:


class Program
{
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine("[" + i + "]: " + args[i]);
}
Console.Read();
}
}


then I hook it up to the dialog and do a diff.

Here's the current options that I've put in:

C:\Program Files\WinMerge\WinMergeU.exe /maximize /e /x /ul /ur
/dl "{1}" /dr "{2}" "{3}" "{4}"

Friday, August 08, 2008

Byte Array Debugger Visualizer

As part of a debugging session, I wanted to visualize a byte array as a string so I did a little googling for something that would display data in Visual Studio as a string. The following article: http://www.alexthissen.nl/blogs/main/archive/2006/01/21/debugger-visualizers-and-arrays.aspx claims it's not possible. I'll believe him.

What I did to workaround the problem was to inspect the MemoryStream (since that is where the byte array I'm interested is buried) then in the QuickWatch window I typed:
System.Text.Encoding.ASCII.GetString(ms._buffer)
where ms is my MemoryStream.

That displays a string that I can look at with the string visualizer. Problem sort of solved.

Sunday, September 16, 2007

More exupery

In Bryce's documentation (see the bibliography that I wrote about in my last post), he mentions PICs but as far as I could see never expands that acronym, well, I think I know what it is after browsing the source code:
Polymorphic Inline Cache

Squeak - Exupery

Well, I've been on a squeak kick for a while now.... I've done some work getting seaside doing some displaying of pictures and now I'm really pumped about a project I just discovered called: Exupery: http://wiki.squeak.org/squeak/3842
I've just read the articles in the bibliography section: http://wiki.squeak.org/squeak/5792
and now I've downloaded the source code and got the image running. I'd like to see what Bryce Kampjes' has done here in this project.

What's cool about this project is that Bryce thinks that with a bit of work on a background compiler with some aggressive inlining of code and some SSA optimizations he can achieve C-level performance with squeak smalltalk! Solving one of the most persistent complaints about Smalltalk that it is slow (certainly no where as slow as MRI) Post a comment if you can tell me what MRI stands for.

Monday, March 05, 2007

Office Live Breakthrough day

Well, I've implemented all the hard stuff with OfficeLive... the authentication is happening without a graphical log on screen and I am displaying and updating "lists". A couple little tricks I discovered:
1. On OfficeLive: the WebBCM is the root for the Lists.asmx
2. Inserting a new item into a list happens via UpdateListItem with a blob of XML.

Thursday, March 01, 2007

Dabble DB

On the Dabble DB site, they have this really cool demo:
http://dabbledb.com/explore/7minutedemo/

Open ID

A lot of buzz around Open ID has been generated. It seems it's an idea who's time has come. Basically OpenID is a distributed authentication system. Some of the major supporters of this are myopenid.com and idproxy.net . I've heard rumours that shopify is going to be supporting it.

Here's a bit of a confirmation: http://www.intertwingly.net/blog/2006/12/28/Unobtrusive-OpenID

How does it work?
When you go to a web 2.0 site and it supports Open ID you just put your unique URL into the text box and the web 2.0 site goes to the authentication service say myopenid.com which in turn asks you if it's okay to authenticate with this service. Simply no more accounts to keep track of and no more accounts to subscribe to.


Delivering Software is hard

Software delivery is hard but not in the intellectual way as it's all about getting the myriad of details correct: where does this artifact go, do I need this configuration file in the release build, did all the latest files get checked into the source control system, has all the tests been done on the latest code base.

Monday, February 26, 2007

What do I do

After talking with my folks this weekend, it seems that a layperson explanation of what I do may be in order.

My current work involves coding up some back-end software for processing forms information. Now to unpack that statement: Forms are things that you fill in to say apply for a credit card or in order to get a drivers license. Often they include information like your name, address, telephone number. In my work these forms are electronic on a mobile device like a Cell Phone. This allows the persons collecting the information to be mobile themselves: such as in a mall or at a business meeting.

This information can be stored in a businesses database or on some websites. An example of a website that stores forms information is SalesForce.com. My last bit of work is getting this information integrated into these type of data stores.

Microsoft Office Live

Last week, I worked on Office Live from a server perspective. Office Live is a hosted solution from Microsoft for web sites and business management information like Sales leads, Time sheets, expenses, etc.

My company wanted to be able to programmatically add a new sales lead using the web services provided since Office Live is actually based on Microsoft SharePoint 3.0 that should be possible but alas as of Feb 23, 2007 the Live ID authentication is not supported on OfficeLive. After downloading the Live ID SDK, I was able to authenticate to Live ID but I wasnt' able to consume any of the services from Office Live.

Here's a little snippet that should be possible:
IdentityManager oIDMgr = IdentityManager.CreateInstance("Tailspin Toys;dan@tailspintoys.com;Tailspin Toys Application", "Windows Live ID Client Sample");
Identity oID=oIDMgr.CreateIdentity();
Discovery discoverySvc= new Discovery();

LiveIDSettings settings = discoverySvc.GetLiveIDSettings();
string ticket = identity.GetTicket(settings.SiteName, settings.Policy, false);
authModule = new WindowsLiveAuthenticationModule(ticket);
AuthenticationManager.Register(authModule);
string[] subscriptionIDs = discoverySvc.GetSubscriptions();

Tell me about your experiences...

Tuesday, September 19, 2006

Google Books Mashup

Wouldn't it be cool to be able to get recomendations about books on Google. Kind of like amazon and their recomendations. There would be some cross over from the amazon site but for some of the older content, it would not be there.