The Fierce Urgency of Now

Earlier today I attended a stakeholder and planning meeting for “The Campus”, the “first technology and wellness hub at a public housing site in the United States.”

Our meeting was at the Howard Houses in Brownsville, Brooklyn. It’s in the Howard Houses that The Campus operates. Brownsville and public housing projects like the Howard Houses have been largely left behind by the surge of investment (and gentrification) in Brooklyn in the last 15-20 years. Brownsville still suffers today from high levels of crime, violence, and poverty.

A key goal of “The Campus” is to provide opportunity to young people, especially young men and women of color who live in public housing. It is hoped that through technology, especially computer science, as well as programs in entrepreneurship and wellness, that we can provide youth the hope, confidence, and career skills with which to turn lives and communities around.

Tragically for one man our work came too late. About twenty minutes before the start of our meeting Rysheen Ervin, 28, still with a whole life ahead of him, was shot immediately outside our meeting room and only a few more feet from a public school. The man died of his wounds. The shooting was witnessed by my friend State Senator Jesse Hamilton, sponsor of The Campus. Senator Hamilton recorded this powerful video immediately after the shooting. This violence had a deep impact on everyone in attendance, including me.

At last week’s CSForAll Summit at The White House a key theme was broadening participation and making sure the “For All” in CSForAll is not just a platitude. On Thursday Mayor Bill De Blasio will give his one year update on New York City’s CSForAll initiative. During his speech we can expect to hear much about the city efforts to keep the “For All” in the forefront.

To complement and magnify CSForAll and the work of its foundation partner CSNYC, Borough President Eric L. Adams (also a sponsor of The Campus), his staff, myself, and a number of non-profit and private sector partners, put together CodeBrooklyn last year. The purpose of the CodeBrooklyn campaign is to champion the expansion of computer science and STEM in our schools, especially in communities like Brownsville, with the goal of establishing computer science in every Brooklyn school in 7 years — 3 years ahead of the city target. We’re still in the early days, but last year were able to help get over 80% of Brooklyn schools to participate in Hour of Code.

Senator Hamilton is a key supporter of CodeBrooklyn. Senator Hamilton held one of the first hackathons in Brownsville last year. Another supporter of CodeBrooklyn is City Councilmember Laurie Cumbo, who at a CEC 13 meeting in October 2014 literally jumped onto the stage at PS 307 to join CSNYC board chair Fred Wilson to give impromptu, moving testimony about the civil rights case for computer science.

The fight for civil rights brings to mind Dr. King. The death of this man, Mr. Ervin, literally before the eyes of those gathered to plan for The Campus, gave new relevance to these words of Dr. King:

“We are now faced with the fact, my friends, that tomorrow is today. We are confronted with the fierce urgency of now. In this unfolding conundrum of life and history, there is such a thing as being too late. Procrastination is still the thief of time. Life often leaves us standing bare, naked, and dejected with a lost opportunity. The tide in the affairs of men does not remain at flood — it ebbs. We may cry out desperately for time to pause in her passage, but time is adamant to every plea and rushes on. Over the bleached bones and jumbled residues of numerous civilizations are written the pathetic words, ‘Too late.'”

For the man murdered today,  and his murderer perhaps as well, we were “too late.”

Let me be clear – computer science education is not a panacea to all of our nation’s problems. The challenges in communities like Brownsville – or McDowell County in West Virginia – are a Gordian knot that can not be swept away with a couple lines of JavaScript. But our commitment to inclusion and participation in computer science education is a right and important first step in creating new opportunity for communities that the economy has left behind.

And so let us resolve to act, in the memory of this man killed today at the Howard Houses, with Dr. King’s “fierce urgency of now”. Let us never be “too late” again.

Goodbye WordPress.com. Hello Bluehost

Short post today.

I’ve been meaning for some time to start the migration of a couple WordPress sites I own and manage from Wordpress.com onto another hosting provider as self-hosted WP sites.

On a the recommendation of a friend who blogs daily, I’ve gone with Bluehost, and migrated all of my blog content for this blog from wordpress.com to a new WordPress instance I’ve created. In all, it probably took me two hours to migrate, configure DNS, and set up the various plugins. I also had a bunch of fun getting my .htaccess file and the Apache ReWriteEngine directives to work right (as this is not the only site I’ll be hosting on bluehost). There is still some stuff to do, namely work on my CSS (my buddy David of Smarter Storytelling is right that WP CSS is intricate).

Hopefully this change over was invisible to you. Let me know in the comments (now powered by Disqus; one of the reasons I wanted to get off WordPress.com is that it allows “widgets” but no plugins such as Disqus) how it’s working. Mike Zamasky’s kick in the butt to get back to blogging gave me a reason to do this migration as well.

Would love to hear what plugins and WP themes you like in the comments as well.

In the coming weeks I’ll probably hook up Cloudflare, but that is probably not urgent right now.

Back To Blogging

I was browsing the web over the New Year’s holiday looking for some material on computer science in schools (more on that in a bit) and saw a post from my friend Mike Zamansky that referenced a post by Alfred Thompson which itself referenced my last post to this blog. It was fun to see my post being discussed. Some commenting back and forth on both blogs ensued and in one comment Mike encouraged to me to start blogging again. Mike’s kick in the rear for me to blog was welcome.

So, back to blogging.

An update is probably in order about what I’ve been up to the last few months.

In July I left Relay with the intention to start doing my own independent advisory and consulting work, and to also spend more time working on computer science education. As luck would have it, very soon after I was asked by my friends Evan and Pedro to serve as the ED of TeachCS. Since late August I’ve been doing that about three days a week. That has resulted in some really fun things such as…

…getting to open NASDAQ with my friend Fred and a whole bunch of other friends and leaders in the CS is schools movement…

… and, that same week, being invited to the White House to participate in a computer science education meeting. Here I am at the entrance to the West Wing…

Honorable mention to front row tickets at Hillary Clinton’s birthday party — Bill was sitting behind me! Here’s a picture I took from my seat…

TeachCS has not been all I’ve been doing. Other things I’ve up to:

  • Launching the CodeBrooklyn campaign with Brooklyn Borough President Eric Adams to promote computer science in Brooklyn school communities
  • Providing strategy advice to my friend Gordon’s CS education startup, Codesters
  • Helping my friend Nathaniel and TEALS doing class observations
  • Checking in with my friend Chris and his startup, WillSomeone, into which I made a small angel investment last year
  • Keeping tabs on AlumniFire, another company into which I made a small investment
  • Joining the advisory board of Gemr, an amazing startup for collectibles and the people who collect them, based in Portsmouth, New Hampshire
  • Putting together a new startup idea with my friend Seth (nothing to announce yet but stay tuned — very interesting stuff)
  • My continued community work in Brooklyn as an elected member of CEC13 and the new youth chair of Community Board 6
  • Lifting heavy things and running my 10th NYC marathon

Finally, I also have a personal tumblog you can check out if you’d like. Warning: It’s mostly a mix of my writing on Brooklyn school and civic issues (including updates about CEC 13 and CB6 stuff I’m up to) plus more pictures from Instagram of me lifting weights.

Code Syntax Compared

A friend of mine is getting into coding. He was asking me a bit about what language to learn and how they are different. He was curious about functions in particular.

To show him the differences I decided to write a very simple program to calculate the area of a triangle in 5 different languages. Each program is run at the command prompt. I tried to write the program in more or less the exact same way, somewhat ignoring a couple conventions in order to make each program as identical to the others as I could.

Python:

#triangle.py
#run at command prompt with python triangle.py

def triangle_area(base, height):
    area = (1.0/2) * base * height
    return area

a1 = triangle_area(10, 2)
print a1

Ruby:

#triangle.rb
#run at command prompt with ruby triangle.rb

def triangle_area(base, height)
   area = (1.0/2) * base * height
   return area
end

a1 = triangle_area(10, 2)
print a1

For all the Ruby (and Rails) vs. Python (and Django) debates, these two languages look nearly identical in these examples. That doesn’t hold true forever, though. The main difference is that Python starts the function definition (the inside of the “black box”) with a colon. The function ends when the code is no longer indented – white space matter a lot in Python compared with other languages. Ruby on the other hand does not use the colon and ends the function instead with “end”.

JavaScript:

// triangle.js
// run at command line with a program such as node – e.g., node triangle.js

function triangleArea(base, height) {
   var area = (½) * base * height;
   return area;
}

var a1 = triangleArea (10, 2);
console.log(a1);

JavaScript, in part due to its history and orientation to the web, does printing to the prompt a bit differently.

PHP:

<?php

// triangle.php
// run at command prompt with php triangle.php

function triangle_area($base, $height)
   {
      $area = (½) * $base * $height;
      return $area;
   }

$a1 = triangle_area(10, 2);
print $a1;
print “n”;

?>

Many people think PHP is ugly. I think it’s the dollar signs and question marks. Somehow it feels cheap and uncertain.

Java:

/** Triangle.java
Must be compiled first 
Run at command prompt javac Triangle.java
Then run java Triangle
**/

class Triangle {

public static double triangleArea(double base, double height)
      {
         /** Need 1.0 to get calculation to work right – indicates double **/
         double area = ((1.0/2) * base * height);
         return area;
      }

public static void main(String args[]) {
      double a1 = triangleArea(10.0, 2.0);
      System.out.println(a1 + “n”);
   }

}

This is the only example that needs to be compiled. Complied languages generally run faster and programming in languages that need to be compiled is sometimes seen as “harder core”, though that’s a somewhat outdated view. Remember – right tool for the job!

I’ll do this again soon .. maybe adding R to the mix.

My father passed away today after a prolonged battle with Parkinson’s Disease.

My father passed away today after a prolonged battle with Parkinson’s Disease. He was 68. I was with him. See post from my brother Andrew – https://www.facebook.com/robunderwood/posts/10153703530551393.

Please do not send me cards or flowers – our house is too small and cards go in the trash eventually. If you’d like to honor my dad’s life please consider a donation to the The Michael J. Fox Foundation for Parkinson’s Research or JourneyCare (who did hospice for my dad).

Thank you.

Watch live Hour of Code chats next week with some pretty awesome people

codeorg:

Tune into the live chats, or watch the video archives:

image

TUESDAY, December 9
10:00 AM PST – Lyndsey Scott
12:00 PM PST – Jack Dorsey
3:00 PM PST – Ashton Kutcher

WEDNESDAY, December 10
7:30 AM PST – Cory Booker
10:00 AM PST – JR Hildebrand
11:00 AM PST – Clara…

Watch live Hour of Code chats next week with some pretty awesome people