iPad Pro as main machine after 2 years

I got my iPad Pro at the end of 2017. Before buying it, I had read many blog posts by various developers who were using iPad for programming and web development. But soon after I bought it, I realized that serious web development on iPad is hard. The biggest issue was debugging JavaScript and CSS without web tools.

At first, I was having buyer’s remorse but I loved the form factor of iPad and loved drawing on it. I am used to reading on Kindle and iPad was just too heavy for long reading sessions but it was very decent reading device for quick reading sessions. So I kept it.

Initially, iPad was fun device for infotainment. But slowly I started to become more productive on it. I stopped doing web or app development. Instead, switched to command-line based projects such as algorithmic trading or data science experiments. It was sort of subconscious change as I carry iPad around a lot more than my laptop and when I had iPad with me, I didn’t wanna build anything with GUI.

Currently, I cannot get rid of my personal laptop completely because I use it for some dev projects, I was learning Flutter and been playing with Godot. I tried to setup Flutter on my VPS but I could never get it to work right. Also laptop is needed for various trading softwares like Wealth Lab Pro or Think or Swim. Wealth Lab Pro is what got me into algorithmic trading but unfortunately it is Windows only. However, I am using RDP to log into Windows machine from my iPad. It is not a smooth experience but doable.

Currently, I use following apps on iPad Pro:

  1. Blink shell for ssh connections to my VPSes.
  2. ia Writer for writing fiction.
  3. Kindle app
  4. Working Copy for working with my repos on github and bitbucket.
  5. Apple Photos app
  6. Procreate for drawing and painting
  7. Affinity Photo for drawing and editing photos
  8. Snapseed for editing photos
  9. Apple Notes for quick notes with Pencil
  10. Dropbox for transferring files between Windows machine, Android phone, and MacBook Pro
  11. Microsoft Remote Desktop
  12. And then usual entertainment apps such Netflix, YouTube, etc

Also I tend to avoid installing most apps and use websites, like Reddit or Facebook. I rather login to website instead of an app on my machine that is constantly monitoring and sending data to mothership.


Wealth Lab Pro Earning Play Screener

This is a quick script that I use to find Options to buy or sell.

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Components;

namespace WealthLab.Strategies
{
	public class MyStrategy : WealthScript
	{

		protected override void Execute()
		{
			DataSeries maFast = EMAModern.Series(Close, 50);
			DataSeries maSlow = EMAModern.Series(Close, 200);
			DataSeries maFast_1 = EMAModern.Series(Close, 10);
			DataSeries maSlow_2 = EMAModern.Series(Close, 50);
			DataSeries ma = EMAModern.Series(Close, 10);
			DataSeries maFast_3 = EMAModern.Series(Close, 10);
			DataSeries maSlow_4 = EMAModern.Series(Close, 50);

			PlotSeries(PricePane,EMAModern.Series(Close,50),Color.Red,LineStyle.Solid,2);
			PlotSeries(PricePane,EMAModern.Series(Close,200),Color.Green,LineStyle.Solid,2);
			PlotSeries(PricePane,EMAModern.Series(Close,10),Color.Blue,LineStyle.Solid,2);
			PlotSeries(PricePane,EMAModern.Series(Close,50),Color.Red,LineStyle.Solid,2);
			PlotSeries(PricePane,EMAModern.Series(Close,10),Color.Blue,LineStyle.Solid,2);

			//for(int bar = GetTradingLoopStartBar(201); bar < Bars.Count; bar++)
			int bar = Bars.Count - 1;
			{
				if (IsLastPositionActive)
				{
					Position p = LastPosition;
					if (p.EntrySignal.Contains("Group1|"))
					{
						if (CrossUnder(bar, maFast_3, maSlow_4))
						{
							SellAtMarket(bar + 1, p, "Group1");
						}
					}

				}
				else
				{
					if (maFast[bar] > maSlow[bar])
					{
						if (maFast_1[bar] > maSlow_2[bar])
						{
							if (Close[bar] < ma[bar])
							{
								if (EarningsDate.InWindow(this, bar, "earnings per share", 7, 0))
								{

									BuyAtMarket(bar + 1, "Group1|");
								}
							}
						}
					}

				}
			}
		}
	}
}

iPad Pro for Programming & Fun

I finally bought 10.5” iPad Pro (Affiliate Link). It was mostly an impulse purchase. When first I started to use iPad, it felt blah. It is hard to find good apps or what apps you might want to try out.

My main goals with iPad was to have a really small laptop replacement. So I was hoping for a decent code editor. There are some code editing apps but there is no way to try them out before purchasing. So I am spending a lot of time reading reviews before I purchase any app.

Before purchasing iPad, I read a few blog posts by some programmers using their iPad as their main computing device. They all said they had some issues but it was doable. Unfortunately, sample size is a bit small right now and it seems it is doable only if you ssh into a server. There is no easy solution for local dev.

Then my other goal was to use iPad as entertainment and artistic device. For these functions, I didn’t need to buy Pro version but because I wanted smallest and lightest possible profile with a keyboard; my only choice was Smart Keyboard. And Smart Keyboard only works with Pro version.

So here are my current apps.

Apps for Programming

I am still looking for a code editor app. Most programmers’ workflow was to login on server and edit code there. Here are my current apps:

I started off with Termius shell client but quickly got tired of tapping screen to hit escape. I could not find anyway to remap keys in it. After some search, came across this post about using iPad Pro as main computer for programming. Based on his recommendation, I bought Blink shell for $20. This app let’s you map CAPS Lock key to escape and that was all I needed this for. However, its UI feels cleaner and more polished than Termius too.

I would recommend Blink over Termius unless you are unlikely to spend a lot of time in shell. And initially I was hoping I would not have to login to a server to code, but increasingly it looks like I will have to, that’s the other reason why I gave up and bought this.

Working Copy

This great free app. It works great with BitBucket. You can clone your repos, use built-in editor to edit files, commit & push. Perfect for local code editing. If you have CI/CD, you don’t have to do much more than push your code.

Termius

This is a great ssh client. Another free app. It has onscreen keyboard for sending keys that are missing on Smart Keyboard such as escape. However, I don’t want to use persistent connection. I want to be able to code on a plane or by pool. So local editor like Working Copy is the best option for me. This will come in handy though for when you need to debug or fix issues on the server.

Swift Playground

This is just a tutorial for learning swift but it is really really well made. I am really enjoying use it. I might end up learning Swift because I just like using this app. Highly recommended for kids and those who are new to programming.

Drawing Apps

Procreate

I didn’t need to buy this as there are tons of free sketching apps. But this app kept coming up whenever I was searching for tutorials on drawing on iPad. It was also recommended by some of my friends. So I bought it.

It definitely a few level above free apps. One of the best feature I like about this app is that you can export images of any size. Most free apps limit the max resolution of images. For printing especially on t-shirts, this is perfect.

Sketchbook

This free app and it is close competitor to Procreate. Only thing is that I could not figure out how to export high resolution images from it. So I gave up and bought Procreate.

Photography Apps

I think all of these apps are available for Android cellphone. The real advantage of using these apps on iPad is big beautiful screen.

More Creative Apps

GarageBand

This is fun. Just messing with it, I was able to make pretty decent sounding music. Need to play with this more.

I have GarageBand on my MacBook too but never played with it. Touch interface seems a lot more natural for making music.

iMovie

Another app that is already available on MacBook. I have used it on my Macbook but touch interface makes it a bit easier use. However, iMovie on iPad lacks stabilization feature.