Categories
advice and tips Fun kids

Birthday party places for little kids in St. Louis

Reading Time: 2 minutes

We went to the Chick-fil-a Chesterfield valley today for lunch, actually we spent quite some time today. The reason being we have a birthday party at 3 pm at Chesterfield mall, and it takes 40 to 50 minutes going back and forth from the Chesterfield to our home in Creve Coeur. Talking about the birthday party places in St. Louis, since Serenity turns to 3 and went to pre-school, there are a lot more birthday party invitations, and I typically obligated. Here are the place we went so far, and I added my comments there (purely my personal view as a dad):

1) St. Louis Zoo (3 times): good for little kids. Kids got to see the insects and the birds and small animals (such as guinea pig). Their Owl cup cake is big (maybe I will do a cup cake series next time 🙂

2) Bounce-U (3 times): the first time was quite amazing, kids just bounce bounce bounce. I think Serenity still enjoyed the 2nd/3rd time, except me as a parent got a bit tired in the 3rd time as 2nd/3rd time was fairly close.

3) Magic House (2): one is for big kid (grade school, 7 years old), the other is for Serenity’s classmate (4 years old). So the content is slightly different. The first one is science focused, the second is more art focused. Both has cup cake decoration.

4) Des Peres “The Lodge” wave swimming pool (1): unique place, one of a kind in St. Louis (the other one being Carousal below, both places the parents need to prepare own food, other places pretty much they offer pizza, or cakes).

5) St. Louis Carousal/Foust Park (1): one of a kind, it’s interesting Serenity does not like the carousal at the Chesterfield Mall (she got scared once when she was much younger), but she like the original Carousal.

6) Hi Energy Gymnastics Chesterfield Mall (1): a lot of gymnastics exercise, from pure gymnastics point of view, Team Central at Dorset is probably better, but this place is good for party and the location is also good. Note Chesterfield mall also has a carousal.

7) Last but not least, the art/drawing place in Chesterfield mall (1). I forgot the name now, but it’s by the Sears store in the mall (near mall entrance).

Quick summary: work-wise, probably less work for parents at Bounce-U, St. Louis zoo, and magic house. Fun/unique factor: Des Peres “the lodge”, the Carousal at Faust Park are probably the winner. But more work for parents.

I will refine this post as time goes.

(Update 05-10-2014) Last month we went to Butterfly House at Faust Park, which is also very nice and unique. The kids got to tour the butterfly house with parents, the staff played a butterfly themed game/Q and A with kids, art project, decorating cookies, etc. Overall I think this is very good. This is a bit similar to Magic House (the art part), as kindly reminded by one of the parents.

(June, 2014) That paint spot: this is a unique spot near Manson and Olive, we went there for birthday. Kids like painting, the unique thing they do is they paint on ceramics, then they will put it on fire and make the color stick. I guess from business point of view, customization (think T-shirt, mugs) is very interesting.

Categories
advice and tips Fun

Serenity wants the lemonade from Chick-fil-a

Reading Time: < 1 minute

Yesterday evening, after my wife and I picked up our daughter, and decided to go to a local Chinese restaurant for food, Serenity wanted the lemonade from Chick-fil-a. I cradled quickly, and suggested we stopped by Chick-fil-a before going to the Chinese restaurant. My wife was extremely upset, and wanted nothing of it. We calmed down it, during the time I went to dollar tree store to pick up something. After that Serenity still wanted the lemonade. I suggested we go to Panera (St. Louis Bread Co.) for the lemonade, because it was on the way vs. Chick-fil-a which was a bit out of the way.

Thanks to God eventually I was able to persuade Serenity to get it from Bread Co., and we went o Jiangxiang afterwards. Which is a another story (hint: they are extremely busy on Friday evenings)

Categories
iPhone app Software development

Why unit test?

Reading Time: 2 minutes

For the pretty reports?
About a year ago, I worked for a client for an iOS project. The developer I worked with is very enthusiastic about unit testing, test driven development. I recall he used some tool (lcov, stands for line coverage), and set up the build script such that the unit test and lcov runs frequently. I was also shown the pretty chart created by lcov. All is good. except one day, I found a utility function I wrote was broken in the iPad simulator. Turns out the developer modified the code and added test for that function (a good thing), but at the same time forgot to run the real thing to check it.

Real motivation for unit testing
I think the unit test as another perspective to verify the code works as desired, this is from my own experience. I recall we have regression test suites in the software company I first worked professionally, that was more than 10 years ago! I started with waterfall, slowly transitioned into agile, test driven development. When we found new test cases (from problem report, etc.), we added those to our regression test suites as we see fit. We ran those unit testing suites before checking in code. This does not means the product we are developing is prefect, but it does give me more confidence as we add features or do bug fixes. This is also true in the many JUnit tests I saw/added in many places I worked since then.

More recently, as I saw the “mock” concept in JUnit, while I am not expert on “mocking”. Conceptually I liked this idea, as we don’t want to repeat the same thing in the production code, we add one more perspective. I also recall the famous investor Charlie Munger (Vice chair of Berkshire Hathaway) once said, he used at least two models to value a company/investment. Check and balance.

(Update) Came across this article on the disadvantages of pair programming. Also, saw this launchCodeSTL a while ago.

Categories
Fun

Serenity’s new drawing

Reading Time: < 1 minute

photo

Yoyo, mom, daddy, and incoming baby sister (my wife is expecting)

Categories
iPhone app

iPhone 5s and iPad mini without data plan

Reading Time: 2 minutes

Recently I cancelled iPad mini $30 per month 3gb data plan from AT&T, note I also have not have phone data plan since the beginning of April of last year, at which time I returned the employer iPhone 4s when I changed job. Now I am without the data plan on 3G, I am formally without the always on data. Some of the work around I have used to get around:

1) Wifi, at work place I usually get free wifi, and I asked the Wifi password at the places I will be for a while, my daughter’s pre-school, her gym class, JCC, the Chinese restaurant I go often, my friend’s house, etc. Most places have free wifi now. The only thing is just ask: the office manager, my friend. Usually they don’t laugh at me 🙂

2) Not all wifi are equal, besides speed, and coverage and reliability is the most visible. Personally, I like the JCC wifi the best, because they are reliable. At one time, I had Nexus 4 phone, it takes a bit work to get connected (Setting, turn Wifi off and back on).

3) GPS. I found out this lately, even without data plan, I can use GPS on my iPad mini, the only thing is before I start, I need the Wifi to set up the destination and the route. After that the navigation is just the same as the dedicated GPS. A small inconvenience. And one reason I still kept my TomTom GPS.

4) Apps’ working without Wifi. I found the iOS support for apps without Wifi varies greatly. I liked the Facebook “Internet connection required” status bar. And I tried to implement something similar in my app when the connection is required.

(Update 03-07-14) Found a solution to a puzzled problem for iPhone 5s on T-mobile pre-paid plan (no data plan). There is no visual voice mail, which is fine. The annoying part is once there is a voice mail, the red dot on the phone icon won’t go away easily. I found how to fix it, basically I turned off cellular data, I turned it on, then off, the red dot will be gone. A small tip.

Categories
Software development Web

Spring MVC, Maven

Reading Time: 2 minutes

I’m back to Java world again, after about 2 years stint on Objective-C and iOS development. I’m not new to Java land, as I have done Java work between 2010 and 2011, for 2 years.

My personal learning experience:
JSF => Spring MVC (jspx is still very similar): I have done JSF, which is a component based Java web framework, we know Spring MVC is different: it’s based on REST, GET, POST, and mapping etc. Luckily I have done RESTful web services in my past work, and used those services from iOS side. Another new thing at client side is javascript, and jQuery, I recall I used Richfaces (extension of JSF) for the AJAX, they are not javascript though.

IBM web sphere/Rational application developer RAD, CVS => Spring STS, SVN, note both RAD/STS are based on Eclipse: for the application server, and development IDE, the transition is easier such they are very similar.

Ant (build.xml) => Maven (pom.xml): this is a big change, actually. Maven has some learning curve, also with the Nexus repository. My only past experience using Maven: use Netbeans to open the project (pom.xml file). I found the following two tutorials helpful.

Tutorial on Maven:
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

http://maven.apache.org/guides/getting-started/

Spring MVC: using the Get Started Guide from the dashboard, or the link here.

Obviously, learn as much as possible from the work itself, from coworkers etc. The good thing is my current work place is one of the most collaborative places I’ve ever worked. This makes my life a bit easier 🙂

Repository, Nexus (Sonatype), JFrog Artifactory

JFrog intro: quick youtube video

Comparison between Nexus and JFrog

Sonatype Nexus

Josh Long A Bootiful Podcast : Hi, Spring fans! In this installment Josh Long (@starbuxman) talks about ten years on the Spring team, reactive support, and RSocket support in Spring Integration, his upcoming appearances at SpringOne and his upcoming YOW! workshop on Cloud Native Java, and then talks to JFrog’s Baruch Sadogursky (@jbaruch) about continuous delivery, DevOps, Java artifact management Artifactory, and more.

General questions about JFrog artifactory

Categories
iPhone app

Status of iOS app development II : app store

Reading Time: < 1 minuteThe golden era is over. Some readers/developers will argue it was over a while ago. I know I know. But this problem was confirmed as I read this article on BusinessInsider: it takes 107 swipes to get to the hottest app in app store.

Don’t get me wrong, Apple is still evolving and innovating on this space, with the new iPhone 5s, motion sensor (FitBit app), iBeacon (for retailers), the only thing is the momentum is definitely slowing. All these changes even Siri is not that impressive in my opinion. I do like Facetime, though, esp. I noticed an article talking about Facetime audio which essentially allow one to call other phone over Wifi fore free. Btw, I noticed the article over Zite.

For me personally, I have created 3 apps, and one (myNestEgg) of the 3 still have decent downloads. The problem there is two folds: 1) I did not spend enough time to work on some features to make the user happy; 2) Not many paying customers. I think I will still put some effort on it in the future, but I won’t put a lot hope there. Need to find something more interesting or scalable. It’s too hard to stand out from a million apps. Or even out of 50 and 100 apps in the category.

Competition
Another sign the iOS app developers has to expand their horizon, noticed the No. 1 iOS tutorial website (ebook producer) is doing the Android tutorial? Actually it’s not the first Android tutorial at RayWenderlich.com, I noticed this very first one here. So technically the new one is second series, but it actually helps confirming the popularity of Android platform.

Categories
iPhone app

Status of iOS app I : custom development

Reading Time: < 1 minuteIt has been almost 6 years since iOS SDK first came out (early 2008, source: wikipedia), and the industry is entering a consolidation stage. From my own experience, last year, iOS developers are widely sought after for enterprise app development, and among digital/marketing agencies. But it has a few caveats:

1) Many new developers, some with web development background, have gained experience on app store, and started working for consulting agencies. This trend drives down the hourly rate for iOS developers;

2) From development point of view, some customers realized it’s too costly to develop and maintain native app, and in some cases native apps are not needed. On the other hand, javascript/html5 apps gained some more momentum with the introduction of new frameworks such as AngularJS.

3) The consolidation of iOS/android/mobile custom development firms. Latest example: MartianCraft: its co-founder Jeff Larmache is one of the first iPhone author/developer (his blog here).

In the next series, I will talk about the app store. Got this idea from my own experience and this BI article.

Categories
advice and tips Fun

Signs we do too much googling

Reading Time: < 1 minuteThis morning, Serenity asked me to show her draw a pig. I said I don’t know how. She said google it, as mommy always did. So I googled how to draw a pig, and it comes up some results. I showed her the wikihow step by step animations. Now she is into wolf 🙂

(Update 02-19-14) This reminds me similar phenomenon in software development area, the popularity of sites like stackoverflow.com, coupled with some of the flaws in technology books/documentations, make me search much more and read much less. As a matter of fact, one of the iPad book author, Kurby Turner, mentioned this phenomenon in his learning iPad programming book.

Categories
Software development

Bug fixing vs. new development

Reading Time: 2 minutesIn my 13+ years of software development career, I have done both. So which one do I prefer? This is a bit like asking my daughter: who do you like more, mommy or daddy? (I will reveal my daughter’s answer at the end.)

I think both are interesting work, and both could be challenging. If you ask me pick one, I will probably pick the new development, as most developers like to work on new things: from new technologies to new features, new project/product. But from time to time, I have worked on some bug fixing work that is not only interesting, but also challenging and rewarding (mentally not financially, as I worked for companies all these years). I recall 6, 7 years ago, when I was working for CAD software company, we had two bugs to fix, the first one is actually not too bad, essentially it’s a tolerance problem. In other words, I just need to make sure when it checks whether the X, Y, Z axis is orthogonal to each other, I gave some tolerance. I did cross products of vectors, borrowing from similar experience I learned at work.

The second one, is a bit daunting, to say the least. Essentially we have about 2 weeks to fix a nasty problem in a CAD translator, and we don’t have any clue why the results is wrong. By working with 3rd party, and looking carefully at the problem, some teamwork, I was able to solve the mystery when I was working remotely at Shanghai. I recall I could not fall asleep that night, as I knew that’s a tough problem and will help the sales team greatly to sell into a top Europe car maker.

I had similar experience most recently, although it’s a totally different problem, and we as developers also work in much different world: with stackoverflow.com, and google search (blogs).

So back to my daughter’s answer to my silly question: most of times she will say mommy and daddy; sometimes she will say “don’t ask silly questions”.

PS: in some places bug fixing is also called as maintenance. Just like the car maintenance, software also needs regular check-up and fix 🙂