Troubles with Xbox 360 and Live

Was installing today my second Xbox 360. Everything went smoothly in the beginning: Xbox calibrated, asked its questions, found WiFi, connected to Live, and downloaded an update from it.

The next step would be to download my profile, and this is where the sucking part started, as it turned out that the Xbox cannot connect to Live. Connection test was able to find network and internet, but not Live. I have tried everything – restarting, unplugging power, restarting router, reading forums, jumping on one leg, singing shaman songs, beating the drum, standing on head. Nothing. Then I noticed that the DNS configuration on the Xbox has only primary server set, and it is pointing to the router, which has no DNS server of its own. Changed DNS to manual and pointed it to Google’s and servers. Nothing. Changed from WiFi to Ethernet, rebooted a few more times, changed DNS back to automatic, changed back to WiFi, and bingo – Live test succeeded. No idea why though, as Xbox settings now were identical to the initial factory settings, and those were not working before. Go figure. And all these while my second Xbox, with absolutely identical configuration, was happily working in the other room, and had no problems with Live whatsoever, including passing tests!!!

Fine, Live sorted out, so now it was time to download the account. Meant to be easy. Well, it was not. After entering email and password, I was present with the list of my accounts, selected the needed one, the download process would start, go about 10%, and stop with error message (80151909 and 80151103, temporarily cannot download profile). Retried it a few times (each time you have to enter both email and password using shit-fuck-crappy-on-screen keyboard, fuuuuuuuuuuck!). Someone from Microsoft recommended to authenticate the Live account, but the account was not asking for it. Then there was recommendation to temporarily change the Live password. Changed it, rebooted Xbox, and managed to download the profile. Finally!

The last step was to get back my old password – I have it on my Windows Phone, and some other devices, so changing it everywhere would be rather painful. Well, the password change page said I cannot reuse the original password, and that I must choose a new password each time. As stubborn as I am, I started changing the temporary password by changing one letter a time, and then retrying to set my original password. Something like 5-7 retries later I was able to reuse my old password, and the fairy tale got a happy end.

Aftermath: working Xbox with Live, and two hours of my precious Saturday time miserably wasted. Thank you, dear Microsoft! Can somebody tell me, how a normal person can set up a new Xbox with the internet connection and Live? He/she cannot, you say? Well, that is what I think too. Context: I am a software developer, and have dealt with computers for 27 years now, since I was kid.


Visual Studio Behind Proxy: Expectation Failed

We have a transparent proxy at work, and it was causing troubles in Visual Studio 2012 when going to the Extensions and Updates. Contrary to your expectations, “The remote server returned an unexpected response: (417) Expectation failed” message was appearing. The fix is pretty easy, and involves editing devenv.exe.config file in the Visual Studio 2012 folder (normally C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\). Somewhere towards the end of that file there is a

        <ipv6 enabled="true"/>

fragment, which has to be fixed to read

        <ipv6 enabled="true"/>
        <servicePointManager expect100Continue="false"/>

That’s it.

Rant About Software Industry Crap

I wonder, why so many companies that have substantial part of their revenue generated directly or indirectly by the in-house developed software, treat their software developers and processes like a totally unimportant shit that is financed last, mostly from left-overs of the budget pie? Examples? As many as you like:

  • Want to buy some books? Oh no, we have already purchased two books in 2006!
  • Pluralsight trainings? Waaaaaay out of budget! You have Internet, don’t you?
  • Latest Visual Studio? We just got VS2008 6 years ago – it is almost new!
  • Resharper? We have heard that Notepad++ and vim are quite cool – use them!

Interestingly, these same people in charge happily use PowerPoint, instead of Paint, create budgets and sales funnels in Excel, instead of Notepad, and write documents in Word, not WordPad. Outlook with Exchange is also a standard “feature”, despite corporate Gmail would be more than sufficient. Service personnel in these same companies is using DeWALT or Metabo accumulator drills costing $150-$300 each, instead of those from local Cheap-o-Store, costing $30 for two.

No-one would repair his car in a garage outfitted with an in-house made car lift; no-one would let a dentist with a 1970s tooth-drill to do anything in his mouth; nor would anyone buy a 10 years old TV as a first choice. No matter how cheap all these would be!

So, why this difference? Is it because salaries are a “fixed cost”, and all other expenses are not? That developers’ productivity is only a small fraction of what is would be with modern tools and up to date training seems to be completely ignored; likely, this argument would be called “speculation” or “matter of opinion”. Or is it because developers cannot voice out and defend their needs/demands? Service guys, for a comparison, are nicely covered by their union agreements with all those “job safety” rules (plus, companies would not like to see office walls or doors destroyed by crappy tools).

I have no answer. But it is really sad to see this picture again and again, year after year. And if I could explain it in 1995 by lack of information and research data, why is it still like this in 2013? Any ideas?

f.lux – Better Lighting… For Your Computer

Just have found f.lux – a Windows, Mac, Linux, and iPhone/iPad software that automatically changes your computer screen colors and brightness based on the time of day. To make long story short, there seems to be some evidence now that LCD/LED displays are too bright in the evening/night, and this is causing sleep difficulties (eyes and thus brain are treating this bright light as a sun light, so they refuse to sleep). Will try it definitely.

Problem with SugarSync’s AutoSync on Android

I have all auto sync categories (i.e. folders, photos, and videos) off in settings, but SugarSync Android app periodically wakes the tablet up for syncing, despite there is nothing to sync. The interval of these wake ups is the one specified in the auto sync settings (which are disabled, i.e. grayed out).

This results in unnecessary battery drain (my setting for the period was 1 hour, and it “ate” about 10% of battery overnight).

I have switched the syncing interval to 24 hours, so I will see in the evening if it alleviated the issue as a temporary workaround. The real fix must be done in the SugarSync app – to stop waking up when auto sync is off. Reported this to SugarSync, let’s see what will happen.

LocalDB and NHibernate

We’ve got a request to support SQL Server 2012 in our product at work. Well, the LocalDB (coming with Visual Studio 2012; a rough equivalent of SQL Server Express of the past) is practically SQL Server 2012 I thought, so it was reasonable to do initial testing on it. We use NHibernate 3 in our system, so I went to the .nhibernate.config file, and changed the connection.connection_string property (the Data Source part of it, to be precise) from

Data Source=localhost\SQLEXPRESS

to the logically sounding

Data Source=(localdb)\Projects

and… It did not work. A bit of googling pointed me to a solution: named pipe connection. To get its name, run

sqllocaldb info <InstanceName>

in the command line, which in my case translated into sqllocaldb info Projects. The output will contain the Instance pipe name line, and the value of it is the data source name you are after. So, in my case the correct Data Source read

Data Source=np:\\.\pipe\LOCALDB#5E0F8FF8\tsql\query

(as far as I understand, usually only the number after LOCALDB# will change).