So Jenkins is building and archiving lovely APKs with timestamps in versionName! People are testing directly out of DropBox. Got a bug report but need to see which APK it came from!
Goal: Extract human-readable versionName from APK.
Two-liner answer after the break!
Software development notes especially observations on Axe sharpening vs. Yak shaving, how to tell the difference and where to focus the time [amongst other observations].
Saturday, 15 October 2011
Friday, 12 August 2011
Eclipse Mylyn / Bugzilla "resolution required" UX buglet
Eclipse Mylyn / Bugzilla error...
Submit failed: resolution required: A valid resolution is required to mark bugs as RESOLVED.... requires specific steps to avoid. TL;DR solution and notes after the break.
Monday, 8 August 2011
Using a Linux android emulator server
Situation: You have a fast lots-of-memory Linux desktop box (perhaps remote) to run your Android emulators on and a desktop machine running your IDE. How best to debug remotely?
SSH port-forwarding instructions for Windows (and others) after the break.
SSH port-forwarding instructions for Windows (and others) after the break.
Monday, 13 June 2011
Eclipse eUML2 plugin installation problem and solution
Got red herring errors below when trying to install
Soyatec's excellent UML Eclipse plugin eUML2. Found real answer in the Soyatec forums here -- install GMF (Graphical Modelling Framework) first.
Worked a treat. Errors after the break.
Worked a treat. Errors after the break.
Saturday, 23 April 2011
Bug: SoapUI fails to add REST Test Method to Test Case when using Resource solely to share parameters
[Duplicated from my EviWare/SoapUI forum post here.]
Using SoapUI 3.6.1, I ran into same problem as listed here viewtopic.php?f=2&t=4462&start=15 (which I named this topic after).
I downloaded the 3.6.2 nightly and retried. No fix.
OOI, by opening the project XML in Eclipse, I can see that despite throwing the same error, if I save, the new testStep does appear in the XML. I've tried "Resolve" (no errors), loading and reloading, restarting SoapUI. No help.
Below are more details of the problem some more and a workaround ...
Using SoapUI 3.6.1, I ran into same problem as listed here viewtopic.php?f=2&t=4462&start=15 (which I named this topic after).
I downloaded the 3.6.2 nightly and retried. No fix.
OOI, by opening the project XML in Eclipse, I can see that despite throwing the same error, if I save, the new testStep does appear in the XML. I've tried "Resolve" (no errors), loading and reloading, restarting SoapUI. No help.
Below are more details of the problem some more and a workaround ...
SoapUI aide memoire and groovy scripting (on RTM)
A braindump (not a tutorial) on SoapUI including use of Groovy to script parameter generation!
To whet pre-jump appetites, the SoapUI primary structure:
To whet pre-jump appetites, the SoapUI primary structure:
- Project - houses...
- Methods - Create these including parameters that need populating later (I'm doing REST atm)
- TestSuite - One can only script within a test suite/case so we'll need one
- TestCases - one for each separable chunks of work.
Lots of choices but I've mostly used... - GroovyScript - code to generate values (like hashes)
- PropertyTranfer - Used to copy values between scripts and calls' parameters (REST calls, etc)
- Test Request (REST/SOAP/HTTP/JDBC/AMF!) to make actual calls
- Setup Script and TearDown Script can be placed on TestSuite, TestCase, etc to also house the scripting. (but I've generally found scripts more handy.)
- Project-wide utility methods can only be defined with a SoapUI Pro license (IIUC). Without this, I've ended-up with some copy-and-paste re-use :-( Shame there's no sliding scale from Community to Pro!
Thursday, 21 April 2011
Tacking to pick up the Droid trade wind
Well, wow a lot's happened since that last post. My Father died (yep, "To lose one parent, Mr. Worthing, may be regarded as a misfortune. To lose both looks like carelessness."), decided to re-evaluate life and left Malden Labs. I had a great time there; learned, saw and did lots; met a tonne of interesting people and wouldn't have missed it for anything. However, I always fancied being master and commander of my own boat so am taking The Good Ship UGS (my half-comically, half-seriously named company) to sea. Initially with some Android app and game writing but we'll see which way the wind blows. Android appeals since I've been Java programming since '96 and the current current at last seems strong enough to carry us to promised lands (and/or cities of gold). To top it off, as an ideas person, I'm slightly sickened by the slew of recent business successes that are depressingly (or reassuringly) similar to previous ideas. (I'm sure this isn't unusual but that doesn't make it less sickening ;-) )
So starting simple and trying to focus on failing fast with delicious early feedback, first projects will be a 2D casual game using AndEngine and a personal-itch scratching Android RememberTheMilk Sharer utility (surely it's not that hard to catch the SEND intent, offer to store to RTM with some processing to tidy-up common content.)
Never fear, our regular yak programming will continue (even more so now since I won't be posting on internal blogs and wikis!) but maybe there'll even be some non-yak content! Ok, time for a calming lie down ;-)
So starting simple and trying to focus on failing fast with delicious early feedback, first projects will be a 2D casual game using AndEngine and a personal-itch scratching Android RememberTheMilk Sharer utility (surely it's not that hard to catch the SEND intent, offer to store to RTM with some processing to tidy-up common content.)
Never fear, our regular yak programming will continue (even more so now since I won't be posting on internal blogs and wikis!) but maybe there'll even be some non-yak content! Ok, time for a calming lie down ;-)
Sunday, 30 January 2011
update-alternatives and the Chrome takeover quash
Finally got round to understanding Ubuntu's /etc/alternatives a little more after installing Chrome made it my default browser!? More details after the jump (another first!) but briefly:
- List all alternative-able things:
sudo update-alternatives --get-selections
- Choose which browser:
(these present menu to select from)sudo update-alternatives --config x-www-browser sudo update-alternatives --config gnome-www-browser
Subscribe to:
Posts (Atom)