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.
Wednesday, April 29, 2015
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.
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.
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.
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!
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.
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.
Subscribe to:
Posts (Atom)