2015.02.18 – Learning and More Learning

Today I requested a Vidyo meeting with Peter and Richard so we could talk about the star icon, size, placement and such. I have to admit I used to fear these meetings because I was so lost in the beginning and didn’t want to have to see the disappointment on their faces but in all of our meetings that never happened. They have both been so great.

We decided what size to start with and Richard agreed to create the icon sprite for me which is wonderful since I’m totally not a graphics person. Peter showed me how to implement it so I was able to mess with my test star and move it all over. Sweet! This is all pretty basic CSS stuff but it’s new to me so I’m amazed and delighted each time I see how something really works.

Tomorrow Peter is going to show me how to pull out duplicate template code and make macros. I know nothing about this at all but he says we can knock it out in about an hour or so. I am looking forward to learning more!

Today I learned how to put my clickable star icon over another image.

2015.02.17 – I Busted Through a Wall

Wow, I had been feeling so stuck early last week and the week before. Everything felt impossible but getting small pointers here and there has really helped me move forward, learn and gain some confidence. I keep letting myself feel like whatever thing I am struggling with is going to finally be that thing I can’t ever understand but it’s just not true. I can learn anything I want to if I try hard enough. It’s just hard to remember that in the middle of confusion.

Today I got placeholder_img and thumbnails working! I also tweaked my bulk event creation script to add those features. I got my script for starring events to run and print out the starred event count. I have my sprite toggling from starred to un-starred. Now I just have to figure out how to get the thing to hover over the thumbnail. I think I’ll have it placed below the actual video but it’s all stuff we need to talk about.

Wayne picked me up and we went to Trader Joe’s to get stuff for dinner. We decided to have green curry over rice. It would be simple and fast! When we got home I helped get everything prepared. When Alice came over, Wayne headed for the shower and she and I finished cooking. Tonight we had the six of us, Alice, Jason, Spencer, John, Miri, Dale, Baby Michael (who was wide awake and so much fun!), Lauren, Sean, Roberto, Frankie, Taylor and Delaney. Everyone loved dinner so we will keep that one in the rotation for sure.

Today I learned how NOT to send a command to my tmux session. I crashed the whole thing while trying to figure out how to save sessions. The point is to recover them in the event of a crash. So much for that! I’m gonna tackle it tomorrow though hopefully.


2015.02.16 – Fighting With Sprites

It was another beautiful, sunny day but it was kind of windy. I stayed inside and worked on getting a star icon to toggle back and forth from gold to grey. I got it to work using two image files, CSS and jQuery. I still don’t quite understand it all but it works. I wanted to try getting it work with a sprite though. A sprite is a single image file with multiple image objects. Only a certain portion of the image file is revealed at any given time. I understand the concept and think I understand how to configure things but it doesn’t work. Frustrating!

We also watched the sixth Harry Potter movie but I kept falling asleep. After the movie I started working on dinner. We had chick’n pot pie patties, mashed potatoes, gravy, sauteed asparagus and mushrooms, salad and bread. Alice and Jason joined us. It was SO good! I tried not to eat too much though because I made some chocolate rice pudding for dessert.

After dinner I asked Andrew if he would look at my code for the sprite. He looked for 2.5 seconds and asked why I didn’t have a comma at the end of a particular line. Uh, I dunno. I added the comma and BAM! It worked. Gah! I should have bothered him sooner because I would never have figured that one out on my own. Now I’m going to find a better sprite file to use and mess with that. What a relief to have it working.

Today I learned how to make my sprite work. Sweet!

2015.02.15 – Good Luck at Goodwill

Jordan, Alice and I made plans to go to the Goodwill on Broadway. We had never been so wanted to check it out. I first directed Jordan to the men’s shirts so he could see if they had anything and then I went to look for small bowls. Alice went directly to the jewelry counter and spent a good amount of time there. I had no luck with bowls so looked for a goblet but no luck there either.

I decided to look through the skirts and found a black one I really liked. I moved on to knits and sweaters and just about everything else. I ended up finding pants, shirts and sweaters that I am really happy with. Jordan found a pile of shirts and some socks, Alice found jewelry, mugs and glasses. We were all so happy with our finds!

On our way home we saw that Rerun was open so of course had to stop there. I found two more shirts and Alice found some records for Jason. We were all shopped out so went back home. I tried to read my book but kept thinking about my Mozilla bug. I think I’ve forgotten how to let my mind be still.

We were having breakfast burritos for dinner so I made tofu scramble and hashed browns. It was easy and delicious. We watched a bit of Dr. Who and then called it a night.

Today I learned that Seattle is north of Toronto, Ottawa, Montreal, and Quebec City.

2015.02.14 – Valentine’s Day

I pretty much spent the entire day working on Mozilla stuff. It’s the weekend and I really should have just gone outside. We are having the most beautiful weather! I was able to make progress on the template though.

I added back in, one by one, the three important lines I had to delete in order to get it working before. Andrew helped me figure out the first issue. I was looking and looking and trying all sorts of things. He glanced at it for about 30 seconds and gave me a tip that got me moving forward again. I can’t even explain how much just a tiny bit of help is such a big deal to a new programmer. It’s kind of like being spotted doing an exercise. You try and try and try to do a pull-up but you can’t. If someone would give just a little help you can complete the pull-up and your body gets to feel the complete motion. It feels the same when I get the slightest point in the right direction.

Anyway, I got the next issue fixed pretty easily. I had to add some more code to my view and all was well. The last one I can’t figure out though. My events need to have a placeholder image so they can display a thumbnail but I don’t know how they are generated. Some module I am unfamiliar with is imported and used. I’ll have to bug Peter about that one.

We don’t normally do much for Valentine’s Day but this year we went out to dinner with Alice and Jason. We went to a really good Indian Buffet, Namaste. We all ate a lot and then went back home to watch a movie at their house. Jason added some red LED lights behind the tv and made some nice shelves for drinks. They have such a sweet home theater and he keeps improving it. We watched John Wick. Keanu Reeves killing a LOT of people. Meh.

Today I learned that there is such a thing as cashew milk ice cream. Yum!

2015.02.13 – A Fairly Typical Day for Me

I did not sleep well at all so I was slow to get out of bed and get dressed. Wayne was still sleeping as well which was unusual but he is still so sore with his back being out. He went to the chiropractor and it’s still too bad for him to do anything. I feel so bad for him!

Jordan didn’t have class today so I told Wayne I’d just take the Max to work. He wanted to give me a ride though. Said it would give him a purpose for the day 🙂 It was another beautiful day. Warm, blue skies. I love it here so much.

As soon as I got to the office Peter messaged to ask how adding data to the DB went but my tmux session was frozen. I really need to figure out how to get out of that situation. It finally quit so I could reconnect. I let him know that I wrote a custom command to do it and it was really cool. He asked if I had gotten events to show up in my template. Nope, not yet but that was my next task.

I tweaked my script a bit and added more events. I also inserted some print statements so I could see what was actually getting passed around. Nothing! Well that’s not very handy. I figured I’d clear out the database and start over since I tweaked it anyway so I flushed the data and added more events. I tried to load the template again and still nothing. Well what the heck? I started a shell session and poked around. I could see that I had events. Think, think, think……Oh! I have to STAR some events! Duh! I did that and now I was seeing events in my list. Yay! But I was still getting errors.

The error had something to do with the url reverse lookup not finding the event slug. I was creating one when I created my events though. I looked at the list of events and it only contained the title. I figured I should just flush the database again and start over. I sent the flush command, it asked if I really wanted to delete all of the data, I said yes and then it hung. What the heck?? I couldn’t do anything so I closed the tab and tried again. Same thing. Lunch arrived at about this time so I figured I’d leave it until after I ate. Katt ordered Sizzle Pie and it was yummy!

I came back and it was still doing nothing. Why is everything such a pain in the ass? I started looking through my other terminal tabs though and yeah, I had never closed out of the shell session I was using before. Doh! Once I exited I was able to easily flush all of the data. I ran my script to add more events to the DB but now I was getting a duplication error. I tell ya. I looked at my script again and yikes I had some variables inside of my loop. Gah! Why would I even do that? Fixed that up and all was well. I was an event creating pro! Well, it was working anyway and I remembered that I had to also star some events to get them to show up in my template.

I loaded the page and still had the slug error. I tried modifying the parameters but it would still error. i finally just deleted the whole line. Now I had a different error. I deleted that line too. New error. I deleted that line as well and holy shit, events were showing up! Wow! I was pretty excited and happy that I figured it out. Go me!

I told Peter I had it showing events but that I had to delete some of the template. He said that was strange so I showed him the three lines I had to remove. He said those were really important lines. Ugh! Of course they are 🙂 But still, I DID get them to show up in my template so something is working(ish). I’m taking that as a win.

I pushed my changes up to Github so he could look them over when he got a chance and remembered he had sent out an email yesterday saying that he had upgraded Django to 1.6 so I needed to pull in those changes, install the requirements and migrate. Simple! Except not so much. I of course had an error. Something about main_userprofile already existing. I have no idea. I told Peter and he said that was strange. Yes, definitely a theme here. If there is a way to mess something up or break something in a strange way I will most certainly do it. I’d be great in QA!

He had me start a psql session so I could send him some output. Uh, how do I do that again? I managed to figure it out, pasted my output into a gist and then couldn’t for the life of me remember how to exit the session. I typed in all manner of things but not \q because that would be too easy and would also work. Finally did a ctrl-d and that killed it.

Peter looked at my output and asked how it was possible that I had zero migrations. I dunno. He said I should just start over. He said to delete my database and recreate it but he was worried about how much data I would lose. I told him it was no problem at all since I wrote my handy populate_db script so we did that and as I was going through the steps it all became so clear. I had flushed my DB multiple times today but never thought to sync or migrate. Stuff worked anyway. I have no idea how or why……but that would explain my lack of migrations. Once I did that, everything was happy again. For the moment anyway.

My feature branch was pretty out of date with master though so Peter said I needed to do some housekeeping stuff to get everything where it should be. I needed to rebase onto my branch and I also needed to rename my model from StarredEvents to StarredEvent then migrate and then push it all up to Github. That all went just fine. Yay, I don’t think I broke anything! That must mean it’s time for a tea break. Yes. Yes it does.

I asked Wayne to come and get me early before traffic got bad. It is a three day weekend so I imagined it would get pretty backed up. When I got home I got situated on the couch with my tea and got back to work.

I decided to work on the html/css task. I just needed to get a small star icon to display over an image. Ok that was too easy. What I really want is a star that will toggle on and off when I click on it. THAT was turning out to be much more difficult and confusing. I spent the rest of the night reading a bazillion different articles and tutorials using all different methods and ended up much more confused than when I started. Good times.

Today I learned to use [Enter] ~ . to kill a frozen ssh session. Handy!!


2015.02.12 – Now I’m Moving Forward

It’s Thursday so I usually go downtown pretty early with Andrew. We were on time this time which was nice. Roger and Alice were leaving at the same time and offered us a ride. Yay! I probably wouldn’t get a ticket today. It was foggy again but not horrible. I love hearing the ship’s fog horns anyway.

Alice dropped us off and I walked up to Mozilla. I got there just after 08:00 so Katt hadn’t arrived yet. I just stood out in the hallway and caught up on my Twitter feed. Eventually a Mozillian saw me and let me in so that was nice. I got right back to my usual job of being confused. At least I know how to do that much! I felt like tests for my sync view were pretty good so I needed to start writing some for my home view. I’d need that template to be working though and yeah….I at least figured out that I had to rename some stuff to get my template to load so that was good. I tried to sign in though and it was not happy. Hmmm….I checked my settings.py file to verify things were as they should be. They were. Oooooooh I bet I’m not a super user. That was it so I was back in business once I fixed that.

I tried changing stuff in the template to see what was going on but it didn’t seem to make any difference. I could either completely break it or nothing changed. Not helpful. Kronda showed up and Jordan came over as well so I had some company but none of us did a lot of talking. We all seemed pretty focused.

I had a Vidyo call with Peter after lunch. He looked over my tests and my views. We talked about how things should work but I’m still pretty fuzzy on how all of this is going to work together so I wasn’t very helpful. He’d ask me why I did something a certain way and I’d discover it isn’t going to work the way I thought it was. I told him I usually feel like I have no idea what I’m doing and thankfully he seemed to understand. Whew!

I loaded my template to show him that it doesn’t display any events so he had me go to the Python shell and see what was in the database. That was really interesting! And I only had one event. He suggested I work on populating the database with more events and then get them to show up in the template. He also suggested I make a dummy html page and get a star icon to overlay an image with some css. Great! I don’t know much about databases but I’m very interested in learning and the css thing sounds completely doable.

I got started trying to figure out how to populate the database. Peter had mentioned using a create event method I was using in one of my tests. Hmmm…..my method adds just one event and it’s very specific so that wouldn’t work as is. I need to add a lot of events with different titles and such so I would have to change it. I also wanted to be able to populate the database with a bunch of events at one time. I didn’t know how to do it but I figured it must be a thing. Nobody would want to hand enter that much data. I poked around on the net and found that Django supports writing your own command scripts. Neat! I found a brief article showing the basic structure of a custom admin command and got to work. This was a fun challenge! I worked and worked at it until I had it adding any amount of events I requested. Super cool! I need to do a lot more work on it so it’s more useful, maybe having it star events as well.

It was time to go meet Andrew and Dave for dinner before the Perl Monger’s meeting though so I had to stop working on it. Boo! But yay for Los Gorditos. I hadn’t been there in a loooooong time and was really looking forward to it. Jordan and I met them in front of Mozilla’s building and we wandered down there. It was a beautiful night! It’s February and it was like a cool summer evening. Dinner was fantastic but we had to hurry to be on time for the meeting.

Tonight a couple of people were talking about documentation. Everyone’s favorite 😉 One person presented on why POD is a bad thing. I’ll have to take his word for it since I guess it’s a Perl thing. He said to use Markdown instead I think. I was kind of distracted by my command script. I didn’t want to stop working on it so I was doing that instead of listening. The other presenter spoke about Sphinx which is or was primarily a Python thing but there are plugins for other languages. I used it at UA and really liked it.

After the meeting we headed over to Fathead Brewery for beer and more discussion. We were there until about 23:00 and I was tired! We still had to walk to the Max and had to wait about 30 minutes for the yellow line. We made it home just before midnight and I went straight to bed!

Today I learned about writing custom admin commands in Django.

2015.02.11 – A For Loop Is the Answer

I was back downtown today. The office was pretty quiet so I was able to spend the better part of my day trying to figure out why I couldn’t get a test to pass. One of my values was being returned as a string. I was just trying to get back what I was sending in a POST request but it wasn’t working. I put print statements everywhere trying to track it down and it was just baffling me. How are some of these really simple things such a mystery?!

Kronda came down in the afternoon and lunch was delicious so that helped. I took a break from tests and worked on the templates. Well, that’s an entirely different puzzle. Templating is really cool but still a bit tricky for me. I have to imagine how I want the page to look and then figure out how to write the template so all of the data is pulled in and put in the proper place. I suck at front end design type stuff so hopefully I can just get something sorta kinda ok and have someone else with a good eye fix it up or give me suggestions. The goal is to allow a user to star events they want to watch later and then be able to navigate to a page with a list of all of their starred events.

Jordan came to Mozilla after his class and hung out until Wayne picked us up. I was having dinner with my friend Shanna so Wayne dropped me off at her house. She was cooking and I brought dessert. I grabbed some cupcakes from Cupcake Jones. I only got them because I had a gift certificate from our dentist of all people! Anyway, they were ridiculously expensive so I’m glad I didn’t pay for them but they were tasty. They have vegan cream cheese frosting down.

Shanna made an amazing dinner of homemade bbq seitan with broccoli and asian noodles. Yum! I ate a lot and then tried to have some cupcake. We talked about all sorts of stuff. She has a lot of wonderful things coming up in her future. She’s getting married! She’s opening a drum school! I totally want to take lessons from her. Shanna was in code school with me. We had a ton of fun together and worked on an iOS phone app while we were between jobs/school. We definitely don’t get to hang out enough.

Shanna dropped me of at home and everyone else was just about to eat dinner. I ran around looking for some paperwork I needed for our taxes while they ate. I never found it though. Taxes, grrrr! After dinner we watched some Dr. Who.

Today I learned that I needed to loop through my view method for starring events and convert my values to integers instead of strings. SO simple yet so elusive to my newbie brain. I know now though. Sheesh.

2015.02.10 – Workish

I stayed home today so I could take Lauren to the dentist. She had to take a sedative so she needed a driver. I picked her up at work and drove her over. I was hoping the office had WiFi access so I could do some work but they only had a secure connection and didn’t share. Luckily I got a great signal from a nearby fast food place. Thanks Burgerville! I put on my headphones and got to work writing more tests.

Before I knew it Lauren was done. She was a bit numb and really hungry. They said she could eat whenever she felt like it so I took her downtown to DC Vegetarian, her favorite food cart. She wanted a coffee from Stumptown too and there was no line at Voodoo Doughnut so naturally we hit all three places. She was so touristy! Say what you will about their doughnuts being meh but their vegan apple fritters are pretty damned good.

We headed home with our spoils and shared them with the family. I worked from home the rest of the day but stopped right at 17:00 since it was dinner night and we were having lasagne. It’s pretty labor intensive even though we don’t pre-cook the noodles. This also makes it take longer to cook so we had to get it in the oven at a decent hour.

Dinner was awesome! It was the six of us, Jordan’s friend, Tianna, John, Spencer, Alice and Jason. I worked for a little bit more after everyone had gone for the night but didn’t get very far. It’s hard enough to think clearly when I’m not tired.

Today I learned that I can make vegan Florentines.

2015.02.09 – Rainy Monday

Yay! Rain! I’ve been in Portland nearly two years and yeah, that’s not very long but so far I don’t think it has rained enough. Maybe it really is just an unusual time and it will rain more in the coming years but so far I love, love, love having actual weather.

I spent my day at Mozilla, working in the “Intern Room”. It was just me today again. Katt says I don’t have to stay in there but I put on my headphones and some music and I really don’t mind at all. I feel like I get stuff done at least even if I’m still really slow.

I pushed my branch up so Peter could look it over and make comments and suggestions. He only had a few but I struggled with one of them for quite some time. I stopped to watch the Monday Meeting and then lunch arrived. We had burritos. Yum!

Back to the room after lunch and more fighting with unit tests and templates. That’s pretty much how I spent my entire day. It never felt frustrating to the point of wanting to give up though so that was good. There is just a lot to learn and I am taking in a lot of information so I haven’t gotten to the point where I am able to parse the data and pick out the really super important and useful stuff to remember. I seem to just forget most of it instead 🙂

We had tacos for dinner and then watched not one, but two episodes of Dr. Who. I like the new doctor and his new companion.

Today I learned a little bit about Django SimpleLazyObjects due to an error I was getting with a unit test. So, so, so very many things to learn.