Showing posts from October, 2014

Week 9 iOS Addressbook and Creating my own multi-contacts selection tableview

My internship assignment for this week was to implement a custom object that deals with pulling from iOS contacts so that we can use them in our own app to send invites. What seemed like a simple assignment is taking a very long time!!

 First, I started by working on things like ABRecordRef and pulling from iOS address book or Contacts app. There's a lot of C-structs in there so it got very confusing fast with weird __bridge syntax but after awhile, it got easy to identify some of the problems. There were a various challenges ... like identifying the right delegate method that starts listening for any changes to the Contacts. For example, if a person adds a new contact and our app is on, that app needs to detect the new contact and add to our own internal contacts list.

 Then we needed to figure out a way to select multiple contacts from our list so that we can send them all invites. My team pointed me toward UIAddressbook Framework that was built for the purpose of pulling up the A…

Week 8 Original App + Group internship

Need to do two things at once.

First, I need to solidify an app idea and work on it so that I can put it in my portfolio by December-January time-frame.

I had to cross off a whole bunch of ideas and focus on one that I think could be really good practice as well portfolio material.

Let's see where it goes ...

The group internship is very interesting. I get to work alongside a few other developers on a new project. Being thrown onto a new project in the middle is kinda intimidating, and I feel like a deer in headlights but I guess there's a learning curve when it comes to starting any new project. I am definitely learning a lot.

To be completely honest, I'd be studying Android on the side right now, but it's been a little physically and mentally demanding to code 50-60 hours a week.

I have also lost the track of time. Which is a good thing, since it means I'm getting into FLOW very often, and that's not something I experienced often outside of coding, in my past regul…

Week 7 - Advanced Concepts

Getting deep into things like Memory Management, database separation with MVC, and fixing little gaps in my knowledge.

Cleaning up the view controller and laying out separate layers for database and presentation logic has been pretty fun. It's a lot of work (sometimes monotonous) but pretty nifty too. I want to implement them into my own apps.

Getting to know everybody else in the program has been awesome as well. I hope I can keep in touch with them in the future.

As bad as it burns, as bad as it hurts right now, it will all pay off in the end.
Something I always think about is that,
I'm truly blessed to get up morning and do what I love.
If this is the hardest thing I have to endure in my day,
then I'm living a pretty good life.
- Chris Paul

목사님 선생님

난 어렸을 때 내가 하느님에 대한 믿음을 가지게 될 줄은 상상도 하지 못했다.
하지만 오늘날 교회란 나에게 매우 소중한 존재가 되었다.

여러 고민이 많고 갈팡질팡하며 자격지심안에서 힘들어하는 20대의 청년들에게 필요한 것은 상사의 질책이나 부모의 핀잔이 아니라 하나의 가르침을 줄 수 있는 인생의 선배라고 생각한다.

우리는 매일매일 걱정근심한다. 내가 가는 진로가 옳은 것일까? 나는 어떻게 살아가야 할까?
무엇을 생각하고 믿으며 하루하루를 보내야 할까?

저 커리어로 가라, 이런 짝을 찾아라, 이 전공을 해서 저런 공부를 하라 ... 그런 결정들에 대한 조언을 떠나서 인생의 long-term vision 과 value-system 을 줄 수 있는 한 선생님의 말씀이 가장 필요한 이 시기에 아무도 우리들에게 그것을 주지않았다. 중고등학교는 당연하고 대학교는 특히 그랬다. '수업가고 시험치고 취업하면 땡이지 뭐'. 그렇게 생각했다.

하지만 요즘 나는 In2 교회의 한 목사님께 너무나도 감사하다. 나 혼자만이 아닐것이다. 매주 우리의 뉴욕교회는 예배시간만 되면 한인청년들로 빽빽하게 찬다. 목사님의 말씀을 듣기 위해서.

정신적인 기둥이 될 수 있는 선생님. 어두운 곳의 등불이 되주고 인생의 선배로서 희망과 힘을 불어넣는 가르침을 줄 수 있는 선생님. 그런 분이시다. 최근들어 롤모델이라고 할 수 있는 어른들을 많이 만나지 못하여 속상했는데 하느님께서 예상치도 못하게 교회에서 이런 분을 만나게 하여주셨다.

돈만 알고 가식적인 사람들 많다고 소문난 이 뉴욕 맨하탄의 한복판에서 청년들에게 빛이 되시는 분이다. 매주 예배를 갈때마다 사막안에서 오아시스를 찾은 기분이다.

고통을 아니, 다른 사람을 이해하는 것을 배우고,
없는 것을 아니, 있을 때 감사하는 것을 배운다.
다른 사람들을 사랑하고 도우면서 작은 것을 감사하고 살아가는 그런 인생.
그것이 의미있는 인생이 아닐까?

I strive to become someone like this person when I grow up. A per…

Coding Frustrations

When you are coding full-time, from morning to night, there's a similar rhythm to your focus.

I'm guessing it varies from person to person (nocturnal types, morning types, etc), but for me, I've realized that my focus is the best in the first 3 ~ 4 hours of work in the morning (between 9AM to 1PM), and then steadily declines throughout the day, with lunch often being a major disruptor.

Lunch obviously is necessary, but I seem to think better on an empty stomach. After a large lunch, my focus is fucked for the day. Either way, I am prone to major stress and hitting brick-walls between 2PM to 5PM.

With a healthy, light lunch and everything else considered, my focus still does steadily decline between 2PM to 5PM, and reaches all-time low between 5PM to 7 PM. By then, I'm basically clocked out. I can just feel my brain overheated. I'm ready to go home.

Some people here at the bootcamp seem to stay until 9, 10PM regularly, but to me, that's unthinkable. I would rather g…

Week 6 MVC, viewController cleanup, advanced functionalities

After implementing dummy apps and getting them to "just work", now I am assigned to review all of them and make sure I understand them thoroughly as well as go over some advanced functionalities.

For example, my viewController was a mess. I'm going to do a lot of refactoring to move out all its clutter to separate objects. I was frustrated trying to figure out how to do it, but once I got the hang of it, cleaning out the VC became fun.

Right now, I'm working on a keyboard/textfield functionality that allows the screen to move automatically when the keyboard pops up, so that it doesn't hide textfields underneath it.

One day at a time. A little stressed out lately from all this material and assignments, so taking conscious effort to relax, give myself some good down time afterwards. Want some good social this time weekend.

Disjointed Learning

Right now, if you are trying to learn web dev, mobile dev or coding through the internet, all the resources are way too disjointed. Yes, true, the information is out there, but it's like rummaging through a garbage can and trying to find something edible. There's lots of inefficient information, outdated information, conflicting information ... and they are not properly reviewed and ranked. What is the best? Which one should I tackle first? What order should I follow? Google can only do so much.

I'm grateful to have a mentor here who can guide me and my peers whenever we get stuck, but in an ideal environment, we should have ample online resources that can help guide you when you are lost in this information firehosing overload.

The best learning resource will be the one that connects all these disjointed dots clearly, and to the most recently updated information.

Will save tons of time instead of rummaging through stack overflow all day.

Monopath Learning and Cross-Path Co-Learning

In a traditional learning environment, everyone follows the same curriculum at the same pace. It's a very outdated, inefficient model.

In a more flexible, modern environment, everyone can learn at their own pace. So there naturally are people who move faster than others, and people who move slower than others. The advantage is that the "fast-movers" can serve as mentors to others.

But it's still a "mono-direction" learning. If you look at the below diagram where 0 symbolizes a person, and the letters represent their progress (C representing the greatest progress), only the person who gets to C can teach the people with B and A progress.

0 --> A
0 --> A --> B --> C
0 --> A --> B

When you are studying a subject that absolutely has to take a linear course (one concept building on another), then I guess this is the only option. However,  I think a "Cross-Path" learning approach can be a good idea in some situations.

For example, consider a …

From NULL to *Right Direction

6 weeks into my full-time training.
A lot has changed since the day I decided to go down this path back in April of this year. It's been 6 months since I made the decision to learn how to code and pursue a career in technology. I cannot believe the time has flown by so quickly.
All I knew was HTML 6 months ago. Now, I have a lot better grasp on many things. JavaScript, CSS, Ruby on Rails, Objective-C, iOS Dev, Java ... 
I do regret often and think that I should have studied CS in college. If I think about the fact that some of my peers (who are 25, 26 years old now) started programming since they were 19, 20, and that they are 5 years ahead in this track, I can't help but feel behind.
But if you compare yourself to others, you are insulting yourself.
I am just glad to be studying and growing everyday. I truly do feel like I'm in the right direction. I've never studied anything harder than I'm studying now. With gusto, passion, purpose and drive. It's a completely di…

그들과 함께 했기에

하느님께서는 당신이 원하는 것들을 주시는 것이 아니라 당신이 필요한 것들을 주신다.
하느님께서는 당신이 원하는 사람들이 아니라 당신이 필요한 사람들을 주신다.

작은 것의 고마움을 느끼게 해주는 사람들.
내가 아무리 약해도 옆에 있어주는 사람들.
내가 아무리 실패해도 나를 응원해주는 사람들.
나와 비슷하게 삶의 혼란속에서 바쁘게 싸우고 있는 사람들.
나의 소중하지만 소중한지 몰랐던 한명한명의 천사들.
나의 친구들.

그들과 함께 했기에 나 외톨이 19살때, 외로움에서 빠져나오고
모자라던 스무살때, 자신감을 배우고
철없던 21살때, 세상을 더 이해하고
고민하던 22살때, 고통을 극복하고
답답하던 23살때, 싸울 용기를 얻고
초라하던 24살때, 다시 일어나고
오늘날 25살에, 하느님의 사랑에 눈뜰수 있었네.
그들과 함께 했기에.

혼자만의 세상에서 허우적댔을 때
어둠안에 잠겨 울고 있을 때
그들이 나를 구해주었다.
그들이 있기에 내 삶에 향기가 있다.

미안하다, 친구들아.
무심하고 나만 생각하던 지난 모습 용서해주겠니.

부모와 같이 나를 만들어준 소중한 사람들.
나의 모난 곳을 곧게 해주고,
내 마음을 사랑으로 채워주는 사람들.