I released a new beta version of the radio reddit for Android app yesterday! You can find more details here: http://www.reddit.com/r/radioreddit/comments/161b9e/happy_new_year_new_beta_version_of_radio_reddit/
Download the APK here: http://code.google.com/p/radioreddit-android/downloads/detail?name=RadioReddit_Pro_v_0_2.apk&can=2&q=
Posted in android | No Comments »I’ve simplified my birthday/Christmas list this year by using Amazon’s wishlist service. You can find my list here.
Posted in Uncategorized | No Comments »Here’s my annual birthday/Christmas wishlist. In no particular order.
Xbox 360 games:
- Deus Ex: Human Revolution (~$35)
- Star Wars: Force Unleashed 2 (~$20)
- LA Noire (~$20)
- Red Dead Redemption (~$50)
Books:
- Neverwinter by RA Salvatore
- These can be used:
- Code Complete 2
- The Mythical Man-Month
- I have a list of a bunch of WW2/Europe history books if anyone needs more ideas
Other:
- Running shirts or other running gear (more socks or winter gear, such as wind breaker, running pants, etc.)
- UNC shirts, etc.
- a new Firefox shirt? Android shirts?
- polo shirts for work
- giftcards
- Galaxy Nexus accessories (if it ever will release, won’t know accessories until after Dec 9, maybe)
- Any sort of French stuff, children/young adult reading level, videos, etc.
After about 3-4 months of work, I’ve finally released my second application to the Android market!
Car Dashboard is both a speedometer and a Car Home dock replacement app. Use this app to watch your speed and easily access 20 customizable shortcuts!
The app automatically launches when placed in a car dock (that has a magnet).
Features include:
* Speedometer
* Speed Alerts (fully customizable by speed, colors, flashing, and sounds)
* Compass
* Current location
* Current temperature
* Current altitude
* Max speed
* US and Metric units/speed alerts: knots, km/h or mph, Fahrenheit or Celsius, meters or feet
* Custom text colors
* 20 customizable shortcuts – launch favorite applications, directly dial important numbers, navigate to common locations, and more!
Avoid getting a speeding ticket by keeping track and being alerted of your speed accurately via GPS!
What’s supported? The application should run on Android 1.6+
Download: You can find the app in the market by scanning the following QR code or by visiting the following links:

Free: https://market.android.com/details?id=net.mandaria.cardashboardfree
Paid: https://market.android.com/details?id=net.mandaria.cardashboardpro
Screenshots:
I also released a new marketing website for all of my applications. You can find it here.
What’s next? I have another application already in the pipe line to start working on (more details later). I also have quite a few features that I plan on adding to Car Dashboard. The first additional feature will most likely be music controls via emulating head set controls.
Posted in android | 2 Comments »The Android 2.3 Gingerbread SDK was released yesterday!
The first problem I encountered is the fact that adb.exe was moved to the /platform-tools/ folder. So every time I tried to run DDMS I received the following error message:
Failed to get adb version: Cannot run program “adb”: CreateProcess error=2, The system cannot find the file specified.
I managed to fix this by adding the platform-tools folder to my PATH in my Environment Variables.
Posted in android | 3 Comments »Since I’ve been asked to make a wishlist for my birthday/Christmas, here it is. Nothing is really in any sort of particular order. I listed cheaper games separately because I’m fine with getting more of older, cheaper games, than one or two newer games. Prices fluctuate a lot, so be sure to actually check out the links.
Xbox 360 games:
- Rock Band 3 (Need Keytar too)
- Battlefield: Bad Company 2 (~$40)
- Fable III (~$55)
- Red Dead Redemption (~$40)
- Star Wars: Force Unleashed 2 (~$60)
- Medal Of Honor (~$50)
- Castlevania: Lords of Shadow (~$60)
CHEAP Xbox 360 games:
- Green Day: Rock Band (~$35)
- Assassins Creed 1 (~$20)
- Assassins Creed 2 (~$20)
- Batman: Arkham Asylum (~$30)
- Mass Effect 1 (~$20)
- Mass Effect 2 (~$20)
- BioShock 1 (~$20)
- BioShock 2 (~$25)
- Borderlands (~$30)
Books:
- Gauntlgrym by RA Salvatore
- These can be used:
- My Century by Gunter Grass
- Code Complete 2
- Peeling the Onion by Gunter Grass
- The Mythical Man-Month
- The Pragmatic Programmer
- I have a list of a bunch of WW2/Europe history books if anyone needs more ideas
Other:
- UNC shirts, etc.
- a new Firefox shirt? Android shirts?
- polo shirts for work
- giftcards
Well, I finally got around to rooting my phone (Motorola Droid) last month using the Easy Root method. I was quite content with sticking the stock 2.2 Froyo ROM since all I really wanted was some basic under/over clocking and Wifi tethering.
Then this month a new OTA update for Froyo came out and the Easy Root method no longer works for it. So I was stuck at Froyo build FRG01B and kept getting the dialog that I had an OTA update ready to install. You can ignore it, but it keeps coming back every few hours. Needless to say that gets annoying fast.
Yesterday I finally said to hell with it and installed ROM Manager. I made an immediate backup of my phone and then promptly installed CyanogenMod 6 (including a wipe of all data from the phone, but I backed up everything with Titanium Backup. Hands down an amazing backup utility). That went quite successfully other than having to flash a lower version of Clockwork Recovery and then back to the latest version of it (the recovery was refusing to flash the ROM).
Now I’ve been playing with ChevyNo1′s kernels (found in the premium version of ROM Manager). So far I’ve gotten my phone to work with the Low Voltage 1ghz kernel and the Ultra Low Voltage 0.8 Ghz kernel. Going to see how high of a clock speed I can push it up on the ultra low voltage and keep things stable.
Android has most certainly been one of my biggest passions this past year since I received my phone last November. I love programming for it (I have another app in the works too). I love the communities I am a part of. I wrote a couple of questions and answers to the Android StackExchange (it’s currently in private beta) about rooting and what to do after rooting. I’ll cross post them here when that StackExchange goes public.
Posted in android | No Comments »
HOW TO ACCESS VERIZON TOWERS WITH MOTOROLA DROID (FOR FORMER ALLTEL CUSTOMERS)
Posted on 09/19/10 at 12:02PM
[ mandlar ]
Note: I had written this a few months ago but just now got around to finally posting it.
So I had a weird problem in Mt Airy with my Motorola Droid. I could only receive 1x data signal. Well, at first I didn’t realize it was a problem because I knew that Verizon didn’t have any towers in Mt Airy. But the weird thing was that my coworker (who also has a Motorola Droid) wasn’t even getting a data signal, period. He tried getting this problem explained to Verizon customer service, but they didn’t seem to understand his problem.
Now our IT guy also has a Motorola Droid. He told us that we needed to enable data roaming. This should be fine without incurring any charges so long as we remain in the US. My coworker did this and instantly went from no data signal to 3G. I did it and…. I was stuck at 1x still! Wtf, right?
Well the only reason I could explain this is that my coworker has always been a Verizon customer and I used to be an Alltel customer who was merged over to Verizon. I still have an old grandfathered (and cheaper) Alltel plan (with the old MyCircle). But I’m a Verizon customer now so I should get access to all Verizon towers, right? Well I sent an email to Verizon customer service asking if this was the case with me being on an Alltel plan. I never heard back and didn’t feel like calling them either.
There was also no way I was going to pay more for a plan with more unnecessary minutes AND less features (cheapest Verizon plan doesn’t include Friends and Family). My brother then passed along some information from his coworker (who also owns a Motorola Droid) about PRLs. PRLs are the lists of roaming towers that your phone knows about and connect to. Usually you can dial *228 to update your PRL. Well, I look up my PRL number on my phone (Settings > About Phone > Status > PRL Version), and sure enough it is a 3XXXX number (an Alltel PRL). I ask my coworker to look up his and it was a 5XXXX number (a Verizon PRL). So this explains it! My phone doesn’t have the Verizon towers in its PRL!
Unfortunately, dialing *228 kept my PRL in the 3XXXX range, so updating my towers via that method wasn’t going to work. But my brother’s coworker also shared a link to a tutorial to both backup a PRL on a phone and flash a new one onto it: Flash the Droid to any network.
Following that tutorial I found a 5XXXX PRL, flashed it on my phone, and then finally received 3G data in Mt Airy! Hooray!
So if you are a former Alltel customer and think you could be getting a better roaming data signal, then give this tutorial a whirl and see if it helps you out. You’ll have to find your own PRL file because they are different for different regions of the United States.
Disclaimer: try this at your own risk. I am not responsible for any damage you may do to your phone.
Posted in android | 2 Comments »My brother, his wife and I have been going to a lot of Bowman Gray Races this year. Towards the end of the season, he started using his scanner to pick up on the chatter that the drivers and their spotters were having during the races. So I ordered myself a scanner too, a Uniden BC72XLT, which has an awesome close call capture feature that will pick up radio frequencies within about line of sight distance. That feature alone beats scanning a frequency range if you are close enough to the action.
We’ve started compiling a list of drivers and their frequencies in a Google document that you can find here: http://www.bowmangrayfrequencies.com which is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. That means you can use it, share it, do whatever you want with it so long as you attribute Scott Denny and don’t sell it.
You can also find my bank setup for my scanner here: http://bit.ly/BryansScanner which includes local radio frequencies for Stokes, Surry and Forsyth county, as well as the frequencies of the Bowman Gray drivers broken down by both banks and sorted by driver number. The spread sheet document is separated into three separate sheets called Local (banks for Stokes, Surry and Forsyth), Bowman Gray (banks for Officials, Stadium Stock, Street Stock, Sportsman, my favorites, and Modifieds) and Drivers (list of drivers and their frequencies sort by their car number for quick look-ups at the track). My spread sheet document is also licensed under the same Creative Commons license.
Posted in Uncategorized | 1 Comment »A few months ago at work, I came across the worst possible exception I have ever seen thrown by a program:
A generic error occurred in GDI+ |
For those who don’t know, GDI+ is the graphics library for Windows that is supported in .NET via the System.Drawing namespace.
So, what is so bad about this? It doesn’t tell me why this error occurred! There is no inner exception passed along. If I don’t know the source of the problem that is causing the exception, then how can I prevent the exception from being thrown? Heck, how can I even catch this exception and know what to do with it? Did the memory get full? Was a file not found? Is a file being used by another process? Did the world blow up? WHAT THE HELL HAPPENED?
After a quick search on StackOverflow I came up with a number of possible sources of the problem, but at best we are guessing because the exception tell us absolutely nothing!
- The stream or file used for the image or bitmap cannot be closed before the image or bitmap is closed due to a dependency between the image/bitmap and the stream/file that it was constructed from
- There could be a read/write permission failure on the directory that you saving the image to
- Bitmap doesn’t support 8-bit grayscale
- It could be some sort of File IO underlying exception being thrown
And the list goes on and on with further suggestions. The thing that baffled me is that my GDI+ exception occurs randomly. It doesn’t happen every single time I run my GDI+ functions. I think it has to do with some sort of file lock going on, but honestly, I have no idea because the GDI+ generic exception is a worthless piece of information. I re-wrote my code to ensure that all file handles are closed after being used. I even tried copying the bitmap created from a file into a NEW bitmap to remove the dependency between the bitmap and the original file. Nothing.
Personally, I would love to meet the developer who thought swallowing up the inner exceptions was a fabulous idea and reprimand the hell out of him or her. And why hasn’t Microsoft updated the library with better exceptions?
So, the moral of the story folks is to don’t write code like this:
1 2 3 4 5 6 7 8 | try { // one or a million lines of code } catch (Exception ex) { throw new Exception("A generic error occured in [program name]!"); } |







