Archive for the 'General' Category

Sep 23 2009

Local Food For Local People

Published by gringod under General

A Local Meal

A Local Meal

Every once in a while I manage to pull together a meal that astounds me.  I tweeted on Sunday with a picture of the meal in question.  What was really special about this meal was the sheer lack of food miles that went into it.

  • Razor clams
    • These were the heart of the meal and were freshly picked from the beach only a stones throw from my parents’ house.
    • They had a dressing of rocket – from my parents’ garden, garlic – from my parents’ garden and zest of lemon – bought but my parents’ do have a lemon tree!).
  • Mashed potatoes
    • Potatoes – from my parents’ garden.
    • Butter & milk – from the local dairy.
    • Chives – from my parents’ garden.
  • Carrots
    • Carrots – from my parents’ garden.
    • Cooked in olive oil – not local, and butter – from the local dairy.
    • Glazed with honey – from my parents’ bee hives.
  • Little Gem squash
    • Squash – from my parents’ garden.
    • Parmesan, salt & pepper – shop bought.

This was the first time I’ve been out collecting razor clams and didn’t really know what to expect but it was as easy as pie.  I’m not really a big shellfish person but the razor clams were really tasty.

The plan for the next low spring tide is to go collecting razor clams at Grand Havre and, as the tide comes in, head up the beach to go raking for cockles.

    No responses yet

    Jun 02 2009

    Free WiFi – No Internet

    Published by gringod under General, Technology

    On my way to bell ringing practice last night I happen to pick up a screw (easy tiger!) in one of my car tyres.  So during my lunch today I took the car into my local Target Auto Parts store to get the puncture fixed.

    Whilst I was waiting I did what I normally do with my spare time and whipped out my trusty iPhone to catch up with Google Reader/Podcasts/Twitter/games.  I’m sure you can imagine my joy to find that there is a wifi access point at Target which is open to the public.  I’m sure you can also imagine my devastation to find that, once connected to the wifi network I couldn’t access the internet.

    I spent the next 20 minutes playing around with the iPhones wifi settings, MobileTerminal and Safari trying to access the wireless router to see if I could “fix” it.  Result:  FAIL!

    So here is a plea to all companies that require customers to sit around twiddling their thumbs waiting for you to get a job done:  please, Please, PLEASE, if you’re going to tempt us with an open wifi access point, please follow through and provide access to the internet.  It really doesn’t cost that much and we’ll be much happier to come back next time!

    One response so far

    Jun 01 2009

    Use Bing As Safari Search Provider

    Published by gringod under General

    I’m always looking for the next great thing when it comes to Search.  Google is great but I can’t help but feel it could be better.  Since attending a developer course for FAST ESP back in January I’ve been looking for a Search provider that does more for navigating results rather than just allowing you to page through X thousand results until you get bored and try other search terms.

    Microsoft may have hit the nail on the head with Bing.com.  Whilst I think the interface could do with a bit more thought, the features are spot on.

    Unfortunately Safari browser on MacOS is tied to Google.com as the search provider.  Change the search provider requires changing the source code of the application… or Glims – a nifty Safari plugin.

    Once Glims is downloaded and installed, open the Safari Preferences and under the Glims tab select “Search Engines”.

    GLims Search Providers

    You then need to add a new search engine with the following settings:

    Bing.com settings

    For the copy-paste folks out there, the url should be: http://www.bing.com/search?q=#query#

    You can drag-drop the Bing search engine to the top of the Glims search engines list.  Also, select Bing from the search engines drop-down in the search box of a Safari browser window.

    I’m not sure if this is required for it to work, but you may need to set your Bing.com region to being the U.S.A.: http://bit.ly/42kg8

    13 responses so far

    Apr 16 2009

    FAST Powers Globrix Property Search

    Published by gringod under General

    C5 Alliance LogoToday I’m attending an event being hosted by my employer C5 Alliance in Jersey.  We’ve got two respresentitive from FAST (a Microsoft Subsidiary) hosting a presentation and discussion session about FAST ESP, Microsofts vision for the future of FAST and helping users to navigate to the search results they are looking for.

    FAST LogoAs well as the general bumf about how FAST ESP works, they have also done a couple of demonstrations of clients they have worked with.  Two very interesting sites that demonstration the power of FAST ESP in helping users quick find what they are looking for are Getty and Globrix.

    FAST @ C5 Alliance

    Globrix was a surprise to me – although quite logical now that I know – as I have been using Gobrix for a while to look for a house to buy in Guernsey.  Everytime I go to Globrix I just start with a general search for “Guernsey”.  The result navigators down the left and the price graph across the top allow users to quickly refine the search results – it’s also AJAX enabled so the user doesn’t even leave the page to get the latest results.

    The Globrix paradigm deviates from the normal type of property search website, in which the users creates a fixed query and if they don’t find what they’re after they have to create a new search query.  Globrix allows the users to dynamically build their query usign contextual navigators, e.g. you might select an area to search in then refine the number of bedrooms and then refine the price.

    FAST also differs from Google.  The power of Google is in getting relevant information to the user in the first few results (how many people look more than 2 pages through the results?) but this fails the users when they don’t know what they’re looking for, it requires to keep try to guess more terms or different combinations of terms to try and find what they’re looking for.  FAST allows the users to enter very simple search terms and then gives the users options to refine the query based on the context of the results that have been returned from thier initial query.  But it doesn’t end there, as the user refines their query the context changes therefore the content refinement navigators change with the context.

    Other interesting nuggets that come out of the sessions was the ability to search audio and video.  The scenario brought to the table was about having to record all telephone conversations and have those readily accessible for future retreival.  The simple solution to this is to store the audio files in a known location.  When indexing that location run the audio through a speak-to-text conversion service and index the resulting text and associate the audio file location with the index.

    In terms of SharePoint integration of FAST, we got a very sneak preview of an exciting new webpart that should be making its way into Codeplex in the not too distant future.  I’m not sure if I can more than that as I was informed that this web part hasn’t been announced yet – watch this space for more information!

    No responses yet

    Apr 08 2009

    Getting Things Done By Location

    Published by gringod under General, Software, Technology

    For several years now I’ve been trying to find a way of keeping on top of everything that I need to get done.  To be honest, I didn’t think I had a problem until I read David Allens book “Getting Things Done” (GTD).  It was whilst reading that book that I realised that I spend most of my time worry about what I need to get done and what I might be forgetting to do and not enough time actually doing things.

    I’ve had several attempts at trying to follow the GTD methodology but so far they have all failed and I’ve reverted to just relying on the good ole grey matter to remember what I have got to do.  I’ve tried using software to help me – iGTD, Midnight Inbox, OmniFocus, Outlook, iCal, Google Calendar – but the problem with a lot of these is that they are either platform specific (I need my laptop with me) or are calendar based (a lot of what I need to remember is not date specific).

    Other attempts have been centered around a notebook that I try to remember to take with me.  This has inevitably resulted in my failing to remember to take my notebook with me and therefore forgetting to update it what I have it to hand again.

    I am now embarking on another attempt to follow the GTD methodology.  This time I’m resting my faith on a relatively new entry into the GTD software arena: TheHitList form a compay called Potion Factory.  A couple of nice features that I’m hoping are going to make this easier for me to get along with are:

    • iCal syncing (I have all my calendars synced – iCal, Google, Entourage, iPhone)
    • Repeating tasks (cleaning fish tank, mothly invoicing, etc.)
    • Timer (hopefully no more getting distracted!)
    • Future iPhone support (I may forget my notepad but I NEVER forget my iPhone!)

    As great as this software is shaping up there is one striking feature that I think this app – and all other GTD apps – really needs.  Task Locations!  So I’ll go out to run some errands, get home and realised there was some else I could have got done because I was in the area but didn’t because I didn;t think of it whilst I was there – if I had a map on my iPhone of tasks in my current location I could get more done in less time.

    TheHitList Task MapI’m not sure of how the iPhone app UI is going to look for TheHitList but I came up with a (very) rough Photoshop version of what the desktop app might look like.

    This example is showing the Today list selected and the map with the number of tasks for today on their locations.  If you  had general list selected it might show the tasks for today in red with tasks in the future fading through to grey for tasks without a specific date.  With this type of functionality you’d be easily able to see if you’re going to a location for a specific task whether or not there were other things in the area you could do at the same time.

    4 responses so far

    Mar 23 2009

    ScriptManager vs ClientScript

    Published by gringod under .NET, General, Programming

    As part of a Microsoft Dynamics CRM customisation project, I was recently tasked with modifying an ISV add-in page so that individual sections of the page could be refreshed without having to refresh the entire page.

    That in itself was nice and easy, it just required the use of a couple of UpdatePanel and UpdateProgress controls to be dropped on the page along with a ScriptManager control to handle the partial postback requests.

    However, there were a couple of gotchas that I didn’t foresee.  Along with the partial updates, the client wanted the parts of the page to load the first time after the page had first loaded in the following order:

    1. Load base page.
    2. Start load of Application Status section.
    3. Start load of Risk section.
    4. Start load of Alerts section.

    Unfortunately, the ScriptManager that comes with ASP.Net AJAX only handles one postback at a time.  Any subsequent postbacks take precedence over earlier request, which is fine if you only have one update panel on a page but this initially resulted in only the Alerts section being loaded – the other postbacks being canceled.

    Luckily I found a very useful post on Amit’s Blog: Asp.Net Ajax UpdatePanel Simultaneous Update.  This post provides code that queues postback requests.  Ideally I would have liked to have the requests happening at the same time, but this is the next best thing.

    The other problem that I found was that one of the sections on the page had previously been dynamically creating and reqistering script that got loaded and executed when the page loaded using:

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
        "ShowNavBarItem", script.ToString());

    Unfortunately that doesn’t work with the AJAX ScriptManager.  Instead I had to change the code to use the ScriptManager to load and execute the code using the following:

    ScriptManager.RegisterClientScriptBlock(updatePanelApplications,
        typeof(UpdatePanel), "showNavBarItems", script.ToString(), true);

    This means that each time the section is updated I can re-generate the script and it will be executed again.

    With this AJAX loading and some enhancements to the SQL code, users now get a much fasted load and response time for the page as the no longer have to wait for the whole page to be rendered before seeing information appearing on the page.

    kick it on DotNetKicks.com

    One response so far

    Mar 06 2009

    Detecting Document Loaded on Window.Open()

    Published by gringod under General

    One of the tasks I have to achieve in a CRM project I’m working on requires opening a new IE window and identifying when the document within it has been loaded.

    Unfortunately I have been unable to find a solution to this online but  found plenty of references to methods that don’t work.  So I decided to play around until I found a method that work and blog about it…. I guess I succeeded as you’re reading this!

    Creating a new window using JavaScript is easy enough:

    <script language="javascript">
        var newWindow = window.open("popup.html", "new popup window");
    </script>

    What would be really useful is if you could attach to an onload event of the newWindow variable.  Unfortunately this isn’t possible.  What I have found out is that it is possible to call back from the popup window to the code that loaded it.

    For example, if we have two pages index.html and popup.html we can add the following code to index.html:

    <script language="javascript">
        window.open("popup.html", "new popup window");
     
        function popupLoaded(newWindow)
        {
            // code to run after popup has loaded
        }
    </script>

    Within popup.html we can then added the following which will call back to the popupLoaded function in index.html when the popup is loaded:

    <script language="javascript">
        function callback() {    
            window.opener.popupLoaded(this);
        }
    </script>
    <body onload=”callback()”>
    </body>

    The reason for the inclusion of the newWindow parameter of popupLoaded is to be able to get a handle on the new popup window.  I tried using a object returned from window.open() but it didn’t seem to keep a valid handle to the popup window.

    kick it on DotNetKicks.com

    2 responses so far

    Nov 12 2008

    Twitter Updates for 2008-11-12

    Published by gringod under General

    • It is possible to find out if a domain transfer will actually go through? #
    • that was supposed to be “is it…?” but the stupid delete function is disabled #

    Powered by Twitter Tools.

    No responses yet

    Nov 12 2008

    Twitter Updates for 2008-11-12

    Published by gringod under General

    • It is possible to find out if a domain transfer will actually go through? #
    • that was supposed to be “is it…?” but the stupid delete function is disabled #

    Powered by Twitter Tools.

    No responses yet

    Nov 11 2008

    Twitter Updates for 2008-11-11

    Published by gringod under General

    • why do domain name transfers need to be such a pain in the ass. My website has been offline for nearly two weeks now :( #

    Powered by Twitter Tools.

    No responses yet

    Next »