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

Projects
Twitter

Done. 20 tracks from Terminator 2 edited as The Longest Soundtrack. https://t.co/SeTYTOz7ak

Feb. 9, 2016, 3:51 p.m. via Twitter Web Client

If you have to scroll down on the front page of your site to see the main content, your site is probably shit already.

Feb. 5, 2016, 11:36 p.m. via Twitter Web Client

@hakimel @jimmoutzouris but leaving the scroll bar visible would be much clearer, easier and UI friendly ;)

Jan. 8, 2016, 4:49 a.m. via Twitter Web Client @hakimel

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

Follow me on Twitter

I tweet rarely: 2320 tweets , 145 followers and 118 friends.


Andrey Shipilov / Behance
Behance
 Andrey Shipilov / Django Gigs
Django Gigs
 Andrey Shipilov / Django People
Django People
 Andrey Shipilov / Facebook
Facebook
 Andrey Shipilov / Flickr
Flickr
 Andrey Shipilov / Formspring
Formspring
 Andrey Shipilov / GitHub
GitHub
 Andrey Shipilov / Last.fm
Last.fm
 Andrey Shipilov / LinkedIn
LinkedIn
 Andrey Shipilov / LiveJournal
LiveJournal
 Andrey Shipilov / ModelMayhem
ModelMayhem
 Andrey Shipilov / SoundCloud
SoundCloud
 Andrey Shipilov / Tripster
Tripster
 Andrey Shipilov / Twitter
Twitter
 Andrey Shipilov / Vimeo
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");