All Articles
Computer donation appeal - Coombe Dean School (Plymouth)
Posted by Seb T in news on
*** Children In Plymouth Need Your Help! ***
Do you have an old, unused laptop gathering dust? Perhaps an older machine you've upgraded from, with older software, or slow/unreliable performance? Or a desktop type computer that you've been meaning to dispose of?
If so, please consider contacting us to donate it for recycling, to provide those students of Coombe Dean School who do not have access or have shared access only with much needed equipment for home and remote learning during the Covid-19 period. Queensgate Studios are working together with Coombe Dean to refurbish and re-purpose unwanted computers for children desperately in need of a device to access online learning.
Computer and Laptop buying guide
Posted by Seb T in blog on
(Updated 22nd June)
By popular request our guide to parents, teachers and students looking to buy laptops during the COVID pandemic. Over the coming weeks this guide will be expanded and refined so do check back occasionally.
So which laptop is the best buy? Read on...
HTML table row transitions with Vue.js and Velocity.js
Posted by Seb T in blog on
CSS and JS transitions/animations are great for adding subtle (or less so) transition effects to elements in the DOM. But one use-case that requires special attention is tables. In a recent commercial application we needed interactive tables with fine-grained control of the appearance of table rows and cells. In this aticle we provide a simple demo using Vue.js and Velocity/js that shows a simple slideUp/slideDown to highlight row insertion/removal visually. The method illustrated is easily expanded with a sequence of animations and can be used to control complex table layouts with compound row, column or cell animations.
For slides, the usual approach involves overflow:hidden
together with manipulation of an element's height
property over time. A typical approach (eg. with jQuery) would involve some JS to perform a slideUp/slideDown, or using CSS transitions we could apply some CSS classes together with the transition
property. But tables present an edge-case: the browser determines the height of tr
and contained td
elements by content and refuses any attempts to override the height of these elements, either with CSS or inline styles.
Howto: Install Laravel 5.5 on shared hosting
Posted by Seb T in blog on
(updated 31st August 2017)
There are a few guides on the interwebs concerning installing Laravel on shared hosting, but they're either incomplete or out of date. Recently we updated one of our client sites to Laravel 5.5; the site needed to go live on a cpanel-type shared hosting (LAMP). The good news is that it's easy. Even better news is that I created a PHP script to do everything necessary to prepare your Laravel application for deployment. So what's involved? Let's dive in!
Backups
I'll keep this brief. You're a webdev and you're about to push your locally tested and working L5.x site live? Back up your existing site source, configuration and data. If it all goes wrong, roll back. If it's a production site receiving high-volume traffic, employ a strategy to test your live site via a local DNS redirect and switch the DNS live when happy. You know the drill.
Caveats
It's unlikely that your shared hosting provider will give you the necessary permissions, command line access or freedom to deploy your app in a state where it can be remotely developed. So we're going to assume that command line access to tools like node
npm
composer
and php artisan ...
are unavailable on a shared hosting account. This means that substantial development will occur locally, and the live install will be a snapshot of the current local development state. You'll have the ability to FTP in and make edits to PHP source, blade templates etc., but you won't be able to compile your client-side assets or install composer packages. You probably know this anyway, but it's worth spelling out: shared hosting is a restricted but low-cost option for hosting small-scale applications or prototypes. Expect some limitations.
Secure messaging for the masses? Part 1
Posted by Seb T in blog on
In this two-part post I discuss text-based instant messaging as a mechanism for people to achieve secure, private communication between one-another. It is my assertion that this is a basic human right and not the exclusive domain of those with a specific need for secrecy, 'something to hide' or criminal intent. One of the most basic freedoms is the ability to communicate without fear of eavesdrop from corporate, business, government or other agencies or individuals.
In part 2, I review specific software tools from this perspective, balancing simplicity, convenience and features in an attempt to find the best tool for secure messaging available today.
In this part I explain, in simple terms, how cryptography is used to secure communication in transit between sender and recipient. I contrast simple password-based encryption with the basics of public-key (or twin-key) cryptography and why it's a good thing, setting the scene for the review in part 2.
Smartwatches are out of step with the masses
Posted by Seb T in blog on
Smartwatches and other wrist-accessories for technocratic hipsters have generated plenty of excitement but poor sales. Apple have been guarded about sales figures and other manufacturers who've invested less heavily in the idea of the next 'world beating' meme see it perhaps as a loss-leader, a device to complement others in their lineup or ecosystem. Pebble, the famous Kickstarter startup, has built a successful niche product through being 'first' and device agnostic with its products, and manufacturers like Fitbit have placed emphasis on the perceived USP of a smart wrist: health & fitness. In recent days, Tag Heuer have entered the race (pun unintentional) with the first smartwatch from a marque of note and a physical quality, they hope, unrivalled in the sector.
Why then, with the excitement surrounding these devices several years ago has success been so limited? Is it another example of idea vs. reality along the lines of video-calling vs. voice-calls? I argue no, and that the answer is staggeringly simple. If I'm right, I predict the Tag Heuer device will have equally disappointing sales to its budget-conscious siblings.
The answer is battery power and default screen-off.
New Queensgate Studios website live!
Posted by Seb T in news on
An overhaul of our own site has been long overdue, thanks to work for our clients always taking priority. But we finally got around to it!
SCMS - Sublime Text CMS for Joomla, Wordpress
Posted by Seb T in blog on
Available for Sublime Text versions 2 and 3!
Currently in development and due for release soon is our Sublime CMS extension. This plugin for the fabulous Sublime Text editor allows CMS administrators and site developers to take advantage of a professional text editing environment on Linux, Mac and Windows for working on both existing and new content within the CMS, bypassing the web-based CMS back-end.
Features of SCMS include:
- Designed for site builders, web designers / developers, administrators and professional content editors. End users will typically prefer working through the familiar web-based CMS content editing environment.
- you've been focused on learning and developing Laravel 4 code for a number of months, with possibly >1 Laravel 4 codebases installed locally and in various stages of active development.
- some you don't care too much about so you've hacked them around and run composer update often.
- others are for more serious projects and, having broken your "carefree" L4 installs several times with composer update and other methods of staying up-to-date, you got wary and decided to stay with a particular (old) L4 codebase for a while so you could concentrate on your own work.
- though you may be comfortable with git and use it for your work, your L4 installs are not tied to laravel's github repos, so git diffing and merging with remote repos may not be appropriate for you.
Howto: Update Laravel 4
Posted by Seb T in blog on
In this guide I walk through the steps I took to bring my Laravel 4 codebases bang up to date. Intended audience: