Swift For Good

So I do too much a lot. It’s one of the reasons I have more draft posts than published posts on this blog (yes there are 2020 writing goals but you know we’ll see). It’s why for a second, when I first got a message from the ever inspiring Paul Hudson last fall about contributing to a Swift book, I thought my answer would be no…that is until I read to the end of the message - all the authors would be doing this for free so that 100% of the revenue would be going to a charity. Oh and the charity the money would be going to was Black Girls Code - an organization I fell in love with when I first volunteered for them back in 2012. Their mission is “to provide African-American youth with the skills to occupy some of the 1.4 million computing job openings expected to be available in the U.S. by 2020, and to train 1 million girls by 2040”.

So I said yes!! Without knowing what I’d write about, without knowing how I’d find the time. I knew I had to part of this, and knowing that so many of my favorites from the iOS community were already signed up just inspired me even more.

Having signed up, there was the next dilemma, what to write about? For my part, I looked back at the many apps I’ve worked on since 2012, and the thing that I realized that kept coming back to me was the layers of lessons from each app’s architecture that I brought to the next one. So I wrote about app architecture, and how to make it sustainable and scalable. These are principles that I use on a daily basis, and the experience of writing about them for the book has inspired me to explore them more!

The book was released on January 14th, and here’s the beautiful thing - based off pre-orders alone, we’ve already raised over $40,000 for Black Girls Code! $40,000 USD. It’s especially fulfilling to be able to share about this project on Martin Luther King Jr. Day. MLK once said “Everyone can be great because everybody can serve” - purchasing this book helps us serve the next generation.

As Paul said, learn swift, change the world. Copies of the book can be bought here: https://gumroad.com/l/swift-for-good-1

Let’s change the world.

Screen Shot 2020-01-19 at 10.46.38 PM.png
https://www.kamilahtaylor.com/blog/2020/1/19/swift-for-good

How to conquer Paris in 5 days!

Last November I spent a few days in Paris en route from Bangalore back to SF - because, why not? I had a splendid time, despite starting the trip recovering from food poisoning and ending it by coming down with the flu - and you know a city is something special when you still love it with a fever while it's raining and cold.

While in Bangalore, I lucked out and met a French iOS developer (Frank Lefebvre) at trySwift Bangalore, the conference I was speaking at. Frank was amazing and gave me a fabulous list of Paris tips and my favorite type of tip - where to eat! I've had a few friends ask me for this, so I'm summarizing this with some pictures from my Paris backlog! Included are all some of my tips on how I saw so many cute parts of Paris, checked out art without going crazy from all the tourists, and bought so many cute clothes (seriously everything I bought in Paris is my favorite thing ever and now I only want to shop there).

Landing in Paris:

(From Frank) The fastest way to reach Paris from the airport is by train (RER B, about 30 minutes into the city center). It connects to the subway network (the RER ticket is still valid in the subway, until you exit). To buy your ticket, use the « île de France » kiosks, not the « grandes lignes » ones <- This was the best tip he gave me! An Uber or taxi can take about 1h during rush hour. Don’t expect the driver to speak English.

The one thing that did confuse me for a while was figuring out which train ran on my line. I felt better once some people came up to me asking me for help in french - I was not the only confused soul. Then I struck up a conversation with an Irish fashion woman and together we decided to gamble on a train that ended up being the correct bet.

And now the most important part - FOOD.

General tips:

(From Frank) Prices usually range from 20~30€ for lunch to 40-50€ for dinner, except for fancy places (there is no limit.) Anyway menus with prices are always displayed in the restaurant windows (it’s the law), so you have no surprises. Prices shown on the menu include taxes + service, you don’t have to tip (but if you want to it’s a few €, not the 15~20% you give in the US.) A good app/website to help you with your selection: http://lafourchette.com (“the fork”). Usually it is a good idea to book for most restaurants, or at least to call them 30 minutes - 1h in advance to make sure they are open. I ended up trying to book the sites online where I can before calling, mostly because I was feeling shy about attempting that phone conversation.

The République-Bastille area:

One of Frank's favorite places (but quite expensive, expect about 100€ for dinner if you have wine) is Qui Plume la Lune. 50 rue Amelot. +33 1 48 07 45 48. There is no menu, it is always a surprise - and always very good.

This place was apparently more traditional and not as fancy - le Villaret. 13 rue Ternaux. 01 43 57 89 76. This was actually my first meal in Paris! There's a fun story here. I actually got food poisoning on my last day in Bangalore. I slept it off on the plane like a champ - did some mapping and saw that le Villaret was actually pretty close to the hotel I spent the first night at.  Frank said that  their cheese platter was impressive and that you can even have a cheese-only meal...and well I LOVE cheese so that's exactly what I did.

(Not pictured is yet a 6th cheese, a whole tub of brie.) Also I had foie gras before the cheese. Go  big or go home right?

Some more of Frank's recommendations:

Another classic: le Repaire de Cartouche. 99 rue Amelot/8 bd des filles du calvaire (same location, two entrances). +33 1 47 00 25 86.

Good seafood restaurant (and nice Cognac cellar too): la Cagouille. Place Constantin Brancusi. +33 1 43 22 09 01.

Nice inexpensive place, more for lunch: Hugo, 12 rue Papillon. +33 1 44 83 01 63.

Original, with a Japanese/Korean inspiration: Blue Valentine. 13 rue de la Pierre Levée. +33 1 43 38 34 72.

Chez Casimir. 12 rue Belzunce. +33 1 48 78 28 80. Good cheese. Not very expensive IIRC.

 

Here's one that I went to dinner with a friend who happened to be in Paris at the same time, Anna! La Pharmacie. 22 rue Jean~Pierre Timbaud. +33 1 75 50 77 22. This place was adorable and the food was delish.

 

Continuing on with Frank's recommendations:

Playtime. 5 rue des Petits Hôtels. +33 1 44 79 03 98.

For the view mostly (the food is good but not very original): le Train Bleu, inside Gare de Lyon.

Want to try snails? L’escargot Montorgueil, rue Montorgueil. A bit on the touristy side, but ok nonetheless.

Oysters? Charlot, boulevard de Clichy. Or most brasseries such as Boffinger (rue de la Bastille) probably.

Regional specialties: too many to list. To name a few:

  • cassoulet (Toulouse area): auberge Pyrénées-Cévennes, rue de Malte
  • choucroute (Alsace): chez Jenny, boulevard du Temple. Another very good one near porte Maillot, can’t remember the name but I can check
  • crêpes (Brittany): many good ones, like la Crêpe Dentelle rue Léopold Bellan, or Josselin rue Delambre (or is it rue du Montparnasse? not sure)
  • mussels and fries (north of France, Belgium): au Trappiste, rue Saint-Denis (close to les Halles). Definitely not Léon de Bruxelles, ever.

There are a few wine bars where you can have a snack while enjoying a glass of wine (or more). 

Frank's last big tip: Be in no hurry at restaurants, the service can be slow sometimes. Just enjoy the place. 1-hour lunches and 2-hour (or longer) dinners are typical. (I found this to be true in Italy as well, so I suspect this could be a European or central/southern European thing.)

One more thing - I actually had lunch with Frank and some other local iOS devs! We ate at L'Ange 20 and yes, the lunch lasted 2 hours, on a week day. They're doing it right in France.

 

For random neighborhood walks:

Here, I actually used the Rick Steves audio guide. I actually love using this walking tours when I visit new cities in Europe - I often get to see a lot of the main sites, at my own pace, and get a little bit of history thrown in - and of course, it's free. I did this on my second day in Paris, and got a lot of the major sites out of the way combined with a beautiful fall stroll. Another pro tip - if you think you'll be hitting up a lot of sites while in Paris, get a museum pass, and don't wait in line for it. I got mine in the mall that's basically under/adjacent to the louvre. 

 

One more thing - they actually play the music you hear in the movies that makes you think of Paris. I thought this was a Hollywood thing but it is in fact real. Check out the second part of my instagram post (the video) below to listen. I felt like I was in Amelie. 

From Frank: If you enjoy walking, the best areas (in my opinion) where you’ll like to wander randomly are:

  • le marais (roughly between Hôtel de Ville and Bastille)
  • le quartier latin (5th arrondissement)
  • l’île Saint Louis (the more eastern of both islands on the Seine)
  • Montmartre (the basilica is uninteresting, but you may like the streets around it (it is very touristy though)

For Music:

You’ll find good jazz bars rue des Lombards. I definitely wish I'd gotten to hit up some jazz bars, but I did randomly find a piano concert in an old church that was playing one of my all time favorite piano pieces (both to play and listen to), Gymnopedie by Erik Satie. It was glorious. The guy selling the tickets at the front *did* seem confused at how I'd found this concert.

For Art:

Everyone suggested that I go to Orsay before the Louvre because the Louvre can be overwhelming, and I'm definitely glad I went to the Orsay first. I have yet another pro tip here - I really wanted to see the Mona Lisa, so I went on a Thursday night (the Louvre is open late on Thursdays) and went by the Mona Lisa close to closing hours. Don't even attempt to see everything in the Louvre, be very clear about what you want to see, and try to go in off peak hours if possible. In Paris, Rick Steves even has audio guides for the major art museums, and that can also help with finding a less overwhelming highlights path through the museum!

Shopping:

I absolutely adored shopping in Paris. Basically every time I wear something I purchased there (which is often) I get a compliment or someone asking me where I purchased it. Most of my purchases were in le marais, which makes sense, this is where a lot of the boutiques are. Pro tip - there are big sales twice a year. I happened upon one of the medium sized sales around Thanksgiving. I ended up getting a lot of stuff at Comptoir des Cotonneirs, and a random boutique I found on my first day. I even found a lot of adorable jewelry stores, got some great finds for my sister! And you know me, I can't go to a city without going to a bookstore and buying at least one book.

  • Les Fleurs, 5 Rue Trousseau
  • Shakespeare & Company, 37 Rue de la Bûcherie
  • Matières à réflexion, 19 Rue de Poitou
  • Dante & Maria, 3 Rue de la Grange aux Belles
  • Comptoir des Cotonneirs, 35 Rue Étienne Marcel (there are multiple locations but I think this is the one I went to!)

That's it! And by that's it I mean this isn't even close to a summary of the entire trip I took, but then if I waited to finish writing that this would never escape my drafts folder - I even did a half day trip to Versailles! Eat all the food you can, and definitely have some crepes from street vendors, those were delicious and quite cheap. Bon appetit!

The view from the Eiffel Tower!

#30Till30 - Why

It's the favorite joke of the sitcom - group of 20 year olds, living in some city, they get depressed upon turning 30. In modern life, 30 is a big deal. 21 is the age when you're no longer a teenager and have entered your adult years - by 30, you should have figured this out.

Because apparently turning 30 is the end of life as you know it.

Because apparently turning 30 is the end of life as you know it.

My aunt called me on the first of the month to wish me a happy first day of my birthday month. She's a literature person, so it's fitting that she suggested I mark the month with a post each day. At first that seemed overwhelming...like May wasn't busy enough. But I like the idea of doing some extra reflection on milestone birthdays. For my 21st, I asked myself what my goal was for my ultimate contribution to the world. That was when I came up with the idea of opening a research center in Jamaica some day that would also have many opportunities for the K-12 group to be exposed to different parts of STEM. (Shameless plug, I talk about this in the Developer Chapter of the recently released Women in Tech book. Also, how crazy is it that I can shameless plug an actual book that I contributed to? How is this real life?)

So what are my goals for this? To reflect on my 20s, the good, the bad, the ugly. Quite frankly, I’m feeling pretty lucky these days, but as someone who identifies with Hermione, I’m always thinking about how I can improve. To look forward to the next decade of my life. To think about what I want to accomplish in this decade, and maybe update those life goals, see what I still like about them, what I can improve about them. And at the very least, to end the month not feeling like this dude...

Let's at least promise to never get how whiny Ted gets about pretty much everything.

Let's at least promise to never get how whiny Ted gets about pretty much everything.

...and more like Beyoncé.

Life can't be that bad if you're channeling Beyoncé.

Life can't be that bad if you're channeling Beyoncé.

The Case of the Disappearing Shoreline: What Happened to Jamaica’s Hellshire Beach?

Top, Hellshire Beach, January 2009, taken by Kamilah Taylor. Bottom, Hellshire Beach, January 2016, taken by Gabrielle Taylor. Both photos taken at Prendy’s.

“Hellshire is changed, all the beach is gone.”

 

So said one of my friends in passing, also back home for the holidays. I didn’t quite understand what they meant. So I gathered some of my family and friends and we set off for a Saturday outing.

As we drove, it started to occur to us that the ocean did seem a little closer. The real shock occurred when we stepped into one of the fish vendor shops.

Shock at the ocean actually being at our feet. January 2016, taken by Kamilah Taylor.

If you needed another reminder of what it looked like.

Hellshire Beach, January 2009, taken by Kamilah Taylor.

Hellshire Beach, January 2009, taken by Kamilah Taylor.

I like to keep on top of Jamaican news, and especially Jamaican environmental news. We have a lot of issues in this department. Just last year, Riverton Dump, burned for more than 8 days. No visible progress seems to be happening with the hotels agreeing with NEPA on how to save the Negril coastline. We’ve allowed foreign companies to come in and repeatedly build hotels not just on the beach but on other environmentally vulnerable locations.

But back to the Hellshire Beach shoreline.

Like any good scientist/engineer, when I got back I started to do a little bit of research. I wish I could say I was shocked when I found this article from 2011, “Hellshire Beach threatened, LIME funds study to identify solutions”, but alas, I was not. Back then, a study was commissioned to be carried out by a local coastal engineering firm Smith Warner, and “the first phase of the study will include extensive data gathering on the biological environment and the use of computer models to undertake preliminary engineering analyses.” Jamel Banton, director at Smith Warner, warned that “if the existing attrition is not reduced, the shoreline is expected to retreat further inland, thereby lessening the viability of the popular beach area for recreational and commercial activities.”

Top, Hellshire Beach, January 2009, taken by Kamilah Taylor. Bottom, Hellshire Beach, January 2016, taken by Kamilah Taylor. Both photos taken at Prendy’s.

I’d say he was correct. So what happened to this study?

After some digging, I found an article in the Gleaner in July 2015 that talks about the continued erosion and the study that was commissioned. Even then, you can see that there’s a little more beach left. The study “found that there is a way to curtail the tempestuous waters, but they would need more than US$1.5 million (J$176 million) to stop the erosion.” The Half Moon Bay’s Fishermen Cooperative represents many of the vendors at Hellshire. They are now “working with the Jamaica Business Development Corporation to write grant proposals and solicit financiers.”

But what happened between 2011 and 2016? Why were they just getting around to writing grant proposals in the summer of 2015? Why has the rate of erosion increased between May and October of 2015? If there is opposition to solving this with a similar breakwaters project to the one proposed in Negril, where is the media’s unbiased and detailed coverage of the pros/cons and alternate solutions? Isn’t it too late to implement such a solution in Hellshire, given how much the shoreline has already eroded? How much of this is also due to rising sea levels and the construction of buildings on the beach? I’ve noticed that there is much more coverage of Negril’s erosion than there is of Hellshire’s — I sincerely hope this is not because Hellshire is mostly a local’s beach and Negril is a tourist beach — or that a different class of people will be affected by the impending loss of income.

And above all, where is the public outcry? Why are we okay with our country’s natural resources being destroyed one by one? Today it is Hellshire. Tomorrow it will be Negril.


Flash Back Friday: HAL, my grad school robot #fbf

I am a HAL 9000 Computer Production No. 3. I became operational at the H—A—L plant in Urbana, Illinois, on the 12th of January, 1992.
— http://archive.wired.com/thisdayintech/2011/01/0112hal-born-space-odyssey/

Last Sunday, I stumbled upon this gem of an old pic.

HAL, My Intensity Bug Robot. Yes, her name comes from 2001: A Space Odyssey, not because she was evil, but because she's from UIUC!&nbsp;

HAL, My Intensity Bug Robot. Yes, her name comes from 2001: A Space Odyssey, not because she was evil, but because she's from UIUC! 

Background: In 2008, my advisor (Steve LaValle) assigned  Bug algorithms (a category of planning algorithms) as my weekly reading. I identified what I thought was an oversight. These were supposed to be super simple, just a point robot magically navigating to some end location, only equipped with a touch sensor so that it could circumnavigate obstacles. Turned out, it needed much more than that - gps, compass, enough processing power to calculate slopes on the fly. So I decided to start with a robot that actually only had a touch sensor, and see how I could add a minimal set of sensors and have it reach its goal.

I can't remember how I came up with the idea of having the end location be a tower emitting a signal, but I do remember that this insight, combined with the subsequent insights of the exact pieces of information the robot would need, was the highlight of my grad school career.

I still had doubts that this would work in the real world, and it took me a while to find a signal that exhibited the properties I'd written about. The first time HAL successfully made it to the "tower", i.e. the infrared beacon source, was perhaps the second highlight. I probably should have kept around a video of me cheering!

KT

Further reading: http://link.springer.com/article/10.1007/s10514-013-9356-x 

Rough copy: http://msl.cs.uiuc.edu/~lavalle/papers/TayLav14.pdf

HAL in action: