Archives

All posts for the month July, 2010

Samsung Captivate

So, I lied in my last post. My newest toy is a Samsung Captivate smart phone. It is powered by Android.

I do like it, but all it does take some getting used to the touch screen.

My biggest annoyance is the bloatware, shovelware, crapware, whatever you want to call it. AT&T installs a ton of stuff. Time to get rid of it!

First you need to gain super-user privileges. Here is how to do that:

  1. Download and install the Android SDK (download and install guide)
  2. Install the Samsung Drivers (download location)
  3. Set your phone to connect in Mass Storage mode (Settings->Applications->USB Settings->Mass storage)
  4. Connect the phone via USB. Mount the drive (select Mount from the USB drop down notification).
  5. Download the Root Update Zip and rename it update.zip
  6. Copy the update.zip to your internal SD card on the phone
  7. Disconnect your phone’s USB
  8. Turn on USB Debugging Mode (Settings->Applications->Development->USB Debugging)
  9. Connect the phone via USB again
  10. Use a command prompt to cd to the SDK’s tools directory. Mine is c:androidtools.
  11. Run the recovery mode reboot command: adb reboot recovery
  12. The phone will reboot into recovery mode. Select Reinstall Packages on the phone’s menu using the Volume Up/Down buttons and select using the Power button. The phone will install the update and reboot.
  13. You should now see a Superuser Permission application in the Applications panels.

Now it is time to remove some crap!

  1. Make sure your phone is connected via USB and the USB Debugging mode is still turned on.
  2. From a command prompt, cd to the SDK’s tools directory.
  3. Run the SDK shell: adb shell
  4. Become root: su
  5. To remove apps, we will just rename them. For example this removes the AT&T Nav app: mv /system/app/ATTNav-Samsung-Vega-1488.apk /system/app/ATTNav-Samsung-Vega-1488.tmp
  6. Here is a list of applications and their actual application file names:
    • AT&T Nav — /system/app/ATTNav-Samsung-Vega-1488.apk
    • AT&T Radio — /system/app/ATT_Radio_2.1.07.apk
    • MobiTV — /system/app/MobiTV_800x480_320_20100610_1.0.0.15-118829.apk
    • MobileBanking — mv /system/app/MobileBanking.apk
    • AT&T Maps — /system/app/attmaps20-1094.apk
    • Where — /system/app/WHERE_Samsung_GT-I900_Vegas_EN_1.9.3_GM_06112010.apk
    • AT&T Hotspots — /system/app/WISPr_v41.apk /system/app/WISPr_v41.tmp
    • AT&T FamilyMap — mv /system/app/androidlauncher2.1-61x612010_06_11t15_49.apk
    • AT&T Music mv /system/app/ATT-P11_PROD.apk
    • Instant Messaging — /system/app/IM-Signed.apk
    • AllShare — /system/app/Dlna.apk
  7. Disconnect your USB, turn off USB Debugging and see how your apps are missing!

Here are the list of sources I used to get this going:

I am thinking about getting a Henry Repeating Arms H001T lever action rifle.

Here is the beauty.

Bud’s wants $320 (plus fees) for it. Not a bad price.

Yeah, it is a 22LR. Yeah, it is just a plinker. But my 30-06 cost a buck a shell to fire and that is a bit steep for lots of practice.

I still need to get to the range and get some time in with existing toys, so I will probably wait until fall.

Renaming JIRA Users

So you use JIRA do you? Nice, so do I.

Ever have someone get married? divorced? a typo in their user name? Every try and change it? Yeah, not so easy.

Atlassian has not set a release where there will be a fix, so we humble JIRA administrators have to make due with what we can. At this current job we are using version 4.0 (with plans to upgrade this summer). We also used email addresses as the user name rather than the AD based user name. If you want to use AD integration, it is best to match user names. So we had a pressing need to rename everyone. What is the right way? Atlassian tells us to export, search and replace, then import. Yep. Kludgey. Plus my import was not working for some reason. What else can we do? Database Updates! Yeah!

I found my first SQL example in the 7 year old rename user bug. It was published by Jeff Turner. It mostly works on the 4.0 scheme. Some updates are needed.

Here is the updated SQL for a 4.0 schema:

update jiraissue set reporter='newuser' where reporter='olduser@example.com';
update jiraissue set assignee='newuser' where assignee='olduser@example.com';
update jiraaction set AUTHOR='newuser' where AUTHOR='olduser@example.com';
update changegroup set AUTHOR='newuser' where AUTHOR='olduser@example.com';
update changeitem set OLDVALUE='newuser' where OLDVALUE='olduser@example.com' and FIELD='assignee';
update changeitem set NEWVALUE='newuser' where NEWVALUE='olduser@example.com' and FIELD='assignee';
update searchrequest set authorname='newuser' where authorname='olduser@example.com';
update searchrequest set username='newuser' where username='olduser@example.com';
update schemepermissions set perm_parameter='newuser' where perm_parameter='olduser@example.com' and perm_type="user";
update schemepermissions set perm_parameter='newuser' where perm_parameter='olduser@example.com' and perm_type="user";
update searchrequest set authorname='newuser' where authorname='olduser@example.com';
update membershipbase set USER_NAME='newuser' where USER_NAME='olduser@example.com';
update OS_CURRENTSTEP set owner='newuser' where owner='olduser@example.com';
update OS_CURRENTSTEP set caller='newuser' where caller='olduser@example.com';
update OS_HISTORYSTEP set owner='newuser' where owner='olduser@example.com';
update OS_HISTORYSTEP set caller='newuser' where caller='olduser@example.com';
update fileattachment set author='newuser' where author='olduser@example.com';
update filtersubscription set username='newuser' where username='olduser@example.com';
update project set lead='newuser' where lead='olduser@example.com';
update userbase set username='newuser' where username='olduser@example.com';
update customfieldvalue set stringvalue='newuser' where stringvalue='olduser@example.com';
update columnlayout set username='newuser' where username='olduser@example.com';
update portalpage set username='newuser' where username='olduser@example.com';
update userhistoryitem set USERNAME='newuser' where USERNAME='olduser@example.com';
update worklog set AUTHOR='newuser' where AUTHOR='olduser@example.com';
update worklog set UPDATEAUTHOR='newuser' where UPDATEAUTHOR='olduser@example.com';
update notification set notif_parameter='newuser' where notif_parameter='olduser@example.com';
update component set lead='newuser' where lead='olduser@example.com';
update columnlayout set username='newuser' where username='olduser@example.com';

Once you update your DB with all of those update statements you need to refresh your JIRA indexes. This is done via the JIRA Administrator->Indexes page.

I have done this for a couple of users today and everything looks OK so far. I will be doing it for bunches of users in the next couple of days and will update this post if needed.