Category Archives: iPhone app

iPhone app

Replacing iAd with admob etc.

Recently I picked up my old iOS app as the framework it replied on Parse was going sunset (the date was Jan 28, 2017). I picked up Google firebase after reading a few posts including the one at In the process I also upgraded CocoaPods, and replacing the ads from iAd to admob. About 3 months passed by since the initial launch of admob, it seems the performance of admob is much better than the iAd. Note I only used the banner ads for now: this is similar to the iAd banner ads it replaces with. Per Matthijs Hollemans (the famous iOS dev, also tutorial writer), interstitial ads is more powerful when possible, but I have not successfully made it work yet.

Going forward, I am thinking learn about the Swift language, as David Smith and Marco Arment mentioned in recent Under the Radar podcast (State of Swift), this is increasingly urgent now, for iOS native app dev.

Back to ads, for me I have seen the steady declining of my blog website viewership, and the income from google ads. This admob thing gave me some hope. This also confirms the trend of people increasingly switching from desktop to mobile, esp. smart phone.

Many roads to Rome

I mentioned sometime ago that LaunchCode is a great way to get into programming / software development world for a grown-up whose background is not computer science or information science.

But that’s not the only way. More recently I noticed some friends made the transition from research position at Washington University to industry. Again there is more than one way. One friend took a lot of statistical courses from coursera, combined with the background in statistics, R and computer at Wash. U., that particular friend is a senior data scientist on healthcare. A couple more friends made transition earlier, from research technician to statistical analysts after getting a MS degree (all at Wash U.), then transition to industry.

So there is really no single approach to Rome. :-)

There is one thing in common though: one has to learn, either via nontraditional degree programs, such as online sources coursera, or launch code, or a degree program. So in other words there is no free lunch, or no pain no gain :-)

2016 year end review

This is the beginning of the 2017, and it’s also the customary review season for me. This weekend is a bit interesting as we got freezing rain on Friday (and I had to work from home on that day), also due to the fact about a month ago we had freezing rain on a Friday afternoon , the rush hour traffic just blew up. This time no one was taking the chance, from weatherman, to MODOT, to the city/county officials, to the business. Friday was pretty much closed, or work from home for many. It’s Monday (MLK day) today, looking back Friday is also the only bad weather day we had in this weekend: due to the low temperature the road is frozen in some cases, which made driving or walking a bit dangerous. But the situation was not as bad as in 16-Dec-2016. On that afternoon/evening, I heard two friends got into car accidents, and my neighbor who works for the same employer (normally 30 mins drive) as me, spent 5 hours on road.

Weather forecasting/treating road/on-call pager support
Sometime I felt this weather forecasting/MODOT treating the road is a bit like the on call pager duty I do. Both do not have a scientific or definite answer beforehand, but if one misses it, bad things can happen, system went down or people stuck in traffic. On the other hand, if one cried wolf and in the end the wolf did not come, people would second guess you.

I feel I became much more confident on my day job as this is also my 1st complete year (after 7 months I put in year 2015), mainly because I feel familiar with the things there, both technical and non-technical. At the same time, I feel the faster growth of both girls (now 6.5 and 2.5 years old respectively), and the time I spent with them is both precious and sometimes could be tense. I think ideally an indie like work/life may work out better (maybe a few years down the road).

I do understand this is not easy, and I saw some indies are working hard on this aspect, but just like most small business in the US are not making tons of money, most indie software devs are doing similar. So better have a bank account loaded before going solo :-)

Is there too much emphasis on coding?
Launch code, hour of code, girls who code, girls in tech, etc. Interestingly enough my wife who is not a techie, decided to take the LC101 course from LaunchCode at local community college. Note St. Louis is where the LaunchCode started. She is pretty into git these days. I think from the diversity point of view, getting girls/women into coding/tech world is very exciting and in the long run will benefit the industry and society.

We signed up too many classes for Serenity
Serenity has 5 extra curriculum activities (note we did not count the after-school Chess or computer club class here): they are Children’s choir, ballet, piano, skating, and drawing. This is a bit too much.

Last but not least, I took the review idea initially from theSunsFinancialDiary and Kirby Turner (whitepeak software)

Apple Watch 2 first impression

I decided to get Apple Watch last week and I have used it for a few days. The main reason for using Apple Watch was for consolidation. I have two iPhones (one work, one personal) and I have used two wearable devices recently: the Fitbit (from Charge to Charge HR), and the Martian Notifier. Both are good, but either has some weakness. The Fitbit Charge broke shortly after using for a year, they were nice to send me a refurb Charge HR as replacement. The issue with HR is there is a electro-magnet related pain induced by wearing that non-stop, also the battery lasts about 2 days from 5 days 6 months ago. So with Fitbit, I have used their app since Jan 2014, and their device June 2015, liked both their app and websites. But not their devices in terms of build quality and ergonomics.

Martian Notifier was good. Not much complaints. The reason I got it for work was due to the need I don’t want to miss work-related text messages (on-call pagers). It did its job. But I like to have a combined text message notifier and fitbit tracker. Apple Watch seemed fit this bill (no pun intended). I was fairly impressed by its build quality. And the apps for the most part. A few things I can recall:

1) During initial setup, I was a bit confused by the standard “unlock” message, finally I figure out I need to lock the iPhone, unlock it so that the apple watch will also be unlocked.

2) The Sleep tracking. It seems we are going back to the good old jawbone way “push a button before sleep”, “push another button after wakeup”. I did not realize this is not given thinking this is a $369+ device. I am already spoiled by Fitbit seamless sleep tracking. Since my Fitbit Charge is not totally broke, I think may use it combined with the “Sleep++” app.

3) The need of at least iPhone 6 for Apple Pay still applies here. Thought about pairing the watch with my own 5s and found the Apple Pay is not supported. I think this is one downside from Apple: they tend to support newer devices for more iPhone sales.

Source code control

Or version control. My wife is taking a class at launchcode and she just started learn git, one of the most popular source code control systems. Git has a steep learn curve, in my opinion, but it’s getting popular, widely used and I think that’s the reason they picked it. But I think that could also be a frustration point as I saw some BAs (business analyst) really hated git when it was introduced at my former employer (mercy). It was a switch from SVN to git. For people never worked in software world, version control is also sometimes under appreciated. Although most people can understand the basic concept. Because if we use .001, or .old, .new etc, things can easily get out of control even for one person. I had my first hand experience when I was a grad student doing some coding for FEA software. Sometimes the operating cost of source control is quite high, I recall when I was with ugs, in the earlier days of perforce deployment, it took hours to refresh local repository. And once I did the dumb thing, I kicked off this hours long process twice, had to call my teammate in cypress (right next to Anaheim, the happiest place on the earth, at least for kids), for help. In some places, mostly small shops, I saw people not using source code control. Note I used the word people, not developers, because I believe developers use source control. Two main benefits of source control: 1) back up so that the cat does not eat the code; 2) time machine: we can go back to the good version or release version, so that we have a benchmark in which certain feature used to work :-)

Macbook Pro Rentina late 2012 model battery cannot charge

I had this issue on my 3.5 year old macbook a few months ago. Googled and did the SMC reset as suggested in this article. Worked for a while but before Christmas the problem returned, and the SMC reset trick is no longer working. The symptom is it no longer charge after exhausting the battery. So I brought it to the local Apple store.

Last time (shortly before I bought this macbook), I had an issue with the work macbook air, and I brought it in Apple store. The fix was cheaper, about $230.xx something like that. At the time the symptom was I saw some spark at the MagSafe plug, and after that I could no longer charge. Maybe just a replacement of the MagSafe board at the time. This time they had to also replace the logic board. The cost is about $511. It took about a week (5 working days) to fix, I recall last time it was slightly faster. It could be due to the holiday (Christmas) season. I am still happy it got fixed though, as I did not back up all the data on the Macbook. Now I will be more careful.

A new (old gen) Macbook air probably costs starting $700 to $800 at this time, for comparison purpose.

Vagrant, Consul

The following is mostly notes for myself, when I followed the Consul get started guide (by Hashi corp).

How I created a Vagrant instance on mac (or be more precise, Vagrant Cluster (github))

I am interested in the Vault also. Since I am not familiar with Docker, I think this time around I would just do the Vault GSG on Vagrant or on Mac (last time around I was attempting to run before I can walk). I am interested in the security aspects of Vault.

An unrelated topic, also interesting to me, is the real time notification.

How to root T-mobile Samsung Galaxy S3 SGH-T999

Did my first root of Android phone. I had two Android phones before, but I never rooted it. This time I had a need for root to add the Chinese language to a Samsung Galaxy S3. The specific model is T-mobile SGH-T999 (shown in the Download or Recovery mode, but the model number on the settings says AT&T model number, which caused some issue for me later down the road).

The main reason for doing this is to add Chinese language support. It looks like by reading the article we can only get it work by rooting. I also looked at another article on the language support that suggested both MoreLocale2 and Language Enabler. Tried MoreLocale2 first but it seems needing root. So I started looked at the root tutorial. Because of the “wrong” model number, initially I thought this is an at&t device (model number at&t samsung galaxy s3 i9300, and here is an tutorial for that). Note the two tutorials are similar (t-mobile root tutorial here), the main difference is the at&t one is more verbose, and it has a link to the mod5 file for the at&t model. The odin program did not work for me initially because I was using the latter mod5 file (mismatch between hardware and mod5).

After that mistake the device was stuck in the Download mode (link to get into the Download mode), and could not reboot. I googled I have to download a Samsung software to get it restored. There were other hiccup too, one being the device cannot connect to my Windows 7 laptop (a bit old HP elite book), even after I install the driver. Had to reboot to make sure they connect. Back to topic, I was able to root after I switched to the mod5 file for t-mobile device. And it worked like a charm. After that I installed the rootCheck and SuperSu app from the Play store.

After the root, reboot I installed the Language Enabler app by Wanam from Google Play store (again refer to the language article above).

Final impression: the Samsung s3 is a relatively old device by today’s standard, but it works as a basic smartphone and adding the Chinese language to it, in my specific case, could potentially save an iPhone purchase (SE starts at about $400 in the states). It just takes some work to get it work, from enabling the developer mode/USB debugging on the device, to the odin software root.

Happy rooting :-)

Soft spoken, killer app, killer instinct and no news is good news, software update

I am a soft spoken person. I got to know this word when a recruiter gave me feedback in 2000, when I applied for a consultant position at software company. That’s ok most of the time, except in certain cases we need to be clear: we cannot be vague, and we cannot waiver. Some examples include communicate with clients or customer when we work on a project, we need to be clear about the responsibility of each party, the expectations and the timeline or milestone.

A related topic is the “killer instinct” or “killer attitude”. We all know “killer apps”, the apps that knock the ball out of the park. Similarly, by killer instinct I meant in certain cases, we have no choice but to fix the issue, and we have to deliver. An example is the crisis situation, customer was already unhappy with the situation, we need to turn it around. I had couple instances like that recently. The solution usually involves putting head down, looking at the code, ask question or solicit help as needed. The solution will come eventually.

On the other hand, I have seen very intelligent people that are soft-spoken but don’t have the killer-instinct, or the drive to solve or fix a problem. This is ok, as long as the team has other people with the attribute above. But for the person without that trait, he/she may hit a career glass-ceiling soon. Because in real world, stressful situation/conflict arise and it usually needs that skill.

Continue reading

Podcast I listened recently

I used to listen APM: Market Place (NPR) and the Nightly Business Report (PBS => CNBC). I was a business news junkie, and was into stock market. I also listened to a more in-depth podcast: the weathtrack by Consuelo.

More recently, I expanded my podcasts a bit, as you can see from below.

NPR hidden brain: I grew interest in psychology in recent years. It’s very much applicable in the business, work place, and the home.

Developing Perspective: david smith, note he moved on to the under the radar with Marco recently. But very good stuff from indie dev perspective.

Under the radar: by david smith (web, twitter) and marco arment (web, twitter). This is the new podcast launched by David and Marco (the lead developer of tumblr and famous tech blogger).

Release notes: this one is more geared toward developing iOS/Mac apps for business. I used to listen quite a bit, but have not followed as close as before since I am no longer doing iOS apps.