Category Archives: Journalism

Posts about online-journalism and the future of what we’re doing

The person who knows how will always have a job. The person who knows why will always be his boss.

Setting the scene
School is starting back soon and that means that kids will be pouring out of their homes and back into school. Unfortunately schools in the United States are not properly prepared to teach kids the basics of typing or computer science.

The best skill I learned in high school was learning to type and being able to do it proficiently. I learned how to type 15 years ago and it’s one of the few skills I have never forgotten.

For me, learning to type and learning basic computer science skills were my ticket out of rural South Carolina and ultimately led to me being a full time Data Analyst and small business owner. I did that on my own through sheer determination and being self taught.

15 years ago, there were no online learning programs or free sites that would teach you computer science. Recently I gave my brother-in-law who is in high school a challenge: Pass your typing class with an A and type 75 wpm (words per minute) and we’ll give you $150 in cash. Regrettably, we’re still hanging on to that money and maybe we’ll invest it in something else in the future.

This led me to spend a lot of time thinking about how our schools systems throughout the US are woefully underprepared to teach students this basic CS skills necessary to be successful.

In June at Fast Pivot, we hired our first college intern from Mars Hill. Without a doubt, our intern as been one of the most exceptional CS majors I’ve met. This is an exception to the rule though, it’s hard to find people in the south who are this motivated.

Why I care so much about kids learning code
Learning how to type and code helps you learn how to solve problems. Let me give you an example. Say you’re at home and the door rings. You open the door and one of two things will happen: 1. You’ll see someone who you know. 2. You’ll see someone you don’t know. Immediately your brain runs through a decision tree and formulates a sentence and you’ll speak one of two types of sentences: A salutation that you would use for someone that you know or a salutation for someone who you do not know.

In computer programming, here’s how we would solve the same problem:

That’s a pretty simple example. But if you think about how many aspects of our lives are touched by technology, teaching kids these skills becomes necessary. As we depend on fewer people and organizations to provide us with more resources, it’s good to be self sufficient. The same could be said with learning how to grow a garden or fix a car. What’s wrong with learning how to do it yourself?

So what is being done to address this problem?
Fortunately there are a few great non-profits in the US that are trying to tackle this problem head on. Probably one of the more popular non-profits is Code.org. According to its website, Code.org has the following goals:

  • Bringing Computer Science classes to every K-12 school in the United States, especially in urban and rural neighborhoods. *Emphasis mine.
  • Demonstrating the successful use of online curriculum in public school classrooms
  • Changing policies in all 50 states to categorize C.S. as part of the math/science “core” curriculum
  • Harnessing the collective power of the tech community to celebrate and grow C.S. education worldwide
  • Increasing the representation of women and students of color in the field of Computer Science.

Here’s a great promotional video from their site:

There are also two great non-profits that are specifically aimed at helping young girls learn how to code: Girls Who Code and Girls Develop It.

Coding shouldn’t just be limited to children either. Could you imagine what could be done if we were able to teach, empower and hire one percent of the unemployed population by teaching them to code?

15 years ago, access to resources were limited. But now a lot of the barriers have been removed and the tools are there. We just need someone to step up and accept the challenge.

Indiana Jones and I don’t have a lot in common other than our mutual disdain for snakes. “Snakes, why’d it have to be SNAKES?” Indy, you are my hero!

Obviously Python has nothing to do with snakes, it’s just a name of a programming language. Just like my last post about Git, my first interaction with Django, a framework written in Python happened in 2007 at The State Newspaper.

There were some very interesting people doing very cool things back then at other newspapers. Adrian Holovaty had just launched Everyblock. While he was at the Lawrence World Journal, he and some coworkers had created Django and Ellington, a far superior framework/CMS than anything I had ever seen at the time.

At The State, we had just started working with an ace programmer Justin Abrahms, who introduced us to Django. The tagline for Django is “The web framework for perfectionists with deadlines.”

In October 2010 after mastering WordPress, I decided to conquer Django and Python. I purchased “Practical Django Projects“. I made it 1/2 way through the book before I gave up. Ultimately at SCPC I wanted to future proof The Nerve, so we relaunched their site in Django. That was my last time using it.

Fast forward four years and I am once again dipping my toes in the water of learning Python, this time I want to learn it the right way. I needed it recently to finish a homework assignment for Cousera and after hacking my way through it, I realized it’s time to learn it properly.

I started the Google Python Exercise class, but I really need something more beginner than that. The i stumbled upon Code Academy. Their Python class has been one of my favorite online classes that I’ve taken so far. This class just gets you to the beginner level and I am by no means an expert at anything.

There are multiple ways of approaching coding. There isn’t a “right” way to do anything, only more optimal routes. For example, take this code:

You don’t have to understand what they’re saying, but their both doing the same thing: counting the number of doughnuts and returning two values, if it’s less than 10, return the exact number and if it’s more than ten, say ‘many’. Pretty cool right?

One of the work projects that I have is building an automated reporting system for clients. The system that I’ve created is rudimentary and limited, but it’s a step in the right directions and lightyears beyond how I use to do things. With the help of an awesome intern, we built a script that pulls numbers and puts them into a spreadsheet. That spreadsheet uses a mail merge function to pull numbers into a prebuilt template that we can export to a client. This takes about 10 minutes instead of the old four hours.

The next step of course is a web based system where someone can log in and this could happen automatically. We skip the spreadsheet and word document and it’s printed out in a web interface. Automation for the win!

When I began looking for a system that could do this, I was immediately reminded of the python class that I was taking. It handles reusing apps easily and supports all of the functions that I need. For a visual example of this, check out the LA Times data desk app: Mapping L.A. The charts on that page use the Google Charts API and are created automatically on the fly each time. For me, that means no more charts in excel or R. The population metrics are part of a template that are generated automatically as well. In the backend, I image their system looks like this: %s population in %d, according to the U.S. Census. Again, this part is automatically generated when the data is updated.

Example of a chart created with the Google Charts API:

By editing the url, we can also edit the chart. Example, change one of the bar numbers:
Prior to doing all of this, the old me would have thought these charts and numbers had to be created manually and inserted by hand. Imagine doing that 20 times per week. Who wouldn’t go crazy doing that?

Not only am I learning how to code, I’m also learning to think programmatically and learning how to solve problems in this manner. Coding helps you learn how to think.

Commute Travel times in South Carolina

Another day, another stab at a data visualization. Today we are looking at commute times by zip code for South Carolina.

The average commute time for South Carolina is 26 minutes. The highest reported travel time came from Alcolu, SC at 67.8 minutes with a margin of error of +/- 6.7. The lowest travel time is in Bluffton, SC with 3.6 minutes with a margin of error of +/- 1.1.

You can view the map below or view the fullscreen version here.

*Note: There are 539 zip codes in South Carolina but only 400 in this report.

I’ve been on the job hunt for a new PPC/SEM position recently. After filling out dozens of applications I decided to see if I could visualize the locations of the jobs I’ve been applying for.

I signed up for an indeed API account and used the IMPORTXML function in Google Spreadsheets to come up with the following visualizations.

The first visualization shows job listing density by state. I first created a pivot table and did a count unique of Job Titles, but I realized there were a lot of overlapping titles. I then realized that the XML from the API returns a unique job key for each listing so I used that instead.PPC jobs by State

Of 300 jobs posted between May and August of this year; 76 jobs were listed in California, 35 in New York, 22 in Illinois and 20 in Texas.

Top cities included by number of lisitings: New York City – 25, Chicago – 11 and San Diego – 10.

The XML from the API also returns a longitude and latitude for each post so I visualized each job key across cities. It’s interesting to see that there are some states in the US with no job listings for PPC or SEM roles. I wonder why?

PPC jobs by location

On July 31, 2013, I admitted that I have failed as a small business owner. Let me tell you the story of how I got here and where I went wrong.

Working with newspapers

In 2004 I saw the light. I knew that the internet was the future of journalism. Nine years later, I’m wondering how far we have advanced with that mission.

I know now that it’s not just journalism that needs saving, it’s so much more. Advertisers and publishers are both grappling with how to drive sales online. Bad ads lead to bad websites with no conversions or KPI’s to track.

In 2008, I joined the online department at The State Newspaper (now The State Media Company). Things were great. I helped create and implement their first social media strategy on Facebook and Twitter. Something I was very proud of at the time.

In January 2010, I received unexpected news. I was being let go in the third round of layoffs at the paper. I was crushed.

Life after newspapers

On Feb. 5th, 2010, I had a job interview with The Washington Post to be one of the comment moderators for their website. I was to live in D.C. on 35k per year. I passed on the opportunity and went to New York City. I lived there for a month and a half.

In June, 2010 I joined a The South Carolina Policy Council. I was their social media manager. During that time, I joined a group called Operation Geek Farm (now Spark Freedom). As the social media manager I handled Facebook, Twitter, Google analytics and the website for the policy council and their news website – The Nerve. I learned a lot. I also learned a lot about the free market and the idea of running your own business. I knew that it was better to create a job than to find another job.

Life in the free market

On December 21, 2011, I started Creative Spark Columbia. I had one desire, help small businesses with their online presence. I wanted to run their social media accounts, host and maintain their websites and run reports in Google Analytics for them.

I landed my first client quickly. Before Christmas I was already working on building them a website. I would go on to host and build websites from various price ranges of $500 to $3,000.

Most of my clients are great. It’s my fault though. I was thinking short term and not long term. If I could go back and re do things I would.

Since I had structured my business to “help” small businesses, mainly financially, I was really hurting myself. I didn’t account for the monthly work it would take to maintain websites and I ended up undercutting myself. When you undercut yourself, you hurt your bottom line. Now I was stuck doing a lot of work for free when I should be charging for it.

Why I’m okay with failure

To me, failure is an option. It’s a chance to learn from mistakes, regroup and move on. I know how to do things better now. I know what it takes for a small business to survive.

My advice to people who want to start their own business

  • Know your bottom line. You need to be able to live as well
  • Know your worth. Don’t let a client lowball you. If they do, walk away
  • Learn as much as possible before you start your business
  • Learn as much as possible along the way and add that to your mix of tools
  • Plan for the long term, not the short term. Things will happen when you need an immediate fix. It’s not worth the pain and suffering.

Moving forward and looking to the future

Yes, some version of Creative Spark will continue to exist. I am changing how I operate, what I offer and more importantly, who I offer those services to. This time around I will be much more selective with the clients that I work with. My pricing structure will be different. I was knocked down, but now I am getting back up.

Wake up in the morning and go straight to work. No shower, brushing your hair or teeth, no makeup needed. Get to work, go to brunch early. Moet Mimosas while riding on a helicopter around New York City. Get off work at 2 and go mountain biking with your friends in Peru. Go to the club in L.A. until 5 A.M. Get up and do it all over again the next day.

Badass and Beautiful, or as I call it: B&B. That’s how Facebook wants you to feel when you use their new phone ‘experience’ Facebook Home. Just look at the photos.

Seriously Facebook? Are our lives that exciting? Are all of my friends photojournalist who take amazing photos all day long? I’ll reserve my opinions about Facebook being the one stop shop for everything on my Android phone (Hello, Google??). It will be interesting to see how Google jumps to integrate Google+ into the core of their OS the way Facebook has. And Apple users, looks like you’re SOL right now.

Instead, I’m going to leave you with a random sampling of images in my newsfeed from the past 24 hours. Just ask yourself, do you want to see this on your phone all day long?

If you think they won’t add fan pages and advertisements to your new home screen in the future, dream on.

  1. No one tool with save journalism. Four years ago it was video. Two years ago it was social media. Now it’s data projects, etc.
  2. Upper management can’t focus on pageviews, they have to make data driven decisions. This is something I preach the gospel on every chance I get. Focus instead on conversion rates and per goal value.
  3. Organizations have to focus on content consumption and not just content. This goes along way with paywalls.
  4. Advertising must get better. Newspaper advertising is siloed and a doomed to fail unless they adapt Google’s DoubleClick for Publishers and piggyback on them. Google has them beat hands down and there’s not much they can do about it. No chain of newspapers will ever have the reach that Google has. Also, newspaper ads online are crap. Fix them.
  5. Prominence must be given to great visual storytelling. Dedicated tablet apps need to be created to reinvent the visual story.
  6. Being an outsider I feel comfortable saying that newspapers don’t have the reach they think they do. If I don’t see it in an RSS feed or somewhere on social media it’s lost. I think a lot of other people feel the same way.
  7. Newspapers have to stop hiding behind false and inflated metrics. A VP of online advertising gave a speech saying that email sign ups had increased 300% since he took over the positon.  What he didn’t mention is that in order to leave a comment, you had to sign up to receive emails. There was never any mention about open rates, click through rates, etc. See number 2 on that one.

The number one question I get asked a lot about my site “Why aren’t you blogging any more?” The truth? I don’t have time for it! Okay, so that’s only part of it, but I also don’t want to blog for the sake of blogging. I’d like to wait until I have something really good to say.

Chris Brogan, someone whose site I haven’t read in forever has some really great advice for any blogger. His two best pieces of advice, focus on what you’re passionate about and keep it short and sweet. Less than five hundred words if possible. If you’re using wordpress, there’s even a word count feature at the bottom of the compose screen to tell you where you’re at.

So about this who passion thing… I went to speak at the South Carolina chapter of PRSA and spent a good hour afterwards talking to the fine folks at the South Carolina Press Association. We talked about every aspect of the future of newspapers; what they’re doing right, where they’re failing, what could be done to save it and how you change the old guard mentality.

I’ve got to say, it was great to have that conversation. I haven’t talked about the future of newspapers in a long time and while some of us disagreed about what’s wrong and how to fix it, we all realize that something needs to be done. On the ride home, I couldn’t help but think that I could spend the rest of my life trying to educate people during these fast changing times.

One other thing we discussed was how an ideal online only/online first, print secondary model would look if it weren’t tied to an institutional legacy. By that I mean, if we started from scratch with the best and brightest minds in all aspects of news and online advertising with a completely virtual office, what would that look like? Would it be successful? I dunno, just something to think about.

So, my pledge to you dear readers and mom is to get back in the habit of posting more. Hold me accountable won’t you?

Creative Commons Attribution 3.0 Unported This work is licensed under a Creative Commons Attribution 3.0 Unported.