The Speed of Software Development
Accelerated software development seems to be the norm now, things need to get out as soon as possible to get on to the next feature set. I’m reminded of this through using the latest Xcode beta, (Xcode 9 beta 5) and these beta has an issue of very high CPU usage of the interface builder component even when it is open and being used which requires you to stop and restart the app each time it occurs. This is on BETA 5 and the release is scheduled in a month or so to keep up with the new iPhones. This September release date happens each year regardless of features added or complexity of the changes. This seems more common with software these days; Apple is not the only offender.
Should you do a Masters
This past Friday I went to see another students defence to be more prepared for mine which will be coming shortly with my thesis in draft form. However, while most would think technical questions or issues with the work would stand out most to me it was actually a question posed after the defence which was: “If you were to do it again would you do a masters and would you recommend it to an undergrad” which stood out to me because it was something I’d thought of and changed over time as I did my research.
On the topic of platform consistency
These days vendors want you to create software for multiple platforms be it mobile, desktop, tablet etc. While a lot of components can be transferred without issue there are a surprising number of hangups for things that are so similar and it makes one wonder how serious they are about getting developers to create products across the ecosystem.
Basic Syntax Highlighting Using Swift
For one of my projects I wanted syntax highlighting for code loaded from repositories. I figured it was common enough in many projects and that there would be a library that would handle the job nicely. To my surprise there were only a few, and none are well supported. Of those found none have been updated in over a year. In Swift years this is very long which means if a project is to be salvaged one must migrate from Swift 2 or version 1 in some cases. I felt that instead of trying to salvage one these I would a nice little Sunday project to build my own.
Here is the Syntax Highlighter on some of my Objective-C code with the “Obsidian” theme.
On The Topic Of Tools
___—
title: “On the topic of Tools”
layout: default
—
People often wonder why languages such as Java still are so prevalent in the world, I’d argue a good part of it is the tools. Java IDEs and the compilers have been around for years, for IDEs alone I can think of 3 major competitors that all work well. Swift is very successful because it is well backed by Apple with Xcode and the existing toolchains, without it I’d imagine Objective-C would have lost very little to Swift.
Scientific Computing Languages
As a Master’s student it is common to either recreate existing algorithms in papers or to develop your own, in the past Python was my go to language for this task since it had clean pseudocode like syntax, all the built in data structures, and a wide variety of libraries implementing a portion of the common functions used in algorithms. However, about 6 months I started to try out Julia which is a language designed for scientific computing. I figured I’d give it a go but then switch back to Python finding it to not be mature enough but here we are I’m still using now and have been making it my default language for implementing algorithms.