Category Archives: Blogs and Podcasts

Refactoring the Blog 2016

This is why you don’t make long term plans, kids. They never work out.

So a few weeks ago I started a blog series on a game that I am making. Then I got derailed by the brief fling with algorithms. I had hoped to get my focus back on completing this game. I haven’t published an app out on the store yet and I really wanted to write a program on my own all the way through to being shipped.

Sadly, this is going to stay on the back burner for a while longer.

I have a new project I am working on that I will announce soon that will be absorbing most of my time and attention.

I don’t like to abandon the blog (and now the podcast) when I have a project I am working on. The last year has been rather sparse during times I have been consumed with projects and I don’t want to do that.

I am going to try to integrate the new project into both the podcast and the blog. The whole point of both of them is to talk about all the new stuff I am learning, so I am hoping to continue to do that with the new project.

I feel bad because I really wanted to hold myself accountable to getting a project completed. I would like to continue to do that and come back to this later.

My understanding is that a lot of people besides me have pet projects and the ruins of previous hobbies fossilizing in their basements.

I need to spend a little bit of time figuring out how to approach integrating my new project into my long term projects.

So, goodbye Godori. I will get back to you eventually. I hope.

Why I am Not Moving

“Janie, why are you still in Madison?”

This is a question I was asked recently. I actually get asked this question a lot.

For the record, I don’t live in Madison. I live in Deerfield. Deerfield is a village with less than two thousand people, no grocery store, and no traffic lights.

I had a lot of frustrating conversations with people over the winter when I was freaking out about taking care of myself where I was told to order delivery or sublet my house to move closer to work. There is no delivery in a village of two thousand people, one restaurant, and six bars (this is Wisconsin, there is a five bar minimum per incorporated town).

There is no public transportation. I drive sixty miles round trip every day to go to my job. This can easily eat up two hours of my day. The closest actual grocery store is twenty minutes away, so it is rather difficult to run errands because just going to the store kills almost an hour of my increasingly limited free time.

Additionally, I have my pugs who spend way too much time alone in my house and it’s hard for me to go home, feed them, shovel food down my throat, then go back out again after working a ten hour day.

Part of me thinks it would be nice to be able to go out at 9:00 on a week night on the spur of the moment without having to drive a hundred miles round trip in one day. It would be nice to take advantage of my gym membership without feeling guilty thinking about my pugs being stuck in my house alone all day. It would be nice to join the maker space that inconveniently exists equally far away from both my job and my house.

So why don’t I move?

First off, I can’t afford it. Conservatively, it would quadruple the cost of my housing to move downtown, or even closer to my job. After my divorce I effectively have a blank slate. I don’t have any debt (besides my house and my car), but I don’t have anything saved either.

I would have to sell my house. Did I mention the whole living in the middle of nowhere, no public transportation thing? There are a half dozen houses around me that have been on the market for a while. My house is just about the right size for one person or maybe a couple, but not for a family. It’s within walking distance of the school, but in our era of helicopter parenting, that doesn’t mean what it used to.

I feel like I am in a really weird stage of my life right now. I never did the whole partying and dating thing in my twenties. I had some health and social issues and so I didn’t go out to bars and date. I married my ex-husband because we knew one another our whole lives and the dating scene terrified me because the only attention I got was from married creeps who wanted to have affairs (which isn’t that much different right now, to be honest).

Even though I didn’t have kids, I have a lot of the same issues that parents have. I have to go home to take care of my pugs. If I want to stay out after work, I have to make arrangements for someone to come take care of them. I find it incredibly selfish that people tell me that they only want to hang out with me if they can call me on a whim and ask to meet at the bar twenty miles away in ten minutes rather late on a week night. When I tell them I need to schedule something or meet earlier, they get pissy with me and tell me to move. This makes me less inclined to hang out with them because they want me to contort myself like a pretzel and they are unwilling to do one thing to accommodate me.

Last week I did an interview with the Ray Wenderlich podcast. One of the themes of the interview was them asking about all the projects I have been doing. I spoke at, I think, at least ten conferences last year. I coauthored a book. I work a full time job. I am the cohost of NSBrief. I have a lot of projects that I do. I never really thought about it because they slowly added incrementally and the deadlines for each one would come and go then another would take it’s place like Hydra.

I started to really think about what I am doing with my life and how things would be different if I lived in a city like a normal person.

If I lived downtown and I could order takeout and go out drinking at 9:00 on a week night, I would probably do it. I would develop a circle of friends who all do those things. I would probably be more social, have different hobbies and activities, and have something that resembles a normal life.

I don’t think I would find that fulfilling.

When I started programming a few years ago, I was driven by my fears of inadequacy. I was competing with people who had been programming since they were twelve. I was in my thirties and I hadn’t established a career yet. Just yesterday I was talking to a high school student who is on Ray’s tutorial team and I felt a deep sense of shame for squandering my twenties doing stupid crap.

I don’t remember where I read this, but there was a piece of writing Anthony Bourdain did where he talked about his chef career. He said that when he was a young chef, he had two options. He could either take some time really honing his skills by working for better chefs, or he could chase the money by being an okay head chef at a couple of different places. He had a heroin habit to feed, so he chose to chase the money. He talked about Grant Achatz, the chef at Alinea. He was talented enough that he could have been a head chef right away, but he wanted to be a great chef, so he paid his dues for several years by being a sous chef for great chefs so that he could learn to be a great chef. His restaurant is the only consistent 3-star Michelin restaurant in Chicago and he is considered to be one of the greatest chefs of his generation.

I consider my current job to be more than a job. I feel like it’s my do-it-yourself graduate school. I am a much better programmer now than I was when I started here almost a year ago. I have the freedom to ask stupid, esoteric questions without worrying that I am going to be fired for not knowing what a bubble sort algorithm is. I am a sous chef working under a great chef to learn how to be a better programmer (mixed metaphors are pretty).

Right now I have two options for making up for lost time. I can either spend a lot more money to engage in a lifestyle that will be fun for a few years but will do little to enhance my career, or I can accept that living in the suburbs sucks, but that I can spend all of my time stuck at home doing things that will enhance my career and help me make up for lost time by fast tracking my programming skills.

I know most people after a divorce would throw themselves back out into the dating pool and get new hobbies and do a bunch of things to feel free and alive again. It’s a tempting thing. However, I made a lot of sacrifices over the last three years to get to the point I am at now. My fire is burning, but it will go out if I don’t keep tending it. I worked my ass off to get it going after having two previous attempts not get past the kindling stage. As cool as it would be to be a “normal” person and go enjoy my youth, I think that I have a chance to do something important right now and I want to see where I can take it.

My Goals for 2014

I am at a little bit of a crossroads with my blog. When I began this blog last year I wanted to use it to catalog my journey from being a student to being a professional developer. I thought it might help me get a job or provide visibility or something. My goal for 2013 was to learn enough programming to get a job, preferably in iOS development.

I accomplished that goal.

I have been now struggling to figure out where my blog fits into my current situation. I was planning to write about some of the struggles of having a first job, but after speaking to several people I have realized that this is a terrible idea. I love my job. I believe in my company and I am super happy to be here but I don’t think it is wise to write about that experience.

So what do I do? Do I just stop writing my blog? I can’t really talk about personal experiences because the vast majority of my personal interactions are with coworkers and that violates the rule I set up above.

After doing some soul searching and thinking about this a lot, I have decided that I am going to continue this blog in the spirit that I created it.

One thing that has gotten me down recently is this idea that I accomplished what I set out to do. It’s great that I reached that goal, but I also feel a little empty, like now what do I do? I know I have challenges to meet at my job, but it just doesn’t feel the same as when I had this journey I was on to get from where I was to where I want to be.

I think if I don’t keep pushing myself I will get complacent and let my skills atrophy. I want to keep giving myself goals to reach. I want to keep finding new things to learn to push myself to do more than I could last week, last month, last year.

So here is how I intend to proceed with my blog:

Each year I will come up with goals I want to reach. Some of these goals might be long-term, taking five years to reach. Others will be short-term, to be reached by the end of the year.

I will spend time writing about my progress with these goals. I can at least come here once a month to say, “I had too many deadlines and I was too busy to get anything done. Boo. I need to manage my time better.”

Apparently more people read my blog than I think actually read it, so I figure if I don’t keep working on my goals someone on App.net will give me crap about it.

Short-Term Goals for 2014:

  • Get familiar with GPUImage to the point that I can do a project.
  • Finish at least one of the audio programming/math books I got for Christmas.
  • Buy a MIDI wind controller and record at least one song utilizing a sound I designed.
  • Start a good podcast that isn’t just two white guys talking about Apple.

Long-Term Goals

  • Become a master audio programmer.
  • Write a complete synthesizer app.
  • Fully understand the math associated with audio synthesis.
  • Write a programming book.
  • Speak at a conference in another country.
  • Speak at 10 conferences in a year.

Both the short and long term goals will probably get larger over time.

So, challenge for 2014 is to figure out how to manage my time to allow me to get these things done. I am counting on people to hassle me about my goals if I don’t update very often.

I picked the name Red Queen Coder because she had to run as fast as she could just to stay in one place. I finally ran fast enough to get to the place I want to stay. That doesn’t mean that I can take a break and stop running.

Ready? Set? GO!

New Blog I am Contributing to

I was recently asked to be a contributor to a new blog:

Techcriquette

This is an offshoot of the blog Cocoanetics.

Techcriquette’s focus is on women in programming. We will be talking about our experiences as women dealing with sexism and things that we would do to try and broaden the different kinds of people who work in technology.

I may be “recycling” some of my posts between these two blogs, so if you by some miracle are reading both blogs, I wanted to clarify that I am not a plagiarist and that any article posted on this blog is written by me.

I am working on figuring out how to identify any article I wrote on Techcriquette. I also have figured out that I need to revamp my site somewhat. I believe it need a small redesign and I also need to figure out how to set up the site to tweet anytime I create a new blog post and to allow others to retweet my posts.

I am certain these are not large things, I just have not had the time or inclination to make them happen.

This is going on my list of things to do when my semester is over. That list is getting awfully darn long!

Brain Storming Box

One of the people at CocoaConf was Jaimee Newberry. One of her talks was called “Super Rad Brainstorming!”. Both she and Josh Smith talked about creating a Brain Storming Box.

A brain storming box contains markers, crayons, paper, clay, etc… Basically anything you would use to create a replica of a layout, colors, whatever you would keep in a box and use to create interesting ideas.

I used to have a lot of this stuff, but I keep losing it and getting rid of it because I don’t think I will use it or need it any more.

So I decided to get this together again today. I bought some cheap paper, colored pencils, and this awesome pseudo-mechanical pencil. It is a lead holder. It is used in drafting. It’s like a mechanical pencil in that it holds a pencil lead that you gradually let out as you use it, but it is also like a normal pencil in that the lead is very wide and you need to use a sharpener.

I also have markers and heavy paper for rendering more advanced versions of my designs. The husband says we will get a scanner at some point soon, so I can scan my drawings into my computer.

I have an Adobe suite that includes Photoshop and Dreamweaver, so that should be useful.

I think it is important to have apps and websites that are aesthetically pleasing. No one is going to use your app if it is ugly or unintuitive. I think it is important to know how to code, but it also important to think about how to make your app nice to use and look at.

I am also thinking about starting a podcast for beginning iOS programmers. There are lots of things I can’t find documentation on about layout and button functionality, so I would like to talk about that.

I am planning on the podcast only being about ten minutes long and focused toward beginners. So just a quick going over of some type of puzzle.

We will see how that goes.

Trying to Focus on my Cocoa Camp Code Sample

So got an unexpected break on my code sample. I checked the text input keyboard options and I can specify a purely numeric keyboard. It makes sense that Apple would make it easy to idiot-proof apps for their devices. So something I worried about figuring out is taken care of.

The big thing I am trying to focus on right now is setting up the picker. I want to have a text box that brings up a picker instead of a keyboard. This should not be that hard. I see this all the time in apps I use. I am having a little difficulty figuring this out.

I believe I read somewhere that you can specify a UIPicker instance as the input for a text box, but this isn’t something I am seeing commonly in my books.

A lot of my books don’t talk about stuff that I find to pertinent. I don’t know if it’s because what I want to do is so easy that no one thinks it is relevant to talk about or if it is overly complex.

Maybe I will write a code recipe book for beginning coders who want to do some specific things. By the time I get done writing it the code will be deprecated.

Always look on the bright side of life…

Also super happy that it is easy to determine which comments on my blog are spam. First off, all but one so far is spam. Second, I can safely assume if a comment includes a link to something consumer related it is spam. For some reason spammers think that people who read my blog want to buy $500 shoes.

My favorite spam comment so far is one insulting me. I deleted it, so I can’t remember the whole comment, but it went along the lines that what I was writing about provided no insight into anything and all of my thoughts were derivative. Oh, and by the way, go to this site to buy Air Jordans!

Update suggestions welcome!

I have had this blog for less than a month. I have not quite mastered WordPress and I am probably not looking at this as a reader as well as I should. If I am missing a feature that you think I should have, please leave a comment or tweet me @redqueencoder.

I would be sad to find out people don’t read my blog because it’s missing some feature that it needs to be usable or professional.

Podcasting

I woke up this morning all geared up to work on my coding, but I got sidetracked reading other people’s blogs.

Then I had an epiphany. If people write blogs they also probably do podcasts, so I did a Google search looking for good iOS podcasts.

Bingo! I found a nice list here. Most of these have at least a hundred episodes and all that I have looked at are still producing new content.

I am loading a bunch of these onto my iPod. I will come back later after I hear a few of them and I will give my opinion on which ones are helpful, which aren’t, and which would be helpful if I were not a beginner.

Okay! Time to code! I mean it this time!