Monday, November 18, 2013

day: lost it...

I'm not sure what happened, but I turned a corner and came home and felt super over p90x. 

 I'm trying to figure out how to do exclusively cardio workouts. I hated the yoga. I hated the strength training. And I didn't mind the cardio. 

I'm a p90x failure.

Verdict: I made it through 2.5 weeks? I guess that's better than nothing...

Sunday, November 17, 2013

day 16: mixed bag

Cardio X.

I would categorize today as a wash. My energy level was medium, which was a nice surprise. But right in the middle of the yoga part of cardio x (which is like, a solid 15 minutes of the 40 minutes), I got a muscle cramp in my left foot and had to stop. Then start. Then stop. Then start. I can't decide if I'm doing yoga wrong, if my feet are just stupid or if maybe my shoes are bad? Besides that, all went well, I almost did the video in its entirety, with the exception of the dreya rolls and some of the tires & steam engines. My hip/upper thigh muscles cramp up super bad during the tires/steam engine, so I just march in place for a bit. Getting better every time, but still tough.

Verdict: cramped but sweaty finish.

16 down, 74 to go.

Saturday, November 16, 2013

day 15: i'm still here

Core Synergistics.

I felt super low energy again today and a little frustrated that I'm not getting all that much better at this stuff. But it's still true that I'm improving a little - I did more push ups today than last time (but still no where near what I should be). I kind of managed to do two dreya rolls. Kind of. Mostly getting to standing is really difficult...

Verdict: I'm still in it but I need to get some kind of energy infusion

15 down, 75 to go.

Thursday, November 14, 2013

day 13: lacking energy

Kenpo X.

It was a rough one today. The music and no Tony Horton didn't help me at all, I was so lackluster that at one point instead of back-kicking I kicked my own leg. That's embarrassing. But I did the whole video; I made it through. And that means I'm done with my second week. Fantastic.

Before I get to the verdict, I'd like to overshare: my bra has officially started chafing me during my workouts. This is something of a right of passage for me (perhaps for all people with large boobs?) when I start to work out a lot suddenly and I feel proud. But also, OUCH. Punching a bunch while my bra is rubbing me raw? UGH.

Verdict: raw underarm fat + no energy = rotten last day of week 2.

13 (14) down, 77 (76) to go.

Tomorrow's my rest day, so I'll see you again on Saturday.

Wednesday, November 13, 2013


Perhaps a slightly misleading title, because the workout itself and my muscle performance? Probably not any better. But I turned off the p90x music and did cues only, then pumped in my own spotify soundtrack and holy shit, my workout was so much better. Boredom cured when you can sing along to someone. Also I don't have to listen to Tony Horton's incessant chatter and flirting with Dreya. Improved times one million.

Legs & Back. Ab Ripper X.

All in all, not a terrible workout. I'm still trying to figure out if the bands are working since I can't do a pull up. I think I need to use the more resistant band next time. But I definitely got a great leg workout and did more exercises for my back (fake band pullups) than last time. Ab ripper X was still a crap shoot. I did maybe 8 of most of the exercises. Some of them my body just won't do with regularity so I try to just go with it. 

Verdict: A good workout full of dance music and muscles.

12 down, 78 to go.

Tuesday, November 12, 2013

day 11: twisting gut fat

Yoga X again.

I only made it half an hour in again. The good news? I wasn't bored. I'll say that's because of the lunch workout (loving it!). The bad news? I start to get frustrated about my feet (is it normal for your feet to cramp up?), my gut getting in the way of twists and it all explodes on me at the twisting triangle pose when I quit in a rage. So next week? I'm just going to skip that pose and stay in some kind of warrior-esque pose. And maybe i'll make it to 45 minutes.

Verdict: stupid gut and lazy muscles.

11 down, 79 to go.

Monday, November 11, 2013

day 10: new weights!

I am home from work sick today because of an...issue I had this morning. I could go into further detail, but over-sharing doesn't seem wise on the internet. I just didn't want to have this issue at work and since I couldn't be sure it was a one time issue, I stayed home.

And I've already done Shoulders & Arms for my p90x day. I started to do Ab Ripper X, got two exercises in and decided it was not a good idea today.

Over the weekend I was lucky enough to receive a borrowed set of dumbbells in weights 3, 5 and 8. I said last time I did these exercises that 3 was too light on some of them - and boy was I right. On some of them, 5 is even still too light. I'll try most at 8 next week. However, 5 definitely worked my muscles better than last time. I'm actually a little surprised that I might need a 10lb dumbbell fairly shortly. I never would have thought that I had any arm muscle at all. Maybe lifting my huge and heavy computer bag for work has helped...

Verdict: still figuring out weights, but a better workout for my arms than last time.

10 down, 80 to go.

Friday, November 08, 2013


So I'm kind of a quitter today? My desire to work out is zero. So I'm not. But here's the thing, I didn't feel horror at working out the other days this week, and I like the lunch work out. So I've retooled my whole p90x schedule. I'm rejoining the schedule already in progress on Monday. I'll then have my rest day on Friday. I think this will make so much more sense than Tuesday rest day. On Tuesday I can work out at lunch. On Friday I'm exhausted.

So today I failed. But I'm trying to take that failure and learn from it. I think this will be good. I want to do the whole p90x lean to see what happens. But I also have to listen to my base reaction to this shit.

Verdict: epic fail, new schedule.

9 still down, 81 still to go.

Thursday, November 07, 2013

day 9: sweaty lunch

I think Cardio X is my favorite. Or maybe it's the timing of it, working out at lunch. Either way, I barely got bored today. And I'm a sweaty mess. Still can't do a single dreya roll, still stink at push ups, but i'm getting better at everything at snail speed. By week 13, I might be keeping up? And maybe I'll have done 1 dreya roll.

Verdict: lunch sweats are my thing.

9 down, 81 to go.

Wednesday, November 06, 2013

day 8: i did it?

I feel like it is a victory that I did not lose my steam with that rest day - I actually worked out again today. That means I'm officially in week two of p90x lean.

Today was Core Synergistics.

Push ups are still insanely sad. But I probably did a few more this week than I did last, so that means I basically doubled my performance. I also told loml that I think I'm an infinitesimal fraction more flexible than I was last week. During the hamstring stretches and side skater my fingers were much easier to get to touch the ground than before. But yeah, hands on the ground? Not sure that's going to happen for me, ever.

Verdict: I'm still in it.

Monday, November 04, 2013

day six: umba + jab cross hook uppercut

Mixing it up today because I got my umba box! I know, I stopped sharing my umba items...but since I'm here to tell you about working out, I might as well share this:
I got this really lovely lumbar pillow. It's much more blue than it appears in the image. But I'm kind of into it. Not sure it fits in the house, but it's a good month for umba. Visit Basik 855 to see some other pillows.

p90x. Kenpo X today. I punched and kicked a bunch of imaginary people while also blocking their attempts to attack me. My motivation to continue is pretty near rock bottom and I don't know how to resuscitate it. The fact that I've worked out six days in a row is a minor miracle. But how do I keep on doing it? Tomorrow is my rest day, so maybe I'll find some motivation then.

Here's my whine list:

  • I am fatter than I was when I started. Like uncomfortably so. My body ballooned. Apparently that's normal but it SUCKS.
  • My body hurts quite a bit which is making sleeping really tough. I wake up a lot.
  • I am bored while I do it for quite some time.
Verdict: good workout, I managed to do it all but I'm adrift in a sea of hate and I can't find motivation island. Yeah, I just typed that.

6 down, 84 to go. Except really, 7 down, 83 to go. Tomorrow is a rest day so you won't hear from me.

Sunday, November 03, 2013

day five: why am i doing this?

Legs & Back. Ab Ripper X.

I found myself a bit bored again today - I think this might be a weekend issue? Either way, I stuck it out. With Legs & Back, it strangely involved a lot of pull-ups, which I can't do. It took me about half the video to figure out a system to use the band in a sort of pull-up way. I think the tension is not enough, so that part of this workout was a fairly large fail. The leg stuff was rough and I think I'll be hobbling tomorrow.

Ab Ripper - again, I laid around after failure for a significant part of this. I did a tiny bit better than on Friday, but only a tiny bit. I found that my spare tire belly was getting in the way and that was totally depressing.

I am definitely feeling some muscle changes...but if I continue to be bored for an hour of these workouts, how am I going to keep going?

Verdict: powered through but need to find a new kind of motivation...

5 down, 85 to go.

Saturday, November 02, 2013

day four: low motivation

Yoga X.

I was a quitter this morning. I only made it through half an hour of yoga. I have tried yoga in the past and find that it's not my thing - I don't know if I have a weird body shape or super low flexibility (or both) but I often find that my boobs get in the way of my arms and that my arms can never reach where they are supposed to. So I only did 1/3 of the Yoga X video. Next week I'll try to make it 45 minutes. I just....don't love yoga.

Truthfully, 30 minutes is much better than 0 minutes of workout, so I don't feel too too bad. Birthday present to self: no guilt about quitter attitude.

Verdict: No motivation + birthday = quit after 30 minutes. Goal is to make it to 45 next week.

4 down, 86 to go.

Friday, November 01, 2013

day three: ROUGH fading in to low key

Shoulders & Arms. Ab Ripper X.

Here's the thing - I was so stiff last night that I slept terribly. I woke up and walked around like an 200 year old woman. I specifically changed part of my daily routine so that I would not have to climb stairs. I was tired, in pain and not happy. Work was a bit less fun than usual as well. So coming home to work out was at the bottom of the things I wanted to do.

But I did it. And miraculously my legs feel less sore after working out. I feel better. Thoughts on the workout? I think my dumbbells were too light and the band is still scary to me. So the arm/shoulder workout was kind of breezy (most of it. parts of it were still really tough). Ab Ripper X was a 15 minute proof of my lack of fitness. I did between 0-10 reps of most of the exercises. I was supposed to do 25. I probably averaged 3. Honestly, there were some exercises that my body just wouldn't DO. I laid on the ground a lot feeling pretty worthless. loml came downstairs at one point and asked if I was spending my evening napping.

Verdict: horrible start to the day, but I miraculously made myself work out and it was kind of a good thing for me. exceeded expectations.

3 down, 87 to go.

Thursday, October 31, 2013

day two: sore

Cardio X.

I worked out on my lunch break and here I sit, sweaty, waiting for code to compile, not wasting any time so that I can go shower.

I am sore today, I was sore before I worked out and now I'm just a bit more sore. It's mostly my butt and my abs and honestly, it's a nice/not too painful sore. I was less impressive today - I was again, a weird straw doll but this time I also was a really poorly trained boxer and rockette. A bystander would be confused.

I can't do dreya rolls and am not sure I will ever be able to. But I was already better at the superman banana. My abs screamed during it, but that just means something is happening.

Verdict: hate for Tony Horton growing, not because of his workouts but because of his chatter. I'm alive and I have muscles which I can point to due to the soreness.

Edited to add, two hours later: the sore has moved from good sore to "oh god, i can't stand up" sore. I hobble.

Wednesday, October 30, 2013

day one: mediocre

Core Synergistics.

This was basically a bunch of lunging and push ups and banana rolls. I surprised myself during some of them and failed utterly miserably in others (plank run, fuck you. superman banana rolls, bite me). I paused a lot and just marched in place. I bet if you watched me I looked like a weird straw doll just higgeldy piggeldy moving at points.

But I'm already sore in the right places (my belly).

I only felt like I might puke or die twice. Room for improvement for sure.

Verdict: about 200x better than I had anticipated which just means tomorrow or the next day I'm going to come crashing down to earth as I remember I have jelly where my muscles should be.

1 down, 89 to go.

Sunday, October 27, 2013

It's been three months. Yeesh, I'm terrible at this. And now I'm going to try something completely boring for all of you - I'm going to journal my way through P90x Lean. I'm a lazy fart and being with loml has made me happy and fat. I'd like to reduce a little of that fat, but I don't particularly enjoy leaving the house to do that (the lazy part). I also hope you realize that I only want to get rid of the discomfort from wearing clothes that fit a month ago. I do not care if I fail to get buff or to do a pull up or to lose X number of pounds.

So I've calendared it all out starting this Wednesday. I am going to try to blog after every workout. Something along the lines of: I did X today and it sucked and I cried a little. BUT at least I did it. And perhaps I can use the tiny bit of motivation of telling you all I didn't fail to spur myself on. Keep me honest internet.

And I will continue to eat candy and cookies and do everything else I like to do.

Thursday, July 18, 2013


Umba post! This month had one major hit for me and one pretty big flop. Then there's the in between item which I probably won't use any time soon.

Elastic hair Ties from Poppy and Elle. I received three total ties - the two pictured on the very right and an orange one. They just feel nicer than normal ties and I think they are a little classier than your average rubberband. Big fan. Do recommend.

Insect magnets from Kate Grenier Designs. Let me just say the magnets are of good quality and look pretty nice. And to be fair, after looking at the site, I'm super bummed that I didn't get some of the cuter magnets like some of the plain designs, food or beachy/travel magnets. So if the idea of bottlecap magnets appeal to you, I do recommend this.

Muh? (That's the sound of me shrugging my shoulders and making a noise)
Citronella Buzz Off candle from Green Daffodil. It smells great. I just can't tell you if it works. It's way too hot outside to be sitting in the weather. Also, we're not really outside candle burners. Is that a type of person? I think it might be. If you know outdoorsy people, this might be a great thing to put in like, a gift basket type deal. Or a picnic basket gift.

Tuesday, July 16, 2013

Weather woes

A quick complain about the weather. Not to be a whiner, but:

  • My L car on the commute home today had barely functioning A/C. And by barely I mean it was pumping neutral temperature air around the car. It was sweltering. I felt like I was going to faint or be sick for about half of the ride. Rough.
  • The heat wave is supposed to break on Friday. On Friday when I was hoping to see Bjork outside. This means that it will storm and I will not get to see the concert.
Woe is me.

Thursday, July 11, 2013

casual friday

My previous employer was pretty laid back about everything - needing to leave early or come in late, timelines, dress code, etc. Currently I'm working at a more rigid company and I never realized how freaking awesome casual friday is. When you actually have to wear business clothing every day (or business casual), getting to wear jeans is like a holy grail. A wonderful bonus. That doesn't cost the employer anything. And my current company doesn't do it. No casual friday.

I think it's little things like this that big/older companies don't realize. Employees run any business, they code it or sell it or represent it. And when the employees are happy, they are loyal. And when they are loyal, that job they do - it improves. Because they really mean it when they do it. And so your casual friday karma comes back to you in a better represented company (and hopefully in dollars).

And yeah, I'm happier in my normal clothes. Dressing up is the pits. I never, ever make contact with anyone that has to judge this company and decide to work with them. Why should I have to look nice every day? It does nothing but increase my dry cleaning bill and make me uncomfortable sitting like a super nerd in my little bullpen with other nerds, coding in front of a computer. And when I'm uncomfortable, I work less...because I'm busy adjusting my dress or yanking on my pants that are riding up. Man I miss casual everyday, let alone casual friday.


(is this somehow distasteful for me to re-appropriate that chant for my stupid work gripe? yeah, probs, right?)

Monday, July 08, 2013

two sad things

Today I learned two depressing things:

  • I went to my company intranet to look at what holidays we have off. Working at a multinational company is new to me, but even newer to me is seeing how many days off other countries have. We are in last place (tied with the Netherlands), with 8 paid holidays. The most? Japan. With 33. 33! We live in the wrong country.
  • Rock Center with Brian Williams was cancelled? I really liked that show. I love Brian Williams and I like the idea of a news magazine show. Sad.

Tuesday, July 02, 2013

title required now?

Here's a couple of disjointed thoughts:

  • Working with an entirely multicultural team is insanely fascinating. Talking about the origin of words, food and culture is delightful.
  • Being a woman on an entirely male team (entirely) has bonuses. I'm on a fairly hot tempered team and I think at least for the short term, I'm immune to being on the receiving end because I'm a lady.
  • On the other hand, I'm a lady and I do not believe in any physical contact at work. Even completely platonic/unintentional contact. One guy likes to touch arms to make points. And that annoys me.
  • This long-ish weekend is fantastic and I can't wait. I do have to work on Friday, but I'm working remotely as the client office I'm working for is closed.
I also am going to pick up the thread of that responsive sharepoint work posting. I have all the code sitting around, I just didn't get around to posting any of it what with the whirlwind of job change. Whirlwindier than I would have expected. I actually got a tech comment on one (hey commenter, if you're still nearby, I will continue posting at some point. If you want more info/to have a tech chat quicker than my posts will come, comment with your email attached and I'll contact you).

Thursday, June 20, 2013

Turns out that when you use your phone as an alarm clock, you are exponentially more likely to drop your phone once a day. I'm not even dropping it when I'm turning off my alarm - I'm dropping it as I'm walking away from the bedroom. Like my hands suddenly don't know how to grasp anymore.

Old school alarm clocks are neat and all, but when you wake up at different times on different days of the week - using a smart device is the best. Anyone in need of a cd playing alarm clock?

Tuesday, June 18, 2013

Unrelated thoughts:

  • It is fascinating to me how people who live in the suburbs (and work from the suburbs most of the time) assume that if you live in the city "hopping on the metra" should be a quick fix to get to the suburban location of their choice. As if we all live above/next to a metra station. Just because I live north, it doesn't follow that I live right off of one of the Metra north lines. Getting to the burbs via public transportation for me is a 2-3.5 hour affair.
  • I am suddenly obsessed with the idea of owning a hammock. To lounge in on my roof deck. I believe this is a new dream possession. 

Monday, June 17, 2013

I'm finally realizing what a non-stop beginning half of the year this has been. Where did the time go and at the same time, I've only been married for four months? I've only had a new job for two months? I've managed to rack up a lot of change in 2013 so far. 

New goal: no more big life changes in 2013 unless they are of the domestic comfort kind (ie, materialistic home purchases).

Monday, June 10, 2013

loml and I have been trying to cook meals a few times a week (right now we're averaging about once a week, as a pair, but I think we're picking up speed). loml made dinner last night and it was fantastically tasty so I wanted to share: Eggplant Parmesan. Big winner, I'd eat it all the time.

Sunday, June 09, 2013

A great Umba month, again. I can't say enough how much I recommend this little mailbox treat every month. With this box, there was another repeat:

Stewart & Claire Old Fashioned lip balm. In a past box I got Spring lip balm. Which was weird and spicy. This one is also weird and spicy - a bit orangey and cinnamony. I like it but I also don't? It feels great but makes me think of Christmas. Next:

Cards from Oyster's Pearl. I received the card above and then a chevron striped blank card. They are glossy, which is something I'm not used to. I'm used to letterpress matte cards. I absolutely appreciate the difference, it's novel. I look forward to sending these out. And the final bit of the box, my favorite:

Beautiful dangly earrings from estieMade. The earrings are a bit longer than my usual lately but I love them. They don't have a big footprint so the length just works. I also have to admit that I was impressed by the way these were shipped - the earring card was so simple but perfect. Just some thick white paper and (genius) brown matte packing tape - symmetrically and carefully arranged. Bravo.

Thursday, June 06, 2013

Apologies about my missed days here - I was settling in as an actual consultant at an actual client. And by settling in I mean freaking out. And by freaking out I mean rollercoastering between "I got this" and "I KNOW NOTHING" in the span of hours. It has been about a week now and I feel like I'm definitely over the hump of the full on lack of self confidence. But it does feel like my last job, while a huge boon to my abilities, also led to some huge gaps in my knowledge base. The main gap being design and formal documentation.

Umba box post coming shortly. Possibly tomorrow or this weekend as I sit around and revel in the nothing.

Tuesday, May 21, 2013

At one point I was pretty starkly honest on this blog, so let me just say that I am a bit of a mess right now. It's kind of weird but for a while there I really felt like I was handling the job change - I wasn't openly anxious about going to work. I was tired but adjusting.

All a hoax. I'm full of anxiousness and covered in the pimples to show it. I'm trying to bring myself  back to earth. I will not fail at this job, I will not fail at this job. Repeat. But I guess my self-esteem about my capability to handle a stressful, huge project is very, very low. And the only thing to fix it is to just do it. Succeed on a project or two for some huge ass company and feel like I'm not a sham. That's the plan. I'm officially on a project (hasn't started yet but SOON). Plan commencing shortly.

In the meantime, let's hope my face, family/friends and loml can survive my weird demeanor and insanity. I'll be back. Just as soon as I feel like I'm not scamming a company out of a huge salary.

Friday, May 17, 2013

loml and I talk a lot about planning for retirement. And the next year we have pretty solidly planned.

This means that 25 years out I have a pretty solid picture of what our life will be. One year out I'm pretty sure as well. But ten years...ten years is an uncertain fuzzy blur. Ten years from now is my new scary age.

Tuesday, May 14, 2013

Remember how I have a gross and probably not all that entertaining habit of talking about my huge pimples? That's happening again. I have a doozy of a mutant of a pimple. I like to think it's seasons (allergies leading to pimples??) but really I'm the bad patient who uses something and then it works super well so I slowly taper off use. With no doctor's orders. In other words, I will likely die from not completing a course of antibiotics at some point. So yeah, the dermatologist ordered me to keep using my acne meds (I'm 31 and my face is worse now than it was at 16).

As a side note to that, I might have a staph infection in my nose.

If I were you I wouldn't look at or touch my face.

Thursday, May 09, 2013

I am getting perhaps two less hours in the house every day and, on average, one less hour of sleep every night. And I feel wrecked every day at 8pm. That will get better right?

I had my first "interview" for a placement on a job today. It was...not great. For a variety of reasons. Most of them being that at most times I had no idea what the person was actually asking. Clear and concise questions rule the world. If you ever interview people, drawn out scenarios of "what if" are just...not conducive to truly figuring out what the person knows. I'll know if I'm being staffed on the job tomorrow. I hope I am, mostly so I can get the anxiety of not knowing about consulting out of my system.

Hopefully this blog will be less job ridden in the following months. I'm going to bed.

Tuesday, May 07, 2013

A lot of people are inquiring about how the new job is. Yesterday I had one of the best days at work I've had in a while. Time passed, I studied, it was great. But this pattern, my studying for certifications, isn't really how life will be. They aim for 85% chargeable - meaning that 85% of my year I'll be on projects. Some people end up close to 100%. I have no idea what I will be - but I do know that not being on a project isn't typical and it isn't something I should take for granted. Nor is it easy for me to gauge/judge how the job will eventually be. So to those asking - it's great right now, but ask me again after a project or two.

As a related but tangential thought - it is often said that kids and pets need limitations. They need rules to guide them. And I think that might be true of my working happy place - I need guidelines for good/best behavior and I need to have clear expectations. I am expected to have a certain number of certifications within the first two years of employment at my new job. Knowing this, I, an over-achiever, am going to go into overdrive getting those and then hopefully leaving them in the dust. I guess I need restrictions and expectations to feel satisfied.

Also, honeymoon period?

Saturday, May 04, 2013


A spectacular umba month, such a good one!

Brownie of deliciousness:

The brownie pictured is not the one loml and I shared. The one we shared was a dark chocolate gluten free delight. It tasted like a brownie made of fudge. Not fudge but not a brownie either. Do recommend. From Sinfully Homer Glen, IL!

Foldover clutch:

I am going to try out this baby tonight. Simple but with bold colors...I am very much a fan. From This ♥ That.

Way to go this month umba!

Tuesday, April 30, 2013

I started my new job yesterday. Besides still feeling a bit shitty (I either had a cold or an extreme allergy attack on Saturday night/all day Sunday and it was really ill timed), here's other things I could say:

  • As far as I can tell there are 3-7 other ladies on the floor total at any one time. This means that the ladies bathroom is a palace because it is almost always completely empty.
  • The office was recently completely renovated. This means it's a super modern floor plan (rows of open desks, phone booth offices, conference rooms of all sizes) with bright colors that quadrant the floor (orange, blue, green, yellow). I'm in blue this week. It also means the kitchen is insanely nice and there is a living room area with an XBox and "at cost" vending machines. Probably things I will never use but I appreciate the effort.
  • Speaking of that renovation, as far as I can tell, no one except fairly high management has an office. This means my manager and location lead both sit in the rows like everyone else. I love it. Also, the cubes are pretty much unassigned except for the management (because the rest of us are in sporadically).
  • I'm going through a week long orientation and so far my insight is: holy hell, I have an actual "roadmap" for my career trajectory. Some of which I choose and some of which they advise/require of me. This is novel to me and pretty delightful.
So I'm gainfully employed again, here's hoping I get put on a project sometime in the future so I can freak out about being a consultant. Fingers crossed I like it. 

Thursday, April 25, 2013

Have you guys ever heard of cakestyle? If you can believe it, yesterday I spent even more money on clothes (seriously, these two shopping trips make up for all my years of clothing indifference in one expensive swoop). When I was trying to figure out how to beef up my wardrobe, I knew I needed help. So I searched "personal shopper chicago" and read around a bit. That's what led me to Macy's personal shopping.

But I hate shopping...and the idea of having to go to the store to buy new clothes every few months or a couple times a year is just..urgh. So cakestyle immediately appealed to me: the idea is that you get a personal shopper who sends you a box full of outfits that you try on. If you like anything, you buy it. If not, you ship them all back, free of charge. The company is an infant, super new and growing into itself. But man it appealed to me. My only concern was that I am a weird fit. loml frequently calls my body a mutant. So I contacted them and asked if they ever do "fitting" appointments. And it turned out, of course they do.*

This appointment, with Beth, was honestly exactly what I wanted out of a personal shopper. She had an insane rack of clothes picked for me based on what I had put into my cakestyle settings. I went through and tried on outfit after outfit. No trolling through a store with a cart or anything like that. And she did a pretty fantastic job overall with fit.

I think overall, with the Macys stuff + the cakestyle stuff, I now have a super insane new wardrobe. I'm pretty excited. And I hope that moving forward this is a step toward me staying more current. I can request a box from cakestyle whenever I want. I can say "I need a cocktail dress, send me some!" or "I just need summer pieces" or "I'm going on a cruise, I need cruise clothes" and a box will whisk itself to my doorstep full of clothing from my stylist. It comes with a video explaining the choices too.

This all sounds like an ad, doesn't it? I am definitely not important enough to be paid for writing this, that is honestly laughable. I think there are like, 10 of you out there reading this? I am just really excited about what happened yesterday.

*Note to anyone who really might be considering this - they just stopped doing appointments for the short term as they are looking for a new office building/studio space. They currently share office space with other VC companies and rent a small studio space for appointments. They want to move to a solo office space/appointment space combined. Hopefully it won't be too long before they are offering appointments again.

Tuesday, April 23, 2013

The life of the short-term unemployed has been pretty up and down so far. Mostly just a bunch of reading by a pool and relaxing with my game obsession (Tropico 4). I am lucky enough to have a retired father in Florida who opens his house to his children selflessly. It was fantastic.

But it was also fraught at beginning and end. Beginning...we left on the day of the insane, torrential storm in Chicago. Our morning, pre-flight, was spent with towels and buckets in our basement. We were lucky enough to not have sewer back up (oh flood control, I love you completely). But we have an issue with our back door being too low and a clogging drain right outside of it. And a newly found crack in our foundation (or brick wall, as it were). End...we came home to super delayed luggage handling and loml's (I guess our?) car stalling in the cell phone lot (his parents were driving it to pick us up). We wound up taking the L home and leaving the car with his parents.

All that being said, relaxation was great and I have completely let go of my old job. The last day was weird. Saying goodbye to my project coworker who was also my work bestie was weirdly anti-climatic. I'm feeling sure I may not have the best of luck keeping in touch with him and he was a huge part of my life for the past three years. Work friendship is weird. Wiping my computer was the saddest moment (which is kind of sad in and of itself). But ultimately I left at the end of the day like any other day at work. Except I left with stuff:

That's it. That is five years of desk flair and two presents from coworkers. It's not much. I had to spread it out for effect.

I'm getting excited to get on to the next thing. Next Monday is my first day at the new job.

Tuesday, April 16, 2013

Tomorrow is my last day of work at a place I've been at for seven years. I would have expected to be writing a post here about how it's bittersweet and how I'm sad but also excited.

But instead, I'm here to tell you that I'm not sad. I'm surprised that I'm not sad but I'm definitely done. I think three and a half weeks of notice was too much. I think I "left" the job on Friday of last week and this week I'm just meeting with some of the people I like to say goodbye and good luck. And not a single one of those meetings has made me feel choked up in any way.

Maybe tomorrow will be different. But I think I'll most likely just leave with a spring in my step and my eye on the prize (the prize is a trip to Florida and some days at home to just de-stress before the new job).

Not sad. Not excited yet either. Just ready to be done.

Thursday, April 11, 2013


This month was kind of a weird hodge podge box. And my pictures are terrible, so here's hoping I can find some pictures on the internet to borrow!

First, luggage tag. Pretty lovely and the best thing in the box in my opinion. And sadly, you do have to see my picture.
Dreadful photography, really lovely product. Gray and white chevron luggage tag from Lovell Designs.

Postcards (again, have to use my image, I am so sorry).

Ahoy from Maple & Belmont. Other from Sarah Doriani. Sarah has no link in her little Umba descriptor so I can't send you her way.

Lotion skin stick. Image borrowed from company.

I actually have one of these already. Umba running out of fresh things or just really loving these products? I do like these skin sticks. Lotion on the go. From Rinse.

Shampoo bar!

Kind of excited about this one. It came with instructions and does have a warning about hard water (eh oh). I honestly would like to steal a picture from the site but the freaking website is in FLASH. -10. From Scum Soaps.

And lastly, granola. Worst pic in the lot (though the shampoo bar gives it a run for the money with my centering). I need to take these pictures during the day.

My least favorite thing in the box. I don't eat granola. Loml ate a piece of it and was like, eh. Not a hit in the household - but we're not granola eaters so our review means next to nothing. From SoSoft 7nola.

Wednesday, April 10, 2013

An Event Apart: Boston. June 18 & 19th 2012

In June of last year I went to An Event Apart. I wrote up my notes on my current workplaces knowledge base. I want a copy of those notes now that I'm leaving. So here they are:

Information about the conference can be found here:

Upper level thoughts: highly recommend. This is a well curated conference populated by passionate, innovative speakers. Insanely impressed by the content and quality. I would say the main, driving point in all of these presentations (besides a death star joke) is content first. Designers and developers are there to SERVE the content. CONTENT FIRST!

I'm going to break down the presentations individually and do a note/link dump. Many of these notes may not make sense without referencing the slides. But I want to stress to please feel free to ask me any questions in person or in comments. The slides themselves can be found here: [redacted] Please do not publish that link or share it outside of the office, An Event Apart has asked that we share responsibly.

Monday June 18

Content First! - Jeffrey Zeldman

Main point: designer/developer does not truly have control - our job: to connect the right user with the right content at the right time. Inherent conflict in the ebb & flow of the web and what our bosses want.

Concepts of note: contingency design (helpful errors, coding for the possible future needs), scent of information (we're hunters by nature, so even if something is buried in the site as long as the trail leaves a smell/is capable of following, we'll dig deep) and orbital content (that the content revolved around you and not the other way).

Book recommendations: Steve Krug - Don't Make Me Think, Aaron Gustafson - Adaptive Web Design

Sites to look at: Zeldman himself : with his very obviously CONTENT FIRST! web site. Text, text, text! Knowbility: accessibility organization with good resources

What s Your Problem? Putting Purpose Back into Your Projects - Whitney Hess

Main point: we are bad at defining what the problem actually is - and therefore are incapable of solving it. More emphasis should be put on understanding the problem before we design/develop a solution. Get to know the people you serve, otherwise you'll end up with a band-aid solution that will eventually fail. High emphasis on interviews/observations of the user.

Concepts of note: empathy for the problem owner is important, use empathy maps or personas to approach that (also, side note: make personas psychographically not demographically). 5 whys diagram. Fishbone diagram. Both help to get to the root of a problem.

Sites to look at: Whitney Hess

On Web Typography - Jason Santa Maria

This guy loves typography and hates helvetica, papyrus, comic sans and many other well known fonts. He doesn't hate Verdana.

Main point: Type can unify as it communicates. Contrast is super important. To pick a font, write down feeling words (bold, simple, sassy, gentle) that apply to your site and these will lead you to a font. Take note that there is a difference between display faces and text faces. Try to find workhorse faces that can do both.

Concepts of note: Contrast. Saccade (the way your eyes move as you read).

Book recommendations: (second for Steve Krug, see above).

Sites to look at: Typekit: a way to use fonts on your site, lettering.js: a jquery plugin for impactful typography,FitText.js: jquery plugin for flexible font sizes (headlines, not content text), Typedia: an encyclopedia of types, Mighty: Jason's design studio, Jason Santa Maria, Lost World's Fairs: beautiful example of Jason's work

The Five Most Dangerous Ideas - Scott Berkun

  1. Everyone is a designer: everyone is a maker, even the least technical of us. If you cast yourself in the role of mentor, you are an ambassador for design. A change of perspective is everything
  2. You have no power - you have a very small circle of control in your larger project (or organization). This causes people to get defensive and "hunker down" to protect that which they feel is in their power. This is not an effective strategy to gain any further control or to inspire others to listen to you. Whoever uses the most jargon is the least confident in their ideas and he's noted that teams that use the most jargon output the lowest quality work. There are three kinds of power - granted, earned and claimed. As a note of how to claim power, go to the white board first in meetings to clarify someone's thoughts. Immediate shift.
  3. The generalists are in charge - specific knowledge is our domain. The generalists oversee those of us with specific knowledge. In a meeting with more than 5 people, where decisions are supposed to be made - generally is not really where the decision is made. Catching the decision maker on the walk out or alone in their office has way more sway than being compelling in a large meeting (this is the gist of in-room power vs. out-of-room power). We have to own our ideas, if we won't put our all behind an idea, why would we expect our overseeing generalist to? Some percentage of our time (but admittedly not all) should be championing ourselves.
  4. We work in sales - nearly everything we do is a pitch (prototyping, meetings, presentations) so we need to accept that we are salesmen, that we need to be able to persuade and talk to people. Soft skills are insanely important. "if people think you are smart and useful, your job title is irrelevant"
  5. Creativity is risk - go out on a limb, take chances, be willing to fail. Because it will sometimes fail.

As a side note (i don't remember which point this was about - I think it might have been during Q&A) - trust is super important for anything/a team. Whoever is most senior in a room is responsible if the team doesn't trust each other - probably because that person doesn't trust everyone.

Sites to look at: Scott Berkun

Adapting Ourselves to Adaptive Content - Karen McGrane

Main point: Content first! Seriously. We should, in a perfect world, work with chunks of structured content that are wholly independent of design so that they can be consumed in whatever medium is desired. Most of our CMS's are coupled (content entry intricately tied to the design layer, think wysiwyg). There is a notion in most businesses of a "primary platform" that the content is made for (in a lot of industries this is still print. For the rest of us, even if we don't mean to, it's web pages) - this is bad. Everything should be written with a multi-channel viewpoint. Case study: NPR's content API.

Concepts of note: Blobs vs. chunks. Blob = "i just want to put all of my content into one big text area". Chunk = properly structured/metadata'd content. We should ALL be on team chunk.

I wrote two personal notes on this note page: 1) this presentation made me sad. giving in to blobs - content editors who just want to create a word doc. This strategy will never support multichannel publishing. 2) The structured content web part base is eerily close to a CMS within a CMS. If we do eventually build it to save to/pull from a list, we have essentially done what Karen wanted for part of our content - structured chunks that are independent of view markup/style.

Sites to look at: Karen McGrane, ftrain

Rolling Up Our Responsive Sleeves - Ethan Marcotte

Main point: Content first! We're not designing pages, we're designing systems of networked content. If something isn't valuable to your mobile readers, is it valuable to any readers? We are putting too much focus on columns. Possibly give some of the control back to the user (options for display).

Sites to look at: Starbucks styleguide: they went responsive and are sharing all their patterns, styletiles: design sales without webpage mockups, The Great Discontent: Ethan's favorite responsive site if he had to choose,responsive images: worked until browsers changed to asset pre-loading, picturefill: polyfill (sort of) to load pictures based on media size, responsive tables: choose which fields to show

Tuesday June 19, 2012

The Future of CSS - Eric Meyer

Very technical presentation about css3. My notes verbatim: labels & inputs: put label surrounding input. Math angles in prefix gradients, compass angles in CSS3 gradients (non-prefix). color stops = . (note, i literally just wrote color stops = blank...not sure what i was going for). Transparent = transparent black (in most browsers). Look up data-url as background images. GRADIENTS ARE IMAGES (creating images with css, not visual effects). text-rendering: optimizeLegibility.

Sites to look at: Eric Meyer

Interacting Responsibly (and Responsively!) - Scott Jehl

This dude is writing everything we should be using to make a responsive site. INSANE and awesome. See South Street on git.

Main point: We are not responsibly coding for all users - we are putting a heavy burden on the bandwidth of the user. We presume/assume that the network is solid/reliable. The average amount of js on a page is equivalent to six times (6 X!) the code that sent apollo to the moon. At the cost of the users. So we need to reconsider how we load. At the south street project, all of the following:

  • ajaxinclude - modular loading of content (every place we use this is a new http request, so....not great on its own)
  • quickconcat - combines many files into one request (pair with the above)
  • append arround - css moving of elements
  • ecssential - only loads the required css in a blocking manner (ie, in the head, blocking load of other items), otherwise the css lazy loads (or doesn't at all)
  • picturefill - images load based on media. picture element not supported in html5 specs at this moment, so use with divs. However, consider if we want to be loading HD images even if we can. Still a burden. A huge one.
  • enhance - help devs decide which scripts need to load on devices
  • wrap - a dom utility. Seems like an alternative to jquery.
Read recommended: Paul Ford - 10 Timeframes

Sites to look at: Scott Jehl, Filament Group

Buttons Are a Hack - Josh Clark

Touch presentation. We need to be as future friendly as possible - gestures are shortcuts to buttons. Windows 8 very much a topic here - the fact that it appears that "desktop" apps in windows 8 are written with web technology (html, css, etc). Embrace your metaphor - if your app/site looks like a physical object, people will try to interact with it in ways they know (ie, if it looks like a book, they will try to turn the page). Active discovery - learn something from games here, people learn how to play a game by coaching, leveling up and power ups. This should apply to apps as well. Saving the state of progress of what people have learned could be revolutionary. User interfaces are an illusion.

Sites to look at: Josh Clark

Mobile to the Future - Luke Wroblewski

I have a note on this one that I found the presentation awesome and that I'm not sure why my notes were so sparse.

Main point: mobile is the newest form of mass media, not just a branch of the internet. We should treat it as a different medium. Login and checkout are broken on most devices - why are we perpetuating an old, old pattern (a lot of case study here).

Sites to look at: LukeW

Handcrafted Patterns - Dan Cederholm

Main point: learning follows the pattern 1)imitation 2)repetition 3)innovation. Dan walked through some patterns he feels we need to start repeating now, since html5 is new, we can't keep feeling like we should always be innovating. Specific emphasis on html5 placeholder attribute, aria landmark roles, slats.

D on't

R epeat

Y ourself

concept in CSS - leads into an indepth talk about SASS, a CSS preprocessor.

Sites to look at: Pears: wordpress theme full of html/css pairs, SASS: css preprocessor, LESS: css preprocessor, Dan Cederholm

The Curious Properties of Intuitive Web Pages - Jared Spool

Unintuitive - easy to use once you know how. Unintuitive pages shift our focus from something we're interested in (content) to something we're not.

Used the magic escalator of acquired knowledge to illustrate the point. The top of the escalator is all the knowledge they need, bottom is no knowledge. Our users are somewhere on the escalator with current knowledge and we're trying to get them to some target knowledge. In order to do that we either train them or simplify. And by simplifying we're basically just making the site intuitive. The knowledge gap is the difference between current and target knowledge. Very interesting presentation about how a lot of patterns we're used to are learned/not intuitive. Also, re-designs are a really bad idea (his words) as you lose the knowledge people feel they have built up about your site. Gave stats on how bad (see slides).

Sites to look at: Hipmunk: example of intuitive flight site

Tuesday, April 09, 2013

I went to Macys and worked with a personal shopper yesterday. Before you think snotty thoughts about me please note that this is a completely free service. No strings attached free. Basically Macys hopes its personal shoppers are good enough to get you to buy stuff that you normally wouldn't. It is a brilliant scheme if only people actually knew about it. I am not a richer who paid to get pampered. Nope, I am a normal who just called Macys.

I have opinions and vague aspirations at a style but I absolutely never exhibit this style. I think on most days you might look at me and think, hey, look at that schlubby student over there. I just...don't try. And a hoodie, tee and jeans is easy. I also loathe shopping. To the tips of my toes I loathe it. But I'm starting a new job and I have a chance to have a clean slate with people - they don't know how I normally dress so if I suddenly change quite one is the wiser. Obviously in my social life I'll get a lot of raised eyebrows - but these people love me as a schlub so they will hopefully continue to love my slightly better appointed self. So how did it go spending time with a personal shopper?

I loathed it at first. Just absolute horror that I had actually followed through with this harebrained idea. We walked around the store with a rack on wheels and looked at clothing. I was invited to give opinions that most of the time were "I don't hate it" or "I do hate it" but very often were never "I just love that". Because I don't shop for clothes nor wear attractive clothing I don't have a very refined sense of what I like. I know what I don't like. For example: this jacket. I do not like this jacket. My personal shopper loved it. Walking around with her felt like...public shame somehow. Look at the shlub shopping! It was all in my head. I knew that then. But in the moment it was not very fun.

Eventually, when we got back to the room, the shopper left me to my own devices for a while (I'm not gonna lie, she was a bit...flighty. She'd disappear for a while and just come back empty handed. Then she'd disappear for much less time and come back with five pieces of clothing. She was an enigma). I got to try on a bunch of pants on my own and formulate what I thought, namely that my body is an asshole who sits super firmly between two sizes. I found 3 pairs that I liked out of about 20. Success. I started to feel like it wasn't all that horrible.

Then the shopper showed up again and we started putting on tops. And tops. And so many tops. Most of the pieces were from one particular brand and eventually the brand consultant came in too. That person doesn't even work for Macys. It became a little circus in the room. A circus of opinions and urging me to broaden my horizons. Skinny jeans? Yeah, alright, they don't look as bad as every other time I've ever put them on. A blazer? Black and white, white, navy, green. All the blazers. They wanted me to buy a blazer so badly but I just could not feel comfortable in one. I get how versatile it is, truly. But I feel like a little girl playing dress up. Maybe some day...

For someone who hates shopping this was like immersion therapy. And for someone who hates shopping I came out of there with enough clothing to not have to shop again for quite some time.

I ended up spending three and a half hours with them and buying a lot of clothes. I'm probably going to return one thing. But I'm about to try to have style be kind.

Saturday, April 06, 2013

In my dream last night (worst post opening ever?), I prepared a revolutionary party punch for the guests coming to my birthday party. This punch was equal parts sprite, red sprite(?), ice and legos. In other words, the ratio of ice and legos to liquid was troubling. I was very excited about this punch and thought it was going to dazzle everyone. I urge you to never drink any punch I prepare as you will likely choke on legos.

Also at this party, my loved ones (whom I had invited) insisted on gathering in a room together and making me walk in while they yelled surprise. The surprise turned out to be a bright orange cat. Neon orange, not real cat orange. Good job loved ones.

Thursday, April 04, 2013

I just finished reading Lean In by Sheryl Sandberg. And I saw her speak last week. In order to understand where this next bit is coming from, I'm going to go ahead and quote myself from this blog. 8/17/2005:
To be honest, I don't think I have very much ambition in life
I have never seen myself as someone who wanted a high power (or responsibility) career. And reading Lean In and hearing Sheryl talk...for the first time ever I'm wondering if that is really me or if that is societal pressure. That sounds silly but - I don't want to be a C-level executive (CEO, CIO, COO) and never have - I just want to do a solid day's work and not hate it. If I can enjoy it a little - bully for me. And if I can get paid enough to live a cushy life - bully for us. (totally off track: how is bully an adjective that means super good but also a noun for jerks who taunt others?). But do I feel that way because I was really just meant to be a cog or do I feel that way because I inherently know I'm a woman and have strong, ingrained stereotypical rules for what women should and shouldn't excel in?

Clearly Lean In was really thought provoking for me. I'm totally guilty of trying to plan my career around whether or not we're having kids - before we have even gotten near having a baby. I'm 1000% guilty of wanting to be liked - I think it's the only way I've ever gotten anything done at work. And on the flip side, I think it's one of the main reasons some of my coworkers slough off my opinions or ideas sometimes. I'm trying to be nice rather than presenting my idea forcefully.

I'm a lady and nearly every single thing she listed as ladies doing to prevent themselves from succeeding, I've done and do on a regular basis. So great, now what? I guess I just hope to be conscious of my wanting to be liked, start to attribute my success to myself, try to speak up, etc.

I didn't expect to vibe on the book as much as I have. I have seen Sheryl speak on many shows (and in person) now and her message is pretty solid (though boringly similar - book selling tours! Talking points! Boring). Do recommend.

Tuesday, April 02, 2013

Most of my brain lately has been spent going through to-do lists and trying to figure out what life after new job looks like. In some ways, there's things I will never be able to truly plan for - as a consultant I'll be travelling to various client offices around the Chicagoland area all the time. So my commute will vary wildly. I can't find a gym close to the office because the office will change. I can't even really plan a wardrobe since every client is going to be different.

Here's my current brain:

I need to get a new phone (I believe I should go full bore into a microsoft wonderland and get a windows phone). I need to cobra my healthcare. I need to cancel my bank accounts. I want to set up a home office (as there is always a possibility I'll be working from home sometimes). I need to return the duplicate and/or unwanted wedding presents. I need to spend some of our gift certificates on stuff we really want (trash can! couch!). I kind of want to get some new pants/skirts just in case. I want to go to Florida and lounge. I really, really, really want to transition some of the knowledge to another developer (at my current soon to be former job). Really want that. Am feeling hopeless about the possibility of that happening.

Tuesday, March 26, 2013

I did not accept the counteroffer. I am, therefore, leaving my current place of employment for what I hope will be greener pastures. The hardest part of it all was getting past my loyalty for my company and the project. I don't want to leave behind a mess or unfinished business and unfortunately it feels like that is inevitable.

I'm relieved to be leaving. But I'm scared to be starting something new.

Thursday, March 21, 2013

I fell into a deep chasm in the last week - the chasm called "trying to decide if I should leave my job". Over the past month I have been going through the interview/job process with two companies. They are very different places of employment who essentially offer the same services. One is a small start-uppy company that is doing really well and one is a massive corporation that is doing really well. Both were looking to hire me as a non-travelling SharePoint consultant. Meaning I would go to clients in the Chicagoland area and develop on the SharePoints for them.

So now I have two job offers. I've turned the smaller company down. Their benefits weren't that great and loml and I are talking about trying to start a family at some point in the nearish future (near being relative). And I was about to accept big company's offer today - when my organization pretty shockingly decided to counteroffer. 

All this is just to say, I haven't fallen off of the plan to write a blog post twice a week. I'm still committed to keeping this up, as soon as my life is in order again. I hope that means that regular posting will resume next week.

In the meantime, I'll be deciding where I want to spend my future employment.

Tuesday, March 12, 2013

house home

loml and I are deep in spring cleaning/rearranging mode. I think the influx of wedding gifts brought out the rearranging beast. Currently in the works: new sofa. I am picky about a couch being comfortable. Right now we're leaning heavily toward a sectional. This one to be exact (though likely not in that color. What color? no idea):
crate & barrel, petrie
But here's two honorable mention sofas that I personally loved sitting on:

design within reach, raleigh

taravel, crate & barrel

What I think we've both come to realize is that our living area is large...but kind of skinny. So while we want more seating, we can't really accomplish that in a super traditional way. Most sectionals are way too large and would shrink the room I think. Like my current furniture's just too oversized for the room. Noted. Now how/when will we solve that?

Other upcoming plans (some still not in stone):

  1. Creating a sewing area for myself in the basement, complete with a quilting wall (pretty excited about this). 
  2. Getting rid of one bed. Which bed? No idea. We're going back and forth between the twin and queen upstairs. I think we should just bite the bullet and get rid of the queen. Any guests could stay downstairs (on the nicer queen mattress that we'd keep). Downstairs is more private anyway and larger. But this means loml might have to make his gear room a tad more...guest friendly.
  3. Creating a "library"/record room. Probably with a desk, book shelves, record shelves and a record player. 
To be determined if we manage it all.

Saturday, March 09, 2013

I'm a day or two off on my whole tuesday/thursday thing this week. And honestly, I expect to be next week as well. But I'm still trying for twice a week! And so it's an umba day!

This month's box is...meh. I do love the little vase, and I plan to use it. But the pin and the dandelion are not useful for me. I will never wear that pin. And the yarn dandelion has already been manhandled, multiple times, by cats. I have found it on the floor a few mornings this week. And by cats I really mean one cat named Mona. But let me show you the St. Patrick's themed stuff.

Vase + dandelion:

Yeah, there's cat hair stuck all over that dandelion. It was loved. Vase from Material Good. Yarn dandelion from Love and Marshmallows.


Pin from neogranny. To be fair, this pin isn't for me, but some of the other stuff she makes is rad. So it was fun to look around (not sure i need earrings in the shape of glasses or scissors...but if i ever did, these would top my list!).

Wednesday, March 06, 2013

I was too busy playing Sim City yesterday to blog. I'm not busy today because they have some very bad server issues happening and so I can't play. I can sit around and watch the game not let me connect or I can blog.

Here's a SharePoint thing that is frustrating me today:

I very much want to pass arguments from a page to a modal application page. I can easily do this with the SP.UI.ModalDialog args option. However, I can only access those args with javascript and I would really rather have them in my server side code. Not possible.

Another frustrating thing is that I'm not sleeping very well and so I'm super exhausted. A final frustrating thing is that I bought cookies at costco and ate insane amounts of them.

Tuesday, February 26, 2013

Kind of bummed today - my coding day was pretty terrible. I feel like I banged my head against a wall all day. And then it slowly became clear that a ton of people got food poisoning at my wedding reception on Saturday. That is really not fun and kind of puts a damper on the day.

Without the food poisoning it sure was fun though.

Thursday, February 21, 2013

For some reason, loml decided to go back to the very beginning of this blog and read every post over the last few days. He had questions. And his reading forced me to go back and revisit some of those times. I started this blog nine years ago. NINE! What do I think I've learned in nine years?

I think I've grown up. Possibly in a sad way depending on who you are, but in a way I don't regret or wish were different at all. I don't think I have such silly tangential thought processes anymore. A lot of my brain power is going toward planning for the future and work. I think about code a lot when I'm not actually at work; sometimes even just in the periphery of my brain (I solve coding problems or prove my code bad at home in the evening without even looking at it). If we should decide to have kids, I think the little time I do devote to silly thoughts will probably dry up altogether. But I don't feel badly about it. And I kind of expect to get it back in 20-30 years when I retire.

I spent a lot of time, when I was single, being lonely and trying to justify it. I still think I did the best I could for myself at the time. But I don't think I learned as much from it as I should have. I'm still learning from it. And I'm sorry to my single friends if I bring up dating too much, that's unfair. Katie from the past is annoyed with attached Katie. Being in a relationship isn't the most important thing.

I am so lucky to have found a job that challenges me. Phew.

Being a homebody is different than being a loner which is different from being antisocial. I need social interaction but I love my house.

I'm sure there's more. But right now I have to go finish packing some hotel favor bags - I've got a wedding reception to pull off this weekend. Bite me winter storm Q (stupid name for a storm anyway).

Tuesday, February 19, 2013

Making SharePoint Responsive Starting with the MasterPage

Let's start making a sharepoint site responsive! We'll start with modifications to the masterpage. Kyle Schaeffer has done a lot of groundwork and was a jumping off point for us. But we have slowly added in server side controls to help us with our payload.

As a cautionary note, none of this work on responsive is live on the internets yet, we're still building and changing things. I will come back and update any code pages with things we learn in the future. For newbies, start with Kyle, he's great. There are some custom controls in use that are live and I'll be sure to note that when I got into them in depth.

This is a huge and ugly paste. But see below for what we have come up with so far. Summary: we're rewriting the navigation control to output minimal markup. We're restricting the form from rendering any of the sharepoint javascript/css/items for anonymous users (as we use sharepoint for our front facing publishing sites). We are concatenating and minifying all of the javascript and CSS we are including. For each custom control on this page, I'll write a blog post specifically covering it. There was one other developer heavily involved at the beginning of this project(who has since moved to another place of employment) so it's possible that I'm missing some attribution (at least on the restricted render form). I apologize to those SharePointers on the web who we may have borrowed from and not attributed the work to. I worry about this.

We have a project called XXX.Optimization that includes a bunch of controls and handlers to format sharepoint's markup and rendering. I'm going to be walking through that project and sharing the work we did there. I will throw the whole thing up on git at some point shortly. And, as I figure out how blogspot deals with code chunks, hopefully the formatting will improve. Check back next time for the restricted render form.

The masterpage in it's glory.

1:  <%@ Master language="C#" %>  
2:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">  
3:  <%@ Import Namespace="Microsoft.SharePoint" %>  
4:  <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>  
5:  <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>  
6:  <%@ Register TagPrefix="wssuc" TagName="Welcome" src="~/_controltemplates/Welcome.ascx" %>  
7:  <%@ Register TagPrefix="wssuc" TagName="MUISelector" src="~/_controltemplates/MUISelector.ascx" %>  
8:  <%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=, Culture=neutral, PublicKeyToken=71e9bce111blorp" %>   
9:  <%@ Register Tagprefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation" Assembly="Microsoft.SharePoint.Publishing, Version=, Culture=neutral, PublicKeyToken=71e9bce1blorp" %>  
10:  <%@ Register Tagprefix="xxx" Namespace="XXX.SharePoint.WebControls" Assembly="XXX.SharePoint.WebControls, Version=, Culture=neutral, PublicKeyToken=fe920e10blorp"%>  
11:  <%@ Register Tagprefix="xxxOpt" Namespace="XXX.SharePoint.Optimization" Assembly="XXX.SharePoint.Optimization, Version=, Culture=neutral, PublicKeyToken=a667f938c10blorp"%>  
12:  <%@ Register Tagprefix="xxxNav" Namespace="XXX.SharePoint.Navigation" Assembly="XXX.SharePoint.Navigation, Version=, Culture=neutral, PublicKeyToken=a80c4cc1e1blorp"%>  
13:  <!DOCTYPE html>  
14:  <html lang="en">  
15:  <head runat="server">  
16:       <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>  
17:       <meta name="viewport" content="width=device-width"/>  
18:       <SharePoint:RobotsMetaTag runat="server"/>  
19:       <title><xxx:MetaTitle runat="server" ID="titleControl" __designer:Preview="Library" __designer:Values="&lt;P N='ID' T='titleControl' /&gt;&lt;P N='Page' ID='1' /&gt;&lt;P N='TemplateControl' ID='2' /&gt;&lt;P N='AppRelativeTemplateSourceDirectory' R='-1' /&gt;"/></title>  
20:       <link type="text/css" rel="stylesheet" href=",600,400italic,600italic|Open+Sans+Condensed:300,700,300italic"/>  
21:       <SharePoint:SPSecurityTrimmedControl runat="server" AuthenticationRestrictions="AuthenticatedUsersOnly">  
22:            <SharePoint:CssLink runat="server" Version="4"/>  
23:            <SharePoint:Theme runat="server"/>  
24:            <SharePoint:ULSClientConfig runat="server"/>  
25:            <script type="text/javascript">  
26:            var _fV4UI = true;  
27:            </script>  
28:            <SharePoint:ScriptLink language="javascript" name="core.js" OnDemand="true" runat="server"/>  
29:            <SharePoint:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/XXX/responsive.css %>" After="corev4.css" runat="server"/>  
30:            <SharePoint:CustomJSUrl runat="server"/>  
31:            <SharePoint:SoapDiscoveryLink runat="server"/>  
32:            <asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"/>  
33:            <SharePoint:DelegateControl runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true"/>  
34:            <SharePoint:SPShortcutIcon runat="server" IconUrl="/_layouts/images/favicon.ico"/>  
35:            <asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat="server"/>  
36:            <asp:ContentPlaceHolder id="PlaceHolderTitleAreaClass" runat="server"/>  
37:            <SharePoint:SPPageManager runat="server"/>  
38:            <SharePoint:SPHelpPageComponent Visible="false" runat="server"/>  
39:            <style type="text/css">html {overflow:hidden;}</style> </SharePoint:SPSecurityTrimmedControl>  
40:  </head>  
41:  <body onload="if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();" class="v4master no-js theme-xxx-blue1">  
42:       <xxxOpt:RestrictedRenderForm runat="server" onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}" ControlsToRender="workspace"><asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" /><WebPartPages:SPWebPartManager runat="server"/>  
43:       <SharePoint:SPNoScript runat="server"/>  
44:       <SharePoint:DelegateControl runat="server" ControlId="GlobalNavigation"/><!-- **************************************************************** --><!-- BEGIN RIBBON --><div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle"><div id="s4-ribboncont">  
45:            <SharePoint:SPRibbon runat="server" PlaceholderElementId="RibbonContainer" CssFile=""><SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowLeft" CssClass="ms-siteactionscontainer s4-notdlg"><span class="ms-siteactionsmenu" id="siteactiontd"><SharePoint:SiteActions runat="server" accesskey="<%$Resources:wss,tb_SiteActions_AK%>" id="SiteActionsMenuMain" PrefixHtml="" SuffixHtml="" MenuNotVisibleHtml="&amp;nbsp;"><CustomTemplate>  
46:                                               <SharePoint:FeatureMenuTemplate runat="server" FeatureScope="Site" Location="Microsoft.SharePoint.StandardMenu" GroupId="SiteActions" UseShortId="true">  
47:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_EditPage" Text="<%$Resources:wss,siteactions_editpage%>" Description="<%$Resources:wss,siteactions_editpagedescriptionv4%>" ImageUrl="/_layouts/images/ActionsEditPage.png" MenuGroupId="100" Sequence="110" ClientOnClickNavigateUrl="javascript:ChangeLayoutMode(false);"/>  
48:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_TakeOffline" Text="<%$Resources:wss,siteactions_takeoffline%>" Description="<%$Resources:wss,siteactions_takeofflinedescription%>" ImageUrl="/_layouts/images/connecttospworkspace32.png" MenuGroupId="100" Sequence="120"/>  
49:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CreatePage" Text="<%$Resources:wss,siteactions_createpage%>" Description="<%$Resources:wss,siteactions_createpagedesc%>" ImageUrl="/_layouts/images/NewContentPageHH.png" MenuGroupId="200" Sequence="210" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('Page')) { OpenCreateWebPageDialog('~site/_layouts/createwebpage.aspx') }" PermissionsString="AddListItems, EditListItems" PermissionMode="All" />  
50:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CreateDocLib" Text="<%$Resources:wss,siteactions_createdoclib%>" Description="<%$Resources:wss,siteactions_createdoclibdesc%>" ImageUrl="/_layouts/images/NewDocLibHH.png" MenuGroupId="200" Sequence="220" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('DocLib')) { GoToPage('~site/_layouts/new.aspx?FeatureId={00bfea71-e717-4e80-aa17-d0c71b360101}&amp;ListTemplate=101') }" PermissionsString="ManageLists" PermissionMode="Any" VisibilityFeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" />  
51:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CreateSite" Text="<%$Resources:wss,siteactions_createsite%>" Description="<%$Resources:wss,siteactions_createsitedesc%>" ImageUrl="/_layouts/images/newweb32.png" MenuGroupId="200" Sequence="230" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('Site')) { STSNavigate('~site/_layouts/newsbweb.aspx') }" PermissionsString="ManageSubwebs,ViewFormPages" PermissionMode="All" />  
52:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_Create" Text="<%$Resources:wss,siteactions_create%>" Description="<%$Resources:wss,siteactions_createdesc%>" MenuGroupId="200" Sequence="240" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('All')) { STSNavigate('~site/_layouts/create.aspx') }" PermissionsString="ManageLists, ManageSubwebs" PermissionMode="Any" />  
53:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_ViewAllSiteContents" Text="<%$Resources:wss,quiklnch_allcontent%>" Description="<%$Resources:wss,siteactions_allcontentdescription%>" ImageUrl="/_layouts/images/allcontent32.png" MenuGroupId="300" Sequence="302" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/viewlsts.aspx" PermissionsString="ViewFormPages" PermissionMode="Any" />  
54:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_EditSite" Text="<%$Resources:wss,siteactions_editsite%>" Description="<%$Resources:wss,siteactions_editsitedescription%>" ImageUrl="/_layouts/images/SharePointDesigner32.png" MenuGroupId="300" Sequence="304" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="EditInSPD('~site/',true);" PermissionsString="AddAndCustomizePages" PermissionMode="Any"/>  
55:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_SitePermissions" Text="<%$Resources:wss,people_sitepermissions%>" Description="<%$Resources:wss,siteactions_sitepermissiondescriptionv4%>" ImageUrl="/_layouts/images/Permissions32.png" MenuGroupId="300" Sequence="310" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/user.aspx" PermissionsString="EnumeratePermissions" PermissionMode="Any"/>  
56:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_Settings" Text="<%$Resources:wss,settings_pagetitle%>" Description="<%$Resources:wss,siteactions_sitesettingsdescriptionv4%>" ImageUrl="/_layouts/images/settingsIcon.png" MenuGroupId="300" Sequence="320" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/settings.aspx" PermissionsString="EnumeratePermissions,ManageWeb,ManageSubwebs,AddAndCustomizePages,ApplyThemeAndBorder,ManageAlerts,ManageLists,ViewUsageData" PermissionMode="Any" />  
57:                                                    <SharePoint:MenuItemTemplate runat="server" id="MenuItem_CommitNewUI" Text="<%$Resources:wss,siteactions_commitnewui%>" Description="<%$Resources:wss,siteactions_commitnewuidescription%>" ImageUrl="/_layouts/images/visualupgradehh.png" MenuGroupId="300" Sequence="330" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="GoToPage('~site/_layouts/prjsetng.aspx')" PermissionsString="ManageWeb" PermissionMode="Any" ShowOnlyIfUIVersionConfigurationEnabled="true" />  
58:                                               </SharePoint:FeatureMenuTemplate>  
59:                                          </CustomTemplate>  
60:                                      </SharePoint:SiteActions></span><asp:ContentPlaceHolder id="PlaceHolderGlobalNavigation" runat="server"><SharePoint:PopoutMenu runat="server" ID="GlobalBreadCrumbNavPopout" IconUrl="/_layouts/images/fgimg.png" IconAlt="<%$Resources:wss,master_breadcrumbIconAlt%>" IconOffsetX=0 IconOffsetY=112 IconWidth=16 IconHeight=16 AnchorCss="s4-breadcrumb-anchor" AnchorOpenCss="s4-breadcrumb-anchor-open" MenuCss="s4-breadcrumb-menu"><div class="s4-breadcrumb-top">  
61:                                               <asp:Label runat="server" CssClass="s4-breadcrumb-header" Text="<%$Resources:wss,master_breadcrumbHeader%>" /></div><asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server"><SharePoint:ListSiteMapPath runat="server" SiteMapProviders="SPSiteMapProvider,SPContentMapProvider" RenderCurrentNodeAsLink="false" PathSeparator="" CssClass="s4-breadcrumb" NodeStyle-CssClass="s4-breadcrumbNode" CurrentNodeStyle-CssClass="s4-breadcrumbCurrentNode" RootNodeStyle-CssClass="s4-breadcrumbRootNode" NodeImageOffsetX=0 NodeImageOffsetY=353 NodeImageWidth=16 NodeImageHeight=16 NodeImageUrl="/_layouts/images/fgimg.png" RTLNodeImageOffsetX=0 RTLNodeImageOffsetY=376 RTLNodeImageWidth=16 RTLNodeImageHeight=16 RTLNodeImageUrl="/_layouts/images/fgimg.png" HideInteriorRootNodes="true" SkipLinkText="" /></asp:ContentPlaceHolder></SharePoint:PopoutMenu><div class="s4-die"><asp:ContentPlaceHolder id="PlaceHolderGlobalNavigationSiteMap" runat="server" Visible="false"/></div></asp:ContentPlaceHolder><SharePoint:PageStateActionButton id="PageStateActionButton" runat="server" Visible="false" /></SharePoint:SPRibbonPeripheralContent><SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight" CssClass="s4-trc-container s4-notdlg"><SharePoint:DelegateControl runat="server" ID="GlobalDelegate0" ControlId="GlobalSiteLink0" /><a href="#" tabindex="-1" style="display:none"></a><a href="#" tabindex="-1" style="display:none"></a><div class="s4-trc-container-menu"><div><wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false"/><wssuc:MUISelector ID="IdMuiSelector" runat="server"/></div></div><SharePoint:DelegateControl ControlId="GlobalSiteLink2" ID="GlobalDelegate2" Scope="Farm" runat="server" /></SharePoint:SPRibbonPeripheralContent></SharePoint:SPRibbon></div><div id="notificationArea" class="s4-noti"></div><asp:ContentPlaceHolder ID="SPNavigation" runat="server">  
62:            <SharePoint:DelegateControl runat="server" ControlId="PublishingConsole" Id="PublishingConsoleDelegate"/></asp:ContentPlaceHolder><div id="WebPartAdderUpdatePanelContainer"><asp:UpdatePanel ID="WebPartAdderUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server"><ContentTemplate>  
63:                 <WebPartPages:WebPartAdder ID="WebPartAdder" runat="server"/>  
64:                           </ContentTemplate><Triggers>  
65:                                <asp:PostBackTrigger ControlID="WebPartAdder" />  
66:                           </Triggers>  
67:                      </asp:UpdatePanel></div></div><!-- END RIBBON --><!-- **************************************************************** -->  
68:   <asp:Panel runat="server" ID="workspace">  
69:      <div id="s4-workspace">  
70:        <!-- IGNORE. Sharepoint Div-->  
71:        <div id="s4-bodyContainer">  
72:          <!-- IGNORE. Sharepoint Div-->  
73:          <div id="MSO_ContentDiv" runat="server">  
74:            <!-- IGNORE. Sharepoint Div-->  
75:            <sharepoint:spsecuritytrimmedcontrol runat="server" authenticationrestrictions="AuthenticatedUsersOnly"><div id="s4-statusbarcontainer"><div id="pageStatusBar" class="s4-status-s1"></div></div><SharePoint:VisualUpgradePreviewStatus runat="server" /></sharepoint:spsecuritytrimmedcontrol>  
76:            <!-- NOTE to discuss - any reason we're not using html5 header element?-->  
77:            <!-- Skip links for accessing page sections quickly on AT -->  
78:            <ul class="hide">  
79:              <li><a href="#main-content" title="Skip to right column">Skip main content</a></li>  
80:              <li><a href="#primary-navigation" title="Skip to main navigation">Skip to site navigation</a></li>  
81:              <li><a href="#secondary-navigation" title="Skip to left column">Skip to section navigation</a></li>  
82:              <li><a href="#xxx-shortcuts" title="Skip to campus shortcuts">Skip to XXX shortcuts</a></li>  
83:              <li><a href="#search" title="search">Skip to search</a></li>  
84:            </ul>  
85:            <!-- /skiplinks -->  
86:            <!-- Hidden xxx Shortcuts which appear when "XXX Shortcuts" is clicked. -->  
87:            <div class="xxx-shortcuts-drawer" id="sliding-drawer" style="display: none;">  
88:            </div>  
89:            <!-- /tactical-drawer -->  
90:            <!--Slider for small screen navigation-->  
91:             <nav class="unit size1of5" id="nav-slider" style="display:none;">  
92:                  <span class="unit size3of5">  
93:                     <a name="search"></a>  
94:                     <!--TO DO MAKE THIS SEARCH BOX WORK-->  
95:                                               <input class="unit search-input" id="search_input_slider" name="search_input_slider" type="text" onkeypress="javascript:XXX.SearchBox.KeyPress(event);" /><input name="search_submit" class="unit search-btn" type="button" onclick="javascript:XXX.SearchBox.Search();" />  
96:                                </span>  
97:                                <ul class="tab-titles">  
98:                                     <li class="site-menu-title"><a class="tab-toggle">Site Menu</a></li>  
99:                                     <li class="xxx-shortcuts-title"><a class="tab-toggle">xxx Shortcuts</a></li>  
100:                                </ul>  
101:                                <div class="tab nav-tab">  
102:                                      <xxxNav:CustomNavigation runat="server" NavigationProvider="CurrentNavSiteMapProvider" LevelDepth="3" HighestParentActiveOnly="false" CSSClass="unstyled" NavigationID="slider-nav" IncludeUniqueIdentifiers="FALSE" IncludeRootHeader="FALSE"></xxxNav:CustomNavigation>  
103:                                 </div>  
104:                                 <div class="tab shortcuts-tab">  
105:                                      <xxx:XXXResponsiveShortcuts ID="shortcutsSliderControl" runat="server"></xxx:XXXResponsiveShortcuts>  
106:                                 </div>  
107:                            </nav>  
108:                           <!-- /slider-->  
109:                           <div class="body-content">  
110:            <div class="line masthead">  
111:                 <div class="unitRight size2of5">  
112:                <a name="xxx-shortcuts" class="unit xxx-shortcuts">XXX Shortcuts</a>  
113:                <span class="unit xxx-search">  
114:                     <a name="search"></a>                           
115:                     <asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">  
116:                                               <input class="unit search-input" id="search_input" name="search_input" type="text" onkeypress="javascript:XXX.SearchBox.KeyPress(event);" /><input name="search_submit" class="unit search-btn" type="button" onclick="javascript:XXX.SearchBox.Search();" />  
117:                                          </asp:ContentPlaceHolder>  
118:                                     </span>  
119:                <nav class="off-canvas-navigation">  
120:                                         <a class="menu-button" href="#nav-slider">Pretty icon of horizontal lines</a>  
121:                                   </nav>  
122:              </div>  
123:              <div class="unit size5of5 xxx-logo">  
124:                <a class="unit logo-short" href="#">XXX University</a> <a class="unit h1 site-title"  
125:                  href="#">Responsive (TODO! Dynamic name)</a>  
126:              </div>  
127:            </div>  
128:            <!-- /line /masthead -->  
129:            <nav class="line">  
130:                                     <xxxNav:CustomNavigation runat="server" NavigationProvider="GlobalNavSiteMapProvider" LevelDepth="2" HighestParentActiveOnly="true" CSSClass="unit size1of1 nav-primary" NavigationID="global-nav" IncludeUniqueIdentifiers="TRUE" IncludeRootHeader="FALSE"></xxxNav:CustomNavigation>  
131:                           <div class="quick-links" style="display:none">  
132:                      <xxx:ReusableContent runat="server" ID="navQuickLinks" ReusableContentListItemTitle="Quick Links"/>  
133:                           </div>  
134:                           </nav>  
135:            <!-- /section /line -->  
136:            <div class="line content-body">  
137:              <asp:ContentPlaceHolder ID="PlaceHolderLeftNavBar" runat="server">  
138:                <nav class="unit size1of5" role="navigation" id="nav-secondary">  
139:                                                <xxxNav:CustomNavigation runat="server" NavigationProvider="CurrentNavSiteMapProvider" LevelDepth="3" HighestParentActiveOnly="false" CSSClass="unstyled nav-secondary" NavigationID="left-nav" IncludeUniqueIdentifiers="FALSE" IncludeRootHeader="FALSE"></xxxNav:CustomNavigation>  
140:                                           </nav>  
141:              </asp:ContentPlaceHolder>  
142:              <!-- NOTE to discuss - place article in masterpage or place that in page layouts?-->  
143:              <asp:ContentPlaceHolder ID="PlaceHolderMain" runat="server" />  
144:            </div>  
145:            <!-- /content-body -->  
146:            <div class="line footer-socialicons">  
147:              <div class="unitRight size1of5">  
148:                <a class="unit icon-twitter-sm" href="#" title="Facebook">Facebook</a> <a class="unit icon-vimeo-sm"  
149:                  href="#" title="LinkedIn">LinkedIn</a> <a class="unit icon-youtube-sm" href="#" title="Twitter">  
150:                    Twitter</a> <a class="unit icon-smashup=sm" href="#" title="Social Media Smashup">RSS</a>  
151:              </div>  
152:            </div>  
153:            <!-- /line /footer-socialicons -->  
154:            <!-- TODO make footer reusable content somehow...make easy for CE's?-->  
155:            <div class="line footer">              
156:              <!-- /line -->  
157:              <div class="hiddenShortcuts" style="display:none;">  
158:                   <xxx:XXXResponsiveShortcuts ID="shortcutsControl" runat="server"></xxx:XXXResponsiveShortcuts>  
159:                                </div>  
160:            </div>  
161:            <!-- /line /footer -->  
162:            <div class="line copyright">  
163:            </div>  
164:            <!-- /line /copyright -->  
165:            </div><!-- /slider-->  
166:          </div>  
167:          <!-- IGNORE. /MSO_ContentDiv -->  
168:        </div>  
169:        <!-- IGNORE. End of SP Div, /s4-bodyContainer-->  
170:      </div>  
171:      <!-- IGNORE. End of SP Div, /s4-workspace-->  
172:    </asp:Panel>  
173:  </xxxOpt:RestrictedRenderForm>  
174:       <asp:Panel runat="server" Visible="false">  
175:            <!-- s4-titlerow PlaceHolders -->            
176:            <asp:ContentPlaceHolder id="PlaceHolderPageTitle" runat="server"/>  
177:            <asp:ContentPlaceHolder id="PlaceHolderSiteName" runat="server"/>  
178:            <asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />  
179:            <asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server"/>  
180:            <asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server"/>  
181:            <!-- s4-leftpanel PlaceHolders -->  
182:            <asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" runat="server"/>  
183:            <asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat="server" />  
184:            <asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat="server"/>  
185:            <asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" runat="server"/>            
186:            <asp:ContentPlaceHolder id="PlaceHolderQuickLaunchTop" runat="server"/>  
187:            <asp:ContentPlaceHolder id="PlaceHolderQuickLaunchBottom" runat="server"/>  
188:            <!-- s4-ca PlaceHolders -->  
189:            <asp:ContentPlaceHolder id="PlaceHolderPageImage" runat="server"/>  
190:            <asp:ContentPlaceHolder id="PlaceHolderTitleLeftBorder" runat="server"/>  
191:            <asp:ContentPlaceHolder id="PlaceHolderMiniConsole" runat="server"/>  
192:            <asp:ContentPlaceHolder id="PlaceHolderTitleRightMargin" runat="server"/>  
193:            <asp:ContentPlaceHolder id="PlaceHolderTitleAreaSeparator" runat="server"/>  
194:            <asp:ContentPlaceHolder id="PlaceHolderLeftNavBarBorder" runat="server"/>  
195:            <asp:ContentPlaceHolder id="PlaceHolderBodyLeftBorder" runat="server"/>  
196:            <asp:ContentPlaceHolder id="PlaceHolderBodyRightMargin" runat="server"/>  
197:            <!-- body PlaceHolders -->  
198:            <asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server"/>       
199:       </asp:Panel>  
200:       <footer>  
201:       <script type="text/javascript">  
202:            $('body').removeClass('no-js').addClass('js');  
203:       </script>  
204:       <xxxOpt:QuickConcat runat="server" JSFiles="local/jquery-1.7.2.min.js;local/jquery.touchSwipe.min.js;local/jquery.pageslide.js;local/XXX-responsive.js;local/XXX-standard.master.js" CSSFiles="local/responsive.css" AlwaysRecreateFile="true"></xxxOpt:QuickConcat>  
205:       <asp:ContentPlaceHolder id="PlaceHolderNavSpacer" runat="server">  
206:       </asp:ContentPlaceHolder>  
207:       </footer>  
208:  </body>  
209:  </html>