Web developer from Adelaide, Australia. Civil engineer and musician too.


If I had a middle name that starts with an S, I'd have had nice initials.

Sept. 18, 2015, 7:35 a.m. via Twitter Web Client

Apple employers: ‘Fuck, we need to test our website in this piece of shit Safari’.

Sept. 8, 2015, 4:21 p.m. via Twitter Web Client

RT @ReidParker_: I can't believe Codral signed off on this http://t.co/D23i09eeCs

Sept. 1, 2015, 6:37 a.m. via Twitter Web Client

Modern website visitor: almost blind, can't handle more than 1 colour, a gradient or more than 1 page of content, most likely an idiot. /s

Aug. 14, 2015, 4:48 a.m. via Twitter Web Client

@PosAbsolute not using HTML in emails fixes a lot of problems. Mostly all of them.

Aug. 4, 2015, 6:11 a.m. via Twitter Web Client @PosAbsolute

Two different actors, apparently. http://t.co/jXeYXzMtKV

July 24, 2015, 4:21 a.m. via Twitter Web Client

@freakboy3742 yeah, I know for sure what "dexies" are, that's why I'm concerned that the doctor prescribed THAT to a 9 year old kid.

July 6, 2015, 8:02 a.m. via Twitter Web Client @freakboy3742

@freakboy3742 who in the sane mind prescribes that?

July 6, 2015, 7:28 a.m. via Twitter Web Client @freakboy3742

@mattt why Alamofire.request(.GET) and not Alamofire.get() ?

July 6, 2015, 7:25 a.m. via Twitter Web Client

A Rest API using Django and authentication with OAuth2 AND third parties! http://t.co/K4exGkqqxt

June 29, 2015, 3:23 a.m. via Twitter Web Client

Check which database you are using. http://t.co/FkJg4ONsMe

June 25, 2015, 12:59 a.m. via Twitter Web Client

The absolute "new low" from Google I saw in the code today. CSS: width: 319.78px. Good on ya.

June 18, 2015, 7:25 a.m. via Twitter Web Client

@glyphicons Any website that uses Bootstrap and uses icons from it? As in like thousands of them currently? As in too much? As in enough?

June 16, 2015, 11:55 a.m. via Twitter Web Client @glyphicons

@glyphicons "Glyphicons Halflings are normally not available for free, but their creator has made them available for Bootstrap free of cost"

June 16, 2015, 10:41 a.m. via Twitter Web Client @glyphicons

News slogan: "@glyphicons — we can make you pay money for boring icons that are overused everywhere".

June 16, 2015, 8:15 a.m. via Twitter Web Client

Did #ASP or #dotnet developers ever hear about HTML/CSS/JS concatenation and minification? Or they just genuinely don't care about users?

June 3, 2015, 8:27 a.m. via Twitter Web Client

@jimmoutzouris Bottstrap is for quick prototyping, why did they even need PSDs for that :)

June 3, 2015, 5:07 a.m. via Twitter Web Client @jimmoutzouris

Argument #4826 why links should be underlined. This screenshot apparently contains several links. Not one. http://t.co/LWe6Xgbho3

May 30, 2015, 10:18 a.m. via Twitter for iPhone

Developers who write this kind of #JavaScript "if (!(afterAt == ''))". They exist…

May 29, 2015, 7:18 a.m. via Twitter Web Client

Why you should not use @AngularJS. Cannot disagree. https://t.co/hErUlQavlz

May 28, 2015, 7:42 a.m. via Twitter Web Client

Follow me on Twitter

I tweet rarely: 2318 tweets , 144 followers and 118 friends.

Andrey Shipilov / Behance
 Andrey Shipilov / Django Gigs
Django Gigs
 Andrey Shipilov / Django People
Django People
 Andrey Shipilov / Facebook
 Andrey Shipilov / Flickr
 Andrey Shipilov / Formspring
 Andrey Shipilov / GitHub
 Andrey Shipilov / Last.fm
 Andrey Shipilov / LinkedIn
 Andrey Shipilov / LiveJournal
 Andrey Shipilov / ModelMayhem
 Andrey Shipilov / SoundCloud
 Andrey Shipilov / Tripster
 Andrey Shipilov / Twitter
 Andrey Shipilov / Vimeo
 Andrey Shipilov / Мой круг
Мой круг
(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter31556573 = new Ya.Metrika({ id:31556573, clickmap:true, trackLinks:true, accurateTrackBounce:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks");