MRS 015 Amir Rajan

Today's episode is a My Ruby Story with Amir Rajan. He was on Episode 272 of Ruby Rogues. Amir talked about where he used Ruby and how he got into RubyMotion. Listen to learn more about Amir!

[01:40] – Introduction to Amir Rajan

He was on episode 272 of Ruby Rogues and he talked about Game Development and RubyMotion. That was in August 2016.

[06:35] – How did you get into programming?

Amir had his Intel 80386 and was trying to install Win Commander on it. It came with this green booklet that says “cd C: /…”. He installed that exe command but he didn’t have enough space on the computer. He ended up deleting the operating system – Windows 3.1. He reinstalled it myself and he thought that was programming.

His first exploration in programming was actually a business development course like a business programming course. They’ve built applications using Visual Basic 4 and 5 but he didn’t understand the concept of variables.

After that, StarCraft 2 came out. That was around 1998. It has a map editor so you can actually create your own campaigns. You have to use a scripting event-based quasi-DSL to get that working. That was when Amir started looking at C, C++ and Visual Studio 6.0. He had to go to the library because a lot of information wasn’t readily available online. He also got some dummies book and random C++ books but he still didn’t understand programming. He already figured out variables but he didn’t understand functions. What he was doing is output a void method, throw an exception, and catch it in the parent code to get the return value.

Amir went to college and got a degree in Software Engineering in Computer Science. He entered the work force doing Visual Basic 6.0 and SQL server. His SQL jobs involve taking forms over data and everything was stored and back-end processed. It was a payroll company, payroll insurance so there was an immense amount of time card tracking, clock in, clock out, all done in SQL. Visual Basic was used to get the data, store them in record sets, send them into the database, and do all their processing there. He stayed on the .NET stack. His career was built on converting legacy applications to the next version of Microsoft tech.

It was not until 2010 that Amir actually started using Ruby. In 2010, the way he ended up using Ruby was actually built automation for .NET projects. All his Ruby-isms came from trying to codify build automation in Rake. He also did Rails for 8 months. He looked at Rails to see how they handled some of their attributes for shoveling across JSON from different areas or things out of the database.

[22:00] – Did you continue working on .NET and just use Ruby where it made sense?

Where Ruby fit in was basically when Amir wanted to build automation or he wanted to test his REST API. Trying to use HTTP client requires a strong type DTO to map to. He had a ton of Rake scripts that would make tons of HTTP calls do link from hypermedia and get additional information. He used Ruby to cut all that up and potentially make changes just over an HTTP endpoint. He has an endpoint that could reset himself as an administrator or open up some management studio to execute some stuff. It ended up an efficiency tool.

[24:15] – How did you get into RubyMotion?

Around 2013 is where Amir started getting this identity crisis about the languages he’s used. He started getting into Ruby and that means getting into Shell scripts, more Linux environments. Linux and Ruby are better than any of the .NET he’s done. There seems to be a more open mentality to approach and solve problems that aren't specifically related to some higher governing authority telling him how to write software. At that point, he needed to take a break and reflect on where he wanted his career to go. That’s when he stepped back from doing .NET. He bought a Mac and did things that are not .NET. During that first three-month period, he was in an exploration of Ruby.


Amir Rajan

Charles Max Wood