I have removed JQuery and all the scripts that depend on it from this site. The start of this came from looking into site performance for our company websites, checking best practices and using the awesome Chrome Audit tool. For this site I noticed that it was really quite fast already, a time to interactive of 980ms is well below most sites on the internet, and this is somewhat helped by having it deployed on netlify’s CMS.
I see this with a couple of tools, but most recently the one that annoys me is framer the designing and prototyping tool. They have recently released a beta of framer.x which is a complete rebuild and allows designing and prototyping with React components (using TypeScript at the moment, but ES6 support is coming). For some ridiculous reason they use Facebook as their support and community forum. A task that Facebook is hopeless for.
Netlify Hugo Gitlab
Now that the site is up I thought that I would quickly mention how this is built. I have been really into static site generators for some time, mainly after having to administrate and maintain a large number of WordPress sites and clean them up after hacking attempts (protip: if you want to use WordPress - just pay for it at WordPress.com so that they keep it up to date).
New Site I have needed to update the site for quite sometime, and I haven’t updated the blog for about 5 years now. At the same time I also needed to work on blog for iconik.io for which we wanted a static site generator, and then I wanted to have a proper publishing workflow. So I took the opportunity for upgrade this site and learn Hugo at the same time.
It seems a week doesn’t get by without a post or two in Hacker News about GUI design or graphic design, often entitled something like “Design for Hackers” or “Design for Developers”. The trouble with all these posts is that they are trying to shortcut the methodology of design by various hacks, even something as lengthy as read 5 books is by-in-large a hack. There is no substitute for practise, for looking and appreciating your world in a different way (this can be self-taught, I will discuss more below) and for in-depth thinking about what either comes down to communication or feedback problems.
Blogging · Me
So another year is gone by and another year where I haven’t really blogged much, concentrating instead of Cantemo which had a pretty amazing year. At the start of 2012 I made a list in Evernote of all the techie things that I wanted to achieve and I am going to review them here. New Website/Blog. Well I have started on this. This site and my portfolio site are now quite out of date, www.
So a while back I got delivery of my Raspberry PI, but I have been so busy developing on our Rough Cut Editor, Annotation Tool and Adobe Premiere support that I haven’t had time to use it. But now I see a project that I really want to try: http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/ – Baking PI or basically build your own OS 101. I have always wanted to do this, but have basically all my hardware in operation at once and nothing cheap to try it on.
In XCode 4.4 Apple has made the decision to not ship the MacOSX10.6.sdk that is in use by 100s of apps. The choice is to either not install XCode 4.4 and continue using XCode 4.3 or if you have already downloaded XCode 4.4 you need to get the XCode 4.3 DMG from Apple and then extract the MacOSX10.6.sdk from it and place it with the other SDK versions. If you already have a /Developer/SDKs/MacOSX10.
I really like OpenIndiana, but finding some documentation for even the most basic things sometimes is difficult. Take NTP for instance, should be easy right.. And it is if you know what you are doing. vim /etc/resolv.conf Setup the search domain above, then copy the ntp configuration file: cp /etc/inet/ntp.client /etc/inet/ntp.conf Edit the configuration file putting in the servers that are near to you. vim /etc/inet/ntp.conf Enable NTP: svcadm enable ntp
Profiling using CProfile. Sometimes it is advantageous to look at what your application is doing before it goes in to production. Using tools like iPDB and PDB we can step through code, particularly in the view that you are working on, but it doesn’t tell the full picture of what is going on up-until that view is called, or after the HTTPResponse is starting to be returned. It is easy to start profiling django runserver using CProfile: