Tag Archive: ios

The Solo Traveller’s Guide to San Francisco: Quiet Edition

I visited San Francisco a few weeks ago for AltConf 2015, a free conference across the street from Apple’s Worldwide Developer Conference (WWDC). Since WWDC moved to a lottery system last year in the face of overwhelming demand, AltConf began offering networking and conference presentations for free to anyone.

Always before, when I’ve stayed in San Francisco, I’ve focused on the stretch from Pacific Heights and the Marina down to the Financial District and SoMa. I’ve rarely ventured out of this small semicircle at the northeast of the city. This time, I decided to explore some different areas, so I rented an Airbnb in Twin Peaks, a quiet residential neighborhood overlooking the Castro and Noe Valley.

When I arrived, I was stunned by the beauty of Twin Peaks. It was a clear day, and I could see from my street (and from my host’s living-room window) cleanly across eastern San Francisco to the bay. In the evening, fog drifted across the hilltop and blanketed the peaks in clouds.

Before attending AltConf, I spent a few days exploring the nearby neighborhoods, rather than returning to the usual tourist spots I’d seen before. If you’re looking for something a little different in your visit to San Francisco — a trip through quiet streets and local spots — this guide is for you.

The Castro

The Castro is renowned as a gay neighborhood and is scattered with great shops and restaurants. Here are a few I tried:

Chow on Church: Breakfast and brunch are unbelievably delicious — much better than lunch or dinner, in my opinion. I ordered a quinoa ragout with mushroom, spinach and poached eggs. I actively dislike quinoa, so I’m not sure why I took the gamble, but it paid off: This single dish changed my mind about quinoa forever. I also tried a cottage cake — a pancake with cottage cheese in the batter. With organic raspberry sauce on top, it reminded me of the jelly donuts I ate as a child from a local bakery. Advice: Don’t miss the weekend brunch — it ends at 2 p.m. Weekday breakfast is 8 a.m. to 11 a.m.

Eureka! Cafe: They serve organic ice cream from Straus Creamery. I ordered the brown sugar banana flavor and it was delicious. A nice end to my wanderings for the day.

Buffalo Whole Food & Grain Co.: A small but well-stocked grocer in the heart of the Castro. Tiny organic raspberries that were much tastier to me than those big Driscoll ones.

Noe Valley

Noe Valley lies just south of the Castro over a large hill (hint: don’t walk, take the bus!). It’s a family-friendly neighborhood with a strip of low-key shops and restaurants on 24th Street. A couple of highlights:

Bernie’s Coffee: A great cafe with free WiFi in Noe Valley. The food was good, but the highlight was the atmosphere: low-key and productive, with plenty of space. I never felt rushed or crowded out.

Saru Sushi: Delicious sushi and a great choice for lunch. Surprisingly, the salmon roe was the best thing I ordered, and I also enjoyed the Taramiso (marinated black cod) nigiri.

SoMa Again

When I finally ventured downtown for the conference, I wasn’t particularly happy to return to SoMA with its loud noise and heavy traffic. But I found some worthwhile places amid the hustle:

Samovar Tea Lounge in Yerba Buena Gardens above the waterfall. There’s a delicious new toast menu for breakfast (in addition to the regular menu). I had the poached eggs-with-butter toast and the Greek yogurt toast with honey and basil. It was affordable and awesome, until I ordered tea without checking the menu price. Seriously, who charges $17 for tea? Oops.

Creperie St. Germain – Not what I expected, because it’s a food truck and not a full restaurant. But the crepes were delicious and organic, and I found a nice place to eat in the shade near the Children’s Carousel Museum.

Workshop Cafe (not in SoMa but close by) – 180 Montgomery Street. This coffeeshop/coworking space has great healthy food, plus a huge amount of space. To enter the coworking space, it’s $2/hour, or you can sit in the front of the cafe for free. For first-timers, the coworking space is also free for up to 10 hours. Wonderful staff and service made this experience great, and the hot cereal with granola, steamed almond milk and organic fruit was awesome.

The Elephant in the Room

My trip to San Francisco was wonderful. The weather was shockingly warm for June, reaching into the 70s and making my black fleece jacket unnecessary on some days. Almost every day, sun streamed over Twin Peaks and lit up the valley below. I enjoyed the absolute quiet of the Airbnb where I stayed, my hosts were welcoming and wonderful, and I loved the opportunity to re-visit one of my favorite cities.

That said, San Francisco has downsides as well as highlights, and it would be dishonest to ignore them. The biggest downside is probably this: For a city awash in so much money, the size of the homeless population is staggering. One of New York’s best organizations for combating homelessness has been Pathways to Housing, which uses a “housing first” model: Just place people in housing and then deal with their other problems later. It works, and it’s expanding to other cities. Before San Francisco cycles from boom to bust yet again, the city and its residents would do well to channel some of that boom money toward housing the homeless.

This may not be the brightest note to end this trip log on, but it’s an honest one.

FacebookTwitterGoogle+Share

The Startup Weekend Roller Coaster

One thing I promised myself when my journeys began was to do things that scared me.

This weekend I did something that scared me. I jumped into Startup Weekend Social Impact Edition with no plan and no idea what to expect, and emerged amid a solid team working well together around a good idea.

Friday night, I pitched an idea that I came up with on the spot. I wasn’t planning to pitch anything at all, but thought it would be a good experience to try it. My idea wasn’t selected, so I joined a team and prepared to work all weekend toward our goal and have a great time.

By Saturday afternoon, our project was in disarray. Disarray. Our initial market research — the part where we actually left the building and talked to people — indicated our product might not resonate with people. We knew we should pivot. But we didn’t agree on which direction.

I felt myself curling up inside and imagined spending all weekend just arguing about the product, without actually making a product. I didn’t know which direction we should go, I just wanted to spend the weekend making something. So I put my head down and kept coding. At worst, I figured, I’d make an app prototype that we could tweak when we settled on an idea.

Two of our team members left. I felt bleak. It was late afternoon, and we didn’t have much to show for it. And then suddenly (I’m not really sure what happened here), it turned around. We decided on an idea, which was close to our team lead’s original idea, and just went with it. No one seemed initially overjoyed, but from that moment we were okay and things started clicking.

We spoke with mentors. We iterated. We shared ideas and split up tasks and generally worked productively and well together. It was fun. I’m not sure what changed. It’s like the pit of despair opened up and there was a path and we decided to get up and walk down it to somewhere.

We worked productively until 11 p.m. Saturday and then disbanded for sleep or social life, reconvening on Sunday. We created and refined our pitch deck and finished web and app prototypes. Finally, we presented our pitch and demo to a panel. Our service seemed to strike some right notes, and we received constructive and thoughtful feedback.

On the whole, I think our presentation was a success and our proposal was viable — nearly unthinkable on Saturday afternoon. I’m not sure what will come next. But this was a valuable experience, and I’d do it again.

Here is our web prototype and our app prototype code.

Key takeaways: It is so vitally important to seek customer and market validation early. Negative market feedback is a great opportunity to adapt and learn. Sticking with a team instead of an idea is a great idea.

My Big Nerd Ranch Diary

I took vacation to attend the Big Nerd Ranch iOS Bootcamp last year. It was my favorite vacation ever. That’s when I knew I was on to something.

Today, I start Hacker School. I’m taking this moment to look back and share my Big Nerd Ranch diary. Every night in rural Georgia, I came back to my cabin in the woods and wrote my impressions of the day. Here’s what happened during that week:

Friday

I’m in my cabin after Arrival Day at Big Nerd Ranch — I’ve been anticipating this trip for about a year but wasn’t sure what to expect. I’m impressed so far.

First, the staff at Historic Banning Mills are heroic. Although I grew up camping as a Girl Scout and once could survive on Mountain Dew and Skittles, I am a city girl at this point in my life and had a health crisis that scared the Skittles right out of me. The thought of spending a week in the woods eating hush puppies from the lodge kitchen didn’t thrill me.

When I asked about food, Big Nerd Ranch staff said they would ask the kitchen at Banning Mills what they could do. The kitchen said if I could ship food direct from a provider to them, they would cook it for me. That scored about 1,000 points right there. I used Boxed Greens, which ships organic food nationwide overnight. The food arrived a few hours before I did.

THEN the kitchen staff kind of got into the idea. They said they wanted to buy more food to complement the contents of the box. They’ve considered offering an organic option for students, so I think they viewed this as an experiment. In return for their awesomeness, I gave them carte blanche to create whatever seemed interesting to them. My first meal, this evening, was delicious: a kale/peach/cucumber salad, followed by salmon over lentils with kale, tricolor peppers, and onions. (The regular food also looked tasty — salad and then herbed chicken over mashed potatoes with asparagus.)

Now I’m in the cabin, relaxing. Speaking of the cabin, it is huge and gorgeous.  More good things about today — the wonderful shuttle driver at the airport who did not leave anyone behind, and my fellow classmates, who are friendly. I’m looking forward to spending a week getting to know them better while my brain gets a workout in the class. It’s a challenging (grueling?) schedule, but I’m ready and plan to make the most of this opportunity.

Which means I’m going to sleep soon. More tomorrow.

Saturday

Class today was surprisingly easy and doable — but I am so glad I worked my way through the BNR Guide to Objective-C Programming last year! Struggling with this book over four months helped me rush through half of it today. We cover the other half tomorrow. If I’d walked into this class with no programming experience at all, I’d be in trouble on Monday, when we dive into iOS apps.

I still may be in trouble on Monday. The reviews I’ve read say the pace picks up fast then, so the fact that I’m finishing challenges quickly puts me somewhat at ease, since I may be able to keep my head above water on Monday and Tuesday. After that it’s anyone’s guess, because at some point we will start covering material beyond the point I’ve reached in my BNR iOS Programming Guide self-study. Then I’ll be learning entirely new stuff. And that takes longer, but we’ll still be flying through the material. I’m hoping that by getting the basics down well in this weekend intro, I’ll be able to survive through the week with some understanding and real ability to get the most from the class.

Also, I learned that there is an advanced book for the advanced class! It is, sadly, not available on Amazon or in any bookstores. Another reason to possibly take the advanced class later this year or next. I’m hoping that between now and then, I can dive in and create some real apps for free on the app store, just to test the waters and see what happens.

Anyway, more tomorrow. I was surprised not to find myself tired or burned out by 9:30pm, when I came back to my cabin. Maybe it’s a good sign, but I’ll wait and see how tomorrow goes. Food was delicious, as it was yesterday, but I am afraid my statement that, “I eat fish,” was received as, “I eat fish at every lunch and dinner.” In truth, I eat fish a couple of times a week. If fish continues to appear at every meal, I may have to say something — but what can I really say, anyway? They are preparing custom organic meals for me! Today some little potatoes and wax beans appeared — I think they are shopping for me, to supplement the stuff I sent in the box. Amazing kitchen, amazing place so far.

More tomorrow.

Sunday

My brain is starting to get tired. We rushed through many topics today, and while I understood most things, they are starting to jumble together in my mind. I’m hoping my mind can sort it out by the end of the week, and that I don’t end up dreaming all night about coding, because that would be about 20 hours of coding per day, which is a lot more than 12, which is what we are essentially already doing.

Today we finished the Objective-C book and I reviewed the documentation for NSArray, NSMutableArray, and NSDictionary. Tomorrow we dive into iOS Cocoa Touch programming.

I am loving the class, despite my brain-whir, and found myself wishing I could attend for two weeks or a month and really delve into more and more advanced topics. We’ll see how I feel on Thursday and Friday; if I still feel the same, this may be amazing for me.

The classroom is light, bright, and free of awful bugs. There were some small winged creatures on my desk this morning, but I let them be and they flew away (or my neighbor squashed them while I was in the bathroom).

More good conversations with other people who are here to learn; I love being in a room full of people who are mostly there by choice, since the attitude is amazingly good and therefore so is the experience overall.

Organic food from the kitchen continues to be good, although also salty; today I learned that this is not limited to my dishes. All of the food is very salty/spiced. I keep drinking water; can’t bring myself to complain about it. Lunch was shrimp escabeche — over red cabbage with a tomatillo sauce (I’m not sure what was in the tomatillo sauce, but it was awesome). Some delicious cauliflower with dinner, and nicely cooked yams, plus more fish. I don’t know if I will eat fish for a while after I get back.

It rained today so there was no nature walk. I did see zip-liners breezing past through the pouring rain.

More tomorrow.

Monday

Day 4 of my adventure, Day 3 of class. This is where the blogs I’ve read have dropped off, and now I see why. We covered a prodigious amount of stuff — nearly 200 pages of the iOS Programming Guide. I am getting a better understanding of some things that confused me the first time around, but I still wish I had an extra day to put it all together — the basics, the new techniques — but we just keep steamrolling forward. I don’t have time to do all of the Challenges in the book, and I really wish I did, because I’m learning a lot and I’d learn even more then!

I think I’m keeping pace reasonably well. A few people are behind me, some people are ahead of me who have a lot of coding experience, and some are about on pace with me. I think this is a marathon and not a sprint so I’m okay with it.

I do feel gratified doing something for my own self-improvement that is also productive and useful, potentially, for others who might use my apps someday. I hope I can build a lot of productive and useful apps upon returning home. I certainly feel like I’ll have a running start.

This is a good environment for learning. I have almost no time to myself, which is weird, but I’m getting a lot done and reminding myself that this is temporary and necessary. What I am getting is time to concentrate, even among others, which almost never happens. I forgot how much I enjoy super-focused days.

The food remains delicious — and today it was not salty, since when they asked me what I wanted to eat, I said I would eat anything they made for me but please to go light on the salt. It was a great food day.

It was a great learning day. I wasn’t tired at 10:15 and only left because I knew I had to get some sleep to keep up the pace for the remaining days here. I found a centipede in my bed when I came back, so I called to ask the front desk if it was poisonous. They said no and also sent a nice staff guy to pick it up and remove it from the cabin. It was a nice little creature, I guess, if I were used to creatures.

More tomorrow. Bedtime if I want to get a full 7 hours of sleep. (First night: 9. Second night: 8.5. Third night: 8. I see the pattern. It stops now.)

Tuesday

Unbelievable amount of learning happening today. I’m starting to connect the dots, and know why I need to make a change. Even when I make a mistake I understand what the mistake was after it’s pointed out to me. I still make mistakes nearly all the time; but I also do some really cool things, like find a method the instructor didn’t know about, and try to figure out how to make it work; or set up new functionality to make things more efficient — and it works!

I’m a little bit on overdrive and finding it hard to sleep, but it’s good — it reminds me that it’s still possible for me to feel alive when contemplating work tasks, and to concentrate hard on something for several days at a time. I spend most of my regular workdays so interrupted by multiple tasks that I feel like I never get anything done. This is a refreshing change. At 10pm tonight when I still wasn’t physically or mentally tired, I realized that this is something that’s been missing from my life for a while.

I’m going to sleep now so that I can function tomorrow morning. I want to hit the ground running — again.

I am in nerd heaven. I think I may have tapped into something really important for me — other nerds.

Wednesday

Today was the first day I felt tired, and I struggled to keep up. We were on a rushed pace to try to make up some time, since we’d fallen behind by about one lecture. By day’s end, we were caught up — but that meant about an extra 2 hours of time. Lectures ended at 8:15 and I wasn’t caught up until 10:30. Lots of other people were there too, and we were kicked out of the learning room around 10:40 (after a few well-deserved games of Typeracer).

There was one point in the afternoon when we were implementing an involved piece of code that only worked on a single image thumbnail and only on the iPad, and I just realized that if I spent time to understand what I was doing I would never get to the *really* cool stuff — Core Data and touch gestures — so I just started typing. Type type type. I implemented the thing, realized I might need to look back at this someday, and moved on.

At points during the day I could hear the instructor talking but couldn’t focus. Maybe it was just an off day for me; but I think my head is so chock full of new iPhone programming knowledge that it needed a bit of time to process it all.

I’m going to bed now to give myself the best chance of recovering and hitting the ground strong tomorrow. I’m still keeping up with the class, but I don’t feel the sense of mastery that I felt yesterday (and yes, I realize that mastery is a good way away — but I was putting all the pieces together yesterday).

Thursday

Back on track today. We went at a slower pace, I absorbed nearly everything we covered, and I was able to implement some pretty cool apps, especially one that allows drawing. I now have the skeleton of something I actually want to implement when I get home. Exciting!

Class was fun but I can feel the pace winding down. I’ll miss my fellow classmates but have enjoyed the opportunity to spend a week with other nerds doing one of my favorite things on Earth — learning.

I’d love to be back for the advanced course in November, but we’ll see how the year goes. Will I use these skills in the next six months to build apps? Will I push through the frustration when I can’t make something work, and figure out how to persevere, work through the syntax and search the documentation (and Stack Overflow) to find solutions?

We’ll see. More tomorrow — and the next day, I hope.

I’m ready to go home but also not ready. I did better in this class than I expected when I walked in the door. I want to put my new skills to good use and produce apps that are productive for users and for me.

I’m a Big Nerd.

Friday

Back home. We had class until 12:30, then lunch and then quickly piled into the shuttle back to the airport. I spent a few hours waiting for my flight there and then got home around 9:30.

I expected to feel mentally drained and tired, but I feel mentally turned on instead. This is awesome. It says to me that I did the right thing, and I love feeling this way. I’m going to keep working on the programming at home, and see what I can struggle through and make in terms of apps. I feel like the BNR class gave me the tools I need to keep learning on my own, and to work out problems when I run into them, because I’m starting to understand the underlying patterns and logic of programming.

Starting to understand. That’s key. There’s a lot more work to do — but I think I’ve got a running start. Now I just need to keep going.

Day 17: Back to the Grind

Back in New Jersey. It took a little while for me to adjust. Back to family, and home, and distractions. Even when distractions are good, they’re still distractions. So I need to schedule blocks of time when distractions are okay, and blocks of time when they aren’t.

Today, I carved out the after-dinner period for coding. I made  progress on my flashcard app, building on what I learned last week at AltConf and from my Thinkful mentor. I worked for a solid four hours.

A funny thing is that’s not good enough. I just typed, “I worked for a solid 12 hours,” and felt really great about it until I realized:

IT WASN’T TRUE.

I typed what I wanted the truth to be.

Tomorrow, I blocked out the entire day for working.

My major goals for this week are to: Make significant progress on my flashcard app, including entering back-end data; read at least 200 pages of the NASM book; and work through at least 200 pages of the Swift book, highlighting important points and follow-up questions.

I do have peripheral goals, but if I went into each week with all of them competing for space in my head, I’d set myself up for failure. With three major goals, I aim to accomplish all of them. And when inevitable procrastination strikes, I take it as an opportunity to tackle some peripheral goals.

I also have overarching goals, which can’t be accomplished within a week. Those are the big life things, like health and wellness, long-term career development, and purpose.

I don’t count them, because counting them is not important.

I sleep on them. I dream with them. I move toward them, step by step, goal by goal.

Day 12: Carousels and (Alt)Conferences

I’m sitting near the Leroy King Carousel in San Francisco, typing this blog post in the sun while drinking coconut water.

It beats working under fluorescent lights in my cube.

I spent the past three days going back and forth between the Children’s Creativity Theater and Jillian’s restaurant, which are hosting AltConf near Apple’s Worldwide Developer Conference. WWDC has grown so popular that Apple moved to a lottery system this year, so many shut-out developers have chosen to spend the week meeting new friends and learning new things at AltConf instead, which is free.

I love the conference. I’m not such a party person, so I’m more comfortable meeting people during the day, one on one over tea, coffee or sunshine, rather than drinking and forgetting names over the roar of a band.

The great thing is that AltConf and WWDC provide both types of venues for meeting people and having fun.

The coolest part of AltConf for me, besides meeting new friends, has been the AltLabs at Jillian’s. So far at the AltLabs, I’ve:

  • Gotten advice on a problem with how UICollectionView scrolls horizontally in my flashcard app (solved Monday night by working with my awesome Thinkful mentor, hurrah!).
  • Added accessibility features to my flashcard app. This took about 15 minutes, compared with the hours it would have taken me to investigate these features on my own.
  • Downloaded the Philips Hue SDK (software development kit) and understood how it works in 40 minutes, compared with the days or never it would have taken me to explore this on my own. Began customizing a basic app and learned where to find help in the guidelines for developers.

I’m also enjoying San Francisco itself, a city I love visiting. I’m staying in a quiet neighborhood away from the conference, which is less convenient but also a lot cheaper. It’s been relatively easy to get downtown in the morning, even with the MUNI workers’ pseudo-strike-sickout Monday and Tuesday. Less easy to get back home, but I expect the situation will improve with more buses on the road now.

It’s still cold here when the wind blows, consistent with my experience of San Francisco in summer. At least the haze has cleared and the temperature is higher now. A few dozen miles away, in Cupertino, it’s 83 today. Here? 64.

Jacket. Sweater. T-shirt.

Coconut water. Sunshine.

Day 10: AltConf Adventures as Swift Launches

I woke up in Pacific Heights around 5am, jet-lagged in my favor for once. Into a cab at 5:50, quiet streets all around, and arrived near the Moscone Center just after 6am.

Crowds queued outside Moscone West, waiting for the WWDC keynote. I was attending AltConf, a free event for developers without WWDC tickets to network, learn and have fun.

The mood at AltConf was exuberant throughout most of the two-hour keynote, turning to anticipatory dread when the crowd  realized the end of Objective-C was nigh, then overcome by relief and curiosity when Swift appeared to be a useful replacement.

I say “appeared to be” because I’m still reading the Swift iBook released by Apple today. Still absorbing, learning, and seeing a lot of work in my future to master this new language. But looking forward to understanding and then mastering it.

Food-wise, today was half disaster, half dream. I started the day with a nutrition bar and a tasty burrito, followed it with burrata mozzarella on toast, then had an organic egg crepe, organic vegetable juice, a muffin, fried polenta sticks, kale salad, almonds, a pack of organic raspberries, and half of an organic chocolate tart.

Come to think of it, I ate a lot.

Tomorrow: Less food, more code.

Day 5: Racing Ahead, To What?

Yesterday was excellent. I finished reading Effective Objective-C, a book that improved my coding instincts despite my newcomer status. To wit:

  1. I find myself more open to the idea of using blocks;
  2. I consider how to move as many properties as possible to the .m file’s class-continuation category, instead of leaving them in the public .h file;
  3. I name my objects and variables more clearly;
  4. I have a good conceptual understanding of memory management;
  5. Probably several other things I don’t consciously remember.

This book is also so excellently produced that I even enjoyed turning the pages and noticed the quality of the ink.

I also finished reading Apple’s Mobile Human Interface Guidelines, which helped steer me away from implementing a horizontal picker control — an inelegant solution for helping users navigate in my app. Instead, my awesome Thinkful mentor let me know about Collection Views, and I’m looking into those now via Apple documentation, the Collection View programming guide, and WWDC slides.

This highlighted an important principle for me — I knew I was doing something not-good in implementing the horizontal picker. I felt like pieces weren’t fitting together, like I had a toolbox with half the tools missing. I want to remember this feeling, because it probably means “wrong track” most of the time. The sooner I  recognize it in the future, the less time I’ll waste.

Caveat: I know there are times when I might not have all the information but am actually on the right track. In my experience, the right track feels different, because the new pieces of information I stumble across tend to make sense across the fragments and illuminate the spaces in between.

New Adventures, Day 2: A Little Procrastination, a Little More Action

Day 2 started well — I read 60 pages of the NASM textbook, which I need to finish so I can take the personal trainer exam by July 1. After that, I relaxed for a few hours and then went to a Memorial Weekend barbecue.

When I came home, instead of reading the Apple Mobile Human Interface Guidelines or working on my flashcard app, I booked a trip to Quebec City. I did need to book the trip, but I needed to get the other things done more, in advance of tomorrow’s session with my awesome Thinkful mentor.

I also noticed that my Coursera Intro to Marketing course had a hard deadline of May 26 (tomorrow) on the first quiz, so I dedicated an hour to reviewing the slides and passing the quiz. Luckily for me, I watched the videos last fall, so this was a review for me. Nonetheless, it was procrastination.

Now, at midnight, I am reading the Mobile Human Interface Guidelines at last. I’ll spend another half hour reading, then go to bed and finish tomorrow morning. Not ideal, but I will hopefully pull some inspiration for the next iteration of my flashcard app, which I need to implement before 9pm Monday. It’s a self-imposed deadline, but an important one for me to feel continued forward motion.