WWDC 2013 Disappointment

I did not win a scholarship to WWDC 2013.

I can understand why. I am 31 years old. Programming is my second career. I have only been programming Objective-C for nine months. I have classmates that have been programming longer than I have who can do really cool stuff.

If I had to compete against just the people I know I don’t think I would pick me.

I am happy for the people who got to go. I have been prepping for the fact that it was a long shot that I would win.

I am in good company. There are a lot of amazing programmers that did not get to go.

I really feel glad that I tried. I crashed and burned when I tried to create an app for Cocoa Camp. The fact that I had less time to complete an app but I was able to make it work and do exactly what I planned is a huge accomplishment, at least to me.

I am going to go back and revamp my app to make it work the way that I would like it to. I am going to keep focusing on doing the things that are important to me.

This isn’t my time. I can acknowledge that I have quite a ways to go and that I can get to where I want to be if I have focus and tenacity.

After I get the app to where I want it I will submit it to the App store and possibly throw it on GitHub. It isn’t super cool yet, but I have an interrupted block of time to make it what I want.

Eyes on the destination. Dust yourself off. Keep moving forward.

New Blog I am Contributing to

I was recently asked to be a contributor to a new blog:

Techcriquette

This is an offshoot of the blog Cocoanetics.

Techcriquette’s focus is on women in programming. We will be talking about our experiences as women dealing with sexism and things that we would do to try and broaden the different kinds of people who work in technology.

I may be “recycling” some of my posts between these two blogs, so if you by some miracle are reading both blogs, I wanted to clarify that I am not a plagiarist and that any article posted on this blog is written by me.

I am working on figuring out how to identify any article I wrote on Techcriquette. I also have figured out that I need to revamp my site somewhat. I believe it need a small redesign and I also need to figure out how to set up the site to tweet anytime I create a new blog post and to allow others to retweet my posts.

I am certain these are not large things, I just have not had the time or inclination to make them happen.

This is going on my list of things to do when my semester is over. That list is getting awfully darn long!

Adobe Creative Cloud Thoughts

A few years ago, my mother was organizing various things that were left behind by the school tech person who retired. One of the items was an unopened copy of Photoshop 3.0. My father told her that she should install it on the computer because it was a legally valid copy of Photoshop that had been paid for and the license was forever.

I know this topic has already been talked to death somewhat, but I wanted to put my perspective out there.

I am a pack rat. I am a few degrees away from being one of those people that appear on “Hoarders” on A & E. I can only get through my day knowing that I have access to every single thing that I might need during the course of the day. I have a bag containing aspirin, Sudafed, and a 42 oz. Thermos full of tea that I lug around to class even if I am not thirsty. I went to a conference where one of the speakers talked about living out of a backpack for several years and I almost had to lay on the floor in the fetal position breathing out of a paper bag.

Currently I own over 50 different kinds of tea. I justify it to myself in my brain by saying that if I went to Starbucks every day I would spend more on beverages (which is true, but only because it is terribly overpriced). I like knowing that if I feel like drinking a certain kind of tea, I have it at my disposal. When I get up in the morning I can pick anything I want and it feels luxuriant and amazing.

The biggest thing I hoard is sources of information. I have crates of books in the basement that I own because I want them around in case I feel like reading them at some point. I have a friend who is a beneficiary of my book hoarding because I will buy books multiple times not realizing I already own a copy.

My hunger for information was strong enough that I pay $43 a month to subscribe to Safari Books Online. I was using their limited subscription plan for a while, but I found limiting myself to ten books a month to be limiting. I like being able to know that I can look at anything I want. If I want to read a book on 3D animation, I can do it. If I want to read about how to do Storyboarding in iOS, it is at my fingertips.

One would think that I would be an example of a person who would love the Adobe Creative Cloud subscription, but I am not. I hate it. I will never use it unless I work for someone who will be paying for it.

Here, in my mind, is the difference between these services:

– I can own any book that I am currently renting if I want to. I can buy a paper version or an e-book version of any book I am subscribing to on Safari. I am actively choosing not to because if I buy a book a month on programming that will cost more than my subscription and the vast majority of those books will be worthless in a year or two. I do not need lots of phone book sized door stops cluttering up my house when I can just pay a fee each month to read the most current things.

– I do not use these programs every single day. I used to use these program every day, but I am heading in another direction and now I don’t.

A few years ago I got a graphic design and video editing degree. On the first day of Photoshop class, the teacher asked us who didn’t think they needed to take the class because they already knew Photoshop. I raised my hand. I have been using Photoshop since 1996. By the end of the first day we had already exceeded what I knew about Photoshop. That program is massive. It can do some extraordinary things.

I did a project utilizing both Photoshop and After Effects for a class and this is what I created. So I am someone who has delved somewhat deeply into these programs. I love using them. They can do great things.

But I want to own them. I want to have them on my computer where I can ignore them for six months and then play with them any time I feel like it.

The major difference, in my mind, between my Safari Books Online subscription and the Adobe Creative Cloud subscription is that Safari allows me to own the books I want. If I want to own the K & R “C Programming Language” book, I can do that. I can either just read it through my subscription or I can buy it.

Some of the knowledge is transitory and won’t be relevant in a year, but I have the option to own it if I want.

The Adobe files are not transitory. If I don’t pay for a subscription each month my files become dead weight. It is indentured servitude. You are obligated to pay every month to have access to your own work. That is not cool.

I hope that either Adobe rethinks their decision or else another company comes in and fills the void.

I own Adobe CS6 Design Premium. I got it for $250 on a daily deal site for educators and students. If I had not been able to get this deal, I would still be using my copy of CS3.

I am glad to know that my current version of Dreamweaver supports HTML5. I have not opened it yet, but it will work if I ever decide to.

I won’t pay $50 a month to use programs I only think about sporadically. I am happy to pay $300 every few years to have programs that live on my computer that I know I could use if I felt like it but usually don’t get used.

This is totally different from Netflix or Safari. Those have content. You watch a movie once and usually don’t care to watch it again. If you want to, you rent it. We have a basement full of DVDs that have been watched a few times but are gathering dust because it just isn’t necessary to own them.

It is necessary to own software that you dedicate time, energy, and file space to. You don’t use Photoshop once and then never look at it again. I truly hope that Adobe rethinks their decision or that open source solutions emerge to allow hobbyist artists and photographers to express themselves artistically.

Summer Plans

I am writing out how I plan to spend my summer so that I can formulate a plan of action about the best way of utilizing my time. I also, from past experience, know that when I put in writing exactly what I plan to do, within 13 hours the Universe steps in and thwarts all of my plans, so I want to give myself enough time to adapt to whatever changes will invariably be throw in my path šŸ™‚

This is my last week of classes. Next week is Finals Week. I am signed up to take a Linux scripting class over the summer.

After I get done with my finals I anticipate doing the following:

– Mastering Core Audio. I will work through Chris Adamson’s wonderful Core Audio book and the Apple documentation for it. I plan to spend every morning from the time I wake up until around noon working on Core Audio.

– Take a lunch/cleaning break. I then plan, around noon each day, to spend some time cleaning the house. I have gotten very far behind on my chores and I need to schedule time for myself to do these things.

– Learn Linux. This will happen later in the summer when I begin taking this class. I plan to spend two or three days working on Linux.

– Possible other skill. I am contemplating learning more about Cocoa Drawing or Cocos2d gaming. I realize that learning Core Audio is a pretty sizable endeavor, so I am not committed to doing this third thing. I may also modify my plans to only learn Core Audio in the mornings. I worry that I will burn out if I only work on one thing. If all else fails, I will simply keep working on the skills I learned in my iOS class this semester and work my way through a few of my iOS programming books in the afternoons rather than trying to learn a second large skill. The more I type about this, the more committed I am to that course of action.

My goal is to see if I can make myself work a regular schedule on my own without having a job. Roald Dahl says that being a writer is the worst job in the world because you have to make yourself get up and sit at the typewriter and write a book. If you have a job where you are expected to be there at 8:00 in the morning and you get paid even when you are surfing the Internet reading Dilbert comics, it can be difficult to motivate yourself to work hard when there is no immediate financial reward.

Working for yourself isn’t for everyone. Most people I talk to about being an entrepreneur have this grand delusion of getting out from under the boot of the Man and setting their own schedule and being free. I see that to some capacity, but there is also something to be said about having a job where you get paid regardless of whether you produce something useful or not.

Since, as of this moment, my options are to work for free for myself or to donate work to someone else, I am working for the person who values my work more, which is me.

Internships

We, as programming students, are supposed to get an internship to complete our coursework. I have spent the last three years being told that there is a massive demand for mobile application developers and people who know HTML5. One reason our programming teacher is pushing us so hard to learn this stuff is because, according to him, we are leaving money on the table. The world needs more of us and he is trying to mint us as quickly as possible to keep up with the demand.

Imagine my surprise in trying to find an internship. I am currently in my final week of classes and I have been trying to find an internship for nearly three months.

I contacted a company in Chicago that does internship/apprenticeships. They got back to me for a while, but it was always at least a week after they said they would and only if I contacted them first reminding them they were supposed to send me information. I have not heard back from them in a month and I am officially deciding that this lead did not pan out.

I also contacted another company in Madison that does not currently do internships, but were considering the possibility. We had several meetings and I felt good about the outcome of this, but in the end they did not want to create an internship program. I completely understand their decision. This company’s primary focus is in attracting/upgrading master programmers. I am a student who has been doing this for less than a year. I am nowhere near a master programmer and what I am looking for is not in their scope as a business.

I found one other place that does do mobile application development that also does internships. Cool!

I had an interview with them a few days ago. I did all the stuff that you are supposed to do. I dressed nicely. I put on make-up. I brought my WWDC app to show off some of my work. I arrived on time.

When I got there the interviewed left me alone in a room for ten minutes. Okay, no big deal. When he got there he spent about five minutes telling me about the company and asked me about myself.

I went over my education, talked about my interests, showed him my app.

He then starts asking me if I do web development. Well, kind of. It isn’t my primary focus. I spent the last ten minutes telling him about how I gave up everything in my life to learn iOS development, spending 40-80 hours a week doing just that.

Excellent! They have a web site they have been contracted to make in HTML5 that is supposed to mimic an app they already created.

Do I use Photoshop? Yes, it is in my resume.

Excellent! This web site is a small project, only about 300 hours and they want an intern to work on it to get their feet wet in working at a real shop.

Cool, how much does this pay?

ā€¦

This is unpaid.

ā€¦

Thank you for coming in. We have a lot of other people who we are interviewing for this job. We will get back to you. Don’t let the door hit you on the way out.

I can’t remember a time I have had a worse interview experience than this.

– They have a contract with a company to provide a service. They were either hired or they bid on this contract and they will receive a certain amount of money to complete this project. They do not get to dump that on an unpaid intern and act like it is a travesty that the intern ask to be paid, even a nominal amount.

– They did not listen to anything I said about what I do and what I hope to do. They had a certain need and they tried to shoehorn me into doing something that they didn’t want to do.

– They did not show me around their office. Nearly every interview I have had, they show you around a little before they talk to you because they want you to want to work there.

– They cut off the interview at the point where I talked about payment. Clearly they only want someone to work there for free. I have had three unpaid internships and none of them have lead to a paid job. Ever.

If you are majoring in something like Journalism and there are 50 people competing for an internship, that is one thing. It isn’t cool to not pay interns, but if you can find someone who will work for free because there are 49 other people who will, it is easier to get away with.

HTML5 and iOS development are hard. There are not a lot of people who do them and do them well. Just because the guy down the street in the State Capitol can get a hoard of political science majors to work for him for free does not mean that you can get a programmer to work for you for free.

If I am going to work all summer without being paid, I am working for myself. I have said that I want to learn Core Audio. I will spend my summer learning that and making a kick-ass app that I will own. I am not going to come and pay $15 a day for parking for the privilege of working for you for free, where at the end you will shake my hand and not hire me.

I have absolutely no indication that I will be treated well at this place. They do not feel that what I am doing is important enough to pay me even though they are being paid to perform this service (which, by the way, violates the law regarding internships).

I am sure if they look hard enough they will find some poor sucker to come in and do this job for free, but they will be getting what they pay for. No one that I know that sweated blood trying to learn this stuff is going to go and work somewhere for free when they can get an actual programming job somewhere that pays them a lot more.

I am sure if I tried finding a job that required Java or something else I could find one pretty easily, but I don’t want to do that. I have a very specific idea of what I want to do and I have been afforded the luxury of waiting things out and being picky. This is a tremendous opportunity and I am not throwing it away on people who have no respect for me or the work that I do.

I truly hope that I am not making a huge mistake in attempting to get into this field. I do have to consider the possibility that people will not pay me to be a programmer.

Chris Adamson wrote a great blog post on app pricing. Basically the amount that people are willing to pay for an app is not enough to make it worthwhile for a programmer to code an app. People want apps, but only ones for a buck. There is a tremendous demand for apps and a tremendous want on the part of developers to make apps, but the economic of app pricing have precluded this from happening.

I wanted to learn iOS because it is hard. I figured if I could master something difficult, then the next time I attempt something equally difficult it will be easier and so on.

I know that I probably won’t be programming iOS in 5-10 years, I will be programming something else. I believe there will be a need for programmers and that because we are in a recession that does not give you the right to demand my work for free. Scratch that, you have the right to ask whatever you want, but I also have the right to say no, my time and expertise are worth something.

I supposed time will tell if I am right or wrong.

Status Updates

I have had a hectic week running around trying to get things completed, so I haven’t had a chance to update my blog on any of my activities. Caught my breath, now have a chance to give some status updates.

I got my WWDC application completed! Yay! It works and it has all of the functionality that I planned for it to have.

I created a portable wine journal. You go through, create wine tastings, and add wines to your wine list that you can then look back at later to figure out if you liked it or not.

I took it out for a test drive on Thursday. Middleton, WI had a Wine Walk that night and I went with some friends to try out how it works.

I have discovered some design issues that I need to address:

– The save function is flawed. I followed our textbook a little slavishly on the “save” function because I had not done it very often and had not sorted it out quite yet. I have the app set to save when you push the home button. So if you create a large list of wines and navigate off the page in any way other than to go back to the home screen, your wines do not get saved. For some reason your tasting gets saved, so I have a large list of empty wine tastings. Super counter-intuitive and annoying. I would be mad if I bought this app and it did this.

I figured out the save function was flawed when people would come up to me and ask what I was doing and where I got the app. I would navigate people though it, but none of my data saved and it did not go very well. Fortunately most people I showed it to were drunk and they won’t remember this and think badly of me! šŸ™‚

– I designed it for the iPad because I thought that more people would be using it on one. Going to the Wine Walk I realized that it was a pain to do so. You need two hands to type into the iPad and you are already holding your wine, so you have to find somewhere to sit down to type everything in. This would work far better on an iPhone.

I will need to, at some point soon, go in and fix these features. I got behind on my homework because I was trying to get this accomplished, so I need to put it on the back burner for a little while.

When I get this up and running I will put it up on GitHub.

I feel proud of the amount that I accomplished in the time I had allotted. I got something that works as designed. The design is flawed, not the code. I made it look nice. I included documentation about all of the features I planned to include when I have more than a week to work on it. I figured out a useful app to make that was limited enough that I could complete it in the time allotted. I successfully accomplished what I set out to do and I am okay with whatever the outcome is (but I would be far happier if I won the scholarship to WWDC!!).

Second Chances

I don’t remember if I talked at all about Cocoa Camp, but I did not complete my code sample. I figured out a few days before hand that I had designed it wrong in my head and it would look really bad. I wanted to use grouped table views with editable cells, but I do not know how to program those. I got too stuck in my head, panicked, then shut down.

I tried not to think about it, but now that I know other people in my program are going I feel disappointed in myself for not even trying. Even if I turned in something that didn’t win, at least I would have thrown my hat in the ring.

So hey! I get another chance! WWDC has student scholarships where you have to submit an app. Unfortunately, I have a week (5 days from now) to complete the app along with the application.

I have less time, but I am planning an app that is within my ability to code. I am not trying to learn a new skill, I just have to make something slightly more complex than I have been doing up until now. I feel confident with my grasp of the concepts I will be using.

Trying to manage my panic and stay focused without getting burned out. Going to ask for help much sooner than I did for Cocoa Camp if I need it.

It is weird trying to come up with my own idea and design for an app rather than completing an assignment for a teacher. This is the first time I have attempted to do anything like this.

If I get this done in a way that I feel good about, I will be happy with that. I would love to go to WWDC, but if I give my best and I don’t succeed, at least I will know I put out something I am proud of.

What Do I Want??

I am beginning to ruminate on what I want to accomplish with my career when I finish with school.

Here is what I know I DON’T want:
– Work for a large company doing enterprise-level programming.
– Work for a company utilizing a language that is for all intents and purposes dead but won’t be replaced because the company invested a lot of money in its architecture so if I ever get laid off or the company goes out of business I will never find another job again.
– Work for a bully
– Work for someone that tries to compromise my moral integrity

Here is what I DO want, both short and long term:
– Work with media (either graphics or sound)
– Write books
– Attend conferences
– Do talks at conferences
– Do trainings at conferences

I am uncertain how I go from where I am now to getting to where I want to be. I am assuming the Dan Steinbergs of the world did not graduate from college and start going out and doing talks. They had jobs that they went to where they honed their skills and acquired their hard-earned expertise.

I know that I need to learn either OpenGL or Core Audio. I want to learn Core Audio. I went to a conference two months ago where I got a taste of Core Audio. I came home and blasted through a hundred pages of Chris Adamson’s book in one night of glorious coding.

Since then, nothing.

We have been working on table views and modal controllers in class. These are such alien concepts that I have been doing our assignments over and over again until I can internalize what each line of code is doing and why it is there.

I keep thinking if I have a solid block of time with no obligations that I will learn a specific concept, but then life gets in the way and the time slips by without me getting a thing done.

I would like to spend this summer mastering Core Audio. I am supposed to get an internship for school and for my husband so that I don’t have a solid block of several months where I am earning no money. I don’t think I can sell the idea to him that the temporary loss of money is an investment in the future because I worry that I won’t get anything done.

So here is what I am going to do. I am going to dedicated a certain amount of time every week to Core Audio. I am treating my time at school like a job. I clock in, study programming, and at some point at night I clock out. I think that spending my summer setting my own hours and setting my own goals would be an invaluable thing to learn how to do, but I feel I must try to find paid work even though I think that in the long run learning how to structure my own work hours would be far more valuable.

The other concept my brain is bashing up against is the idea of “the long run”. I got journalism degree, but didn’t have any video skills, so I got a video degree. I found out that television journalism pays nothing but that doing sound for film is lucrative so I studied audio engineering. Then the recession hit and the whole bag of tricks blew up in my face.

Nothing in life is certain. I can’t plan on spending several years learning something that might vanish in a poof of technology. This is yet another reason I would rather spend my summer learning Core Audio, so that I can jumpstart my career when I get done instead of toiling doing something I don’t want while trying to eke out a modicum of time to work on the things I eventually want to do.

So, I am writing down here, that I am going to dedicate at least three afternoons a week to Core Audio. When noon hits on Mondays, Wednesdays, and Fridays I will finish up what I am doing and I will work through Core Audio. If I get on a roll I might up that to more days in a week.

If something is important you need to make time for it. I need to master Core Audio to the point that I can produce something impressive. I need to stop being distracted by all the other things I want to learn, even within the iOS environment. No Game Center, Storyboards, or Core Data. Just Core Audio. And the stuff I am doing for class.

I know that this epiphany will fade as all the rest of them do, I simply hope that by writing it down and putting it out there that I will make it happen and hold onto it even when I don’t feel like it or I have an assignment due.

Blog readers, hold me accountable!! šŸ™‚

Thoughts on Being an iOS Programming Student

We are about halfway through this semester and I just wanted to put down some thoughts on being a programming student versus being a liberal arts student.

I have a bachelor’s degree in journalism and an associate degree in video editing and graphic design. With those degrees there isn’t really a lot of “learning” per se. You read a book and write a research paper on it. You can plow though a book and you basically do a bunch of work. Read a lot, take notes, organize them, bang out a paper. That’s it.

Learning programming is considerably more difficult. You have to see the concepts over and over again. You have to code something three or four times before it begins to click in your brain about how all the pieces fit together.

I feel like someone gave me a box with a thousand gears in it and they told me that if you fit ten of them together, you get a watch. The first time they give you the ten, the next time you have to find them in the box and figure out how they work together.

If you do this often enough and reuse a few gears you start to get to the point where you can identify a few of the gears that make a watch from the box. After a while you figure out more and more of the gears you need. The goal is to get to the point where you can pick out all ten gears based on knowledge or memory or intuition.

Why am I bringing up the gear analogy?? It’s because there is this push and pull between the teacher and the student about how much work can be done versus how much work needs to be done.

I know that many of my fellow students feel we are being asked to do too much. I will admit to feeling like too much is being asked. I feel like I need to do the book work two or three times before I can even contemplate doing the written assignment Eric gives us. Eric calls the book work a “typing exercise”, but I need to do that typing exercise a few times before I understand it enough to even try doing the written assignment.

On the other hand, I understand that Eric would like us to do even more than he is asking us to do. The sheer scope of what you need to know to make a professional-looking app is enormous. How fast can you go through the material while satisfying both the teacher and the students, to say nothing of the prospective employers who hope to employ the students?

For myself, this class is very intense. I have done more work on this one class than I did during semesters of my journalism degree when I was taking 15 credits, but this is only a 3 credit course. I think the amount of work we are doing justifies being a 5-6 credit course.

I know that generally speaking if you are taking a 3-credit class it is assumed that you will spend about three hours in class and spend 3 hours outside of class doing homework. I am spending at least 30 hours a week outside of class doing the work and I don’t complete all of it. I know I am not the only one.

I don’t mind spending that time doing the work. I know many people don’t have that time to spend doing this work and that most people I am speaking to are planning to take this class again and to also take the prerequisite Objective-C class again.

How do you solve this issue? How do you give the students enough work that they are able to complete it while learning something without overwhelming people to the point that they feel it is necessary to take the class two or three more times?? I honestly don’t know.

I think that college shouldn’t be a one-size-fits-all model. If you are taking a math class or a computer programming class you should not structure it the same way you do an English class. If you have to spend over a dozen hours outside of class to master the material, then make the class worth more credits. Either that or change the curriculum where you are taking 6 programming classes instead of three, but taking them over and over again.

This would clear out all the students who drop the class the day before the drop deadline then take it over again with people who have never had the material before. I know that it is depressing being in a class full of people who already had the material who grasp it more quickly than you do. Most people are too embarrassed about being “stupid” that we won’t go up to people who already had the class who understand it faster because we feel like we need to “figure it out on our own the way everyone else in the class did”.

I know I don’t like having to explain to my husband about why I have to spend every waking moment of my life on one class while he lectures me about how he went to college full time while working a full time job and making straight-A’sā€¦(I usually tune out and nod at this point).

Again, don’t mind doing the work. I just wish that the credits or something would accurately reflect the amount of work required to succeed in the class the first time through. I don’t need the class to be watered down by a lot, just want something to reflect the amount of work I put into the class rather than have it be worth the same amount as a history class where you only have to show up twice a semester and take a multiple-choice exam.

Getting Ready for Midterms

Tomorrow is my Intro to iOS Development midterm. Huzzah.

I have been laid up with a cold/migraine/sinus infection for a week or so. I have a brand new box of Kleenex that I used half of already.

I did not complete my code sample. What I wanted to do was a few steps beyond what I am capable of doing. I am going back and forth on how to do outside work such as this. Should I try to stretch and do something I don’t know how to do yet or is it a waste of time because it is usually harder than I think it will be.

I wasted a bunch of time trying to figure out the UIPickerView without really understanding the mechanics behind how they work. I didn’t think it would be that hard. In PHP you can do the drop-down method in a few minutes. I did not realize that there were going to delegates and data sources and a bunch of other things that need to play nicely together.

I don’t know if trying to figure that out on my own before learning it was a waste of time. I don’t think I really understood anything out of it, but I learned how to look stuff up?

There seems to be two schools of thought on programming: You sit down and puzzle it out on your own or you ask someone for help because you can get something accomplished in five minutes that you might take days to figure out on your own.

I tend to generally cling to the second school of thought. I think that it is similar to the quote by Thomas Jefferson about the patent system: “He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.”

I think as long as you are able to process the help you are given by someone who knows more than you do, you are not being a user. Everyone started somewhere. If you get help from someone when you are a beginner, then you have a responsibility to pass that information down to new beginners.

But occasionally I get stubborn and think that I can learn it on my own with no help from anyone. Sometimes, if it’s something that isn’t too far away from what I know how to do, I can figure it out. If it is something I have never seen before, it is usually way harder than I think it will be and I get nowhere.

Also have similar thoughts about tutorials. One could argue that tutorials don’t really teach you stuff because you are typing out what another person figured out and wrote. I find them to be useful, especially if I do them multiple times. The first time you do it, it just kind of works like magic. The second time you kind of start to piece together how everything works. If you wind up doing it a half-dozen times or more you really understand what is going on and you can apply it to other things.

So I agree if you do a tutorial once, it really doesn’t do much more than introduce you to a concept, but if you have the patience to do them multiple times they can really aid understanding.

Alright, I should be studying and not procrastinating on my blog :p

Hadn’t posted in a little while and I did not want anyone to think I had abandoned my posts!