Sunday, 20 April 2014

Getting Cortana to work in Australia

Encase you haven’t heard – Windows Phone 8.1 is now available free to developers.  This version is not the final version and there are various warning about installing it.

Blah blah blah….

Okay, maybe like me you got excited about installing the latest shiny on your Lumia windows phone. 

I signup for a free developer account and then installed windows phone 8.1 on my Lumia 720. I had about 3 updates prior to actually getting to actual the 8.1 update – be warned.

Cool.  Okay nice notification centre.
Changed the background image thing with the home page… cool.

Where is Cortana?  DOH.  I hate being a second class citizen to the USA.  Turns out this is another case of if you aren’t in the united states then we don’t care (that’s what it feels like anyway).

Fine.  I will pretend to be an American.  Changed the region and language to United States.  Restarted.  No Cortana still !!!!

Okay so I stopped crying and went to bed as it was rather late by the time I managed to update to 8.1.  I figured some Googling in the morning would reveal the obvious problem.

Read this article outline the steps required to get it working in the UK. http://www.ibtimes.co.uk/two-simple-steps-get-cortana-working-windows-phone-8-1-outside-us-1444771

That’s when I found the missing step. In the settings > Language make sure English (United States) is ABOVE English (United Kingdom).  To move it above press and hold to get a context menu and choose to ‘Move Up’.

A restart was then required and there was the lovely Cortana Icon in the applications list.

So to recap:

  • Under Settings > Region - Select ‘United States’
  • Under Settings > Language – Add ‘English (United States)
  • Once installed make sure the United States version of English is above the United Kingdom version in the Language settings.

Some side effects:

Bing News will no longer report your local news.  It will be United States news.
Cortana will report the weather in Fahrenheit not Celsius.

Good luck and I hope you get it too work on your phone too.

Saturday, 19 April 2014

Finally – Windows Phone 8.1 supports Podcasts!

As a web developer I am always learning and one of my favourite ways to learn is listening to podcasts.  I have been a windows phone user for the last 4 years and I have always been disappointed with the podcast experience in Australia.

Well I’m glad to say that the latest version of Windows Phone (8.1) finally supports podcasts as first class citizens.  Mind you I’ve yet to confirm this on my actual phone. 

Wednesday, 9 April 2014

Overzealous Security - Password Pain

I was just registered to comment on a website and my simple password (9 characters two alpha 6 numbers and 1 special char) was rejected as being too insecure.

It needs to have at least one Uppercase letter apparently.

Sigh.

What are you protecting here? I just wanted to post a comment – not open a bank account.

Plus, why if I signup with twitter do you want basically access to EVERYTHING?

image

Wow I’m glad that they don’t get my twitter password at least!

Monday, 7 April 2014

To disavow or not to disavow

I just got an email from zoho asking that I remove or change a link to no-follow because some Google algorithm decided that the link was unnatural.  Sigh. 

The link is natural, I wrote the article.  I wasn’t paid anything.  No shady link buying business.  This is just getting silly.

I removed the link, I’m not going to cause the poor guy emailing me a lot of grief, but I think that this is going too far.

What do you think?

The Current state of Affairs in Cloud NoSQL

In my previous projects I have found a strong preference to avoid a Traditional SQL database backend.  Too often the impedance mismatch simply costs too much when rapidly iterating a design.  Going with a schema less design is fantastic and frankly really hard to give up.

My last major project was meant to be a ‘internet scale’ service - which basically needed to be able to handle vast traffic increases without falling to pieces (I cringe just reading that sentence!).  Yes – it was one of those projects and I should have jumped out of the boat upon hearing the expectations!)

Moving on…

Early versions of the service were built on the newly launched Azure Table Storage.  I ended up not waiting for the Secondary Indexes (Good thing too because that feature, promised in 2009, is still missing 5 years later!) and made a hybrid SQL / Table combination.  It appeared good on paper and it was seen as a good compromise.

The problem came from the cost of maintaining my indexes for search etc.. Basically I found I was simply working at too low a level of abstraction and trying to hide the underlining implementation was just adding too much mess in my projects.

6 months later the code was ditched and a more traditional standalone database server was adopted.

This all happened a while ago and those design decisions are fairly set in stone.

Fast forward to today and I am once again checking out what is new in cloud land for a new project.  I am surprised by Azure’s apparent lack of care for their NoSQL table storage solution.  It seems, in my opinion, that they are chasing the brown field projects more than new ‘green field’ ones. 

I don’t have any stats for this but maybe the real problem with proprietary NoSQL solutions is that developers are shy about lock-in.  I know it is something that I worry about.  Can I move my service/web site out of this cloud and into another?

 

image

Google’s Cloud Services

I don’t know how I missed all of the cloud services Google is currently offering.  They have a NoSQL database which apparently launched in 2013.  I guess I have been in Microsoft Land for too long.

Some Feature Highlights:

  • Auto Scale
  • Schema less
  • SQL-Like Querying
  • ACID
  • Redundancy (geo-replicated)
  • REST Interface
  • Very affordable pricing (at least it appears to be)

Some early questions/concerns:

Nuget packages for C# don’t indicate a lot of C# users

image

Can I store JSON documents? Does it support Full Text Search? Is there LINQ support for querying?

Wednesday, 18 February 2009

Do ASMX or WCF Proxy clients use IO completion ports?

I'm in the middle of performance testing a critical section of my project, when I notice a whole lot of extra threads being used to to perform WaitOrTimerCallback operations. 

threads

On closer inspection I can see that these are being spawned by my ASMX client proxy class for operations on a remote server.

I was under the impression that these were using IO completion ports like all of my other asynchronous IO Calls.

Saturday, 14 February 2009

Concurrency and Coordination Runtime Learning Resources

I have recently been learning the in's and out's of the Concurrency and Coordination Runtime (CCR). Finding good learning resources for this relatively new technology has been quite difficult.

(A quick Google search brings up "Credence Clearwater Revival" as the top result!)

Some of the resources I have found:

Do you have any good learning resources for the CCR?

I really hope that Microsoft will publish more material, so far it has been too Robotics specific. I believe that MS needs to acknowledge that most people are using the CCR in isolation from the DSS and Robotics Studio.

I also published this list at StackOverflow

BizSpark - Getting a Helping hand from MS

I'm not sure if you are aware of this or not, but Microsoft has launched a new service/program called BizSpark.

BizSpark is basically a kind of sponsorship program offered to startup companies working with the MS Technology stack.  They offer free access to their MSDN Subscription service for up to 3 years while you meant their restrictions and stick to their TOS.

For our small company this has been a God send.  I can finally get access to the development tools I need to launch our service!

Thanks Microsoft for giving back to the community!

Monday, 2 February 2009

VB.10: Yield to the pressure and give us enumerators!

Unless you have been under a rock for sometime, you would have heard about the amazingly powerful CCR (Concurrent Coordination Runtime) from the robotics group in Microsoft.

In my case in particular, I could see the CCR making significant performance improvements to my current work project.  But there is a catch.  VB.net (3.5 SP1) does not support the 'Yield' keyword that C# has had since 2.0.

CCR uses some nifty manipulation of the enumerator pattern to make asynchronous code appear to be sequential.  An essential part of this ability comes from the usage of the Yield keyword.  The C# compiler reads the enumerator class and converts it into a State machine.  Long story short - it is quite a clever approach.

VB.net Team, please hear our cry.... Add the Yield command please!

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=381572

Saturday, 31 January 2009

Patent Trolls

There are all sorts of people on the planet, some are better than others.  Others are Patent Trolls!troll

What is with these intellectual armed robbers?

Do they really just register any sort of fancy idea, of which they have no intention of actually making anything with.  And simply wait until some poor company (Poor? no actually they hope for rich ones!) to independently come up with the same idea.  AND Actually do something with it.

Simply wait around 5-6 years until other unsuspecting parties are also using 'Your' idea.  and then SUE SUE SUE!

Seriously, your idea?

But do you hate the player? or hate the Game?

I think the patent office needs to review how easily they are giving away the rights to 'idea' that basically are just common sense.

A plea to the companies being unjustly sued: Please fight! Don't settle out of court!  That is what is keeping this cycle turning!

Getting WHS to work!

I don't know about you, but getting computers to connect to WHS (Windows Home Server) can be quite tricky.  In fact it has almost always been that my laptop (Running Vista Ultimate) would connect easily, but my wife's computer (Running XP) just would not play nice.

In the recent reinstallation (which took 3 attempts to get right!) I decided that enough was enough. I WAS GOING TO CONNECT ALL PCs!

It turns out that it was actually easy.  First thing, straight after installing WHS on the Server, Connect all of your PCs.  Don't let the server upgrade anything! (Well at least make sure you have the critical device drivers)

I understand that WHS is meant to be just that, a file storage/backup server.  But it is too hard for a developer to resist using the underlining windows server 2003.

So if you are having problems connecting your PCs, and, if like me, you had tried everything under the sun to connect another computer to WHS.  Try a reinstallation  (I recommend the New Installation) followed by quick connections of all of your PCs

whs-logo

Friday, 30 January 2009

Installing WCF on IIS6

I have finally reinstalled WHS (Windows Home Server), now the tricky bits: Getting WCF and MVC working correctly.

Getting WCF Working

  1. Install the latest .Net framework (3.5 SP1 in this case)
  2. Launch a Command Prompt with full privileges

Right click on the command prompt short cut in the start menustartmenu-1

startmenu-2

Uncheck 'Run this program with restricted access'dialogue

  1. Go to 'C:\Windows\Microsoft.NET\Framework\v2.0.50727'
  2. Run aspnet_regiis -i
  3. Add a new web-site in IIS, check to see if the .svc extension is now available

iis-1 dialogue-2

  1. The .svc extension is now appearing, if your WCF service is in a web-site that already exists (Default web-site etc) then just copy and paste the .svc information into the properties of your website.  Otherwise when you create your new site it should be working.

Wednesday, 28 January 2009

Re-Installing WHS now

Well I've backed up my databases and other shared folders onto another hard drive and turned the server off. 

This is a good time to get your vacuum cleaner out and give the box a good going over.  Especially the inside cooling fans and heat sinks.

This box seems to be more dusty than I would have expected.  And it is quite hot to touch.  I might have to rethink the server location.

Ok, Choosing a New Installation. I can now confirm that the installation WILL format all attached hard drives!  This is important to note as had I not disconnected the backup hard drive it would have been up for formatting.

Estimated time for installation: 50 minutes.

Re installing Windows Home Server

Ok, time to start the reinstallation of WHS (Windows Home Server) process.

From last time, I believe that Windows Home Server is particularly greedy.  Any (and by that I mean ALL) hard drives attached to the computer will be claimed by WHS.  It will potentially format all of the data.

[I will confirm this is the case when I get to this step.]

I believe there is an option to reinstall or new installation.  I plan to go with a new installation as I have previously hacked windows settings.  So in order to do this I need to back up onto a hard drive which I need to disconnect during installation.

blog-pic-20090128

To do this you need to remove a hard drive from the current pool used by WHS.  And it is not kidding when it says it can take hours!

This is a worry as this installation of WHS is restarting every hour! (due to expired trial licence)

Tuesday, 27 January 2009

Ordering Windows Home Server

Well my trial version of Windows Home Server is due to expire in 20 days.  I have order a OEM Copy for my home server which should arrive in a couple of days.

Funny thing, I showed my total ignorance the other day and ordered what I thought was a really cheap OEM copy of Windows Server 2008.  Only to find out it was just a sticker! (5 User licence)

Yeah, live and learn (We hope)

Anyway.  I will upload a blog about the upgrade process.  I have yet to decide if I will do a full reinstall or try and preserve the current installation.  At the moment it refuses to allow new computers to be connected (Connection/Backup service etc) which is a minor problem.

I brought the software from stonebridgecomputing.com.au I recommend these guys for cheap prices and excellent sales support.

Still alive

Quick blog to let you know I'm still alive.  :)

Was surprised today when I noticed that this blog actually gets some traffic! (well not much averaging 10 visitors a day).  This has given me some motivation to write more in the near future.

Monday, 10 November 2008

Where is my Opacity IE-8?

Was not expecting to hit this issue with IE-8 - Couldn't work out how to make sure my div is transparent. 
Here is the CSS I found from the IE Team blog:

    -moz-opacity:.50;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity:.50;

Thursday, 2 October 2008

Wireless WiFi Link 4965AGN and 802.11N Connections

I just upgraded my wireless router from a humble 802.11g 54Mbps Belkin to a shiny new Netgear WNR2000.

After a little issue with the connection speed on my laptop being stuck at 54Mbps, i'm now sailing at very nice 130Mbps.

The issue related to the security settings and my Intel Wireless Wifi Link 4965AGN card.  This is from intel:

"Operating in 802.11n Mode

Intel recommends using security with your wireless network. The Intel(R) Wireless WiFi Link 4965AGN adapter can only achieve transfer rates greater than 54 Mbps on 802.11n connections when using AES security, or no security. You should only use no security when setting up or troubleshooting the network."

So how do you get faster than 54 Mbps? either don't use security OR make sure you are using AES Security mode.

intel

Friday, 26 September 2008

IE8 CSS 'Active' hover not working

I'm creating a new web-site layout for my company.  We are targeting the latest most standard compliant browsers (IE7 be damned)...

Anyway.  Has anyone else noticed that the CSS action "Active" doesn't work anymore?  It does in FF, Chrome and IE7 compatible mode of IE8.

What happened to here?

DotNetRocks #Show 380

Listening to DotNetRocks 

Carl and Richard really struggle to get a good flowing discussion going, painful to listen to.  Which is a pity because I generally believe that the Show is outstanding...  Although I wish there was a bit more variation in the Ads (Same Telerek ad for 6 months?!?!)

Anyway... Rant Over

LINQ to SQL is unbelievingly faster than the Entity Framework, and this really shouldn't be overlooked.