Tech I’m using update 2015

I’ve been away from my blog for a while. The reason is mostly time. Starting a new family was a huge time hit to my blog as well as the convenience of quick updates available through social media (Twitter, Google+).

As a follow up to an old article I wrote here: https://kv4s.com/2010/06/22/why-i-passed-on-the-iphone-again-and-got-the-htc-aria-android

I wanted to give an update into the tech I’m using.

After my Aria phone, I upgraded to the HTC Vivid which didn’t last long because I managed to get it wet in a pool and had to pay an enormous amount of money to get a Samsung Galaxy S3 which i kept for a few years.

In September 2014, I upgraded to the Moto X (2014) and also got a smart watch the Moto 360. A few months earlier Google announced smart watches and i was hooked but i did wait for the Moto 360 before jumping in. Even a year later I still think it’s the best looking watch on the market. However, the biggest drawback is the LCD display as it doesn’t take advantage of the Always on because of how it activates all the pixels vs how an LED display does. It’s not a huge issue for me. I have grown very accustomed to getting text and select notification on my wrist can’t wait to see how the product matures as smart phones have. I’m still on the Android side of the fence. While battery life and platform fragmentation are still my biggest gripes I still love the platform as a whole and am still more excited with anything Google does that what Apple does.

I had a brief time with an iPad at work. While I was blown away at how great the battery life was and how much more convenient Cisco Anyconnect is that’s about all the praise I could give it. I sorely missed all the customization I’m use to with Android. I was surprised how many Google Apps could be installed over there but it was missing Keep. Couldn’t stand the keyboard even though I installed SwiftKey it’s just not what I like on Android. Wasn’t sad to give it back.

In 2014, I also dropped my AT&T grandfathered unlimited plan due to the throttling reasons than anything for which they got slammed for from the FCC  (ha ha ha). I got a promotion program where the 15GB plan was upgraded to 30GB for the same price. Plus a few months after I signed up they started roll over data too. I’m on a shared plan with another family member but they are not heavy data user. At least no throttling for the same amount of data I’ve always used.

I also got the Nexus 7 for a tablet. Very nice to be on Google’s update schedule vs the carriers. The tablet is basically my phone when I’m at home. Thanks to Google voice and last year’s hangouts update you can take and place calls and text from hangouts essentially making any device on Hangouts an IP phone. They can also MMS now even though I’m not a big MMS person.

I’ve been bouncing around twitter clients again. Plume is by far the best client for Android and feature rich but I’ve had to leave for the Official twitter client because for some reason after they did the material design update the program became very unstable and crashes often. I’ll keep an eye on it in hopes they fix it. 

I really enjoy Google+, in my opinion it’s the best social platform however user adoption and perception is not great. I sure hope it survives. I love the notification control and threaded conversations. Communities are great little social gatherings. I use it for games I play and tech devices. I think if they had a write API it would help.

I cut cable about 3 maybe 4 years ago. While I pay for a few streaming services, I’m well under my old charter and dish bills. Internet providers are slowly raising rates so that’s cutting into the savings as well.

I cut land line about 3 years ago. I use gvmate to hook up my cordless phones to Google voice.

Since Google Listen shut down I went over to Pocketcast which is a far superior podcast app.

Home automation and smart devices are my next projects. I’ve got my eyes on ring.com for a way to watch the front door even while away, Smart thermostats probably the nest, and/or maybe a full home camera system? 

Anyway, exciting times for technology changes. 

Until next time!

-Russell

Tip: Use C# to Stop a Windows Service and force kill its processes on a remote computer (LAN)

I hope this tip will save someone some time as I has spent a good deal of time trying to get this to work they way I wanted. Online findings were only partial solutions to my problem.

Recently, situations cropped up where certain Windows Services were getting stuck in a “StopPending” state and would not resolve no matter how much time was given.

About a year ago I needed a way to monitor windows services in case they went down and send out email notifications so, I wrote it.

I had a UI with a SQL Server back end that would allow me to control turning off and on windows services. I also wrote a monitoring service that ran on a server that would read the table and change the flags and actually do the work of turning off an on the services based on the flags. During that project I also needed the ability to change the StartupType of the service. I wanted it to be set as Manual when it was off and Auto when it was Running.

I found a DLL on Code Project for controlling the StartupType it was simply called ServiceControllerEx.
However, it did not work for a remote computer (another computer on the LAN not on the Internet). I was able to modify the code to connect to remote computers this way:
“\\\\” + this.MachineName + “\\root\\cimv2:Win32_Service.Name='” + this.ServiceName + “‘”

After that it worked great on a remote and the local servers just fine.

Now, back to the “StopPending” problems.

I needed my monitor in some situations to not only try to stop the service but stop any processes owned by the service.

I quickly found out that using Process.Kill() only works on the local machine. If you try to use this on a remote machine it says “Feature is not supported for remote machines.”  Researching that message brought me to this blog but did not fully cover the situation I was experiencing. While this would remotely kill the processes on a remote computer it did not cover how to limit it to only processes owned by a specific service.

Note: You also needed to use this method because it allowed you to use a Service Account with the appropriate permissions to control the processes on a remote machine.

I was finally able to solve this my adding a new method to the ServiceControllerEx class that would kill a services processes like this:
KillServiceProcessesEssentially, you can use ManagementObjectSearcher to do it all.

First, define the scope which is the machine name and the service account credentials.

Second, select the ProcessID of the service.

Third, iterate through all the processes on that machine and compare the ParentProcessID to the ProcessID and call the kill command if they match.

Good luck!!
-Russell

 

Amateur Radio Anniversary

This June marks my 13th year as an Amateur Radio Operator and 10th as Extra class.
I became an Amateur Radio operator in 1999, upgraded to Extra class in 2002.

While I’m not quite as active on air, I still find this one of the most interesting hobbies out there. I’m most involved with the Skywarn aspects and an active member of the ALERT club who works with the National Weather Service to help relay storm reports from the Amateur community.

Google Music

Finally playing around with Google Music after getting into the beta way before it released.

Concept is to upload your music collection to the service then it’s available to you via app or browser anywhere. After transferring for 4 days I now have access to my 14GB collection anywhere. If I’m on my phone I have the option to stream or make available offline anything I want.

It’s much easier to maintain playlist because I know if wont’ loose it since it’s in the cloud vs tied to a pc.

Google music solved everything I hated about iTunes and Double Twist. Yet another Google product that has changed the way I do things!

Google Listen

I’ve never been an Apple guy, but trying to use an old windows mobile 6.1 phone to run with and listen to podcast on was a horrible experience. A few years ago, I bought a used iPod nano 2nd gen and began using it for podcasting and Nike+ for running.

Unfortunately, about a month ago the iPod took a trip through the washer and is no more.

I had gone with Android for my last phone so I thought maybe give it a try instead of spending the ridiculous amount of money they want for a new apple device.

I came up with Google Listen.

I have to say I’ve been pretty impressed with it. I have to point out the barrier to entry is high, its probably not for someone who doesn’t know what they are doing or understands basic RSS feeds. However, I’m a developer, I live technology.

I found the search for a podcast really worthless. (I’ll be using TWIT as my example through the rest of the article.) I tried searching for TWIT – This Week in Tech and I found about everything under the sun that wasn’t it. It was in the list but if you didn’t know, you weren’t finding it.

Going to the podcast home page, I found, was the best way to get a RSS feed url.

Feed Url’s are the driving force behind Listen. When you go to a website and view the podcast feed you are looking for it to enclose the audio file (usually an mp3) in the feed.

Site links sometime setup like this:

What a feed looks like in Google reader Notice the “twit0309.mp3” shows and can be played in reader:

Notice my use of Google Reader, the backend sync for Listen is google reader. While it doesn’t sync your play time (meaning you can’t listen on in reader and listen or switch between and keep your place) but it give you an easy way to manage and add new feeds.

However, to get that to work properly, I ended up adding one feed manually in Listen:

Once i did, I now have a new folder available on google reader I can associate podcast feeds with for Listen specific feeds.


Let’s take a peek at the dead simple interface.

My listen items is anything available to listen too.
My subscriptions shows what you subscribe too.
The other too are worthless to me.

Fresh items are waiting for download or waiting to be organized in the queue.
Queued items work like an ordering system to how your podcast will play (order: top to bottom).

Menu and settings are pretty basic, i recommend only downloading on wi-fi though.

That’s it you are now enjoying your favorite Podcast/Netcast via Listen on your Android phone!

Oh, and I use Endomondo to track my running now (for Android and iPhone), it’s uses the GPS instead of the shoe sensor!

Star Trek Online out of game chat using XMPP with Android

Star Trek Online is my first Multi-Player Online game. I don’t really have time to play games anymore but with it being a Star Trek title I had to give it a try. I had to sacrifice my TV time which wasn’t so bad since most of my favorites went off the air.

With an MMO you really have to immerse yourself with the game and the players to get the full the experience, so even when I’m not playing I’m listening to podcast about the game, checking out forums, and reading the latest news from the game developers.

One of my favorite podcast about the game is STOked, and they have organized an in game fleet for the fans and with that created a chat channel so the members can talk. So here is where out of game chat comes into play. Cryptic is the company that develops the game they have made their user level chat system work via XMPP protocols! XMPP is basically an open IM (instant message) system which also includes a Multi User Chat system as well (MUC). So having that enabled from the game side it’s relatively easy to setup an XMPP IM client to log into the games chat system when you are not playing.

This is easy to setup if you have a desktop client like Pidgin. There are some really good instructions on the games forums to get it going and a prerequisite for setting up an android client.

My dilemma: I’m not on a desktop often enough to make use of the feature but I always have my phone with me so what i needed was an Android XMPP client that would work with the MUC chat so i could chat with my fleet. Easier said that done from what i found out. I tried several Android clients but none seemed to work, or when they did they didn’t work with the MUC which was mainly what i wanted. I spent several weeks, several apps, and emailed developers of the apps. Finally, there was some activity on the forums and someone had success with IMov. I had some back and forth with the user because I has already tried and moved on when i couldn’t get it to work.

So here is how to setup out of game chat on Android:

Before trying to setup your Android phone be sure to check this prerequisite post: here.

Note: Naming convention: “CharacterName”@”@Name” in my case Russell@Russell-KV4S so use those when I refer to them in the article below.
Note: AccountName is the same credentials you use to log into the game client before you have to pick holodeck or tribble.

Post updated: as of 2/13/2012 I have found 2 clients that seem to work, Jabiru and Xabber. I only have detailed instructions on Jabiru listed below but setting up Xabber should in principle be the same.

Jabiru:

Once installed from the Android Market go into the account setting and configure as follows:

Jabber ID: AccountName@crypticspace.com
Password: self explanatory
Resource: I believe this is optional but i used CharacterName (this should help match what shows in game for you as well)
security mode should be enabled by default but if not enable it.
that should do it as far as connecting.

once back at the main screen hit Menu>Connect
if all goes well you will see a group called friends Friends

Now for Channels (MUC chat):
hit Menu>Conference
Host: channels.crypticspace.com
Room: will be whatever the channel name is (if it has a space use the “\20” sign instead of space)
Edit 7/31/13: switch “+” to “\20”
Nick: @Name
Password: leave blank (in most cases)
hit join

intro to the chat window:
at the top of the screen you have a chat bubble that will be your toggle for any chats you have going on
the red x will close the chat you have active so don’t do that on channels chat or you won’t be in the channel chat anymore.
the bottom left icon is the room members this should allow you to see whose connected to the channel.

good luck and happy chatting!

I hope this guide helps someone else and saves them time because it took a lot of mine! 🙂