Showing posts from December, 2014

Goodbye to 2014 (one of my most grateful years)

If I were to look back at my 20s in the future, I believe I will look at 2014 with tears in my eyes. It was a wonderful year.

Not just because of the transformation I was able to experience through learning programming, but mostly because of the people that God has blessed me with, who have guided me toward a better path.

Lately, I get up with a smile on my face. I'm hopeful, motivated, and dying to learn more and grow faster.

Last year around this time, I was a still a scared little kid at age 25 who had little confidence in my future. I was lost. 2-3 years out of college with nothing to show for it, except for a few good memories doing stand-up comedy and an empty wallet, filled with regrets, self-doubt and confusion about what I should pursue. I thought I was a nobody.

But then ...
I started going to church and found God and very precious people.I met a wonderful life-coach who understood my frustrations about life and gave me the courage to pursue a career in programming that I was…

2014 Xmas Eve

Christmas Eve!
Still here at TurnToTech ^_^;

Can't fix this annoying bug ... my addressbook library pull functionality is not reloading the tableview correctly ... hmmm!??!?



New Year, New Beginnings

I said bye to a couple of colleagues leaving the TurnToTech bootcamp for their new jobs.
I was so happy for them, but also, it was sad to see them leave.

We almost became like family here, wrestling with code day and night for 4-5 months straight.  In the beginning, we had our differences, and sometimes, we'd argue and compete. But at the end of the day, we all helped one another, understood each other's pain, and made each other stronger.

I think my time is coming too.

I will miss this place. And I will treasure the time I had here for the rest of my development career.

HackerRank Bootcamp CodeSprint challenge leaderboard!!

If I could have figured out the fractal solution -_-; it would have been so much easier. I would have had more time to tackle the "Crossword" #5 problem.

By the time I was finished about 50-60% of problem #5, I realized that I only had 1 hour left. I was freaking out so I just made one sample input work - which was a hackish solution which didn't really rely on the OOP framework I tried building over the prior 3-4 hours.

Oh well!! But overall, all this stuff was great for our confidence-building ;)

Another day, another challenge.

Amazing experience.

Post-HackerRank overnight run

Ugh -_-

It's 2PM now on Saturday which means about 17 hours since the challenge started.
I left the office around 8AM when I was feeling my limits after being in the office for 18 hours straight. Now I'm feeling the backlash of no-sleep ... -_-;;; uhhhh the headache

I'm glad we made progress on the Fractal problem though. There are small incremental steps you gotta take to solve that problem ... unless you are a genius and can figure out the recursive few lines, you really have to figure it out piece by piece.

Fractal Tree
1) It's important to use a matrix to map out the data. If you just try to solve this problem by drawing everywhere on the console with some logic, but without some kind of a data representation of what you have, you will be confused very quickly. 2D Array seems to be the choice here. Matrix[Row][Column]

2) Fill this matrix with "_" first and this is your canvas

3) Take it step by step --> trunk first, branches second

4) One thing that was also t…

HackerRank BootCamp Challenge

Okay, so right now, it's 4AM, and I'm still here at the office at TurnToTech with 5 other people ... CODING!!!!

We've been coding non-stop for the past .... 7 hours?!?!

And I came into the office to do work since 1PM so I've been here .... wha ... 15 hours!???


This is what my Friday nights have become.

But my classmates and I are ranked #4 in the challenge right now ... so we must be doing something right!!!!!

Coding Challenge at HackerRank

Thanks to notice from my bootcamp teachers, a couple of us decided to try the HackerRank 24-hour challenge tomorrow.
From what I understand, this particular challenge is only open to Bootcamp students/graduates all over the world. And whoever scores the most points by solving the most number of coding problems correctly, gets noticed by big companies all over the world + prizes.  
I was pretty excited about it, but pretty intimidated by it at the same time. In the middle of doing these interview preps and finalizing everything, I thought it might not be worth the time. 
But to be honest, there's nothing to lose.
Worst case scenario, I walk away with good practice under my belt for solving interview-type algorithm questions and have a good time with my bootcamp peers tackling difficult problems.
Best case scenario, the questions are not too bad, and we do a damn good job.
I'm glad I have peers to go through it together.
Paulo Coelho —  'Every search begins with beginner's luck…

Week 16 - Jumping into Job-Searching, Finishing Up Our Internship App, Making Progress With My Own App

This week, I finally made the decision to update my resume and send out my applications, and my phone's going off a lot. I don't respond very often to job recruiters but I guess that's a good sign that iOS development skills are in demand. I also like getting practice on verbalizing my projects and technical skills, so talking to a couple recruiters has helped with that.

Even today, I sent out a couple applications and they all came back to me immediately, which is amazing, considering the fact that in my previous job-searching periods (when I used to be in marketing/sales/web dev), this has NEVER HAPPENED.

 I think they all would like to see published apps in the App Store, and that's why I was holding out on talking to people for a little bit, but I definitely want to get a feel for the interview process, if I'm planning to snag an offer by February of 2015. Angel-List, Indeed, Glassdoor and LinkedIn are my primary channels at the moment.

To be honest, I'm so mu…


Apple push notifications!!!

It was a lot of hassle getting the certificates and implementing it correctly. With so many little files and moving parts, it can get very confusing very quickly.

(The PHP example is very cool!!)

This Ray Wenderlich tutorial was great but I got confused as to which .p12 key I'm supposed to be using ... so it took me longer than I expected!!! That one little bug cost me like 5 hours -_-; but glad we could figure it out together.
(*for anybody who's wondering what my mistake is ... don't you EVER WORRY ABOUT THE .p12 key of your CSR (Certificate Signing Request) if you are using Java/Pushy!! I was supposed to export out the .p12 out of the .cer file you get from the Apple Developer Dashboard ... and not the .p12 out of the CSR like they do with the PHP example)

The best thing to do when you are stuck or going crazy with an annoying bug ... is to ask for help!! W…

Week 15

Stress control is more important than ever. I've stopped going to the gym, which seems to be hurting me mentally a little bit. Should put more effort into home exercise.

Coding day and night is taking its toll but I'm glad I have my friends, glad to have church and some down time on the weekends. I'm grateful that Mom and friends are supportive of my endeavors too. It would have been so much harder otherwise.

I need to be more grateful everyday. It just feels like a miracle that I'm even here. I know it doesn't look like much, being in a "bootcamp" that not a lot of people have heard of, when peers are going through graduate programs and making headway into their Master's and PhDs.

But this place has been a Godsend for most of us. We were able to reinvent ourselves here. 3 years ago, I called myself "technical" because I thought I was good with Excel, Visio and HTML. Now, I've gone so much further than that.

Everyday we grow and learn. We fi…

Core Data bug - data type switch not being reflected

If you ever have problem with switching Core Data data type from one to another, and the data type not properly being displayed, it might be because of your old stuff in Derived Data folder.
For example, I had a “score” property in a core data object which i changed to Integer from Float datatype. I thought if i just reset the simulator, it would do everything, but my managed object still had its score property as “float” when I was using debugger. WEIRD.
So deleting out Derived Data (go to Xcode -> Preferences > Derived Data folder arrow), just helped fix this bug!!! Yay

열등감, 월등감, 비교, 경쟁, 그리고 하느님과 감사.

인투교회 이세영 목사님 설교요점. 

자격지심. 열등감. 경쟁. 월등감. 

인간이라면 다 있다, 목사님도 있다. 
저 대학. 저 직장. 저 월봉. 
"내가 더 잘한다. 너만 잘낫냐." 다 얼마나 쓸데없는 싸움인가. 
한때 잘 나가던 친구들 망할 수도 있는 거고, 한때 보잘것없는 친구들 대성할 수 있는 것이다. 

하지만 하느님안에서 당신은 동등하다. 
자기한테는 없다고, 자기가 너무 부족하다고, 자기가 너무 떨어진다고 절망하지 말고, 
그렇다고 나한테는 있다고 거만하고 당연하고 너만의 것인 것 처럼 생각하지 말아라.

하느님의 달란트를 하나하나 소중히 여기고 감사하거라.
또 감사하거라. 

그리고 하느님의 비전을 추구해라. 
그러면 하느님께서 당신에게 구원을 줄 것이다. 

하느님의 뜻. 인류구원의 뜻. 
다른 생명을 사랑하는 뜻. 

그 길의 끝에 사랑, 화목, 평화, 진화가 있지않을까

Layers for my app

Sometimes, it drives me crazy to think of what to do for my app. Do I do this? Do I do that first? How do I prioritize? It helps me write it out on paper.

Right now, my layers are not too difficult on the app.

One presentation layer for the UI.
One Core Data layer for the local cache.
One data access object to bridge the two. Once the app starts, core data gets converted to presentation layer objects. If you save something in presentation layer, it gets sent back to the core data object through objectID. Happy dandy.

Now, once we get to using Parse, things become a lot more interesting! WOOT.

The Parse layer will be my Server layer that connects to the Core Data layer ONLY. The Presentation Layer will still be fed from the Core Data layer, just like it always has been. We need a MVC structure, so the Parse layer never ever communicates with the Presentation layer. Better separation, better modular programming, happy dandy.

The Parse layer (that deals with their PFObjects or whatever) will no…

Week 14 Juggling interview prep + internship + my own app + thoughts about networking/prioritization

Spent some time preparing for conceptual interview questions.  I think it was important to take my conceptual understanding to the next level, and not just deal with code all day and remembering method names. Design patterns are really interesting: Facade, Abstract Factory, Class Clusters ... etc.

The internship at my program has been interesting as well. It becomes a different experience when you are coding with other people, working through problems and working through that interpersonal relationship too. It's not always fun and games when one person thinks solution A and the other thinks solution B. So you need that experience communicating with others and resolving conflicts together. My Parallax Header effect needed some improvements as it made its way into being integrated into the rest of the app, I'm happy to say that we figured out some good solutions (For example, we needed the whole screen to support a variable cell height in tableview)

Happy about making progress in …

새겨두는 명언

사전투자가 후사결산보다 낫다.
事前投資  > 後事決算
물론 많은 사람들에게 손이 가는 방법이고 피곤하겠지만 언제 어디서나 당신을 고마워하고 도와주고 싶어하는 사람들이 늘어날 것이다.
이유없이 타인에게 먼저 다가가는 지혜.  이유없이 타인에게 먼저 선물하고 선행하는 지혜가 사전투자이니라.

자신의 가치를 높혀라.
귀족들은 태어났을때 부터 자신의 가치에 대한 강한 신념을 가지고 산다.
하지만 어떤 사람도 그런 신념만 있으면 그 자신감이 엄청난 영향을 가지게 되고 다른 사람들도 그 신념을 보고 당신을 믿게된다.  큰 일을 하고 싶으면 자신감을 가져라.

거리를 두어라.
아무리 친한 사람들끼리라도 거리는 필요한 것이다. 거리와 간격은 인간관계를 미화시켜준다.
친하다고 무례하게 대하지 말고 가깝다고 가까운 척을 아무대서나 하지말아라.

타인의 입장에서 먼저 생각하라
당신보다 자신이 더 작다고 생각하는 사람들은 언제나 그 열등감때문에 당신과 있거나 이야기할 때 불편하고 자신이 무시당할까봐 언제나 불안할 것이다.
그런 사람들을 대할때는 더더욱 조심하고 격려와 배려를 가지고 대하라.

Frameworks and APIs

Frameworks and APIs:
Foundation Kit or Foundation (prefixed “NS”) is an Objective-C framework that providers wrapper classes and data structure classes(“NSNumber” is a “wrapper class” for int, float, long). They are functionality similar to Libraries but “Frameworks” offer additional header files, resources, documentation, etc. Foundation framework is majorly implemented across Cocoa API, Cocoa Touch API. It’s literally a foundational framework that provides basic classes that a lot of applications need across mobile, desktop, etc.
Core Foundation framework is a low-level open-sourced, C-framework in Mac OS & iOS that has helpers, wrappers for utility functions like I/O and etc. Prefixed “CF”
An API (Application Programming Interface) is the concept of an interface or a set of rules, tools and protocols through which you can program an application. In app programming languages like objective-C, an API often refers to a SET OF CLASSES like the Cocoa API or Cocoa Touch API that you …

[self writeBlogPost: today]

- (* NSNewCareer) workHard {

   [self writeTonOfCode];
   [self prepForInterviews];
   [self dontGetTooStressedOut];
   [self spendQualityTimeWithFriendsFamily];
   [self doYourBestForgetTheRest];


main {

  Developer* terryBu = [[Developer alloc]init];

  for (int i=0; i < 10000; i++) {
      self.job = [terryBu workHard]