Windows Phone’s music player error 8007003 fix

Some people are still getting this in 2017 and myself included. There are a few possible causes to this issue. I have narrowed down the list of likely culprits as follow:

The song itself can be corrupted.

The song can be in the wrong format.

There exists a duplicate of the song somewhere in Phone memory and SD card.

There exists a glitched object reference to a copy of the song stored in the cloud.

Path length of the file / scan depth limit.

Corrupted files

The first cause can be tested easily using “File” explorer app or another music player. If the song can be played at all then the file (at least its content) is not corrupted. In the event this is indeed the problem, replace the song with a fresh copy (playable on a different device) should do the trick.

Incompatible format

If the problem persists, try copy the song via USB cable connected to a Windows 8.1 and above PC. Any song that’s recognized as audio file by Windows and is incompatible to Windows Phone OS will be reformatted upon copying via USB connection. A dialog box will appear with this option.

Duplication conflict

The third and fourth causes are also quite simple to test. Simply rename the file and (possibly) the track title using a tag editor software such as Mp3tag. If the song works again, track down those duplicates and delete them. Then, check all playlists for any references to the song and delete them too.

Path length / Scan depth

Finally, the last addressable cause is path length. I have a fair bit of experiences working with Nodejs on Windows and I’m well aware of the path length limit of the OS. It is safe to assume that as Windows Phone is the younger sibling of Windows, it should possess the same limitation (and possibly worse).

Given how Groove Music, the default Microsoft’s music player, works on Windows, the “shortcut” reference of the song its scan function created in an app storage as lengthy as “C:\Users\<username>\AppData\Local\Packages\Microsoft.ZuneMusic_<random hash>\LocalState\Database” can potentially hit Windows Phone’s limit with just a little nudge.

In any cases, this is my problem and shortening the path length by moving all files up one level in the hierarchy did it for me. So, instead of SD/Music/Album/song.mp3, it’s SD/Album/song.mp3 after the move. I suspect it has more to do with arbitrary depth scan limit in the programming code and not the path length limit but meh, who knows what the interns at Microsoft did to produce such a broken piece of software.

At least it’s free and not full of fitness ads.


Project Sekai visual novels bundle

Okay, visual novels; Japanese counterpart of tale-tell games, packed with big eyes, otaku subcultures and typical Japanese fetishes. But wait, don’t close this tab yet. Take a look at this new bundle offer from HumbleBundle and Project Sekai. Take a look at the offering on “beat the average” tier. See the one in the middle?

Narcissu bundle.png

HOLY MOLLY! That is Narcissu 10th Anniversary Anthology Project!


Every time a sad story popped up with elements like sick girl, hospital, and death, it is inevitable that I would pay homage to Narcissu franchise. I have mentioned Narcissu in my seasonal anime review for two of the most memorable tear-jerkers in recent time: namely Plastic Memories and Shigatsu wa Kimi no Uso. I expect to continue doing so should such a show ever pop up again.


Simply put, I consider Narcissu as a franchise the absolute best of modern tear-jerkers.

It is vastly different from Clannad, Angel Beats! or the any of those critically acclaimed works from Key Visual Art’s in that it has little to no comedic moments. It sets the stage very clearly from the start, Plastic Memories did, that the purest and most beloved character in the story will perish. All joyful memories will turn bittersweet, not at the long last ending, but at the moment they are experienced.

These stories are dreadful, they are melancholic and depressing. But the message they carry is powerful: overcome losses and live everyday like it is the last.

In the case of Narcissu, it carries an even more powerful dilemma. The question to abandon or not to abandon loved ones in sickness; especially when they sincerely wish not to burden the living; is a question without a good answer.

But that is enough spoilers for now. The original Narcissu 1st & 2nd are available for free and it only takes a few hours (and a few boxes of tissues) to read. I believe the franchise will make the case for itself. I guarantee; after a few hours of beautiful soundtrack, gorgeous pastel graphic and deep storytelling; any sensible human being with a heart will realize the price tag of $12 for the entire Narcissu’s digital package is a disgusting steal.

Better yet! Ame no Marginal -Rain Marginal- (from the same author) is also in the bundle and it has a Narcissu Bonus Episode!

Narcissu Bonus Episode

Included in the game is a copy of Narcissu 1st, as well as a brand new VERY short bonus episode.
It’s very short, but hopefully is interesting for Narcissu fans.

I fell in love with this franchise when it was off Steam in 2011. I asked my Secret Santa in mangafox back in 2012 for a Setsumi signature + avatar set (which is the featured image, the header, of this post). I shipped the drama CD and the OST disk from Japan when it had only 11 tracks. I campaigned to greenlight this visual novel on Steam way back in 2013.

Am I a fan of Narcissu? Hell yes am I!

This bundle is an instant sold for me just for Narcissu Season Pass.

Beyond that, the rest of the offers are…cat girls, bunny girls, dog girls, magical girls, loli with the body of a mother, idols, beach episodes, micro skirts, maid etc. It is not missing any typical Japanese fetishes here except, maybe, shrine maidens and tentacles.

Yep, I won’t even touch those with a ten-feet pole. Just one Setsumi-chan and one Professor Croquette please!

KeePass for multi-page forms and shared domain accounts

I start using KeePass this week after watching a video on keyloggers from DEFCON and after I was made aware of how powerful AES encryption can be after watching a reverse engineering discussion on Wannacry attack last week by Computerphile.

Background asides, as soon as I start using KeePass, I run into two significant drawbacks with browser integration. After a while fiddling around the settings, I manage to make it works perfectly. Here’s the two issues I ran into and how I tackled them.


The first one is multi-page login forms. Most email providers (Gmail, Outlook, Yahoo) nowadays have this extra layer of security. Multi-page login forms ask the user to enter the username / email address in one page, click “Next” button, then enter the password in a different page. This method prevents simple bot scripts and notifies the user if they got the username wrong (no more guessing which one is wrong now).

Multi-page login is the bane of password managers like KeePass and LastPass. The traditional approach in KeePass is to open the window, select the entry and Ctrl+V manually. KeePass detects which field the pointer is selecting and fills in the blank accordingly. It is hardly convenient though.

Luckily, in KeePass, there’s a way to automate all this without any plug-in. The software allows custom Auto-type sequences and it supports quite a number of operations that allows the user to construct a complete pipeline. Simply go to Edit Entry menu, choose Auto-Type tab, tick “Override default sequence” and copy paste the script below:


Save the entry and you’re done.

The next time you have to login Gmail, simply select the text field, press Ctrl + Alt +A and watch the magic happens. The script will clear the text field (if not empty), type your username, press enter, wait 2 seconds for the password page to load, type your password and then login. Everything is done automatically.


Okay, that’s one neat thing. The next problem occurs when you have more than one email account. This is not a problem in LastPass but it is in KeePass. KeePass matches the title of your browser window. It does not read the URL in the address bar. If you look around, there’s plugin to show the URL in the window title but it is not exactly the most elegant solution out there.

KeePass has a neat entry selection window for forms that match multiple entries. While you cannot create two entries of the same title. You can create custom sequences that target the same window for different entries. Go to Auto-Type tab again, click Add button and select your login form window from the Target Window drop down list. If you can’t find the right window in the list, exit that menu, make sure the form is open and try the same steps again.

You can use this in combination with the other trick to make multiple accounts work for the same multi-page login service.

Keepass multi acc

Camp NaNoWriMo, here we go again

Yes, it’s this time of the year. I’m currently in a cabin at Camp NaNoWriMo April, churning out scenes after scenes for yet another attempt at White Destiny. The new release schedule is working out quite well for me and for once I’m looking forward to sharing my writing every week. Thursday can’t come fast enough, can it?

And this is a heads up for prospective readers out there. The scene I’m releasing tomorrow is a Silverflow Council meeting so expect a lot of talking and not a whole lot of excitement. Perhaps, I’ll revisit this scene at a later day to make it more…confrontational. No real senate would be this cooperative. I’ll apologize for that first.

My plan for the current revision is simply getting a rough draft of the plot. There will be some storytelling; descriptions and purple prose; here and there but for the most part the writing would be very bare bone. It wouldn’t be very engaging to read I bet.

The placeholder food and drink for now are white bread and ale (or wine for the upper classes). That mysterious non-Newtonian bubbly blue drink with ice crystals I had in mind would have to wait for the next revision, in which I’ll focus on engaging the readers into the story world.

I need to cover all the holes and patch together a coherent plot first and this is what I set out to do this camp season.

Next week, I’ll take a break from writing for the seasonal anime review. There’s still one more episode of Kobayashi no chi maid dragon. That’s why I’m postponing the review to Monday. Please look forward to it.

Books, more books!

I’m late to the party this time, but well; better be late than never. I admit, I’m a big spender on fiction books and once again, I’m buying another book bundle that I might never have time to read and then writing a blog post to advertise it. Heck $1 for four books, why not?

It’s science fiction and fantasy bundle written by female authors and female protagonists this time. Yes, female protagonists, strong and daring heroines; the kind I like in a story! This is going to be great. Get your book bundles here:

So, for the first four books in the bundle, only one of them is in third person narrative (Path of Fate).

It’s okay. Two-third of the Down and Out in Purgatory from the last bundle and I’m already bored out of my mind. I suppose it was the case of fictional world going too far, getting too bizarre and too out of touch with reality that I can hardly conceptualize the descriptions of Purgatory in my mind. I’m learning something for my writing so it’s all good.

Finally, I’m stuck on volume 6 of Bungaku Shoujo. Somebody help, it’s too damn boring!

DIY Memo: ESP8266 v7 hookup

Same story as the last time, but with ESP8266 v7 this time.

This is the hook-up instruction for ESP-07 and how to capitalize on its GPIO pins.


Things to know:

– 3.3V power source

– Default baud rate: 115200 (programmable at 9600)

– R1, R2, R3, R4 are all 10K

– C1 is 0.1 uF (ceramic capacitor 104)

– The solder pads are slightly smaller than the standard Arduino pin’s dimension. Use a small drill, purchase specialized pins or solder wires directly.

– GPIO2 -> HIGH during startup

– GPIO0 -> HIGH (standard) or GPIO0 -> LOW (flash) during startup

– GPIO15 -> LOW (standard) or GPIO15 -> HIGH (boot from SD card) during startup

– RXD is GPIO3 and can only be used as input. Similarly, TXD is GPIO1 and can only be used as output

– Deep sleep requires connecting GPIO16 -> RST to wake up.

– A diode from RST -> GPIO16 is necessary to use wake up and reset switch at the same time. The cause is GPIO16 producing HIGH current in deep sleep and it prevents reset switch from working. A diode blocking this current solves the issue.

– ADC is the only analog pin available. It is GPIO6 or A0 (alias) in Arduino language.

ESP8266 pin I/O support
GPIO0 INPUT with pull-up, jumper and delayed hook-up via a sacrificial GPIO pin which is only grounded after boot
OUTPUT with external device between VCC and GPIO0 (GPIO0 -> HIGH, device -> LOW)
GPIO2 INPUT with pull-up and delayed hook-up via the same sacrificial GPIO pin as GPIO0
OUTPUT with external device between VCC and GPIO2 (GPIO2 -> HIGH, device -> LOW)
GPIO15 OUTPUT with external device between GND and GPIO15 (GPIO0 -> HIGH, device -> HIGH)
RST or DTR to wake up from Deep Sleep mode. Include a diode from RST -> GPIO16 if reset switch is used
GPIO6 (ADC, A0) Analog INPUT

Read more:

Fiction book bundle for $1


HumbleBundle finally offers the kind of book bundle I would buy. I mean, RPG books are cool. Self-help books and comicbooks are not. And fiction novellas? Hell yes!

Of the five books, two books are written in third person and three books are written in first person so they are certainly useful as writing references. If anything, I highly recommend Down and Out in Purgatory by Tim Powers in this $1 bundle. The premise instantly captured my attention and it has been a great read so far. Get the bundle fast before it’s gone here:


For those who are looking for storytelling tips in other fields, Extra Credits is a game design channel I’ve been following lately. They provide excellent insights into storytelling, world building and character designs in games that might be as relevant in writing. Disclaimer: I’m promoting their channel because I love their content, I have nothing to gain from this. Below is the link to their channel:


On another note, I’m now back to writing in Microsoft Word as yWriter, as great as it first seems, is a huge distraction and an inconvenience since I cannot access the writing from OneDrive on mobile. Yes, I’m still writing White Destiny. I haven’t been writing much in recent months as I’m in the final stage of my engineering thesis.

But, I plan to resume writing as soon as it’s over. Next week, I’ll have a bit of time for a brief summary of the changes. Please look forwards to it.

The main narrator is now the Inventor instead of the Princess. Ashlora is now set in a torus world and Silverflow Council is now a mix of meritocracy, democracy and monarchy. Sounds unique and fantastic to me except I’ll have to figure out how time would be defined when there were sixteen moon rises and sixteen moon sets every night.

Still, fantastic.