I made this mistake again. Last time I dropped my iPhone 4 into water, I tried this “put it in rice” strategy. This time I also this trick, but the speaker was not still working. Luckily I found this youtube video on the web, basically I used a cotton knob to clean up the headphone jack. It worked.
I have thought about this for a while, especially after hearing about republic wireless $25 month plan from my friend Luke and H2O wireless (thanks to mitbbs penny savers forum). Previously I only heard about the StraightTalk $50 plan ($45 now, it appears T-mobile also dropped its $50 plan to $40). A little background, I had an iPhone 5s for t-mobile, full price bought from Apple store in Oct/Nov 2013. I only used it for T-mobile prepaid legacy plan, which means “pay as you go”, 10 cents a min for phone call, and 10 cents per text message. I like to have the 3G data, like I had before from AT&T. Here are the steps I followed:
1) Unlock the iPhone 5s. Although I paid the full price, by default the phone is still locked to t-mobile network. The quickest way is to chat with t-mobile, which I did. Actually I did twice, because the first time they did not do the job. The second time they sent me notification saying my phone is unlocked.
2) Get a sim card for H2O wireless from Amazon. I made a mistake again. Without much thought I got this micro sim card first, and I quickly realized iPhone 5s needs nano sim.

3) Last but not least, when my t-mobile prepaid balance came very low, and when it’s weekend (not critical time), I started transfer. I did online on h2o wireless website first. Haven’t seen the number transferred after a bit over a day. So I called. One problem is since my t-mobile is prepaid legacy plan, there is no account number. And I did not give correct pin per H2O rep. Got it solved. The next thing they asked me to install couple profiles for internet (because I want data plan). Then talk to the billing department setting up monthly pay, they gave me 10% off for setting up month bill auto pay via credit card, make the final bill $27. Note H2O actually uses AT&T network, and the data usage is available in real time from “Cellular” setting of the phone.
(update) The main reason I ditched T-mobile is its poor coverage. Sometimes I don’t get signal in the condo neighborhood. The wifi-call feature helped out a bit by tapping into the Wifi network, but it has two drawbacks: 1) It still uses the regular minutes; 2) When at work and I walk around, as the Wifi hot spots changes, the phone will disconnect or lose signal.
Also, how to setup Internet and LTE for H2O. The operator texted me two links. Install the first profile for initial Internet setup. The second one was sent via Dropbox link. No need to install Dropbox app, just tap top right, “direct save”, and install. It will complain about the first profile just installed. Go ahead and remove that one, the second one should install. This is not very intuitive as I did not hear instructions clearly from the operator, nor did I bother to look up their website for FAQ. From my own experience, the first one is probably just for verification or something. Also the operator asked if I want multimedia message, I said no because she mentioned I need to install some “jailbreak” app or something.
Also, I heard from my other friend, if one is really budget conscious, Ting is also a good choice, they use both Sprint and T-mobile network.
It’s Friday again
This afternoon (actually more like evening), on linkedIn I was surprised to find that the company I used to work for has laid off its CIO (chief information officer). I remember we talked about I joined the company in late 2011. I left the company about 2 years ago, to pursue better opportunities. Also I knew the company was not doing well financially. It seems now it’s becoming more and more difficult for the company to survive. Note it’s more like industry wide problem, not isolated the company. Management could do something, but once a fatal mistake made by former CEO (buy another company at market top using borrowed money), there is very little current management can do.
Also, from indeed.com I found a former colleague of mine, we started on the same day on a small software (custom development) company 5 years ago, and he left the company a year later, and found he has driving trucks for a while after that stint.
Last but not least, I saw my neighbor when he came back from work, and just exchanged “hellos”, and he said it’s Friday 🙂
(11-12-2015) Tomorrow will be friday again. Today I happened to see the website I worked on and put quite a bit effort went live, here it is. It’s a mixed feeling for me, because I left the company and the team a few months ago, shortly after the direction of the project changed. It’s good to see the project finally pulled up and it even got 2 mobile apps, cool 🙂
Came across a strange problem this week using a web service from 3rd party. It’s a soap based web service. When we pass the XML with the required data elements in certain order, it works. If we did not follow that order, it complains invalid parameter or something. I guess in the code they have something like this:
if parameter_1 is invalid
return bad_parameter
if parameter_2 is invalid
return bad_parameter
…
In my opinion, we can do a simple fix as shown below:
if (parameter_1 is invalid) || (parameter_2 is invalid) || …
To be fair, I have made this kind of mistake myself, probably a while ago 🙂 I think it’s important for experienced developers have empathy towards people who make those mistakes, and understand how they come to the imperfect solution, and how to avoid those problems in the future.
(Update 05-09-2015) It looks like a common problem in web service, as explained in this thread. Quote:…Some vendors may grab SOAP parameter values by element name (the proper way) and others may grab the values by node position (what you’re probably running into)…
Another post on stackoverflow about similar problem on WCF SOAP web service.
I am starting a series of “Sustainable software development” blog posts. Like many series I did in the past, it could be a series of one and only, or it could be a true fall classic (WS series).
Back to the topic, I have been doing software development for almost 15 years, been through many organizations, sometimes move between different organizations inside one company. And I think among all these agile, water fall, off shore, near shore, on shore etc., the most important of all is: consistently deliver values to customer. The key of what I said is “consistently” and “value”. Note I am not trying to add another one or two buzz words here. By that I mean everybody should be happy: employee or contractor don’t get overworked, feel they got the short end of the stick, managers don’t feel they got squeezed between sales people and the end customer, the customer does not feel been lied to (by the “used car” salesman). How do we achieve that? I think it’s both a management and engineering question or discipline. Note I said “sustainable” in the topic, if any of the one conditions (symptoms) is true in real world, what will happen? Employee or contractor will leave, manager will feel depressed (they may not leave as fast because it’s usually harder to find a manager position), customer will get angry and make threatening calls…
Note I will mentioned “software”, not “application” or something. Software is a bit older word than application, or “apps” the new buzz word popularized by Apple (Steve Jobs?). Good old fashion software. A lot of times when I saw “applications” people developed, it’s merely a configuration or customization of some prepackaged software. I used to work for company does that sort of thing too. Don’t get me wrong, there is value in customization or configuration. But that is NOT “software development”, that is “software customization” or “configuration”. Also, there is a drawback to this approach, the “upgrade nightmare”, because it’s hard to upgrade to the original software due to poor customization. Customization, if properly done, I think the changes can be localized, and the application can be maintained. On the other hand, if it’s not properly done, just like “hard code” things in the code, it becomes harder and harder to catch up with the vendor as time goes. It’s very likely those kinds of system will generate a lot of outages and support calls, and we know most developers don’t like handle production support problem all day (and night). They like development better.
This reminds me a related question I came across on Quora How do you make programmers work 60-80 hours per week? The short answer is don’t do that. In today’s world, we still think about a problem when in shower (just like Warren Buffett got the idea to buy BoA stock in shower :-), as Ryan Matte said in Quora: a programmer never really turns it off. So from management point of view, they should really encourage the hard working developers to go off to take a break. I recall my middle school teacher had very similar philosophy.
So this is my 2 cents to get started on this topic. I will hopefully get back to this soon…maybe talk about how to use agile and team size to make software development more sustainable:-)
So long…
To be precise, it’s Spoede Elementary, about 5 mins drive from my condo. When I bought the condo 10 years ago, I was single and had no kids. But I knew Ladue is a good school district. That’s one reason I bought condo here. If things does not work out, I can rent out the condo to someone else who will like this location. Back to school.
We met the school principal, the 4 kindergarten teachers, one counselor, and one idea lab teacher (outside classroom?), a lot of parents from diverse background. The teachers gave a lot tips about transition kids to kindergarten, and I like what the principal said at last: we will treat your kids like our own. That is indeed what I felt at some of the school Yoyo already attended. And this is largely true in the post Newtown world. I recall some of the teachers lost lives trying to save the kids. Maybe a bit harsh but I think we need to think about gun violence and do something about it.
Back to school, we are really excited to see Serenity growing up, and we also like the ROCKS principle (Respect, Ownership, Cooperation, Kindness and Safety) of the school.
(Update 02-10-2019) Sophia started on Hope Montessori Creve Coeur last semester (August 2018). Same teacher as Serenity’s. We just celebrated Chinese new year at Hope, as well as holidays in December. It’s truly unique.
(Original 04-11-2015) We happened to stop by Serenity’s “old school” today, as we were playing at the millennium park this afternoon. Her “old school” was right next to the park. As we saw some kids were playing soccer there, Serenity walked over and took a look. The door (fence) of big playground (back playground) was open, and she just walked in. I know I know, I’ve been in the US for almost 18 years and legally speaking this is trespassing. In the US, private property is respected. But she is just a 5 year old kid. I just don’t want to hurt her feeling and say “no”. And in about 5 to 10 minutes, she seems found all the good memories. Really words can not describe her feelings there: it’s just right at home, she had been there for 1.5 years until last Nov. Here are some of the pictures.
A collection, I will add my comments later. Symptom: PermGen run out of space
Memory leak
Overview (Mark Thomas)
http://people.apache.org/~markt/presentations/2010-11-04-Memory-Leaks-60mins.pdf
Memory leak happened in multiple deployment (more likely happens in development)
http://stackoverflow.com/questions/7788280/memory-leak-when-redeploying-application-in-tomcat
Tomcat 7 (Mark Thomas)
http://java.dzone.com/articles/memory-leak-protection-tomcat
quote…
Application or library code that can trigger this situation include:
JDBC driver registration
Some logging frameworks
Storing objects in ThreadLocals and not removing them
Starting threads and not stopping them
There are also a number of places that using the standard Java API can trigger a similar issue. These include:
Using the javax.imageio API (the Google Web Toolkit can trigger this)
Using java.beans.Introspector.flushCaches() (Tomcat does this to prevent memory leaks caused by this caching)
Using XML parsing (the root cause is unknown due to a bug in the JRE)
Using RMI (somewhat ironically, causes a leak related to the garbage collector)
Reading resources from JAR files
Overview and use VisualVM to debug memory leak (Colm Divilly)
https://cdivilly.wordpress.com/2012/04/23/permgen-memory-leak/
Nikita Salnikov-Tarnovski
https://plumbr.eu/blog/what-is-a-permgen-leak
Performance
Overview of memory and performance of J2EE app (PDF, Steven Haines)
http://info.appdynamics.com/rs/appdynamics/images/Top_10_Java_Performance_Problems_eBook.pdf
Timerland hiking shoes
Timberland Ledge Low Leather Hyper Mesh Gore-Tex®. My first pair of Timberland shoes. Bought it from timberland.com for about $65 to $70 on Sept 2011. It did not disappoint. The water proof feature works as claimed. I worn it for over 3 years, for mostly daily and some hiking. I would definitely buy it again.

Timberland Ossipee Mid Hiker Gore-Tex®. My second pair. I just started wearing it. I bought it in Jan 2012 at timberland.com for about $40. I lent it to my in-law for couple months. As my 1st pair timberland started worn out. I started this one. One thing is it’s a mid hiker or in other words, it’s a bit taller. I anticipate it may not ventilate as well as the 1st pair in St. Louis summer. But I plan to wear this one out before purchase a new pair.

Another thing I noticed is the price of hiking shoes went up quite a bit, and the quality seems declining. From some of the reviews I read from Rei.com about Northface and Merrell.
Btw, came across this top 10 hiking shoes list from outdoorgearlab. Amazon has a good list too.
Why I like JCC
I’ve been a JCC member since early 2012. Having been in St. Louis since late 2000 and in Creve Coeur since 2005, I found JCC is really a gem for fitness. For me it’s mostly about swim and walk on treadmill. But there is more. I met interesting people (seniors), or in JCC terms, mature adults 🙂
Sometimes they would make me ponder about what I will do if I live at their age. I met 2 world war II veterans. One was 94 or 95 years old, he served in Africa (Sahara desert?), and he told me at one time he could not have showers for one month or 3 months, and the temperature there 130 freiheit. He seems think the British general montgomery is a wimp. I have not seen him for a while, I hope he is still doing ok. He basically does only walking on the track. Another gentleman let us guess his age, I got pretty close, 89. From the hint he gave. He said they have gatherings for WWII veterans. Each gathering he saw he fewer and fewer old friends.
This morning, I saw another old gentleman. He is waiting for my cubby. I asked him why, he said that number is the only number he can remember. It’s “123”. I laughed. Then another old gentleman said “don’t laugh, you don’t understand what we are getting”. I told them, I know some. Because once I lost where I parked my car at downtown. And I had to recollect which way I drove in to figure out which parking lot I parked. We all laughed 🙂
I think besides the excellent facilities, friendly staffs (one person greets me on first name basis), the things I mentioned above is what makes JCC standout. Sometimes I saw they have Autism kids/adults come to exercise. This is just some scene I don’t see very often.










