Install Ruby 2.3.1 from Source on Ubuntu 16.04

Execute this as the root user. If not, you can always add sudo. Here’s the script:


#!/bin/bash

set -e

apt-get update
apt-get install -y curl build-essential libreadline-dev \
libffi-dev zlib1g-dev openssl vim \
libncurses5-dev libcurl4-openssl-dev \
libgdbm-dev libqdbm-dev libssl-dev
apt-get autoremove && apt-get autoclean
curl -O https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
tar xvzf ruby-2.3.1.tar.gz
cd ruby-2.3.1
./configure
make && make install
cd ..
rm -rf ruby-2.3.1*
echo "gem: --no-ri --no-rdoc
install: --no-ri --no-rdoc
update: --no-ri --no-rdoc" > /usr/local/etc/gemrc

gem install bundler pry interactive_editor

Simple Web Server with Ruby or Python

I was developing a Javascript app and wanted to run a web server pointing to current directory.

Using Ruby

A simple script to start a WEBrick server. You can modify the root directory to a subfolder if you’d like. I named this script “server” with chmod +x so I can run it with ./server

#!/usr/bin/env ruby

require 'webrick'

server = WEBrick::HTTPServer.new(Port: 8000, DocumentRoot: ".")
Signal.trap('INT') { server.shutdown }
server.start

Python

A simple command using python -m SimpleHTTPServer

Memory of R Programming and SAS

During my tenure as a CTO for the pharmaceutical company, I had to deal with both small and large datasets for biostatistics. The gold standard for data analysis in pharmaceutical is SAS since FDA reviewers use it. Although SAS is great and I got the basic training as seen below, the cost is rather higher than I liked.

SAS_cert

When I heard about R project through a colleague back in 2003 or 2004, I had to jump on it and find out. After evaluating what it is and where it’s headed, I instantly loved it. It was very early in development, but I knew that this would be awesome. In fact, I love it so much that I became a supporting member (see below).

R Members

I don’t list R anywhere in my CV nor rants/blogs I post since it’s been long long time and I don’t have the expertise to be comfortable with it. But now that I have to deal once again with a large dataset on my private projects, I’ll pick it up again. There may even be a video diary of my learning. ;)

Playground for Objective-C

With Swift, we get Playground that’s allows us to experiment learn. But for those of us still in Objective-C and don’t really care for the new language or can’t touch it until lucky enough to work on a new project, we now have Playground for Objective-C thanks to Krzysztof ZabÅ‚ocki.

You can find the repository at https://github.com/krzysztofzablocki/KZPlayground.

He also made couple of screencasts. See below.

Demo – get excited

Playgrounds for Objective-C from Pixle on Vimeo.

In-Depth

KZPlayground overview from Pixle on Vimeo.

Hopper Disassembler

If you ever had the misfortune of working with a disassembler or a decompiler such as IDA, then you’d know that it can be painful. If this is the case, then take a look at Hopper. It’s for Mac and Linux, but more for Mac than anything else. The price is $89 for personal use and you don’t have to shell out crazy $$$ like, well, you know.

Take a look at the video and it web site at http://www.hopperapp.com.

Want My Help?

I’ve tried a site where people can ping me for questions and pair up. This got annoying real fast as I was getting pinged at all hours, especially during my pomodoro.

Rather than using a service, I’m donating 1 hour each week to pair up with anyone needing help with Ruby, Objective-C, or any other programming. The only request I have is that I’ll be recording the sessions for others to share. If I don’t know the answer, we’ll go through the process of finding out the solution where we don’t just copy and paste answers from Stackoverflow.

If you’re interested, please email me at my name at this domain with [selfthis] in the subject line along with your name, question/subject, and available time . I’ll reply with the time. Let me know if you absolutely need the instant gratification.

We can pair up using VNC, Skype, or Hangout.

The reason I’m doing this is to give back something for all the things the community has given me, there aren’t any other motivation other than the fact that hopefully I helped someone and his/her benefited from my existence.

Changes

It’s hard to believe how much things have changed since I took the position at where I work. I haven’t been actively screencasting, something I enjoyed knowing others find them useful or entertaining. My promise made to myself to actively learn someting new also haulted. Working 16 hours a day took its toll on me and especially my family.

That all stops starting next week.

I’m going back to consulting and will only take on a position where I can balance both work and life. That does not mean I’ll stop pouring my heart into the work – I’m simply not built that way. But work little smarter and better rather than working unproductively without rest. That means that I won’t cater to constant panic of others that are not really something to panic about.

I will be taking a short rest to recharge my battery and will actively make contents and contribute to the communities that helped me so much, so please keep you eyes on this blog.

If you need a polyglot, please don’t hesitate to ping me at joon at this domain.

Resources for Learning To Write Unit Tests in iOS and Cocoa

I used to joke that writing unit tests for iOS development is not necessary since there’s a compiler and laugh real hard. What I realized was that some people thought that it wasn’t a joke. Even worse, when I asked about unit tests during interviews, some candidates didn’t know how to write tests.

The root cause of this, as I see it, is that writing tests aren’t really covered at Apple’s developer documentations. And with all the new boot camps and training courses turning out iOS developers not covering testing at all, testing issue escalates to yet another level.

Here are a list of my recommendations to get started. I will create screencasts on iOS development in the future since I have more time and will ALWAYS show tests along with anything I do. Hope this helps and ping me with any questions, I’ll do my best to help.

Screencasts

Great screencasts by Jon Reid with real world examples
UIViewController TDD
iOS Model-View-Controller TDD
Objective-C TDD Example
Lynda.com has a course based on Xcode 4, but just about all the stuff still applies.

Books
Test-Driven iOS Development (Developer’s Library)
Test Driven Development: By Example

Blogs/Online
Since you’re already here, please check again for contents as I create them regularly (hopefully) ;)
Quality Coding for iOS Developers – Jon Reid
devmonologue.com – start with Introduction to Test Driven iOS Development