Nov 27, 2015
Productivity in Swift vs Objective-C
Coding in Swift feels slower than Objective-C. I’m sure that’s partly due to not yet having the same level of mastery of Swift, that I felt I had with Objective-C. However I came across this quote, which reflects my experience:
Dynamically typed languages give fast positive feedback, but slow negative feedback, whereas statically typed languages do the reverse.
The quote was based on a comparison of Javascript and Scala, but I think a similar (although less extreme) dynamic vs static chasm divides Objective-C and Swift.
More »Nov 22, 2015
Configuring Jekyll
By adopting Jekyll to replace my previous blog my goals were:
- Low or ideally a zero maintenance blog.
- Take advantage of GitHub’s free hosting, to host the site directly from a GitHub repository.
- Use GitHub to automatically generate the site for me.
The final item in the list means that Jekyll plug-ins are ruled-out unless they are supported by GitHub. The result is it can take a little longer to find a workable solution to any problem as many search results will contain fixes that are not supported by the GitHub deployment of Jekyll.
More »Nov 10, 2015
Changing blogging platform
My original blog used Pier which was built on the Seaside web framework. I become very familiar with Pier while working on getitmade.com. Pier merged static and dynamic content, easily allowing new components to be embedded in static content managed through its CMS interface. I even invested considerable time in building Pier Admin - a WYSIWYG editor for Pier as well as many other improved admin tools. My series of posts on building a file upload component embedded the described components as live examples directly into the content, in a way I’ve not seen achieved elsewhere. Pier also allowed code to be pulled directly into the content with markup such as:
+value:source | class=NAFileUploadExample | method=onUploadProgressCallback+
Jun 12, 2015
SVN to Git
There’s a really helpful guide published by Atlasssian: Migrate to Git from SVN which lists five steps:
More »
- Prepare your environment for the migration.
- Convert the SVN repository to a local Git repository.
- Synchronize the local Git repository when the SVN repository changes.
- Share the Git repository with your developers via Bitbucket Github.
- Migrate your development efforts from SVN to Git.
Mar 2, 2015
Unix shell configuration
I’ve struggled to find an authoritative source to explain the different uses of the files: ~/.profile
, ~/.bash_profile
and ~/.bashrc
. Finally, I found a good explanation here. Quoting directly:
- When you login graphically to your system it will read
~/.profile
so you put there settings like LANG which are important for graphical applications. - When you open a terminal (except Gnome-terminal & Screen) you open a login shell which sources
~/.bash_profile
- When you execute commands in non login shell like ssh server command or scp file server:~ or sudo(without -i) or su (without -l) it will execute
~/.bashrc
~/.bashrc
is meant for non login invocations, you should not print there any output - it makes tools like scp fail.- If the shell of the user is set to
/bin/sh
, you will need to edit/etc/passwd
and set it to/bin/bash