Closed

Due to a series of events with my hosting service, I suddenly lost this blog for a few weeks. I then realised that I did not want the hassle of managing my own blogging software.

So while my marblemice account was suspended I set up a blogger blog. On unsupension I have quickly imported my old posts into wordpress.com (free account) with the intention of deleting my blog off of marblemice.com

He is the link for my blog on blogger. You should be able to follow my adventures there.


I Took A Break.

Over the past week I took a bit of a break. Ok it was my birthday and due to strange rules at work I had to use 4.5 days holiday before the end of march. I had carried them from last years and it is not acceptable to use them in the summer for camping trips with the children. Those are the rules that I signed up to.

It was not such a bad thing, I needed a break and helping my other half with her days of dealing with 3 energetic young children is probably as different as different life can get from a quiet thoughtful day programming. A change is as good as a holiday some people say. We managed a weekend away for my birthday and roped in the grandparents to baby sit during that weekend.

All in all a change of pace and time away from the screen made for a nice break.

I didn’t mention I “won” a Nexus One from google at the start of march. They awarded all the developer who had good scores and downloads a free one. It has not arrived yet but hopefully should soon. Having some proper hardware should let me experiment with some more computationally expensive apps.


Haskell And Android Pondering

Yep this is another one of those update posts. It looks like I have finally turned MarbleMice into a proper blog about my programming life rather than attempting to write articles.

I released a new update to my little Days Until app for android and then promptly wrote a small throw away app and promptly released that. Days Until is gradually growing into a nice little app, there is so much to add to it and it continues to get a reasonable number of downloads each day.

Throw away apps for android are not really worth the effort from the point of view of getting downloads or advertising revenue. They are good for practising programming with android and having a bit of fun. They are simple todo and only take a couple of nights create.

So far I am noticing a correlation between effort put into an app and its success. No surprise there then!

My throw away apps are very specific apps so there is not usually any way to gradually upgrade to gain more users. They do very specific tasks. Because they are created very quickly they have, how should I say this, very limited visual appeal. One area I would like to explore is taking something close to a throw away app and give it a real good polish and glizz to make her pretty. Would she then get more downloads? I guess I am thinking 7-10 nights working on the app rather than two. The theory to test is how many people consider the look of the app to be very important before downloading. I suspect the answer is obvious but it is nice to try different things.

That is going to have to wait until at least next month as I am about to start on another version of Days Until. Basically I am alternating between throw away app and updating Days Until. At some point I am going to have to commit to do another large app.

In the world of haskell programming I am finally back into writing code after reading the Road To Haskell, Maths and Logic book. I enjoyed the book a great deal and recommend it if you enjoy that sort of thing. The code I am writing is to do with sound synthesis.

I have had a fascination with sound synthesis  for quite some time and have played with ideas when I was learning Java a while back. I am slowly constructing a DSL in Haskell that will let me mess with ideas. My particular interest is in using sound synthesis to generate real world sounds. It is certainly at a beginner level in terms of knowledge and feel the need to get a bit rigorous with the maths but am resisting the temptation while I play with the basics. Time for this stuff is fairly limited and  much of it is done during my lunch hour as a fun diversion from work. It is like haskell has been designed to make it easy to do this sort of computation, although I am sure my implementations are sub optimal and have crazy space requirements haskell really lets you prototype rapidly without getting in you way.


Monkey Testing and Exceptions

Boy have I been learning my lesson about not updating UI components in different thread. This is of course with reference to android programming.

I sorted out running the monkey UI Tester on Days Until and it found a whole series of exceptions being thrown because I was updating UI components on different threads. For the most part it just works but in some instance it can cause problems. The Random monkey tester, whom I think I will name Freddy, seems very good at finding them.

The solution is to use the handler class and post messages to the main UI thread telling it to updates itself.

I suspect anyone with any UI design/programming experience would say Duh of course you idiot that sort of thing is dangerous. As someone who has limited UI programming experience it has been a bit of a tough learning experience. Not a lesson I am going to forget in a hurry.


No News

A good while ago I gave up watching/ reading general news sites and for some reason tonight I feel compelled to make a few observations about it.

I used to be a total new fiend, often reading the bbc news over lunch and then watching the news in the evening. As many have mention news is often just noise and you don’t get down to the important issue surround the news. It is a stream of facts and opinion but does not encourage understanding of issues. I do still read arstechinca although I make a rule of being very selective as often the headline is enough take away information about the topic. I admit it was hard to give up at first as are all habits

What have been the benefits? Well it certainly freed up some time. Particularly around lunch time. While I don’t always use that time productively I do get though more technical articles and books. That is I do more stuff that I love to do.

People often talk about the news so does not reading or listening the news affect that? Not that I have noticed, People have started to tell me the news and I get to ask more interesting questions because I am slightly outside  of the world of news. So I think it makes talking about current affairs more interesting. Friends telling you the news act like a filter so you only get the more interesting stuff. As current affairs is mainly discussed at work if something happens over the weekend I only learn about it on Monday. As news does not directly effect my life on a time scale of two days this is not big deal.

It is also amazing how long stories can go on for. When I was reading the news every day I never really used to notice this.

In summary I have found giving up on tracking current affair on a day to day basis has been a good thing.

Brought to you by the slightly random post collective for not reason at all! :)


Orientation Bug Found

As expected the moment I left a computer I figured out what the bug was. Within 10 minutes of getting onto my computer I had solved it.

Inside the xml layout files I created a display. Parts of this display were replaced during the on onResume. android did not like this. What I should have been doing was not creating the custom parts in the xml file and then adding them during onResume.

Simple fix, wishing it had not taken me hours to get to it. And wow it is boring hitting the 7 key on the numeric pad to rotate the android emulator orientation hundreds of times to see there are other problems.


Early March Ramblings

It is funny how small things seem to stump you. Well me anyway.

Here I am getting ready to do another update to one of my android apps and I decide to rotate the screen orientation and bang it throw and exception.

I have a reasonable understanding of the life cycle of activities and how they are re-created when there is an orientation change. It was rock solid previous release. 4hrs of debugging and chopping up code and I have an slight idea that is does not like me changing the contents of views in some way, but no solution.

I know it will be an easy fix when I find it and hopefully I will be able to update my mental model to not make this mistake again.

Anyway funny how these small little things trip me up and slow down progress.

In other news my house hold have gone sock monkey made and seem to be creating them left right and centre. Well to be honest it is not my sort of thing so I am not that involved other than to say “yep that looks great” It did however remind me I need to use the random monkey to test my apps more often. Past couple of releases I have not run it, tut tut.

Anyone releasing a new application for android should run the random monkey for an hour to help ensure your app is rock solid. This is particularly important if like me you are not that experienced with android programming. The Random Monkey finding problems is much better than your users finding them.

Admob adverts ecPM is gradually increasing. Hopefully we will be able to buy a cookie with the coffee that we buy at Starbucks with this months earning :)


Javascript or GWT?

I have a few ideas for apps that I would like to produce that are suited for web applications. With this in mind I am gradually working my way through a Javascript book but my instinct is drawing me towards GWT.

GWT makes a big deal about their code working on all browsers but I suspect that getting a good Javscript library will provide similar abilities.

Language wise, I quite like the look of JavaScript and the fact you can easily program in a functional way. Java is Java and not really an exciting language.

Where GWT seem to be a winner is the tooling. Go to the GWT site and they say download the eclipse plugin and you are away, unit tests, refactoring, profiling all not a problem. Javascript is a little more free in the sense you can use what you want in terms of tooling. Which if great except I am left wondering what is best to use. I tried an eclipse plugin which is quite cool but the tooling for GWT seems to outshine it.

I get the feeling that if I use a “get things done” mindset it would be sensible for me to use GWT with all that lovely tooling and my familiarity with the Java language rather than go through the learning cost of JavaScript, not the language more the learning of the tool set.

A little while before I decide which one to go with.


Weebly Update

I use weebly to power my website that provides information about my android apps. Weebly is a free online website creator and viewer.

I have been using it for over a month and so far have mixed feeling towards it. First the positive, the free version is great all they require is a “powered by weebly” footer. Zero cost is what attracted me. It was very easy to redirect spiderflock to point to it, weebly provides quite detailed instructions on how to do this.

The templates for the sites are quite numerous and there are plenty there I like. You also have full access to the template to alter them as you want. In fact the whole website set up is a smooth affair.

For general website creation I found the actual text input slightly errr, I am struggling for words. It just does not quite flow smoothly. The idea of dragging paragraph objects around and having to have seperate paragraph with a picture objects just does not feel correct. I, and most people?, want to enter text in a way the is closer to the word processor/ text editor paradigm, the way it works reminds me of old DTP packages I once played with. Perhaps it follows the way Dreamweaver works? Not having used it I can’t comment.

That is the only negative things I have hit on so far but I do hit it every time I use the site. Having said that weebly is developing at quite a reasonable rate and while I doubt they will change the way the text is added to a page one can hope.

So overall I have mixed feeling but mostly positive ones about weebly.


All Blogs Evolve.

Over time blogs evolve. I originally created marblemice.com as an article site powered by Joomla. The as I realised how time consuming it was too write good articles I gradually converted over to a blogging approach to a website. This eventually led me to install wordpress rather than using Joomla. While I do have the occasional gripe about wordpress it has served its purpose quite well and I have not been tempted to another platform.

I would still love to do a programming article site but I think I would have to do it with a group of friends, partly to help with motivation and partly to fill the site with interesting articles at a faster rate.

Until very recently I laboured with the idea that advertising on marblemice to actually generate a reasonable income. Given the niche topics and people interested them are resistant to advertising it is a fools errand to expect income. Writing article on the subjects I cover is a waste of time if I expect financial reward from it, my effort would be better spent improving my android applications. But deep down I do write the articles because I want to write them

“Wow, this guy should get to the point!”.

Yes I am getting there don’t worry! This blog is evolving in the sense it is going to become more like a blog. That means more posts with my thoughts rather than with technical details. I still want to write technical articles but the ratio of pure tech post verses these sort of figure things out post is changing. Well has changed if you look at this years posts.

“Is that the point?”

Yes I think it is I think. So far my changes have been

  • Reduce the advertising to one small box.
  • Reduce the  number of “another version” posts for my android apps.

I took the android app related stuff to a blog spiderflock where people who are interested in the latest version and plans for the apps can find the information in a logical place and not interspersed with posts about Haskell. I will still of course talk about Android but at a slightly different level to what is covered on spiderflock.

I am not sure if this will mean more or less posts, I will let you know at the end of the year. Given poorly thought out post containing my views are much easier to write than technical posts I suspect the post count will increase.

That is it, you have been warned this place is evolving and to be honest if you read regularly you will have noticed the changes in the post topics anyway.


Follow

Get every new post delivered to your Inbox.