Monday, May 16, 2016

My Start at SUNY New Paltz

Greetings, my lovely readers and welcome to the third installment of 'Always Googliando'. At this point I've had a few questions regarding the name of the blog and requests for more information about my back-story. I'll start with the back-story since the name of the blog is informed by my professional experience and my own personal interests.

In 2004 I graduated High School and went off to SUNY New Paltz. A funky little state school, it's located just an hour south of Albany and is, as far as I'm concerned, the best school in America. The students range the gamut from hippies to cool city kids to Long Island goofballs (such as myself) and somehow, despite what most sitcoms and news reports would like you to believe, everyone really got along. Sir Thomas More would be proud.

SUNY New Paltz campus.

Me with Shades Step Team, 2007.
In addition to the harmony of the campus, there was a wonderful range of classes offered and clubs to join. I truly felt that whatever I was interested in I could try, and I did! I was a proud member of Shades Step team and I went Salsa dancing every weekend. I took a course on cultural influences in storytelling, another on defaming most of the people I had considered "American heroes" for my entire life (cough cough, Christopher Columbus), and even learned so much about geographical hazards that I had nightmares about the east coast drowning in a Tsunami caused by a landslide in La Palma. This was all perfect for me since I had no clue what I wanted to do with my life.


Exploring everything showed me where my interests lay. It was in studying languages that I awoke a hidden passion. I declared a double major in both Spanish and Italian with a minor in Art Studio (concentration in ceramics). If that seems a bit over-ambitious (or even crazy) then you're seeing just the beginning of a pattern. I saw a future as a language teacher. While I loved the Italian language and personally gained a lot from learning it, being the proud Italian-American that I am, I knew that my job prospects would be much better learning Spanish since that is the second-most widely spoken language in the United States, especially in states like New York where I grew up. The art minor was just for fun.

Somewhere between declaring my majors in the end of my freshman year and my graduation in 2008 I finished all my course-work, studied abroad in Italy for 10 months, and met my now husband (stories for another day). From there I went on to New York University for my master's.

How did I pay for school at NYU? Why am I programming now if I went to school to be a teacher? How do you say "Give me all the pizza you have" in Italian? Answers to these burning questions and more next week! Until then, happy Googling!


Monday, May 9, 2016

Digital Leash

Hello to my fellow googlers, developers, tech heads, and bored friends looking to fill the time. You are all readers of my blog and therefore I love you equally. Back this week, as promised, to tell you about the, slightly controversial, "Parent-Child Apps."

So we've all seen (and have opinions about) parents walking down the sidewalk dragging their unruly child(ren) on a leash. There's no judgment here. We have one for my 15 month-old when we're in Manhattan. It allows him to walk around, explore, and feel that autonomy that he craves without actually giving it to him. It keeps him from hugging strangers and running into traffic because he sees a rat and thinks it's a puppy.

Now imagine an adult putting a leash on their teenager. I'm sure many of you might like to but they could probably figure out the velcro. The alternative? The Parent-Child Apps. A digital leash on your child making sure they don't stray farther than you desire. If your child wonders outside of your preset radius you are notified.

Many new concepts are required here: storyboards, location services, alerts, and HTTP posts, patches, and get requests using a JSON API. I'm happy to say those acronyms used to be terrifying to me but now they're only slightly disconcerting and I know with more practice I'll become more and more comfortable. I was instructed to use NSURLConnection. Though deprecated, it's still important to understand this technique should I come across it in an existing app that I am working on. I'll learn about the current method, NSURLSession, in a future project.
Website with which the apps communicate.


Final layout of Parent App.
My favorite part of this project was working with the storyboards. I liked placing the elements on the pages and arranging each piece with the User Experience in mind. The location services weren't nearly as difficult as I thought they would be and I enjoyed running around the room to test that the latitude and longitude were changing. Alerts were even easier and it was fun to see the familiar blue bubble pop up on my own apps. With all pieces combined I had two, fully functioning apps, communicating with one another via a website. The methods learned were difficult but I could think of how they are used in countless apps on my own phone and knew that they were integral to my mobile developer tool set.

Varying opinions aside, there's no doubt there's a market for this app. On to the next project: LCD Clock.

Wednesday, April 27, 2016

printf("Hello, World!"\n); An Adventure at TurnToTech

printf("Hello, World!"\n); I’m Erica - former language teacher and bachelorette, current student and new mom, future programmer and international super-star. I started out learning foreign languages, including Spanish and Italian, then moved on to computer languages and can't get enough. I’m going to school now to become an iOS developer because I'm in love with (and common-law married to) my iPhone and I’m looking forward to the next chapter.


In the meantime, here I am at TurnToTech, one of the few schools in Manhattan that teaches both Objective-C and Swift in person. An interesting aspect of this particular program is that they have rolling admission. So every week there are brand new students, starting at the beginning where I was just two months ago. It’s such an amazing feeling to be able to confidently help these students when they get stuck when I was struggling with the same material such a short time ago. As a four month program, 5 days a week, 9 hours a day, you really do grow in leaps and bounds. Even more amazing is watching what the students ahead of me can do; looking at their projects as impossible and then casually completing them too just a week or so later.
Logo for TurnToTech bootcamp in the Flatiron district.


They started me out with the C language. Originally developed in the early 1970’s, it’s astonishing how powerful and relevant it still is today. The first month we tackled loops, complicated algorithms, string manipulation (without the use of built in functions), bit shifters, and recursion. We also tackled recursion (sorry, I couldn’t help myself).


After gaining a general familiarity with major C concepts I moved on to Objective-C. With its roots in C, it adds object-oriented programming concepts to your code and was the first language used to write applications for Apple iOS and OSX operating systems. [When I first started with Objective-C I was intimated by the sheer number of brackets.] But with a little practice, I’m becoming more and more comfortable. After just two weeks I was playing with structs, classes, methods, properties and instance variables.


The Simplest App rendered on my iPad.
Finally it was time for my first app. It was written with the purpose of exploring gesture recognizers. I learned how to put shapes on the screen and have them react to a user’s touch. They were just simple colorful squares but you could tap and pinch two of them to change their sizes, swipe through a few of them to see different colors, pan one around the screen, rotate one around its center axis, and long press another to change its color.


I know it doesn’t sound like a lot to a non-programmer. I know this because when I proudly showed it off to my father he did a couple of them and said, “Very nice, honey;” the same thing he said when I got a 100 on my spelling tests in elementary school (which was also really hard for me, by the way, since I’ve always been a math nerd). But it was all worth it in that moment when I first ran it on my own iPad and was able to tinker with it. The same iPad that holds such gems as Google Drive, Lose It!, and Duolingo now housed my very simple app, fittingly named “Simplest App.” The code for which, if you’re interested, is on my github account. To make sure I really hammered the concepts down I created the app again from scratch, applying multiple gestures to the same shape. The code for this app, “MultiGesture,” is also on my github. A small ego boost and badge of honor as I tackled the next, much more difficult project - the Parent Child App.

Stay tuned for details about this project - elements that I found easy, difficult, interesting, and uninteresting. I can’t wait to share it with you!