Category Archives: Blog

This category contains my blog, which consists of writings that I have published to the web. My focus is on Information Technology, so you’ll find posts regarding tips & tricks, tutorials, troubleshooting guides, and many other topics from this field.

A Divine Experience

What do you get when you pair incredible music with cooking in the great outdoors? Get ready to find out! I discovered this a few months ago by accident while watching some videos on YouTube. The recipe for this experience requires just two ingredients:

Simply fire up any video from Almazan Kitchen, then put on your favorite Pink Floyd album. The music syncs up with the cooking in an organic way and it becomes a truly unique experience. I’ve found the best time for this is right before making a home cooked meal, probably dinner.

What makes this recipe so divine? The combination of “food porn” and “ear porn” to be exact! Almazan Kitchen and Pink Floyd are quite majestic on their own, but the combination of the two invokes a phenomenon called ASMR. Ephemeral moments of pure luck and randomness occur that would never happen watching either video alone. It’s a music video without the director.

Let’s try it out – play both videos below and prepare to embark on a journey of light and sound. Full-screen the Almazan Kitchen video and set it to 40% volume while Pink Floyd plays in the background.

Continue reading

Installing and Using Windows XP In The Year 2017

Windows XP is no longer supported by Microsoft. Installing it will usually result in a less than satisfying experience, until some fixes are applied manually. This article will explain why and how to do that.

It’s 2017 For Crying Out Loud, Are You A Madman?

Yeah, yeah. Windows XP has it’s flaws. Microsoft doesn’t support it. Everyone says move to Windows 7/10. Security concerns and marketing scare tactics aside, there’s a whole lot of computers and laptops out there with Windows XP still, and here are a few reasons for maintaining such a machine:

  • The computer is a hand-me-down for a family member or kid. Nothing expensive to worry about if it gets damaged. You did pay for this thing, remember? You did purchase software and games for it back in the day, remember? Might as well squeeze out that extra ounce.
  • The computer cannot be upgraded to a newer version of Windows due to hardware requirements. You did pay for this thing, remember? Just because Microsoft doesn’t support it doesn’t mean you need to trash it. The computer still computes.
  • A service technician needs to interface with an old machine (like an office copier or PBX phone system), using an older cable interface such as 9-pin serial, or older software program such as MS-DOS. Sometimes Windows XP is the only solution here.
  • The computer is part of a legacy system or network environment that cannot be replaced without incurring overhead, downtime or fees. Chain restaurants like Subway may still use Windows XP for taking orders. These are typically disk imaged to make fast deployment and repair possible, working as a turnkey restaurant solution.
  • You want to run a virtual machine (VM) with a licensed copy of Windows for whatever reason.
  • You’re a cheapskate and thought it was a good idea to buy a computer w/ original media on eBay or at a pawn shop for $50. I won’t say that was a good idea, but you may still be in luck.
  • The computer is kept around for preference, nostalgia or cyberpunk/cypherpunk reasons. If it ain’t broke don’t fix it!

For these reasons it is a good idea to always save your Windows XP disc and serial number. These are things you paid money for, and there is no way to recover them if lost. Another important thing to save is the driver disc, because as these computers get old it becomes more difficult to find the drivers online.

Now let’s walk through the steps necessary to get this antique operating system up and running.

Continue reading

S I M P S O N S W A V E

Need some music for the winter holidays? Tired of the originals?

Try some S I M P S O N S W A V E. It’s a take on the vaporwave genre, set to memorable scenes from The Simpsons. Vaporwave works kind of like hiphop where artists take old school jams, often long forgotten ones, and soup them up with retro-modern digital DJ loopers and effects. The borrowed sounds range from Sade, Diana Ross and Kim Wilde tracks, to newer R&B stuff like Jamie Foxx, and even some of Jim Lang’s jazz from Nickelodeon’s Hey Arnold. It works well, almost too well.

Even if you’re not a huge Simpsons fan or haven’t seen the show, this stuff is very mellow and cool, with lush keys, saxophones and beats that conjure up a relaxing mood for the holidays. Every so often a disco funk track pulls you out of the chill zone and gets the energy flowing.

Still confused? What the Hell is Simpsonwave?

Or just check out this 1 Hour mix:

If you lurk on Reddit and you like this stuff, check out /r/simpsonswave.

UPDATE: unfortunately the video I first linked was removed for a DMCA violation, but the user has re-uploaded it (and hopefully addressed the DMCA violation so it doesn’t get removed again!)

There is Something Terribly Wrong With Windows 7 and svchost.exe / wuauserv

I recently purchased six (6) Dell Latitude E7000 series laptops with Windows 7, which are very nice by the way, but they all came fresh from the Dellcrosoft factory with one glaring showstopper. Straight out of the box, you lose about a quarter to half of the performance, operating time and battery life that you paid for as soon as you power them on.

Why’s that you say?

It’s because a core Windows 7 process called svchost.exe eats 25% of the CPU constantly:

You might think “this is a temporary issue, it’ll pass on it’s own”. No it won’t. We’re talking all day, everyday; this thing just keeps going and going. If you check that process with a tool like Process Explorer to see what internal service is chowing down on system resources, 9.5 times out of 10 it is the wuauserv service which is Windows Update.

Continue reading

Quick Status Update

Just found out today that CloudFlare DNS took a dump on my website, making it inaccessible for a week or two. This has happened before, last time it was caused by the Wordfence plugin for WordPress.

The DNS problem has been fixed.

UPDATE: turns out this issue may have been caused by 1and1 web hosting DNS failure or changes on their end. My subdomains broke too, which is not part of CloudFlare. I tried walking the 1and1 tech support guy through my problem, but he was very slow so I had to end the call and ask for a follow up from him once he finds the issue. I never received the follow up, so I just went into the 1and1 control panel, re-created all my subdomains, then everything was fixed. I still don’t get why even the CloudFlare page cache was failing to serve a cached version of my website though…I thought that was the whole point of using CloudFlare – to mitigate DNS issues and site downtime? Really scratching my head over this ordeal.

UPDATE 2: 1and1 got back to me and said a glitch in their system is what caused my sub-domains to stop working. They also informed their engineers of the problem and wanted me to know how important it is for them to answer my questions as quickly as possible. Although the support was slower than I would expect for a business package subscriber and I had to take matters into my own hands, I’m not too worried about this event and will be staying with 1and1 for the near future.

A Game Engine From Scratch In JavaScript Part 4 – Editor & Debugger

View post on imgur.com

The editor serves as a live debugger and allows modifying the game objects in real-time. These are canvas sprites we’re talking about, not DOM elements. While this is still a work in progress, I wanted to share a screen capture so you can see how it might end up looking. The next screen capture shows some live editing capabilities.

Continue reading

A Game Engine From Scratch in JavaScript Part 3 – Breakout

I wanted to make sure this engine would be comparable or maybe even easier to use than some of the other engines out there, with the ability to build a variety of game types and not just the game I was hoping to build. For this, I decided to go with Breakouts, which is a website that aims to help other developers compare and choose a game engine. So here’s my attempt…

It’s a work in progress, please check back soon for the full article:

View post on imgur.com

This GIF was recorded at 20 FPS; the game runs at 60.

Working: sound effects, level progression, game states, mouse/keyboard input, collision (a bit buggy), ball-bounce physics (a bit crude), sprites, spritesheets, sprite animations, rendering layers, async module/asset loader, fixed timestep. These are all provided by the core engine.

Not Working: power-ups, variable timestep, improved physics.

Continue reading

A Game Engine From Scratch In JavaScript Part 2 – Physics

About 1-2 weeks ago I decided to make a game engine in my spare time. The most challenging aspect so far has been the handling of physics – how objects in the game behave when they collide.

I was able to get a few collision prototypes working. Here’s what the first prototype looks like, it could handle many moving objects, but the accuracy wasn’t perfect:

View post on imgur.com

Disclaimer: I do not own the graphics depicted in this article, nor do I have permission to use them in a commercial product. The graphics were found using Google Image search, and they are being used here solely for showcasing the engine’s capabilities and progress. The tree sprites are from Here Be Monsters, and the player/wolf sprites are from Ragnarok Online.

What you’re seeing in the screen capture above is a bunch of objects (wolf sprites) being spawned with a “roam” AI package, which just makes the objects move around. This AI package idea will be expanded upon later, but it’s kind of how Skyrim AI works, mixed with Final Fantasy XII Gambits – interchangeable and override-able behavior stacks for different scenarios.

(The screen capture above doesn’t reflect 60 FPS due to gif recording at the time. It’s also a .gifv image hosted by Imgur, my apology if the buffering is choppy…)

Continue reading