Category Archives: Rant

The stuff worth ranting about

Solved: Issue with Pebble framebuffer after notification is dismissed

Effect Layer Issue I’ve encountered a weird issue while working with EffectLayer Library (a visual effect library for Pebble smartwatch). In this particular watchface called Clean & Smart I used “invert” effect which inverts colors of the watchface should the user choose that option in settings. It was working fine when option changed when watchface was loaded/unload and behaved weirdly only in one particular scenario: when you would receive a notification (email, text etc.) and then dismiss it. Upon coming back from notification to watchface invert effect would only partially cover the watchface (as seen on the screenshot).
I don’t know exactly what was happening, but had a theory. Continue reading →

Solution: Windows 10: Unable to start Appstore apps

Ok, I went ahead and upgraded to Windows 10. everything went smoothly, all my settings and installed apps preserved and work without a hitch. I am loving the interface and getting along with Cortana pretty good.

But after a while I encountered a weird issue: Appstore installed apps – e.g. Calendar, Mail etc. even Windows AppStore itself wouldn’t launch. I’d either get a cryptic error message, something along the lines “Application did not start, please contact system administrator” or very briefly a window would appear and immediately closed.

Looking into Event log was a bit more explanatory, but not too much: “Microsoft.WindowsStore_8wekyb3d8bbwe!App failed with error: Access is denied. See the Microsoft-Windows-TWinUI/Operational log for additional information.

If you google it – you will find many possible explanations of the problem and many possible ways to solve it offered, but none of those worked for me. Finally I figured it out (and Event Log entry gave me a clue): C:\Program Files\WindowsApps folder was missing necessary permissions:

WindowsApps

Namely, “ALL APPLICATION PACKAGES” was missing read & execute permissions on that folder (had to to uncheck “Hide protected operating system files” in Control Panel, File Explorer options to be able to see it). Once I added correct permissions – appstore apps started launching with no problems.

Original Pebbles are getting TimeLine! (with special offers)

Original Pebble Steel with TimeLine Pebble Corporation is very well know for its visionary ideas. Ideas that kept its incredible smartwatches Pebble and Pebble Steel relevant on the market years after their release. They key to such longevity is regular software updates that bring new features to existing hardware. Multilanguage support, actionable notifications and many other fetures delighted Pebble users to no end.

This worked amazingly well so far. But now Pebble is finally on the verge of releasing new hardware as well. Color Pebble Time is scheduled (as of this writing) to be released in May and a shinier version – Pebble Time Steel is to be shipped in July. Both are getting brand new OS with time-oriented Timeline interface that will streamline the way you interact with the watch.

But what about users of existing Pebbles? Are they doomed to use obsolete devices? Continue reading →

Solution: Live Writer Error “Invalid Response Document” while connecting to WordPress

If you’re trying to connect to your WordPress blog from Windows Live Writer desktop client, you may get this dreaded error message:

Invalid Server Response – The response to the blogger.getUsersBlogs method received from the blog server was invalid:┬áInvalid response document returned from XmlRpc Server

Invalid Response

This means that instead of expected XML response your blog sent back plain html or text message which is most likely some kind of error message. To see actual message you can either trace request response in an HTTP sniffer like Fiddler or simple enter endpoint url for your blog remote access (e.g. http://your.site.com/wordpress/xmlrpc.php) into your browser address bar.
Continue reading →

WriteEndObject of JSON.NET ouptuts NULL literal

JSON.NET is a very popular framework to process JSON data in .NET. We recently upgraded from v4 to v6 and noticed strange thing it started to output null to JSON strings created by JsonTextWriter object.

For example if JSON produced by v4 would look like this:

{"param1":"value1", "param2":"value2",
"someArray":[{"arrParam1": "arrValue1"}, {"arrParam2": "arrValue2"}]}

Same code, using v6, would prodcuce

{"param1":"value1", "param2":"value2",
"someArray":[{"arrParam1": "arrValue1"}, {"arrParam2": "arrValue2"}]null}

that extra “null” makes it invalid and unusable JSON.

The .NET function to create JSON writes it into a StringBuilder and is pretty straighforward.

  1. It starts with call to WriteStartObject method of JsonTextWriter
  2. Then it creates parameter name via WritePropertyName
  3. Depending on whether primitive value or raw string needs to be written WriteValue or WriteRaw methods are used respectfully
  4. Repeat steps 2 and 3 as needed
  5. Call to WriteEndObjectto finish writing.

This worked perfectly well when version 4 of Newtonsoft.Json.dll was used. After upgrading to version 6 last method – “WriteEndObject” began to output “null” to resulting JSON.

The solution is to use WriteRawValue method instead of WriteRaw – it still outputs raw string, but at the end WriteEndObject doesn’t output “null” anymore.

Solution: Lenovo Thinkpad w540 black LCD screen (only external monitor works)

I spend ungodly amount of time trying to solve this issue, there were many similar issues reported on Lenovo forums, but no solutions and contacting Lenovo support is akin jumping thru hoops of fire.

The problem began after I plugged my brand new Thinkpad w540 into external monitor and set it to mode “Extended display (monitor + built-in screen). For a while everything worked fine, but then laptop own screen went black – and nothing could revive it. The external monitor worked fine and the maddening part was – when laptop booted – Lenovo logo appeared bright and shiny on laptop own screen, so I knew graphics card was OK. I ran full Lenovo System update, I updated NVidia drivers from Nvida site – nothing helped.

Then I tried to update Intel drivers for laptop’s HD Graphics 4600 card. Intel installer refused to install them because “The driver being installed is not validated for this computer“. To bypass that I

1. Unzipped the installer package into it’s own folder (you can use WinRar to unpack actual EXE or you can download Zip version of the package).
2. Went to Device Manager, right clicked on “HD Graphics 4600 card” driver and selected Update.
3. When prompted I selected “Browse my computer for driver software”
4. Selected “Let me pick from list of Device Drivers”
5. Clicked “Have disk” and browsed for an INF file inside of GRAPHICS folder of the unpacked driver files from Step 1

Installation commenced and lo and behold – laptop’s display sprang to life.

These instructions are specific to this laptop model and videocard, but I imagine they might be helpful in other similar situations. And hopefully Lenovo will take notice and finally update their drivers.

Solution for NFC not working on Samsung Galaxy phone

This has been bothering me for a while – NFC refused to work on my Samsung Galaxy phone. Service was enabled and running, no errors or warning were displayed, but phone was unable to detect any NFC presence – tags, stickers, point of sale etc.

I was wrecking my mind until I realized that a while back I replaced the original Samsung Battery with a higher capacity generic one to extend battery life. But original Samsung Battery acts as an NFC antenna as well!

As soon as I put original battery in – lo and behold NFC sprang to action.

SAY NO TO FLASH!

Say no to flash Just say no. And tell your kids never to use this piece of junk. And not only because its obsolete and has been replaced by HTML5 long ago. It also promotes bloatware and malware.

I got a prompt from my current Flash player that an update is available. So I ran the update – first it tried to download and install that bloatware of McAfee and only failed because connection to McAfee site failed. But that wasn’t all.

After install finished, I found that my browser was hijacked by “Trovi” malware – start page, search engine etc. And this was done by official installer from Adobe site! Wtf?!

Bye Flash, you won’t be missed.

Reenable (temporary) showModalDialog support in Chrome (for Windows) 37+

You know you shouldn’t use showModalDialog to open modal windows – it’s bad taste and prone to cause issues. Unfortunately many applications (especially Enterprise ones) rely on the method ability to halt code execution until the window closed (e.g. user answers a YES/NO question).

Tough luck, starting version 37 Google Chrome removed support for showModalDialog. Your code suddenly began to act in weird and unpredictable way. You definitely should rework it to use a different approach to dialogs. Fortunately Google gives you a bit more time. You can re-enable showModalDialog support, but only temporarily – until May of 2015. Continue reading →