Sunday, May 24, 2015

My Triumphant Tale of Spinning Cotton


You know that fall off the horse saying? I think it's pretty lame.

Not the concept and sentiment behind it, but the actual saying. When you fall off the horse get back on? That's so stupid.

First off, the only horses I've ridden were trail horses that follow the leader. They don't buck, they don't really move, and they don't listen to you. Secondly, I feel like when you fail at something, it's more personal than physical hurt. So the entire act of falling is not really accurate.

Basically what I'm trying to say is that persistence is worse than falling off a horse.

Am I boring you? I'm boring myself.

Anyways, I successfully spun cotton.

The trick I discovered was to card the actual cotton into rolags. I think the main problem I was having before is that my cotton wasn't drafted enough. So I stretched my memory and tried to remember how to card fiber.

One of the things I noticed about carding cotton is that it's better to overload the carding brushes. Usually with wool and alpaca you don't want to do that, but I found cotton to be too light if you only use a little bit.

Another thing about cotton? It's super freaking fluffy. There are tufts all over my apartment.

But it's really soothing to be spinning again. I just finished a sock and started another, but there is something about sitting in one spot and using your hands to pull and tease fluffy fibers into yarn that activates my love sensors.

After almost three months of coding, it's nice to have free time to spin again. Don't think I stopped coding, because I would never abandon one of my newfound loves.

I started at my new job last week and I've already learned a ton. I can't wait until I learn everything there is to know about coding.

Alas, time to get back to my wheel.

Thursday, May 14, 2015

New job, New outlook, The truth about spinning.


First off, I have big news. Since this is primarily a knitting blog (I have a feeling that will change shortly and this will become a coding/knitting blog... but I don't want to get ahead of myself), I'll start with the YARN CONTENT. This is how I blocked my most recent shawl.


 I got some lovely blocking mats for Christmas last year and they work splendidly. However, they are not quite large enough for shawls.

So I did a throwback to how I used to block and used cardboard.






Overall I'm pleased with how it came out. The colors mesh well, and I love the lace pattern on the body.
Next up is what I've been spinning.

That was a lovely mohair/wool blend that I sort of experimented with. I basically teased apart mohair locks and then added them to the wool as I was spinning. I was initially trying to do something very specific, but couldn't figure it out and decided just to continue what I was doing and see how it turned out.

That's one of the things I've discovered about spinning. It's not as immediate as knitting but the reward is so much better.

Let me delve into this dear readers. With knitting, you do the same thing over and over and you begin to see patterns in what you're making. You see it grow and can fondle the fabric that you're making while it's being made. Spinning is different. You start out with fibers.

That sounds very romantic right? Fibers. But really all that word means is hair. Sheep hair, alpaca hair, plant hair (that's more of a metaphor? cotton spuds?), dog hair (if you're into that) and etc.

So you sit in one place and literally spin hair together. It's usually not very glamorous and a lot of time it's incredibly frustrating. Because you can be doing everything right and consistently, then all of a sudden THE HAIR BREAKS AND YOUR YARN FLIES OUT OF YOUR HAND AND IT'S THE WORST THING EVER.

This is the point where I get down on myself and tell myself that I'll never be good at it and I should quit and blah blah negative head voice. One of the main things spinning has taught me is that the blah blah negative voice in my head is wrong and stupid.

(I used to be a hardcore perfectionist. I still have bouts of it (and yearnings of wanting to be perfect of course), but therapy made me think of it in a way better light. No one is perfect. Sure you can't fail if you don't try, but you can't succeed. You literally can't do anything. You just sit there and think and have a downward spiral of doom.)

And new and improved Jen doesn't DO the downward spiral of doom. NAI (new and improved) Jen yells a beastly yell of badassery and kicks spinnings' ass.

Because the secret to spinning is that the process sort of sucks. You can see that you're making something pretty, but only a foot at a time. It's only when you stop and take it off the (spool? spindle? I should know this word), that you fully appreciate how incredible what you made actually is. You have many feet of viable exquisite yarn. You can fully see the subtle color change you thought of in your head.

THEN comes the fun part: knitting with it. Finding the perfect stitch to show off how beautiful your spun hair is.

Dreamy sigh.

What is my big news you're asking? I got my dream job. Starting Monday I'll be learning everything under the sun about iOS development and computers and robots and AI. Well, some of those things.

Point is, I'll be able to talk about data modeling and servers and cool exciting computer words!

I know you're as excited as me.

Friday, May 8, 2015

Actual Yarn Content/My Next Adventure

GUYS GUYS GUYS GUYS.

I have a job offer. AND IT'S A LEGIT JOB OFFER.

I could go on a sappy rant about following your dreams and taking chances. But instead I'll bring you back to your regularly scheduled yarn content.

Because after two months of 60+ hour weeks learning objective C. I deserve a yarn day.

Step one: block my Mobile Makers Shawl.

Now some people hate blocking. I love it. I mean you take something you've already poured hours and months into and you make it look spectacular. Shawls (and lace specifically), are super fun to block because they look incredible afterwards.

But that means that I'm now in between yarn projects. Which means...

SPINNING TIME!

and because the temperature is now around 80 degrees and I like making life difficult, I'm going to try and spin cotton again.

BUT. I'm going to hand card it with some alpaca or wool (not sure yet) and then design my own shrug pattern.

You know, just your typical "just finished something challenging keep doing challenging things" day.

Tuesday, May 5, 2015

Delegation take Two

I have to blog this RIGHT NOW because I totally understand Delegation. It only took seven weeks, but it makes a ton of sense. (I wrote this a week ago and am just getting around now to posting/editing it)

Remember how I was saying that there are a billion metaphors about delegation? Supposedly it's because something different will click for each person, but I have a theory that it's because people are terrible at explaining things. But never fear readers! I will set you straight and tell the entire coding community the right way to explain things. (because ya know, I know everything <--- this is is tongue in cheek)

Remember my Popeye and spinach metaphor? That is still apt. But let me tell you why it wasn't complete and then explain the metaphor that made all the other metaphors make sense. In my personal explaining metaphor, Popeye gets 'superpowers' (more methods) that allow him to do all sorts of super cool things. This is essentially what happens, but it's also not what happens. Prepare to think real hard dudes.

There are two really confusing things about delegation.  And a couple things with the Popeye metaphor that were incomplete. Popeye doesn't just get superpowers from the spinach. He opens a connection to spinach world where he gets superpowers. Those powers are still in spinach world, but because of the connection Popeye can access them.

The first confusing thing about delegation is the word itself. Because in delegation there is something called a delegate, and there is something that has a delegate method. Now this second thing doesn't have a name, it just has a method in it. (I'll explain why later)

Now you're going to want to call the one with the delegate method in it the delegate, right? WRONG! The thing you have to keep in mind with delegation is that it is essentially a connection between two things.  The one that is the delegate is the one that gets the response/info. I bet that last thing I said made no sense (because it doesn't), so let me go into detail.

Remember when I was talking about segues? I probably mentioned (or should have mentioned) that we have to use segues and delegation because different views and different objects on a view don't talk. Now if you are familiar with iOS, you might say, "BUT JEN, BUTTONS KNOW WHEN THEY ARE PUSHED". which is true. when you touch a button, it sends a message, which means it's probably using delegation (Boom. mind blown).

Some things in iOS already have features built into them that utilize hard to get concepts. So you don't really have to think about why a button sends a message, you just know that you can utilize it to go to a new screen or have something happen.

But if you break it down, the reason you're able to do stuff with buttons is because they send a message. So now you realize that you need to send a message between two things. Like I said before, unfortunately things don't communicate with each other unless you tell them too.

(I also think this is the core part of computers that people don't get. Computers don't know how to do things until you tell them. We've developed tools to make them more person intuitive... but they still are just using numbers to do things. Remember, the computer is a baby and doesn't know anything until you teach it or give it tools/skills/person attributes).

Now I'm off topic. Ok. The delegate and the thing with the delegate method have a relationship. For example, say we have three things, a house with a fancy number pad door, an atm, and a calculator.  All of these things share something in common: a number pad thing. That number pad thing is NOT the delegate. It is the one getting the messages and the numbers and the fun. The house and atm and calculator just need to know what keys are pressed when they're pressed. The number pad has a method that says what key is pressed.

so if the number pad thing isn't the delegate, what is? In this example, the house, atm, and calculator can become the delegate. That's right people! something can have multiple delegates!

In the process of writing this, I've confused myself. So let me set myself straight. The thing with the delegate method in it doesn't have a name because it can be anything. It can be a dog, or a view controller, or a piano. The delegate is what needs to know the info that the dog or view controller or piano know. Because like I said before, nothing in the ios landscape communicates.

(maybe they should see a relationship counselor... har har har).

So recap. I know when my toe gets stepped on. whoever stepped on my toe needs to know when that happens. So when my toe gets stepped on, I punch the person who stepped on it. The person I punch is the delegate. They receive the message that my toe is hurt.

Yea, the language of it is so stupid. I mean when you delegate something, you give the work to someone else. Since there is no noun for delegate, they don't call the person who pawns off the work anything. We should change that.

This is long and a little bit circular.

Here are the points that you should remember.
1. The language of delegation is hard. This is because anything can have a delegate method and anything can be a delegate.
2. Delegation is a connection between these two things. The thing with the delegate method gets a message and then sends it to the delegate. This message can be as simple as BUTTON WAS PRESSED! or as complicated as a complicated thing.
3. Setting the delegate (another confusing word thing with delegation) is essentially just telling the connection what it's between. So you tell the starting point that they are the delegate and the ending point that they are the delegate.

The metaphor that made sense? Delegation is a tunnel. Setting the delegate is just telling different things where the tunnel entrance and exit are. Then they can send things through the tunnel.

I finished my shawl. More knitting content tomorrow!

Friday, May 1, 2015

End is Beginning, People are Forever

There are some things in life that everyone should experience.

Everyone should take an intensive class with a small group of strangers. Twice in my life now I have done this and each time it makes me appreciate humanity more.

The first time was when I went canoeing and writing in the Northwoods of Minnesota with six other women from Northland College. (I actually have an essay about that experience that needs to be edited).

A lot of us don't admit it to ourselves, but we like to be around people that are the same as us. Whether it's socio-economic or cultural or hobby/career wise, that old saying of 'you are who your friends are' is both true and a trope.

Connecting with people you normally wouldn't is one of my favorite things to do. In my opinion, real connections take time and effort to make and maintain them.

Man I sound like a hallmark card.

Point is, Mobile Makers was fantastic.

Even though I did allow myself the luxury of sleeping in til noon (and it felt so good), I've actually been productive today. I made a new resume, emailed some prospective interview leads, and am about to figure out what I want to do with my life (in specific ways, not just general things).

The only thing I'm a little disappointed in, is that I didn't finish my shawl to directly coincide with the ending of Mobile Makers. In my past, I like to mark events and adventures with a specific piece of knitting. I made a sweet cotton vest on my two week epic national park roadtrip. I made a pair of socks for my canoeing adventure. And I was so close to finishing a shawl during mobile makers!

Maybe that's what I'll do today. I'm about halfway done with the shawl edging. THE END IS DOABLE

Wednesday, April 29, 2015

The End of Mobile Makers (sad face)

Here I sit, midnight on a Wednesday.

I know I haven't posted lately, but that's because I have been working harder than an ant climbing a mountain (that was my attempt to sound southern since Mobile Makers is like half southern people).

Tomorrow is my last day at Mobile Makers and I am so freaking sad. The past two months have literally been the fastest two months of my life. Mobile Makers was top three best experiences of my life and I will sing it from the mountain tops.

I adore coding. Don't get me wrong, I still love knitting... but with coding there is something so beautiful that literally makes my heart all flittery.

I've always liked science and math. But my one true love has always been language and reading. Coding allows me to combine both! It's a miracle.

I am not as eloquent as usual, but I am fixing bugs as we speak because my very first app will be submitted to the app store tomorrow.

After that, my Mobile Makers experience will have ended (but will always live on in my heart).

I have so much more to write (and specifically, I have a half written post about delegation that needs completion... like in a block (HA HA CODING JOKE)) but it's late and I need to breakpoint my freaking project until it tells me why it doesn't want to work perfectly.

Friday, April 17, 2015

My life is so synched.

I have exciting news!

First things first. Tomorrow and Sunday are YarnCon if you are in Chicago. You should definitely come because it's the greatest place ever.

Second, my life and knitting are completely in sync at the moment. Let me explain. You may have gathered that I am attending Mobile Makers and knitting a lovely shawl. Well with both of these activities, there is a point where the knitting and the coding become tedious. BUT that part is over!

I'm currently at the end of week six and just finished my first week working on my very own app. I also am on the edging of the shawl. This means that I'm deeply in love with both parts of my life right now.

I would wax poetic about the beauty of finishing and how dreams come true and rainbows are the best, but I've got some collection views to finagle.

Tuesday, April 7, 2015

rainbows on a cloudy day

The sun is shining (figuratively... it's actually quite cloudy today) and all is well in coding land AND knitting land.

I feel like I'm pushing my luck by talking about how well it's going... but who cares, ya gotta share the good with the bad.

Now you may remember my faithful reader that my last entry was not very full of sunshine and rainbows. I am happy to announce that by some amazing ray of something, I understand core data now.

The key with learning new concepts, I've found, is to make these theoretical problems into something I actually understand.

For example, with core data, you had this thing called a Managed Object Context. Now, I had no idea what it was or how it worked or anything really. BUT. Then one of the awesome instructors said to think of it like a pool. This pool is where all the stuff you've saved goes and where all the stuff you want to save go.

and BOOM CRAASH BANG I got it.

Which is so satisfying. It's sort of funny, coding is like knitting on crack. What do I mean? Well with knitting, you will always hit a part of the project that makes you crazy. Maybe you're learning a new stitch or the yarn you bought sucks so hard or your brain just doesn't work. Then you somehow persevere and finish the project and IT FEELS SO GOOD.

Coding is that feeling on heroin. Because you have literally spent 6 hours trying to figure out why something is wrong. Then in hour 7 you realize the problem. You spend another hour trying to fix it, finally think you have it. then BOOM IT STILL DOESN'T WORK AND YOU DON'T KNOW WHY. So you get so angry at technology and computers and your brain.

I mean what's a delegate anyways?!

(sidenote time. I used to feel this way about physics. It's super interesting, but it just seemed so made-up to me. and I realize everything is made-up (language, culture, etc), but the fact that people said gravity is obviously 9.8 m/s pissed me off. I mean yea you can measure it, but then you think about subatomic particles and... this is so off topic. my physics rant will have to wait for another day because I am talking so hard about coding)

So you go to sleep. or get a sandwich. or work out because otherwise the anger inside will turn you green.

After the storm has passed. You go back to the demon on your computer and all of a sudden... you realize that you didn't do one simple thing. So you do that and IT WORKS AND HEROIN ISN'T AS GOOD FEELING.

I think I should mention that I've actually never tired heroin or crack so you'll have to take my comparison with a grain of salt (and hopefully not bath salts).

I have to admit that every-time I've figured a coding problem out, I have literally thrown my hands in the air. That is how much joy is contained in that single moment.

And it's a little addicting. Because it's like knitting... but better.

NEVER FEAR I STARTED THE BORDER ON MY SHAWL AND DIDN'T RUN OUT OF THE BLUE YARN.

Tuesday, March 31, 2015

Hurdles sometimes break my kneecaps

Most of my past posts have been happy. But don't worry faithful reader, I'm here to rain on your parade.

Because we learned core data today and I am struggling like a mofo.

Which is stupid because yesterday I rocked so hard and I was all, "JEN IS THE BEST CODER EVERRRRR".

and then today I can't even get my table view to load with a pre-loaded array!

I got 99 coding problems and a bitch ain't one. Well... one probably is a bitch.

Anyways, I thought I'd come here to my trusty blog to remind myself that even though my table view is currently biting the big one, I am a competent person.

Let me explain why I am in this current situation. Instead of starting the project from the bottom, I decided to start designing classes and develop the framework on the fly. THIS WAS A BAD IDEA. I don't know why I think I can just hit the ground running and be the world's fastest sprinter. Spoiler alert self, you have never been a sprinter, you're an endurance person.

I know this! I did the same thing with knitting! Instead of asking people and taking lessons I just decided to try something brand new myself. This resulted in my first shawl (disaster), first sock (disaster), and first sweater (surprisingly not a disaster).

This is normal! Jen, you need to stop being so hard on yourself and thinking that you need to learn everything right now. There is a lot to know and you can't just be a robot and download everything into your brain.

(as an aside, I just finished the first book in the foundation series by Isaac Asimov and holy cow I am so much further in love with him that I have ever been and this run on sentence is to tell you that I've always loved him a great deal but I'm straight up fangirl obsessed with him now)

Deep Breath. Don't worry everyone, I'll get through this.

Sunday, March 29, 2015

Sometimes life/knitting is perfect

I swear to god I'm not being paid to promote Mobile Makers. And in fact, I'm actually paying a decent amount of money to be there.

But I don't think I've ever loved anything quite as much as programming.

Actually, I've loved knitting that much... and we see where that has gotten me (rooms full of yarn and shawls and sheep shows).

(I'm saying that good things come from passions).

I would like to share two facts with you at this very moment. ONE IS KNITTING RELATED!!!!

Remember how I was on the death spiral part of the shawl? One of my many tricks for enjoying this part (and all parts) of the shawl is to not count the number of stitches I have. I just do the pattern until it looks biggish and then I count. Doing this has its advantages: you don't waste time counting a billion stitches, you don't constantly think about the sheer size of what you're doing.

Instead, you dig yourself into the comfort of what you love doing: knitting.

This can for sure backfire and that's what I thought happened the other day. I was working on my shawl when I noticed two things.



I was running out of yarn, and I had a lot of stitches. I started this project without calculating the amount of yarn I would need, but I figured I would just do the border in a different color.

After counting, I realized that I had actually gone past the stitches I needed to get by about 20 (which is ten rows of mind numbing stitch counts). Any knitter who knows my knitting style intimately (ggrrrowl) knows that I hate ripping stitches out.

Then I looked at the pattern. It turns out I was supposed to stop twenty stitches ago to start a new chart.... BUTTTT. The first 2/3 of the chart is the same as what I've been doing.

That's right. I stopped at exactly the right time and I am a knitting goddess.

The second thing I want to say is that custom delegation is literally one of the hardest concepts I have ever grasped. Remember how I was all, oh yea delegates do this? well... they do... but it's bad when you've heard 10 metaphors and all of them makes sense so none of them make sense.

After about a week it's finally starting to fully grasp it. But no time for explanations children. I have apps to make!

Thursday, March 19, 2015

Delegates make me all philosophical. also shawls.

Even though I should be super frustrated, I am still super enamored with Mobile Makers. They've been giving us harder and harder projects and I'm still understanding. Which go me.

Anyways, remember how I was all like, "oh yea, segues are so easy, I am the best at them." I may have to amend that statement. I do get the general concept of them, but those paired with delegation make me a little iffy.

Delegation you ask? Yup. It's just like it sounds. It's when something makes something else do a task.... well sort of. It's actually super complicated and I'm just starting to wrap my head around. I'll probably post a clearer example once I start fully grasping it, but for now let me just give it my college try.

You have to use delegation when you are doing something in a different view  (or a different file) and want to know about it outside of that view (/file). I think it's a way to add more methods (making objects do things) that is cleaner and easier to break down. Some of the common objects we use all the time (view controller, table views, text fields) have delegates. These are already defined but generally I think of them as access to a level/power up. So with the objects 'built in' to objective c we can already do a  lot of stuff, but if we access their delegate we get to do ALL of their stuff.

Like Popeye. He is already a pretty good... sailor? Not really sure what he is. But then he eats spinach and he can do so much more stuff! Like knock people out... and other stuff. I'm not really up on my Popeye it would appear. But delegates are like spinach. We call them on a class and BOOM we can do way more.

From what I can tell, delegates are usually used when something is clicked or pushed and you want it to do something.

Phew. Right? That was all yesterday. We learned about delegates last week but yesterday we had to really learn them to build an app that basically just shows a different collection of tigers and lions when a corresponding button is clicked. WHICH IS SO MUCH HARDER THAN IT SOUNDS.

I think that's the main thing I've learned is that things that seem really easy are actually super complicated. I guess it makes sense because we think swiping to go to a new page makes sense, but we first had to learn how to see, how to make our finger move, and associate certain movements with certain results.

Think about being a baby. You didn't know anything as a baby (contrary to the movie Baby Geniuses). I was blown away a couple weeks ago when I learned that babies can't even recognize shapes until a couple months old. I mean that's why it takes so long to walk. Think about how complicated that is. But you don't even have to because your brain does it automatically.

Programming is making a brain. 

Ok.... you can tell I'm excited and into this right? So i'm going to be even nerdier right here. Because you know writing about knitting isn't nerdy enough.

I've always been fascinated by the brain. I've always been fascinated by philosophy and why things are how they are. And it turns out the programming is literally both of those.

Let me explain about the philosophy thing. (because the brain thing is explained up above sort of)

Philosophy takes abstract things and tries to make them concrete to be able to manipulate or solve problems. (I just blew my own brain writing that. I sound so deep and insightful)

Programming is wanting a computer or phone to do something. In order to do that, you have to conceptualize a lot of stuff. You have to break down the task into different actions and parts. You have to translate that into words (the programming language). And the programming language is telling the computer what ones and zeros and numbers to fire in order for it to accomplish things.

Why yes I am a little iffy on how programming languages and computers interact. However did you guess?

I realize there is no knitting here... but I am on the death marathon part of the shawl. For those of you unfamiliar with knitting, it's when you literally have a row that is 300 stitches and you have to add four stitches every other row in order to get to 400 stitches. You don't get a lot knit vertically and so your brain is like, "UGHHHH I just did one row and it took fifteen minutes and I have so many more of these".

Speaking of knitting... it might be time to switch to a sock as my portable project.

Tuesday, March 17, 2015

Segue... the final frontier... or the first

This'll have to be quick because class starts in six minutes.

I figured I should finish my segue discussion.

So now that you know that we are essentially passing an object with some sort of information in it, it should be easy to grasp what a segue is. All it is, is a way to pass information from one screen to the next.

Say you made an app to play mad libs. You have the user enter a word for each category (noun, type of weather, favorite color, verb) and then at the very end you want to show the filled out mad lib. You would have to make a segue to pass the word from the screen it was entered on to the last screen.

Pretty straightforward. The thing that tripped me up, was what segue was. It acts sort of weird in the code. It wasn't really a property, and it wasn't really a method, but then it was explained that it's it's own class.

and voila. I got it.

MORE TO COME LATER.

Sunday, March 15, 2015

Spring Love and what object oriented programming means

I have a confession. I thought that Mobile Makers was full of shit.

You know that saying, if it sounds too good to be true than it probably is? I thought that applied. What are the reasons I was skeptical about Mobile Makers?

1. They say, anyone can learn it (even people who haven't programmed before)
2. They say, people will want to hire you after the class if you work hard (I've been working hard my entire life and no one has jumped at the chance to hire me.)
3. They say, Mobile Makers has a network of peers and mentors that want to help you.
4. They say, Mobile Makers teaches you things that you can't learn on your own.

I don't want to sound like an advertisement for them... but I know for a fact that 3/4 of those things are true (since I haven't completed the class, I don't know if people will want to hire me).

Here is my second confession: I'm in love with Mobile Makers.

Also, I'm in love with life at the moment because it's SPRING and SUNNY.


Yes that is what I'm currently knitting. If you're patient I'll show you what I'm knitting at the end of this. and YES I am doing this class in downtown Chicago. No more suburbs for this girl, I'm an official big city person. I'm probably also loving life because I started taking anti-depressants again. Huzzah mental health.

But back to my undying love for Mobile Makers. I've spent ten hours for the past six days (well... only eight yesterday) dedicating myself to learning objective c. AND IT'S WORKING!!!

I've always known that I pick things up fast, but I didn't realize how fast I can pick things up if I can ask why things happen. One thing I've learned from the past week is that once I know the reason you do something or the reason something works... then I understand it.

Case in point. Segues. What is a Segue in objective c? GOOD QUESTION LET ME ANSWER.

(I'll try to tone it down... sorry just got excited that I TOTALLY KNOW HOW TO CODE)
(I know I just used parenthesis above but I have a funny story about the word segue. Up until a couple years ago, I spelled it segueway because I didn't realize that segue is pronounced seg-way. Thanks sister and Bekky for making me not look like an idiot! Oh english.)

A segue is a way to go from one screen to another and pass along information when you do it. Two points I'd like to make about this. First, this is the entire point of object oriented programming. Programming is basically turning computer language into words so we can modify it. Object oriented programming's strength is that you can break a complicated idea into smaller parts, create a thing or an action (method/function), and use those smaller parts to make a giant thing.

Example (because that was super vague): I want to tell a computer/robot to make a peanut butter and jelly sandwich. I could write it this way:

  1. open bread bag
  2. take two pieces of bread out of bad
  3. place slice of bread on the table
  4. open jar of peanut butter
  5. pick up knife
  6. put knife in open jar of peanut butter
  7. put peanut butter on knife
  8. take knife out of jar
  9. rub peanut butter on one side of the bread until evenly coated.
  10. put down knife
  11. open jar of raspberry jam (the best)
  12. pick up knife
  13. put knife in open jar of jam
  14. put jam on knife
  15. take knife out of jar
  16. rub jam on one side of the bread until evenly coated
  17. put down knife
  18. put the two pieces of bread together with the peanut buttered side and jam side touching each other.
That was a lot longer than you thought it would be, but not unbearable. The trouble with this comes when you want to make the ULTIMATE peanut butter and jam sandwich with multiple layers. You would have to repeat 7 steps just to tell the person to do the same thing as before (lines 4-10 are essentially the same as 11-17). And what would happen if you forgot to say to open the jar? then you'd have to go through a huge list of steps to find out where you missed something.

With objective C, you can turn an action into something that's repeatable.

I can hear your attention waning so I'll make this quick.

Instead of having one list, you would have a couple. the first list would turn the 7 lines of code into one method that you would call on whatever property(peanut butter or jam) you want.

prepare bread for sandwich:(topping added)
  1. open jar of (topping added)
  2. pick up knife
  3. put knife in jar of (topping added)
  4. put (topping added) on knife
  5. take knife out of jar of (topping added)
  6. rub (topping added) on one side of the bread.
  7. put down knife
Make Sandwich

  1. open bread bag
  2. take two pieces of bread out of bad
  3. place slice of bread on the table
  4. prepare bread for sandwich: peanut butter
  5. prepare bread for sandwich: jam
  6. put the two pieces of bread together with the peanut buttered side and jam side touching each other.
MUCH SIMPLER IN THE LONG RUN. Which is the point of coding. Yes you can do something the long way, but if you want to create something automated that does the same action over and over... why not be lazy about it?

Ok. I was going to talk about segues but that'll have to wait for tomorrow. Because it's time to figure out how to make a tic tac toe game.

PS. I'm making a shawl.


Tuesday, March 10, 2015

Logic, Life Changes, and Mobile Makers

First off, I'd like to admit that yes I failed on my new years eve resolution gift thing to Bekky. Perhaps I was a little ambitious. Alas, the first step to succeeding is failing... or something like that.

For the next two months this blog is going to be a little different.

(as an aside: I've often thought that I'd be more interested in writing in my blog if it was less blah and more actual Jen. I guess this will test it.)

Why are the next two months different? Because four months ago I decided to change my life. I was sitting at work, miserable because an attorney had just yelled at me for being the devil (or something akin to a demon), when I read an article about something called a "Programming Bootcamp." Now it might surprise you (nine) readers that I'm interested in programming... but let me explain the logic behind it.

(HA GET IT?! Programming is all about logic and so I made a joke referencing that.)

As you may have gathered, I love knitting. It is normally quite impossible to make a living from knitting, so with that off the table I decided to look at what I like about knitting. I love that it's repetitive and you can sink into a rhythm, I love that you can create a finished something, I love that you're constantly learning and pushing yourself to do something new, and most of all I love the community that surrounds it. All these things can be applied to programming.

So long story short, I've spent the last four months saving money, studying objective c, and applying to Mobile Makers.

Let me also say that I am a very skeptical person. I like to believe the best in people and businesses and education, but as my dad always says, "Plan for the worst, hope for the best," (I come from a long line of pessimists realists). Maybe I've also grown jaded from working in legal finance.

That being said, for the next two months I'm going to do a daily blog about my experiences coding at Mobile Makers. I'm going to try and make this a mostly positive blog but it may contain some rants and breakdowns.

Enough introduction. We learned segues today and I have a lot of night work to do to make sure I get it.

DON'T WORRY I'LL STILL BE KNITTING ON THE TRAIN AND POSTING YARNY PICTURES.

Saturday, January 3, 2015

The Selfish Selfless Year

Did you hear? It's the New Year! I know that you've been wanting to read another post about resolutions and how this year is going to be different... so here you go.

This past year has been wonderful, but difficult. Wonderful for many reasons: I've met great new people, I've learned new things about myself, I've started on a new path that will improve my life, and I've been rocking in my band.

Here's the difficult part.

and it really shouldn't be that difficult because I'm an open person. I pride myself on 'what you see is what you get' and not being afraid. But I have been afraid.

I could drone on about about why I've been afraid and how society needs to change and blah blah blah. But that's not my style.

My style is straightforward with poor grammar and a lack of conjunctions (don't tell me you didn't notice).

I have Depression.

Not like oh no I get sad sometimes. But more like it makes it hard for me to go out, to go to work, to meet friends, to enjoy doing new things.

As a result, my spinning has been sorely lacking.

(this is where the new year comes in)

One of the things they tell you to do with Depression is to do things. It doesn't matter what you do, it just matters that you ignore the voice telling you that everyone hates you and life is terrible and nothing you do will matter.

It also serves this back-story to tell you about my bestest friend in the entire world: Bekky. Bekky has had a shitty past couple years and I want to make sure that 2015 is great for her. She is one of the only people who reads this blog, so I decided to make this year a sort of dedication to her.

That means that every month, I am going to spin some amount of yarn, blog about it, and then send the final yarn to her. I can't guarantee that I will blog every week, but even twice a month is more than what I did last year.

Merry Christmas Bekky! This is your Christmas present! A full year of Jen yarn!

What does spinning yarn for my best friend and Depression have to do with each other? 2015 is going to be about taking care of myself and taking care of others. AKA the Selfish Selfless year.

BALLER.

Now if you'll excuse me, I have to spin some mohair onto this lovely bit of roving below.