Inspired by Robb Knight's post , I thought I'd finish my own phones I've owned post. 2001 - The Beginning My first was a Siemens C35i which I had for a while until I was climbing on some rocks over the sea, slipped, fell, and had it fall out of my pocket into the water. We found it when the tide went out a few hours later. I have this vague memory of "crying" to show my parents that…
In the last couple of years I've been trying to reduce my usage of Amazon given how much they do things like hide their profits offshore to avoid tax , and in particular their poor record of being a decent employer. This is very apparent around here as the drivers are so incentivised to be as quick as possible that they don't even bother to ring the door bell or knock on the door, they…
I saw Robb Knight talking about something called WeblogPoMo2024 a few days ago and thought, yeah that sounds like a good idea, I've been meaning to post more regularly, perhaps once a week, and I too have a folder of unfinished drafts. I went through my various drafts and saw a few that don't exactly make sense as blog posts, things like small one off coding projects, or one simply…
I may not use a smartphone, but I do keep an old Android device in the car to use as an offline satnav. After playing with /e/os again the other day I discovered an app called Magic Earth , which is bundled in /e/os/ as their maps app . And it's actually really good! One day last week I spent about six hours driving, mainly on roads I'd never been on before. I…
I've become a bit fatigued at having to actually choose what music to listen to as I work recently. I've also been getting bored of the same ten or so Spotify playlists I often have on loop. If only there were professionals who could do this for me... wait... of course, they're called DJs and they do it for free on the radio. Rediscovering Radio Music in the car growing up was…
I've been using ChatGPT, and some other LLMs locally for a few months for doing some basic programming assistance, using them somewhat like the person typing when pair programming, but only for simple mundane tasks. This sort of thing: "Here's a Swift struct, please write me an SQL query to insert / find / update". Or this morning: I'd sketched out a load of psuedo json to…
I read Brain Baking's post on smartphone pervasiveness yesterday, and a lot of it resonated with me, but I think the future of this "digital world" might actually be looking positive. I met a guy a few months ago who was intrigued about my story of why I gave up my smartphone and just have flip phone. Turns out he'd been seeing the same things I'd been seeing and was on the edge of…
For six years I’ve been using a paid ProtonMail plan to provide my personal email, on my own domain. This month I’ve switched to FastMail. My first proper email address was Gmail, in 2004. (not counting a few short lived Hotmail addresses). I’ve therefore always excepted things like threaded emails to be a part of email. For a long time Proton didn’t have any kind of threading, it was always…
We have four Amazon Echo Dot smart speakers in our house, all bought a few years ago on some sort of special offer for £15-£20 each. I’ve had enough of them. We use them primarily for two reasons: Music / radio, mainly in the kitchen. Controlling lights in the lounge, garden and office They've been emitting the occasional advert notification for things I might like to buy on Amazon for…
Last weekend I travelled from Gloucestershire to Brighton, mostly by train. It's the first time I've been on a longer non-car journey since going smartphone-less in July. I noticed some interesting things. To prepare, I'd written down all my train times and various connections. In the past I'd have relied on train apps my phone, and would have been worried about the battery…
A few weeks ago I read Steph Anglo’s post on paying for quality software. It got me thinking about the software I do and don't pay for... I have subscriptions for Proton Mail and Bitwarden. I own (now quite old versions of) Pixelmator and Affinity . I used to have a subscription to Termius when ssh-ing into servers was a regular thing for me. Whilst it's not exactly software, my domains…
About 8 years ago I set out to read the news once a week. I was fed up with the constant drip drip drip of speculation throughout the day, and wanted to break that cycle of feeling like I needed to know what was going on as soon as it was happening. I did this by subscribing to a couple of weekly news magazines on my Kindle. After a while I went down to just one magazine, the arrival of which I…
I recently joined in the “App Defaults” trend and posted about the apps and services I use . I’ve now actually listened to the episode of the podcast that started it - it’s a very tongue-in-cheek game show where Jason Burk and Martin Feld complete to be crowned the person using the most “default” apps, the ones that come bundled with their phone / computer. It was a fairly entertaining hour…
I read Manuel Moreale's post on "app defaults" and thought it was an interesting idea to think about the software I choose to use so here's mine: Mail Client: Apple Mail at work, Proton Mail at home Mail Server: Proton Mail Notes: Obsidian / Keynote To-Do: Obsidian Photo Shooting: Canon DSLR (I don’t have a smart phone) Photo Management: Google Photos (but want to move away from…
For many years I have used a personal domain for my personal email. My email address only has a single character before the '@' symbol (e.g. a@example.com). In the last few months it has started to get rejected more often, due to over-zealous and incorrect client-side validation. No regex will ever be able to validate an email address fully. Stop trying so hard. Let the email delivery…
Many years ago I had Google Analytics on this site. The only thing I was really curious about was how many page views I was getting and which pages were most popular, Google Analytics did much more than that. But it was there, it was free, and was generally what people used. Fast forward to around 2018 and GDPR and cookie notices became a problem. I despise cookie notices and would much rather a…
I've been making websites since (I think) about 1998 and never knew about this Javascript syntax! debugger That's it. You just write debugger in your code and when the browser reaches that point of execution - boom, the debugger pops up and pauses execution. Sometimes much easier than console.log when you're trying to work out what is actually available on a poorly documented error…
At Ocasta (where I work) we have great flexible working - we do 35 hour weeks, we must be working during 'core hours' (Monday-Thursday 9:30am-12pm, 2pm-4pm and Friday just 9:30am-12pm) but the rest of the time we can work when we want. We use Harvest to track our time against different projects. I'm normally aiming to be done fairly close to 12pm on a Friday to get that 2.5 day…
This Post This post is not meant to be an extensive tutorial about GraphQL, it is a starting point for your own exploration into GraphQL that should give you several paths to go down and links to find out more. If you just read through this whole document in one go you will not have an understanding of GraphQL. Follow the links, try things out, and keep coming back to this page. What is GraphQL…
I've been running all sorts of little things on Rasbperry Pis for years but I recently bought an e-ink display without really having a plan for it. I don't have my mobile phone upstairs overnight and I thought it would be useful to have the weather for the day in my bedroom in the morning so I know what to wear. An e-ink display is great for the bedroom as it doesn't give off any…
Previously I wrote about deciding to buy an electric moped - an E-Rider Model 30. Update: The batteries failed after 4 months, were replaced under warranty and then failed again after another 4 months. I was then ignored and rudely told to deal with it myself. I'd highly recommend avoiding E-Rider. This article describes what happens next, looking at the financial costs and time taken.…
A week before Christmas 2015 my wife and I moved from our flat in the very centre of Brighton to the picturesque Brighton suburb of Bevendean . My commute to work became very different. Gone was the casual 10 minute stroll to the Ocasta office. Thus ensued a few months of experimentation, starting with buses, then, cycling, a long period of walking and eventually settling on an electric moped. If…
I encountered a fun problem today... My Espresso tests started hanging after I added a ProgressDialog into my layout that was visible when the Activity started. This was the error in the logs: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=co.blah/.ui.activity.MainActivity } within 45 seconds. Perhaps the main thread has not gone idle within a reasonable…
We used to have a physical server in our studio to run our Jenkins continuous integration for our Android projects, but after several machines gave up in quick succession I decided it would be cheaper and less time consuming to set one up in the cloud (we chose Digital Ocean as we already have a few virtual servers there). This means we don't have to worry about hardware failures, our studio…
I'm currently debugging an Android app that has a data directory size that's increasing to several hundred megabytes, not good! It should be only a few kilobytes. To find out what is going on I needed to see inside the data directory, but this is only possible if the phone is rooted, I don't want to that, so I needed an alternative. After some browsing I found an github project that…
I've been doing Android demo meetings for a while by pointing a webcam at a phone and hoping the automatic exposure doesn't go wild half way through, always slightly envious of the iOS simulator that actually almost works, and the wide support for casting or airplay-ing an iPhone screen to your laptop / projector screen (which can then of course be shared very easily via Skype).…
At the last GDG Brighton I spoke on the difference between designing for iOS and Android. Here are the slides and a recording of the talk: Slides For those that remember, it's an updated version of the talk I did a few years ago at Brighton Digital Festival.
If you're on a Mac and have been finding that Chrome's two finger back and forward gestures keep triggering at really inappropriate times (for years), you can disable them without disabling for every app on your Mac. Just close Chrome, open up Terminal, copy the command below, and press enter! defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE
I used to use springpad.com to take notes on my iPad and Android phone, but ended up switching to just using plain text files, synced with Dropbox for speed and simplicity. However this left me with a few hundred notes tied into Springpad’s ecosystem that I wanted to suck out… Thankfully Springpad lets you create backups (in settings->services) and download them as on big html file, which with a…
Just got caught out by this little mistake for a few minutes. If you call the DbxAccountManager startLink method in your onCreate, onStart or onResume methods for your Activity then the your app will crash after you've authenticated. Solution: Don't try and link before the activity is fully running. See the Activity API reference for details about the activity lifecycle. Update : Turns…
I was given the great privilege of speaking again on Sunday evening at Holland Road Baptist Church at one of our encounter services. I spoke on the topic of “Reaching Out” and spoke from 1 Peter 3:15 . You can listen online or download it !
Here’s my next card to help me remember scripture. We have assurance of forgiveness! !(If we confess our sins, he is faithful and just to forgive us our sins and to cleanse us from all unrighteousness. 1 John 1:9)[1-john-1-9-1.png]
We’ve just had our team games night at one of our youth groups d6:8, organised by the wonderful Lydia! Here are the games we did: Birthday Order This is a good ice breaker / starting game. You get everyone to line themselves up in order of when their birthdays are, so January at one end and December at the other, but you do it in silence, no one is allowed to talk. Paper Fish Teams line up on…
I was given the great privilege of preaching tonight at Holland Road Baptist Church. We’ve started a new style of service on the fourth Sunday evening of every month and we’ve called it encounter. It’s basically a fresh expression of worship that’s led by younger people! I spoke on the topic of “Following Jesus” and spoke from Luke 9:23 . You can listen online or download it if you like!
I've had my Xperia U for about 5 months now. It's an interesting phone, it's a nice shape but Sony have done bad things to Android and it frequently plays a fun game where it goes so slow that it doesn't wake up in time for me to answer a phone call before it goes to voicemail... Anyway, one of its less desirable features is the silly light bar gimmick across the bottom of the…
I’ve been working in Croatia with m18 recently doing some video and photography work. Here’s an album where I was one of the photographers and the post processing guy!
I was walking back from walking my girlfriend home the other night and God spoke to me. It’s not that unusual that God speaks to me, although I still find it amazing that the creator of the universe cares enough about me to actually talk to me. Anyway, I’ve digressed already! This is what he was saying: As a Christian that loves Jesus (as a Christian you should love Jesus…) I understand that this…
[Before I start I should just point out that these are my own personal views and do not in anyway represent the views of Holland Road Baptist Church or any of it's ministries] I’ve just been playing baseball / rounders with one of our youth groups in St Ann’s Well Gardens. We had a great time! We were on our way back and at the north end of our church building, less than 100 meters away…
This is a fairly simple game we came up with a few weeks ago. Here’s what you need: Something to play music from Enough chairs for everyone Some way of blindfolding the young people It’s similar to musical chairs, except everyone is blindfolded. Instead of placing the chairs out neatly, you randomly place them around the room. When the music is playing everyone walks around like a zombie, slowly…
In an effort to memorise more scripture I have created a verse card for Psalm 119:11. It’s good to start with a verse that reminds me why I’m doing it!
For a more up-to-date look at Android design, see this updated talk . A short talk discussing some do's and don'ts with Android design, whilst also looking at some iOS / iPhone patterns that should not be used on Android and why. Filmed at the Ribot studios 14th September 2011 as part of Open Studios, a Brighton Digital Festival event. Apologies for the terrible sound quality, a…
Who is This Post For? This post is aimed at the sort of people within mobile app teams that aren't technical, both designers and the (boring) business type :p If you're after something more technical then check out Google , the Android documentation or Matt Oakes' crazy slides from Android Manchester 's April 2011 Meetup . What is an Intent? Looking up 'intent' in the…
The overscrolling in Gingerbread isn't particularly pretty, and as it's enabled by default it can end up spewing a large orange pile of crap over your otherwise pretty application. But how do you disable it whilst still keeping your app compatible with versions of Android prior to Gingerbread? Place this class in your code somewhere: import android . view . View ; public class…
I spent this morning moving a project over from svn to git and setting up a git submodule for a library project. I spent far too long doing it and made far too many silly mistakes that cost me lots of times. So I am going to outline below my steps for setting up a new project with git, and then adding an existing submodule. This is a long way from a definitive guide to git, I expect you to already…
I have commited some updates to my Android Tools library on github. I've merged a fork by ohhorob that allowed you to set a custom width for your pages. I have also improved the way it handles layered touch events, and added support for vertically scrolling child views. Documentation is in the same place: jasonfry.co.uk/android/tools/doc Download the jar If you would like to…
After yesterday's post I continued to look into Android's new Overscroll functionality introduced in Gingerbread and discovered some more interesting things. The functionality to make a a view scroll beyond its limits and then bounce back (almost exactly like iOS) is sort of built into the framework, but just hidden. I'm not sure exactly why it has been built like it has been, but I…
With Android 2.3 Gingerbread being released last month there was a lot of talk (well not really "a lot" but I like that way it sounds) about a new feature called Overscrolling . Some people seem to think that this directly translates to what is known as bounce on iOS . From a UX perspective it serves the same purpose, it gives some kind of visual feedback to the user that they have reached the end…