So the latest version of Ubuntu isn't an earth-shattering release, full of never before seen new features, but there's one very small tweak that pleases me no end! It would seem that the maintainers of the Apt Package Management system, have decided to shorten the package name in it's use,

So the latest version of Ubuntu isn't an earth-shattering release, full of never before seen new features, but there's one very small tweak that pleases me no end! It would seem that the maintainers of the Apt Package Management system, have decided to shorten the package name in it's use, so that instead of having to type:

sudo apt-get install package

It has become possible to instead type:

sudo apt install package

They do say that small things please little minds! Don't they.

]]>

Update - this no longer works in iOS 10 as Apple has finally implemented playing movies from iCloud. If you try this trick now you will end up renting the movie regardless of whether you have the physical space available or not

Update - this no longer works in iOS 10 as Apple has finally implemented playing movies from iCloud. If you try this trick now you will end up renting the movie regardless of whether you have the physical space available or not

I came across this great trick for saving space on an iOS (updated to iOS 9.3) device the other day - and having used it on my 16Gb iPad Air 2 I was able to move from having 650Mb free to 3Gb free without deleting any content !

The trick involves navigating to the iTunes Store using the iTunes Store app, having first noted down the amount of available space you have (under settings >> general), and then going to Movies and attempting to rent a movie that is sized over the amount of free space you have. You can determine the size of a movie download by scrolling down and reviewing it's details - HD movies are normally a few GB in size at least. When you select "Rent This Movie" your device will complain that there isn't enough space and provide you with a pop up message that advises you this and suggests you go to Settings - if you follow the route to your device settings you will notice that, as if by magic, your available space has now increased slightly !

Simply repeating this process will incrementally increase the available space on your device - I did this about 6 times to get from the 650Mb to 3Gb free. You don't actually end up spending any cash on renting the movie - just make sure the size of the movie is always more than the free space you already have !

I've been playing around with Textastic, a great text editor for iOS with syntax highlighting, ability to connect to remote servers to grab files for editing, and a host of editor-like functions. It's just been updated to provide support for the iPad Pro, and on this large tablet it feels

I've been playing around with Textastic, a great text editor for iOS with syntax highlighting, ability to connect to remote servers to grab files for editing, and a host of editor-like functions. It's just been updated to provide support for the iPad Pro, and on this large tablet it feels truly like a desktop editor replacement.

]]>

I absolutely love Hexo - it does a great job of creating a basic blog with static pages written in Markdown, that can be deployed to any host and easily updated from a command line or any text editor capable of reading and writing markdown (so just about any text

I absolutely love Hexo - it does a great job of creating a basic blog with static pages written in Markdown, that can be deployed to any host and easily updated from a command line or any text editor capable of reading and writing markdown (so just about any text editor then).

I decided to host my new blog at Github Pages and found a really interesting little quirk if using a custom domain with that service.

There are a clear set of instructions on how to deploy to Github in the Hexo documentation, and Github also maintains a useful help file for managing a custom domain for your Github Pages. I managed to follow all of these instructions, and also the DNS update instructions at my domain registrar and eventually ended up with my pages hosted on Github under this very domain.

All was well, I thought, until I regenerated my Hexo site and ran 'hexo deploy' to deploy the changes to my Github pages repo. The deployment completed successfully, with the Hexo commands having logged me in to my Github account and helpfully confirmed that indeed my 'public' folder was deployed. A quick trip to http://ropy.org to look at my changes rendered for me in Safari, and 'whoah' what's this - a 404 !? All was fine immediately prior to deployment so what had gone wrong ?

Cue the tip that will save you from the time that I subsequently invested in tracking down the cause of my woes!

Here's the rub - when you create the CNAME file in your Github repo (in which resides your domain name) per their instructions and merge it to your master branch, your repo will be set up to work with your custom domain. The minute you regenerate and deploy your Hexo site to Github, that file will be deleted in the deployment commit, and your site will immediately fall back to pointing to the default Github url. The trick is to make a copy of the CNAME file and place it in the 'sources' folder of your local Hexo instance at the top level. This then results in the file being copied to public and uploaded to Github each time your Hexo site is generated and deployed - voila and doh !

]]>

Sometimes it just makes sense to output a pivoted table, instead of purely columnar data, when running a T-SQL select query. It's easy to think of pivoting as a complex process when being implemented in code (as opposed to the visual environment of Excel for example), however it's actually quite

Sometimes it just makes sense to output a pivoted table, instead of purely columnar data, when running a T-SQL select query. It's easy to think of pivoting as a complex process when being implemented in code (as opposed to the visual environment of Excel for example), however it's actually quite simple once you get the basic premise. Here's a brief example:-

SELECT * FROM (
SELECT
month(date_value) as partition, -- This will determine the column headings
field1 as grouping, -- This will determine the row headings
field2 as value
FROM database
) SRC
PIVOT (
sum(value), FOR partition IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],
[10],[11],[12])
) PIV

To make this work it's necessary to ensure that all of the possible 'partition' values (normally months or weeks etc.) are contained within the 'IN' part of the statement. Naturally you can perform any mathematical function on the 'value' in the pivot. Go on - try it.

]]>

I've owned a 12.9" iPad Pro since they came out and whilst I love the large screen estate (for some things) the on screen keyboard in use doesn't always hit the mark. I have looked at the Apple and Logitech offerings for hardware keyboards, designed as cases, and

I've owned a 12.9" iPad Pro since they came out and whilst I love the large screen estate (for some things) the on screen keyboard in use doesn't always hit the mark. I have looked at the Apple and Logitech offerings for hardware keyboards, designed as cases, and have not been impressed by the price - indeed the Apple keyboard with case combo comes up just short of £200 - extortion !

Whilst I could simply pair my bluetooth mac keyboard with my iPad Pro it really isn't quite the same as something that attaches as a more 'permanent' case, so imagine my joy when I discovered the TeckNet iPad Pro keyboard on Amazon. This thin keyboard attaches to the iPad Pro and uses bluetooth (not the iPad Pro's connectors) to provide hardware keyboard capability. It folds with the iPad and protects the screen in the closed position. The reviewers are right - for £25 or thereabouts you are getting a great tool for your iPad that is robustly built and is designed well.

Update 03/09/2016: Having played around with this bluetooth keyboard I came to realise that I loved using a keyboard with my iPad Pro so much that I went and bought the Apple smart keyboard and the silicone case - bye bye £200 and hello top iPad tech !

I came across a little gem the other week and use it all the time when I need to measure results over a period of weeks - this identifies the start of the current week so can be easily used in a variable, for example, as an 'end date' parameter in my query. It goes like this:-

SELECT DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)

I often use it in a variable in the following way:-

DECLARE @start as DATE
DECLARE @end as DATE
SET @start = '04/01/2016' -- The start of the current year using the ISOWEEK numbering scheme
SET @end = SELECT DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)
SELECT * FROM Database WHERE CreatedDate >= @start and CreatedDate < @end