Tuesday, April 05, 2011

Telerik RadControls

I would not trust anything they say about the capabilities of this application component outside of our own ability to verify and test it.
 
I have opened over 10 tickets with TELERIK regarding these controls and not a single one of them has been resolved with "the documentation was correct, here is the configuration parameter you need."
 
Resolutions are most often are "You do not understand ASP.net" or "none of our other clients use load balancers."
 
Short answer -- don't trust Telerik any farther than you can throw them.

Sunday, April 03, 2011

Android Market for Publishers has been up and down for days/weeks ... I press reload every 10 or 15 minutes and push updates the moment it shows me something that works. Sometimes the updates, work, sometimes they don't. Pretty random, but you always get something like this at the end:

Google Android Market User Interface

Android Market Stability Down to 50%?

We're into the second week of nasty Android Market problems right now

Problems range from:
1) Getting 404 on the page
2) Not loading any applications in the console
3) Being told your applications don't belong to you
4) Statistics off by an order of magnitude
5) Data not updating
6) Google Checkout skipping a day in payments
7) Updates Failing to Publish

Thursday, March 31, 2011

Amazon Android Developer App Market Is Terrible Right Now

Starting to regret the Amazon AppStore choice! I really feel cheated and I'm considering taking my applications down. @amznappstoredev

Tuesday, March 22, 2011

Uploadify and ASP.Net with jQuery for File Upload using HttpModule

If you are managing any type of content management system using ASP.Net you are probably using jQuery in some respects. One useful browser-side plugin for jQuery uses Flash to upload files. This plugin is called Uploadify and ships with a PHP server side component. There is a great post on ASP.Net snippets about replacing the File Upload Server Side component with a C#/.Net HttpModule for IIS.

http://www.aspsnippets.com/Articles/Multiple-File-Uploads-Gmail-Style-using-JQuery-and-ASP.Net.aspx

Thursday, March 03, 2011

Amazon Android Developer App Market Is Terrible Right Now

Today (March 2011) the Amazon.com Android App Market is a total mess.

They are using insecure and out of date technology like FTP, failing to provide basic documentation on DRM and pretty much ignoring all requests for information.

It took (not a joke) more than 2 weeks to get the "I have found a technical person to ask" level response from the sales contact at http://twitter.com/#!/amznappstoredev

I really hope that they work on getting it together soon, because right now it's a total joke.

Thursday, February 24, 2011

Hot Swap AHCI Bay Rocks Socks

OK guys this Super-Micro AHCI hot-swap SATA enclosure rocks socks. I am super happy.

Today is boxing day for my huge collection of external drives. I am no longer a slave to your crappy firewire interface, stupid power bricks or extreme heat generation and low quality fans!

Now I use a fully backed AHCI hotswap 8-bay and buy the SATA drives internal and on the cheap!

Tuesday, February 22, 2011

I'm backing Google on this one

Guess what? A loose alliance of hardware and software manufacturers are going to create an ecosystem that topples Apple tech-monotone

Thursday, February 17, 2011

Adding EULA or Introduction Screen to Android App

Have some important text that always needs to be displayed and approved by the user when it changes? Common use case includes compliance notifications, license text or tutorials.

This useful Android development blog post outlines an excellent pattern for adding an EULA to your Android Java application:

Wednesday, February 16, 2011

Android Disappointment

Shouldn't Android / Java have a CORE SDK / Language feature like "File.IO.File.Copy()" because it really seems obvious to me.

I am totally shocked that I spent 30 minutes trying to determine the optimal way to copy a file and it is like 30 lines long and looks dangerous.

Why not make it simple? Write once, run anywhere. What happened to that?

Servers Direct

I have been having a wonderful time working with the system integration Servers Direct.

After more than five years of upgrading, extending and repairing a pair of workstations from earlier in the decade I decided to upgrade.

The two machines I was using were AMD x64 CPU systems and were built around gaming motherboards from DFI and NVidia. Never really intended as gaming boxes, I suffered a lot from expandability, heat and space issues using essentially consumer grade components for workstation grade work.

So this time I decided to make sure that it got done, and got done right. To that end I selected only workstation class components to build a machine that is certain to last comfortably for several long years of hard service.

For me, when I think about workstation class motherboards I think about Tyan and SuperMicro.

In the 1990s I was a die-hard Intel user and made the switch to AMD around the time of the Tyan Tiger and the Opteron (around 2003.) I ended up settling on Athlon64 processors in the end, but the Intel components were retired.

Now, in 2011 I have returned to my roots with the Xeon and Intel chipsets. Thank you Super Micro and Servers Direct.

More to come in future posts about the new computer experience ...

Windows 7 x64 Woes

I am having some small issues as I work towards adjusting to the new operating system.

One issue that hurts me is that I cannot seem to make PreviewExtractor.exe (x86) like the Windows 7 environment, even with XP SP2 compatibility turned on.

If you are not using Windows 7, I suggest you take a look at this:

Really useful if you need fast JPG of NEF or RAW files.

Tuesday, February 15, 2011

Chrome MailTo: Links in Windows 7 x64

Windows 7 seems to have a lot of configuration issues. It doesn't come with (at least my disk) mapping for the MailTo: URL type.

I installed this Google Chrome Extension to make it work in my browser.

Monday, February 14, 2011

Robotium Enables Black Box Unit Testing with Android Mobile Applications and Games

JUnit is the unit testing framework that really started it all and has a great number of mature features and add-on projects. One such project is Robotium which enabled wonderful black box testing of your Android application:

http://code.google.com/p/robotium/

You can even control it with the very friendly Selenium Remote-Control:


While I was searching Twitter for real-time updates to these subjects that I could include in this blog, I found a reference to RoboGuice which is an Android DI / IOC container. I did not know it existed, but I do like Guice:


Perhaps something to look at for an upcoming complex application ...

G-Mail Tasks Day #1

I am going to start a few day adventure based on using Google Tasks to keep track of my to do issue list.

Email To Tasks
I will make use of the "Add E-Mail to Tasks" feature found under the "More Actions" button.

Tasks To Email
I will make use of the "E-Mail Tasks to Me" to have a list on my phone or when I need a summary on a big screen.

Interesting Android UI Study

This interesting Android mobile UI study includes side-by-side comparisons of several popular social media applications running on Android.

Why I am not Publishing on Amazon.com Android App Store

Dear Amazon,

I am still trying to find someone to talk to about the DRM system! I've been poking around on Twitter and reading blogs but have had little success.

Most of the information I've been able to locate is regarding how to remove the DRM protection, which seems to be more detailed than Amazon's own docs.

Any feedback or explanation on the lack of details? Seems like a pretty big miss. Here is what I get from Google.

Documentation, Source Code and Reference Implementations:

I would really like to use your Amazon Application Store, but you are making it very hard to entrust my APK and hard work to your DRM system.

Tuesday, January 25, 2011

Blocking E-Freedom

EFreedom.com is an annoying StackOverflow clone.

You can block is by adding "-site:efreedom.com" to your Google searches.

Best way to do this using Chrome:

1> Options
2> Default Search Providers -> Click "Manage"
3> Add "-site:efreedom.com" to your Android search customs OR all Google searches

Or you could use use it ad-hoc

Monday, January 10, 2011

Make Google Chrome Search Twitter

Options > Default Search > Manage

Select "Add" in the Mange Search Providers dialog

Field1: Twitter
Field2: tw
Field3: http://twitter.com/#!/search/%s

now just type "tw Star Traders" into Google Chrome to search twitter for Star Traders

Make Google Chrome Search Checkout

Options > Default Search > Manage

Select "Add"

Field1: Checkout
Field2: Checkout
Field3: https://checkout.google.com/sell/searchResults?searchField=%s&searchSubmit=Search&ordersTable=1&backToSearch=false&backToInbox=1&showClosed=false

Make Chrome Search Android Documentation

Open: Options
In the "Default Search" section of "Basics" configuration, find the "Manage" button for Search Providers.

To add a Google Android search provider, in the Search dialog, press "Add"

Field 1: Android
Field 2: Droid
Field 3: http://developer.android.com/search.html#q=%s&t=0

Now you can type "Droid View" to search the Android documentation for the word 'View'

Try it out!

Wednesday, December 15, 2010

WTF

12-15 15:32:45.037: WARN/PackageManager(12002): Unknown permission android.permission.ADD_SYSTEM_SERVICE in package com.android.phone
12-15 15:32:45.057: WARN/PackageManager(12002): Not granting permission android.permission.ACCESS_DRM to package com.htc.fm (protectionLevel=2 flags=0xbe65)
12-15 15:32:45.067: WARN/PackageManager(12002): Unknown permission android.permission.RECEIVE_SYNC_DM_NOTIFICATION in package com.htc.android.futuredial
12-15 15:32:45.067: WARN/PackageManager(12002): Unknown permission com.android.providers.htccdma.Specific in package com.htc.android.futuredial
12-15 15:32:45.067: WARN/PackageManager(12002): Unknown permission android.permission.FOTA_UPDATE in package com.htc.android.futuredial
12-15 15:32:45.077: WARN/PackageManager(12002): Unknown permission android.permission.QUERY_DRM in package com.htc.android.mail
12-15 15:32:45.087: WARN/PackageManager(12002): Unknown permission com.google.android.providers.gmail.permission.READ_GMAIL in package com.htc.android.mail
12-15 15:32:45.087: WARN/PackageManager(12002): Unknown permission android.permission.RECEIVE_EMAIL_NOTIFICATION in package com.htc.android.mail
12-15 15:32:45.097: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_ACCOUNT in package com.htc.htcmailwidgets
12-15 15:32:45.097: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_ACCOUNT in package com.htc.htcmailwidgets
12-15 15:32:45.097: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_MAIL in package com.htc.htcmailwidgets
12-15 15:32:45.097: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_MAIL in package com.htc.htcmailwidgets
12-15 15:32:45.107: WARN/PackageManager(12002): Not granting permission android.permission.ACCOUNT_MANAGER to package com.htc.htctwitter (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.117: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_ASSISTED_GPS in package com.htc.htclocationservice
12-15 15:32:45.117: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.htc.htclocationservice
12-15 15:32:45.117: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_LOCATION in package com.htc.htclocationservice
12-15 15:32:45.117: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_GPS in package com.htc.htclocationservice
12-15 15:32:45.137: WARN/PackageManager(12002): Unknown permission android.permission.RAISED_THREAD_PRIORITY in package com.android.mms
12-15 15:32:45.137: WARN/PackageManager(12002): Unknown permission android.permission.FULLSCREEN in package com.android.mms
12-15 15:32:45.137: WARN/PackageManager(12002): Unknown permission com.google.android.providers.gmail.permission.READ_GMAIL in package com.android.mms
12-15 15:32:45.147: WARN/PackageManager(12002): Unknown permission android.Manifest.permission.BLUETOOTH in package com.google.android.fieldtrial
12-15 15:32:45.147: WARN/PackageManager(12002): Not granting permission android.permission.ACCESS_DRM to package com.android.htccontacts (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.147: WARN/PackageManager(12002): Unknown permission com.android.providers.im.permission.READ_ONLY in package com.android.htccontacts
12-15 15:32:45.157: WARN/PackageManager(12002): Unknown permission com.android.providers.im.permission.WRITE_ONLY in package com.android.htccontacts
12-15 15:32:45.157: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_LOCATION in package com.android.htccontacts
12-15 15:32:45.157: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.htc.socialnetwork.plurk.permission.useprovider in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.htc.permission.SOCIAL_NETWORK in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_ACCOUNT in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_ACCOUNT in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_MAIL in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_MAIL in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission com.android.providers.htccdma.Specific in package com.android.htccontacts
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_DOWNLOAD_DATA in package com.android.updater
12-15 15:32:45.167: WARN/PackageManager(12002): Unknown permission android.permission.FOTA_UPDATE in package com.android.updater
12-15 15:32:45.187: WARN/PackageManager(12002): Unknown permission com.android.launcher.permission.READ_SETTINGS in package com.android.settings
12-15 15:32:45.187: WARN/PackageManager(12002): Unknown permission com.android.launcher.permission.WRITE_SETTINGS in package com.android.settings
12-15 15:32:45.197: WARN/PackageManager(12002): Unknown permission android.permission.FULLSCREEN in package com.htc.pdfreader
12-15 15:32:45.197: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_ASSISTED_GPS in package com.htc.android.locationpicker
12-15 15:32:45.197: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.htc.android.locationpicker
12-15 15:32:45.197: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_LOCATION in package com.htc.android.locationpicker
12-15 15:32:45.207: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_GPS in package com.htc.android.locationpicker
12-15 15:32:45.207: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_ACCOUNT in package com.htc.htccontactwidgets
12-15 15:32:45.217: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_ACCOUNT in package com.htc.htccontactwidgets
12-15 15:32:45.227: WARN/PackageManager(12002): Unknown permission android.webkit.permission.PLUGIN in package com.adobe.flashplayer
12-15 15:32:45.247: WARN/PackageManager(12002): Unknown permission com.android.providers.im.permission.READ_ONLY in package com.google.android.apps.maps
12-15 15:32:45.247: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_GPS in package com.telenav.app.android.sprint
12-15 15:32:45.247: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_LOCATION in package com.telenav.app.android.sprint
12-15 15:32:45.247: WARN/PackageManager(12002): Not granting permission android.permission.DEVICE_POWER to package com.telenav.app.android.sprint (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.267: WARN/PackageManager(12002): Unknown permission com.android.providers.htccdma.Specific in package com.google.android.epst
12-15 15:32:45.277: WARN/PackageManager(12002): Not granting permission android.permission.ACCESS_CHECKIN_PROPERTIES to package com.google.android.apps.googlevoice (protectionLevel=3 flags=0xbe44)
12-15 15:32:45.277: WARN/PackageManager(12002): Unknown permission com.google.android.apps.googlevoice.REMOTE_INTENT in package com.google.android.apps.googlevoice
12-15 15:32:45.277: WARN/PackageManager(12002): Not granting permission android.permission.INSTALL_PACKAGES to package nextapp.systempanel (protectionLevel=3 flags=0xbe44)
12-15 15:32:45.287: WARN/PackageManager(12002): Unknown permission com.android.providers.htccdma.Specific in package com.htc.android.htcsetupwizard
12-15 15:32:45.287: WARN/PackageManager(12002): Unknown permission com.htc.VzWBackupAssistantClient.PROVISION in package com.htc.android.htcsetupwizard
12-15 15:32:45.297: WARN/PackageManager(12002): Unknown permission com.google.android.providers.gmail.permission.WRITE_GMAIL in package com.qo.android.htc
12-15 15:32:45.297: WARN/PackageManager(12002): Unknown permission com.google.android.providers.gmail.permission.READ_GMAIL in package com.qo.android.htc
12-15 15:32:45.297: WARN/PackageManager(12002): Unknown permission com.android.email.permission.ACCESS_PROVIDER in package com.qo.android.htc
12-15 15:32:45.297: WARN/PackageManager(12002): Unknown permission com.android.email.permission.READ_ATTACHMENT in package com.qo.android.htc
12-15 15:32:45.297: WARN/PackageManager(12002): Not granting permission android.permission.DEVICE_POWER to package com.htc.android.teeter (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.307: WARN/PackageManager(12002): Unknown permission com.htc.permission.SOCIAL_NETWORK in package com.htc.album
12-15 15:32:45.317: WARN/PackageManager(12002): Unknown permission com.google.android.providers.gmail.permission.READ_GMAIL in package com.htc.album
12-15 15:32:45.317: WARN/PackageManager(12002): Unknown permission android.permission.INJECT_AUDIO_VOLUME_SETTINGS in package com.htc.album
12-15 15:32:45.317: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_ACCOUNT in package com.htc.calendar
12-15 15:32:45.317: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_ACCOUNT in package com.htc.calendar
12-15 15:32:45.327: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.READ_MAIL in package com.htc.calendar
12-15 15:32:45.327: WARN/PackageManager(12002): Unknown permission com.htc.android.mail.permission.WRITE_MAIL in package com.htc.calendar
12-15 15:32:45.327: WARN/PackageManager(12002): Not granting permission android.permission.CLEAR_APP_USER_DATA to package com.htc.htcsettingwidgets (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.337: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_LOCATION in package com.htc.htcsettingwidgets
12-15 15:32:45.337: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_ASSISTED_GPS in package com.htc.htcsettingwidgets
12-15 15:32:45.337: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.htc.htcsettingwidgets
12-15 15:32:45.337: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_GPS in package com.htc.htcsettingwidgets
12-15 15:32:45.357: WARN/PackageManager(12002): Not granting permission android.permission.SET_PREFERRED_APPLICATIONS to package com.htc.HtcNaviPanel (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.357: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_ASSISTED_GPS in package com.htc.HtcNaviPanel
12-15 15:32:45.357: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.htc.HtcNaviPanel
12-15 15:32:45.357: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_LOCATION in package com.htc.HtcNaviPanel
12-15 15:32:45.357: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_GPS in package com.htc.HtcNaviPanel
12-15 15:32:45.357: WARN/PackageManager(12002): Unknown permission com.android.providers.htccdma.Specific in package com.android.htcdialer
12-15 15:32:45.367: WARN/PackageManager(12002): Unknown permission com.android.email.permission.READ_ATTACHMENT in package com.google.android.apps.uploader
12-15 15:32:45.377: WARN/PackageManager(12002): Unknown permission android.permission.ACCESS_COARSE_UPDATES in package com.layar
12-15 15:32:45.377: WARN/PackageManager(12002): Unknown permission com.android.launcher.permission.READ_SETTINGS in package com.htc.Weather
12-15 15:32:45.397: WARN/PackageManager(12002): Not granting permission android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS to package com.android.vending (protectionLevel=2 flags=0x2be85)
12-15 15:32:45.397: WARN/PackageManager(12002): Unknown permission android.permission.SEND in package com.android.vending
12-15 15:32:45.397: WARN/PackageManager(12002): Unknown permission com.google.android.voicesearch.AUDIO_FILE_ACCESS in package com.google.android.gm
12-15 15:32:45.407: WARN/PackageManager(12002): Unknown permission android.permission.INJECT_AUDIO_VOLUME_SETTINGS in package com.android.camera
12-15 15:32:45.407: WARN/PackageManager(12002): Unknown permission com.android.launcher.permission.READ_SETTINGS in package com.metago.astro
12-15 15:32:45.407: WARN/PackageManager(12002): Unknown permission com.android.launcher.permission.WRITE_SETTINGS in package com.metago.astro
12-15 15:32:45.447: WARN/PackageManager(12002): Not granting permission android.permission.SHUTDOWN to package com.htc.android.worldclock (protectionLevel=2 flags=0xbe45)
12-15 15:32:45.447: WARN/PackageManager(12002): Unknown permission android.permission.READ_SETTINGS in package com.htc.android.htcime.misc
12-15 15:32:45.447: WARN/PackageManager(12002): Unknown permission android.permission.RUN_INSTRUMENTATION in package com.htc.android.htcime.misc