Swift for Rubyists: Arrays

This post is the first in a series I am doing on Swift for Rubyists. All of the examples from this post are available as a playground to download at this repo. Update: I have corrected a mistake in this post which stated that mixed Swift arrays of Ints and Strings worked because they were inferred to be the AnyObject type. This was incorrect. This only works in cases where you have imported the...

Introducing – Swift For Rubyists

As a Ruby developer, I had been looking to pick up iOS development for a while. I was lucky enough to take a course in it in the summer of 2014. The course covered Objective-C as well as the iOS API. Then Apple released the Swift programming language during the middle of the course, and the focus switched to learning Swift. I've decided to write a series of posts on Swift for Rubyists. Theses...

5 Vim Plugins that Helped Me Switch From Sublime

A month ago, I wrote a post about how I finally learned Vim. I gave a couple of simple steps that were the central focus of how I was able to switch from Sublime Text to Vim. While these steps were the primary reason I was able to learn Vim, Vim plugins were a close second. While I had wanted to switch to Vim for a long time, I knew there would be parts of Sublime that I would miss. Little did I...

Web Sites vs. Web Applications – What’s the Difference?

I've been a software developer for a while now and one of the types of software that I specialize in is web applications. Now, I live in an area where technology is not a large segment of the local economy, so when I tell people that I meet that I build web applications, I often get the question... "What's the difference between a web site and a web application?" First, Some History To understand...

Testing That Elements Do Not Exist With Capybara

I came across a problem that I've had with Capybara testing that has come up for me before. In my test, I needed to check that an element was not on screen. I was trying to use Capybara's #find method combined with RSpec exist matchers to keep the tests fast. admin_section = find("#admin") expect(admin_section).not_to be_present However, you can't use Capybara's #find method here in this case,...