Find My Run — My first iPhone app

It’s a pretty basic app that lists the ten nearest running events in your area. There was a few new pieces of tech(for me) involved. The app was built with Appcelerator’s Alloy framework, which I must admit I quite like for rapid development of cross platform mobile apps(hopefully an Android version shouldn’t be too far behind). The API that drives it was build with Python, Flask, MongoDB and hosted with Heroku, also great tech for getting something out quickly. I’m hoping to improve the app as time goes on, but I have another idea I’m due to implement first… ...

May 17, 2014 · Shane Dowling

Owning Your Data — Replacing Dropbox

Dropbox as late has come under a fair bit of fire. They’ve added DMCA takedowns to personal folders, scan/open personal files and have appointed Condelleza Rice as a member of their board of directors. Which has kicked off quite a bit of backlash including a #dropdropbox tag that’s gaining popularity. Seems like an ideal time to start owning your data, dropping Dropbox and moving to your own hosted alternative. What I’m suggesting is up for a bit of debate, instead of using a hosted service like Dropbox, I use a tool called BitTorrent Sync to sync my documents for my laptops/tablets to my own personal server that acts as my file storage. This means that no files are transmitted to server I don’t have full root control of. There is, however a downside. Bit-Torrent Sync isn’t open source, which is why it won’t be recommended on Prism Break and understandably so. The team are looking at open sourcing it, but that could be some time before it’s decided. ...

April 24, 2014 · Shane Dowling

SugarCRM — Search for records related to the current record

Say you have two modules in Sugar: Animals and Ringmasters and they aren’t directly related via a standard relationship but they are related through some convoluted means. Now, imagine if you want to override the SugarCRM search to allow you to search for all Animals indirectly related to a Ringmaster, I’ve written about how to do something similar recently. Conversely, you want to search for all Animals related to a Ringmaster you’re currently viewing. It’s not a link that exists in Sugar so you can directly see a Dashlet and you don’t want to build anything from scratch so that’s going to take effort. ...

April 20, 2014 · Shane Dowling

SugarCRM — Searches with data from indirectly related modules

Building modules in SugarCRM can cause you to create a boatload of unnecessary relationships, simply because it’s convenient to do so. Maybe you’d have a relationship where A relates to B and B to C but you’d like to search for all A module records that relate to C. One option is to maybe related A to C and maintain the relationships by using hooks on save to preserve the A-C relationship. That way you could leverage Sugar relate fields and indirect searching, but that can be a messy choice that adds a lot of complexity if overused. ...

April 17, 2014 · Shane Dowling

Build Yii 1.* with composer

While we’re looking forward to Yii 2 coming alive, all of the posts on please do not use it for production**. So it might be a little while before we have in-built composer awesomeness with Yii. The guide online on integrating composer with yii does not seem particularly straight-forward and misses out on a lot of steps, hence this post. You basically need to have the right folder structure or things will start to break. This guide relies on some of phundaments packages to get things up and running, as the official yii composer project doesn’t work anymore. ...

April 8, 2014 · Shane Dowling

SugarCRM — Add a code-driven column to a list

Sometimes you might find that you want your users to make decisions based on ListViews and you need to pull in relational data beyond the immediately related objects. Example So using the circus example say you have performers who are performing for a specific show. You might want to see what other shows those performers are also attached to. If it’s typically only one or two shows per event, you can probably make another column in the ListView that displays all shows related to that performer. Lets call this field ‘Other Shows’. ...

April 5, 2014 · Shane Dowling

Yii issues with Homebrew PHP 5.3

When running yii with a homebrewed install of PHP 5.3, PHP code embedded in HTML wouldn’t work. This is because for some inexplicable reason Homebrew’s PHP install disables short-tag support. Simply edit /usr/local/etc/php/5.3/php.ini and change short-tags to On. short_open_tag = On Also ensure you’re using the homebrewed installation of PHP. LoadModule php5_module /usr/local/Cellar/php53/5.3.28/libexec/apache2/libphp5.so

April 4, 2014 · Shane Dowling

Owning Your Data — Replacing Gmail

Gmail isn’t secure or private, Google have admitted this. You simply cannot expect privacy from any service that you don’t have control of. Thankfully your email doesn’t have to be tied a mail service like Gmail, Yahoo or Microsoft. You can simply roll your own email server with your own domain name and easily create an (admittedly minimalist) Gmail equivalent. Before you start If you think this guide is too complex, that’s totally understandable. Running your own mail server requires a reasonable amount of technical experience. If you’re interesting in getting away from a service like Gmail and want a good alternative check-out https://mykolab.com/. It costs around 10 bucks a month for 2GB of storage, which isn’t too bad. If you think this isn’t enough space, you could either pay for more or have a mail client like thunderbird offline all non-essential email to your desktop. ...

March 29, 2014 · Shane Dowling

Useful bit of SQL to update many records in SugarCRM

UPDATE clowns SET deleted=1 WHERE id IN (SELECT id FROM ( SELECT id FROM clowns WHERE deleted = 0 ORDER BY id ASC LIMIT 0, 800) tmp );

March 27, 2014 · Shane Dowling

Owning Your Data — Initial Server Setup

So before you can move to your own self-hosted services, you’ll need your own hosting. This is a really basic tutorial/set of links on getting a server up and running with Salt. Hosting Provider DigitalOcean is a terrific hosting company if you’re want to play around with a few personal servers. Here’s the pro’s list. It’s really cost effective. The UI is super basic. They have great tutorials for beginners. How safe is DigitalOcean? Well, this is a call you’ll need to make yourself. They are a New York based hosting company so that’s not so good. However, you can deploy droplets(servers) in Amsterdam which CEO Ben Uretsky stated should make snooping harder. It’s hardly a ringing endorsement. ...

March 6, 2014 · Shane Dowling