Over the weekend I decided it was time to add another frontend to my existing MythTV setup so we could get live tv on our other TV. For a bit of background, my MythTV setup is using the Silicon Dust HD Homerun to deliver OTA HD content. So the requirements for the new front end were:
- Must support 1080P output
- Low power
- Capable of running Myth Frontend and XBMC (I still prefer XMBC for non-live content)
- Cost effective – the total build price needed to be sub $300
Previous to this upgrade, our living room TV was hooked up to an AppleTV and ran XBMC for playback of stored content. The system worked, but with events like the Olympics, the Oscars we were getting tired of having to watch them on the basement TV which was hooked up to the Myth backend. So with my requirements and goals in mind, I started researching for a new box that would meet my needs.
After doing a lot of research I found the Acer Aspire Revo AR1600-E910L which has an Intel Atom 230, 1.6Ghz, 1GB DDR2 SDRAM, 160GB, Nvidia ION LE Graphics with HDMI, HD Audio, eSATA, Wireless 802.11b/g/n, Gigabyte LAN and a Card Reader. This box turned out to be a perfect fit – $250 at Canada Computers and the Nvidia ION Graphics gave me the ability to run VDPAU support in MythTV to accelerate the HD playback. The other cool thing I didn’t realize is that the box comes with a wireless keyboard and mouse included – nice for the times when you have to do some tuning of the setup that can’t be done over SSH.
The first task after getting the box home was to install Mythbuntu on the machine. I tried using the ISO to make a USB stick, but the machine didn’t want to boot off a USB drive. I found a thread on the Ubuntu forums where someone had the same issue. I tried the suggestions in the thread, but nothing would get the machine to boot from USB. Luckily I had an existing server in my house and was able to Netboot the system. I won’t get into all the details of how to do that, but Ubuntu has great “How to Netboot” wiki page.
After getting Mythbuntu installed the only issue I had was “jumpy” playback of HD TV. After playing with the MythTV settings for playback I found the following changes made things perfect:
My settings:
Under TV Settings->Playback
Page 1: Enable OpenGL vertical sync for timing (This resolved the “Jumpy video” issue)
Page 3: I added a simple profile, with one setting for all resolutions
Decoder: NVidia VDPAU acceleration
Video Renderer: vdpau
OSD Renderer: vdpau
Primary Deinterlacer: One Field (1x, Hw)
Fallback Deinterlacer: Advanced (1x, Hw)
And everything was perfect – the live TV is streaming from my HD Homerun to my MythBackend and then to my new Revo frontend. I’ve still got some work to do like setting up the media center remote, but my first impressions are that this box really has what it takes to be a killer Myth frontend.
25
XMLBeans and Axis2 – or how I wasted a week of my life
0 Comments | Posted by mgamble in Programming
For the past week I’ve been trying to write a Axis2 service that generates XML output that conforms to a set of XSD files. The first challenge was to get the XSD files into a “Java friendly” format, which I solved by using XMLBeans. I’m new to XMLBeans but it was pretty easy to pick up and within an hour or so I had all of my XSD files converted to some nice Java JARs that gave me access to the XML entities as objects and let me quickly create the XML output I was looking for. Given my initial success I figured it would be pretty easy to just insert the XMLBean generated JARs & code into my web service project, however every time I ran my code as part of my Axis2 webservice the output was missing xsi:type elements.
So at first I thought I’d done something wrong in XMLBeans with the XMLOptions, the JAR generation, or maybe even my XSD files, but after hours of trying different configurations and options my code was still dropping the xsi:type elements from my output. To debug the problem, I figured I’d try writing a simple java command line program to see if I could debug the issue, but when I ran my code as a standard Java application the output was what I was expecting:
<?xml version=”1.0″ encoding=”UTF-8″?>
<c:BroadsoftDocument protocol=”OCI” xmlns:c=”C”>
<sessionId>000000001</sessionId>
<command xsi:type=”AuthenticationRequest” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<userId>admin</userId></command>
</c:BroadsoftDocument>
However, when the exact same code was run under Axis2 & Tomcat in a servlet I was getting:
<?xml version=”1.0″ encoding=”UTF-8″?>
<c:BroadsoftDocument protocol=”OCI” xmlns:c=”C”>
<sessionId>000000001</sessionId>
<command>
<userId>admin</userId></command>
</c:BroadsoftDocument>
This of course isn’t valid – the xsi:type of the “command” element is stripped when the code is run under Axis2/Tomcat.
I then wrote a simple servlet application to remove Tomcat as a suspect and my hunch was confirmed – the corruption only happened when running the code as part of an Axis2 web service.
Having finally narrowed down the issue to Axis2, I did some googling for that and found an exact post that mentioned a CVS checkin to resolve xsi:type issues with Axis2: http://marc2.theaimsgroup.com/?l=axis-cvs&m=115946726426905&w=3
After reading the post and discovering the “ServiceTCCL” option I had my solution – adding “<parameter name=”ServiceTCCL”>composite</parameter>” to the services.xml of my Axis2 project everything started to work as expected.
So now with a solution at hand I can actually get down to writing some code – it’s just too bad I had to jump through so many hoops to get there!
4
The Saga Continues – my Equinox keeps having issues
0 Comments | Posted by mgamble in 2010 Chevy Equinox
After the last round of issues with my 2010 Equinox stalling back in November the dealership finally resolved the issue after doing numerous oil changes to remove the debris from the engine block. With that problem behind me I though it would be smooth sailing going forward, but alas my car continues to have new and exciting issues.
The week before Christmas the HVAC control system turned itself off while I was driving and I couldn’t adjust the heat in the car – annoyed and now cold I called OnStar. The rep checked the GM database and he informed me the fix was to unplug the unit or restart the car. After restarting the car several times the unit finally came back on. I called my dealership the next day and they told me the same thing – there is no fix for the issue, just restart the car when it happens. Later that week a friend sent me a link to a US recall for the issue – but so far there is no recall for Canada.
Then on Christmas day my “Check Engine” light came on. Not wanting to drive the car with a potential issue we were forced to rearrange our Christmas plans to work around the vehicle issues – I’d like to personally thank GM for messing up my Christmas. After Christmas I got the car to the dealership who found the issue – it was with the air intake manifold and was a simple fix already in the GM database.
But I’m still stuck with the HVAC system randomly going off – it’s happened several times now and with winter conditions in Canada its not very safe to have your defrost and heating controls go offline while you’re driving. I talked to my dealership about the US recall, but since there isn’t a Canadian recall for the issue yet they can’t do anything. Wonderful.
I’ve got a call in to GM Canada to see if they can give me an ETA on when to expect a recall but I’m not holding my breath. At this point I’m just completely frustrated with my Equinox – every day I have to wonder what’s going to go wrong next.
If you’ve been following my blog, you’ll remember that yesterday I discovered that all the posts I made about my issues with my 2010 Chevy Equinox were removed from the Google search index sometime on Thursday. To test why they were removed, I put a copy of the same post on a static page and waited for Google to index it. The results are in – if you Google “My 2010 Equinox Story” my new static page comes up, but none of the other posts do.
So I’m baffled – how did my results get removed from Google? It’s very odd that only 3 pages of an entire site get dropped from Google and when the same content is posted under another URL it shows up again.
Update: 10:36 PM (4 minutes after I posted this article) – This post is already in Google’s index – so what happened to all my GM posts, and where did they go?
Something interesting happened to mgamble.ca over the past 24 hours in Google search results – all references to my posts about my 2010 Equinox have been removed, but every other page on my site is still in the google index. So far only the “My 2010 Equinox Story“, “GM Is Reading my Blog“, and my “GM Responds” posts have been removed. Now I’m not a conspiracy nut, but it’s a bit odd that only those 3 pages were removed from any Google search results, but the rest of the site remains. Normally if Google drops search results, they drop the whole site, not specific links.
So I’m trying a little experiment. I’ve updated my sitemap with a link to a static copy of “My 2010 Equinox Story” to see if it gets re-indexed by googlebot. If it does, that implies that the other pages were somehow removed from Google.
I’ll post another update in the morning once Google reindexes my site and I have a chance to review the results. All I can really say right now is that something really suspicious is going on.
10
GM Responds – let’s hope this time it’s fixed for good!
0 Comments | Posted by mgamble in 2010 Chevy Equinox
So after my last post about GM reading my blog, I got a call from GM Executive Response who informed me that I should take my vehicle back to my dealer and they would send a field engineer to look at the car and resolve my issues. Since this is the 5th time in 5 weeks it’s been back to the dealership my confidence is low, but I’m going to give them this chance to make things right.
Now we play the waiting game – will this be the last time it has to go back? I’m hoping that it is.
I’m still amazed at the power of the internet – yesterday I was getting nowhere with GM, but after making my story public I’m finally getting the traction I think this issue deserves. But as a friend of mine pointed out, what are less technically savvy people supposed to do? How do they get their voice heard and their issues resolved? Personally I think GM needs to pay a bit more attention to customer service – 24 “business hours” for a response isn’t acceptable in this digital age of twitter, facebook, blogs, and real time information flow. I will continue to update this blog as my saga progresses, so stay tuned to see how well the “new” GM handles my issue.
Update – Nov 13th, 2009 – Just changed this post to remove the phone number. GM has already contacted me, so there is no need to leave the number publicly displayed now.
It’s been less than 12 hours since I posted the tale of my 2010 Chevy Equinox, and it looks like someone at GM noticed – my server logs show people from GM have viewed my post and have been reading my site. Hopefully this means I might start to get some traction on the issue. I guess that’s the power of the internet & twitter
I realized that since there is no contact information anywhere on the site, there is no easy way for someone to contact me and discuss the issues, so if anyone from GM wishes to speak with me they can call me at <REMOVED> – I want to make it very easy for anyone from GM to contact me. For what it’s worth, I’m still waiting a call back from my customer service rep.
The ball is in your court now GM – will you step up and make me a happy customer?
Update Nov 10, 2009 – GM has responded to my post and I’ve posted an update about what’s going on now.
Before I begin, I’d like to start by saying that if it wasn’t for the issues below, I would be in love with the 2010 Equinox – it has all the features I could want (Bluetooth, MP3, OnStar, etc) and is a very comfortable ride. That said, my experience so far has been trying to say the least. For the past 4 weeks my car has been in the dealership 4 times, and today it looks like I’m going to have to take it back again – it’s misshifting, “bunny hopping” when going into park, and *almost* stalled twice. It does this weird thing with the tachometer when at low speeds where it will go up/down/up/down/up/down then stall, but if I hit the gas it seems to prevent the stall.
I contacted GM last week and “Shelly” was assigned to my case. I left a message for her today and am awaiting a call back before I take the car to the dealer to have the latest round of issues investigated.
I’ll be updating this more now as I think it’s time time to put some public pressure on GM to get this issue resolve the ongoing issues. Click on the “more” link to see history of the issues so far that I sent to GM last week.
7
Post your voice to twitter using CallTweet.com
0 Comments | Posted by mgamble in Other Updates
Over the past little while, I’ve been working on a new service that lets you use any phone to post audio updates to your twitter account. The service is called CallTweetbeta and it is now open to the public.
While many people enjoy using Twitter and other social media sites from “smartphones” not everyone has one and some find them too complicated to use. CallTweet lets you stay connected and “twittering” from any telephone, regardless of where you are. And since the service is powered by your voice, you can post messages longer than 140 characters.
It was really fun to build the site as I got to use the new Twitter OAuth API and continue to explore new and interesting ways to integrate the traditional PSTN into the web 2.0 world.
I hope you enjoy using it as much as we enjoyed building it.
As some of you may know, I’ve been working with a group of ITSPs in Toronto on a VoIP peering project. The project finally has a website (http://www.voippeering.ca), a wiki, and a mailing list setup for discussion.
Last night the group held the first meeting and the turnout was pretty good. While most people agreed on the techncial aspects of peering, there were many heated exchanges surounding the political issues an exchange would raise. I hope that over time we can work out a system that will actually let this dream become a reality. The idea of being able to do video, audio, and other multimedia calls across carriers is very exciting to me.
