AlterConf Seattle 2015

On Saturday I had the good fortune of attending AlterConf in Seattle. AlterConf is a conference series about diversity and inclusion in tech and gaming, which is something I have been getting more interested in and involved in recently. I am a huge fan of Ashe Dryden (AlterConf’s founder and host) and I had also spent some of the week watching awesome talks from previous AlterConf sessions. So I had high hopes for this event, and I was definitely not disappointed.

The first speaker of the day was Yvonne Lam who’s talk was titled “So You Want to Contribute to Open Source: Advice for the Non-Normative”. She had a lot of great advice about picking the right open source project based on what you are trying to get out of your involvement. I really appreciated the insights that “collaboration is not the same as community” and “interesting topic does not necessarily equal fun to work on”.

Monica Thomas gave a fascinating talk about “Tech Money, Gentrification, and the Policing of Blackness in Capitol Hill“. It was all about the impact that tech growth has had on Seattle, especially around gentrification of many Seattle neighborhoods, responsibility for skyrocketing rent prices and cost of living, and connection to the rapid growth in homelessness. When she talked about people who have lived in specific neighborhoods their whole lives being priced out and forced to move, she explained how they hadn’t just lost their home but “lost their communities” which is truly devastating. This is something our industry has to come to terms with and figure out how to fix.

Next we learned about “Invisible Arcade: video games as rock concerts” from founder Samantha Kalman. Invisible Arcade is an event in Seattle where attendees can watch someone play a video game projected on a large screen, or play the game themselves at demo stations. Samantha explained how games that lend themselves to performance, are visually engaging, mechanically rich, and dynamic, are preferred for this event. The popularity of the event has been growing rapidly. They are looking into hosting the event in other cities in the future. Samantha also explained the connection between the word “Invisible” in the title and queer visibility, specifically in Gaming. The rise of gaming as spectator sport (e.g. Twitch and the like) is really fascinating to me, especially since I am not a gamer myself, so I found this very interesting.

Anna Zocher spoke on “Resisting the Tidal Wave: Making Sure Chronic Disease or Disability Doesn’t Upend Your Career”. In this talk we learned about how getting a serious illness can derail your career and financial life, and what you can do to protect yourself. Specifically, Anna recommends getting “own occupation disability insurance” which will pay you what you currently make in the event you get a chronic disease or disability that prevents you from working.

In the next talk, Ijeoma Oluo told us about “How The Tech Industry Made Me A Social Justice Writer”. Her story began with talking about growing up very poor but bootstrapping herself to a career in telecom. She talked about facing all kinds of discrimination in her career, and how this fed into her interest in politics (she went back to school for a degree in Political Science). Then when the Trayvon Martin shooting happened she began writing about social justice issues. Her audience grew quickly online and she began getting TV speaking engagements — all while still working a day job in Telecom. She also runs the site “i believe you | it’s not your fault” where people can post anonymous letters about being sexually harassed, raped, and abused in other ways, and receive encouragement and advice.

Next we heard from Elaine Nelson on “Establishing Your Core Values”, and making your values part of your work. Her web development team at The Evergreen State College worked together to figure out four core values that could guide their work. This came in very useful as they have worked to iteratively update the college website. I think if more teams and companies focused on their personal core values, they could deliver better products and have a more fulfilling work experience.

Donte Parks told us about “Breaking Down Diversity in Tech One Company At a Time”. Donte is VP of Culture at Substantial, where he launched a program called Spectrum which is helping the company become a more diverse and inclusive place to work. He explained an 8 step process for launching a diversity initiative at your company. These steps are (highly abbreviated): 1) State your intention; 2) Build a coalition; 3) Listen; 4) It might be uncomfortable — that’s ok; 5) Start Small; 6) Think holistically; 7) Make everyone winners; 8) Be realistic. You can read a more substantial explanation on Substantial’s blog. I think this is a helpful framework and I hope people can use to improve their workplaces.

Whitney Levis talked about “Updated Spoon Theory for the Tech Industry”. I had heard of Spoon Theory before but never really looked into it. It is a fascinating concept of managing your personal capacities by thinking of them as a limited number of spoons you can use per day. Whitney explained how Spoon Theory has helped her manage her Autism and Lupus, especially in her career in tech. She talked about how her employer, NIRD, pays her hourly and provides really flexible working arrangements. This flexibility helps her take the time she needs to manage her symptoms and still contribute to her team’s goals. This talk really got me thinking about how people with different needs can be accommodated in the workplace, and how many employers currently are far too rigid.

Kevin Stewart gave a talk titled “Managing While Black”. He started off by talking about police interactions with people of color, focusing on the experience of getting pulled over for no good reason. He then connected this to career advancement in the workplace, and how similar bias comes into play. He talked about the inequity of the current system of hiring, which centers on leveraging networks that marginalized people often don’t have access to. He explained how in-person interviews can magnify bias, and promoted blind interviews as an alternative. I need to learn more about these problems and what I can do to help fix them.

This was a fantastic event. I learned a lot and met so many great people. I highly recommend attending AlterConf the next time it comes to your city. For more great reasons to attend you can read this blog post “AlterConf Sessions Are Awesome and You Should Go“. You can also donate to or sponsor AlterConf to show your support.

Thanks to all the speakers, organizers and volunteers that made it possible! Also thank you to Adobe, who hosted the event at their beautiful Seattle office. Finally and especially I want to thank Ashe Dryden for her tireless work on this conference — especially because she doesn’t make a dime off it herself. I think she is really changing the world with her work, and I personally appreciate her leadership and all she has taught me (via Twitter) over the last year.

SeattleJS meetup: WebRTC & JavaScript Performance

This Thursday myself and a couple of other Amazonian Web Developers attended SeattleJS at Google’s Lake Union office. We saw two excellent presentations and one very neat lightning talk.

First Carter Rabasa, Developer Evangalist at Twilio, gave an amazing live demo of WebRTC using Twilio. He live coded a NodeJS server that allowed us to text him a message, and then later used the phone numbers gathered to randomly place a phonecall to one of us — using very simple JavaScript code.

Next we heard a lightning talk from Parashuram Narasimhan about Perfmonkey, which is a really slick service he created for recording and visualizing performance data for your website.

Finally, John-David Dalton, Performance PM for IE’s Chakra JavaScript engine and author of the amazing Lo-Dash library, spoke about JavaScript performance. He dove deep into some of the technical details of how he has optimized the library to achieve extremely fast performance. He also told us about some of the great work he’s done as part of his upcoming Lo-Dash 3.0 release.

These talks are going to be on youtube at some point, hopefully I will add those links here. If not, try checking on the meetup page.

Roundtable Panel: Using Tech to Solve Pressing Societal Issues

Last week I attended an event hosted by Taser International. It was a panel discussion mostly around technology use in law enforcement. Panelists included:

It was a great discussion and an excellent event, and I’m not just saying that because my brother was on the panel!

SeattleJS meetup: i18n & refactoring

This Thursday myself and a couple other WebDevs from Amazon hiked up to the offices of Porch, who were hosting this month’s SeattleJS. Porch is an online home improvement directory, with some pretty snazzy offices east of Lake Union. I want to thank them providing food that wasn’t pizza! Anyway, it was a great venue for my first SeattleJS.

The first speaker was Max Nachlinger, who does web development at mindflash. He spoke about his experiences internationalizing an application built on NodeJS. His main focus was string internationalization using the gettext base po and pot file formats. He uses a NodeJS specific gettext implementation which he wrote hapi-l10n-gettext. I have not had to do any kind of internationalization in a NodeJS context, so I appreciated learning how this worked for him.

Our next speaker was Dusty Jewett, who does web development at Simply Measured. His talk was about refactoring, specifically refactoring legacy JavaScript. He advocated devoting a consistent fraction of time to refactoring on a regular basis, starting with identifying some code to improve, writing tests around it, and then making it better. He also went through some great tools to use in such a process, such as an automated visual diff tool he’d created. He’s made his slides available.

I hope to be able to attend more of these meetups!

CharFunk finally added to npm

I finally got around to adding CharFunk to npm. It took some futzing around with my npm setup and changing a few things to allow it to properly load as a node module. But now you can use this handy char library in all your node scripts as well as in the browser!

npm install charfunk

and then

var cf = require('charfunk');

That’s it!

Useful Unicode resources

Over the years I’ve collected some good Unicode resources I might as well share.

Navigators and Directories

  • Facebook symbols, which organizes and lists symbols in categories for easy access to post on social media.
  •, which has a bit of an old fashioned design but includes a ton of useful information on the specifics of each characters.
  • Unicode Lookup provides a handy search function to find particular characters.
  • Unicode Search, another search tool.
  • Unicode Table, which is similar to Unicodinator (see below), but provides a cool feature of showing a map of where on Earth different characters are used.
  • Unicode Table For You gives you some useful sliders to move around Unicode tables.
  • Unicodinator, a visual unicode navigator I created, allowing you to infinitely scroll through the entire multilingual plane (0 – DFFF). Very helpful if you are looking for a character and don’t know what precisely you are looking for.
  • Unify, a growing list of characters along with information about what devices and browsers can display them.

Articles and Education

JavaScript libraries

  • CharFunk is a library I wrote that provides some of the functionality that Java’s Character class does.
  • JS Codepoints extends String to allow you to count codepoints properly.
  • XRegExp provides RegExp functionality that works correctly with Unicode.

Other tools and resources

  • Alan Wood’s Unicode resources collects a bunch of useful links and information.
  • Shapecatcher is a super useful tool that lets you draw a symbol and then shows you the characters that match.
  • is the site of the Unicode Consortium and so is the final say for all things Unicode.
  • Unifoundry provides a GNU Unicode font to allow display of every code point in the Unicode BMP.

Let me know if I missed any other useful resources!

Singularity University at Taser International

On Monday I had the good fortune to attend a one day session of Singularity University (hereafter SU) hosted by Taser International. The speakers gave an amazing tour of the exponential growth occurring in most fields of technology, covering topics like artificial intelligence, big data, nanotechnology and business organization in this new era. Although I have been following in these topics for a long time, I learned an incredible amount from this conference. Especially because this Taser session was partially focussed on the law enforcement ramifications of all this, something I haven’t thought as much about. It was a fantastic experience that will leave me thinking for a long time, and one I would highly recommend.

The conference was kicked off by Rick Smith, CEO, director and co-founder of Taser, showing a clip of JFK talking about the moon shot plan.

Rick used the video to demonstrate that exponential progress is not a radical new concept. Rick himself has built a phenomenal, innovative company (with a men-in-black level futuristic office) built around leveraging technology in law enforcement. His commitment to positive innovation is demonstrated by the fact he hosted this conference in order to introduce his employees and customers to the idea of accelerating technological growth. I’m certain this will pay dividends for years to come.

The first speaker was Salim Ismail, entrepreneur and Global Ambassador of SU. He started by talking about the accelerating pace of change in digital technology, pointing out that if the speed of our cars had grown the same way computing speed had, cars would travel much faster than the speed of light by now. From there he proceeded to give a whirlwind sampling of accelerating change in biotech, autonomous vehicles, drones, and many other areas.

His examination of 3D printing was especially illuminating. We have reached a double inflection point in this technology. First, we can now print things that can’t be manufactured any other way. Second, unlike other manufacturing processes, with 3D printing there is no additional cost for more complex objects. This technology is only a few short years from disrupting industries as diverse as auto parts and pastry chefs (yes, we can print food now).

His conclusion was that when an industry becomes digitally based, exponential growth follows. Moore’s law is only one example. The biggest impediments to this change are governments (designed for a steady rate of change), and traditionally organized businesses (designed around creating predictability). This is not surprising since our brains are built to expect, at most, linear change, which was fine for most of our history. Part of SU’s mission is to change that. Their summer graduate program guides teams in envisioning and planning projects that will positively impact a billion people in ten years, such as Matternet and Modern Meadow.

Our next speaker was Neil Jacobstein, co-chair of the Artificial Intelligence and Robotics Track at SU, who spoke about breakthroughs in AI. Many things we used to believe only humans could do are now routinely handled by computers. The real promise of AI is not only that it will eventually be able to do everything that humans can do, but that it will do things it would be impossible for humans to do. His dizzying tour of these applications included:

  • IBM’s Jeopardy-winning AI, Watson, which has now “graduated from play to work”, tackling real world problems. (I met one of the creators, Torsten Bittner, last year)
  • Pervasive involvement of AI in stock trading
  • Warehouse robots and intelligent distribution technologies
  • A simulation of a macaque monkey brain

His conclusion was that we will eventually be able to reverse engineer the brain and build human level AI. This will be not be used to replace us, but instead will be used to augment our brains (which have not seen a significant hardware upgrade in at least 50 thousand years). This process has already begun with smart phones giving us access to vast information and capabilities.

Next we heard from Ekho Inc‘s Kent Langley, who spoke about big data. He began by talking about the emerging “internet of things”, which will by 2020 be a $1.9 billion dollar market including 212 trillion connected devices. All these devices will be generating data that will need to be stored, analyzed and leveraged — primarily via AI. But today really big data is still really difficult to deal with.

In the face of this current difficulty, Kent has some concrete recommendations for businesses grappling with big data today. He also talked about all the open source tools available for big data related tasks today, including GNIP, Hadoop, Spark and others.

Marc Goodman of Future Crime spoke next, portraying the world of crime in an era of exponentially stronger and cheaper technology. According to Marc, we are seeing a paradigm shift in crime. Sony experienced a massive network hack that cost them $171 million dollars. Mexican drug lords built their own private cellular network. Drones are used to fly cellphones and drugs into heavily guarded prisons. The list went on and on.

Despite all this, Marc outlook on the future is hopeful. He closed with a long list of ways the good guys are using technology to fight crime, for example:

  • Robots being used to keep schools safe in Korea
  • Predictive policing technology used to focus law enforcement resources where they are needed before they are needed
  • Crowd sourced intelligence on riot crimes

Then Salim gave a second presentation, this one about how companies and other groups can cope with a world of exponential growth and change. As the economy becomes more information based (and therefore continues to speed up) all kinds of business assumptions are upended at a rapid pace. Companies are either disrupters or disrupted. Organizations that flatten their hierarchy and distribute decision making have a better chance of survival and success. Companies that democratize the design, manufacturing and distribution of goods are best positioned for the future. Some examples Salim used included:

Rick Smith spoke briefly about (who’s co-founder Hadi Partovi is on Taser’s board) and the hour of code. He then introduced our keynote speaker, Ray Kurzweil.

Ray Kurzweil is an inventor, author, futurist and entrepreneur. His talk was titled “How to Create a Mind” (also a book) and it was every bit as interesting as I had hoped. He began by a deep exploration of the accelerating growth of computing power. Since 1962 we have seen a many billion fold increase in price/performance ratio of computing power. We’ve seen computing hardware get cheaper, smaller, faster and more powerful, all at a pace that accelerates every year.

He then examined how our brain evolved and how it works today. Science has made great progress recently in understanding the brain. For example we now know that we fill up our brain’s knowledge storing capacity by the time we are twenty, at which point we have to forget something in order to learn something new. Wouldn’t it be great if we could get around that?

Ray believes we will eventually be able to do that and more, by extending our mind into the cloud. He was recently hired by Google to work on natural language comprehension, one of the remaining steps needed to build a digital mind. There is growing consensus in the AI world that we should reach human levels of artificial intelligence by about 2029 — a prediction Ray made many years ago. From there, this AI can improve its own design at an exponentially growing rate. The results of that development are by nature unpredictable — which leads us to the concept of the Singularity.

After the conference was over, I was very honored to be able to attend a dinner with Ray, as well as a few bright folks from Taser. It was definitely one of the most interesting dinner conversations I’ve ever taken part in. Ray deserves his reputation as one of the great thinkers of our time.

There was a child in attendance for much of the day. Having two young, smart daughters of my own, I was intrigued to witness her interest and understanding of the topics covered. She asked a few questions during the Q&A periods which demonstrated her grasp of the material: “If you engineered a horse with the strength of a lion and speed of a cheetah, could you race it?” and “How far away are we from plugging Google into our heads?” Her generation is inheriting a world where asking these kinds of questions will be a daily necessity. I am glad they are up to the task.

Deep Dive of Mobile App and Mobile Service – Seattle Tech Forum

I’ve missed a few of these but I was able to get out to July’s STF, which was about mobile technologies. Our sponsor was PDS Tech, a recruiting and staffing company.

The first speaker was chief Strategy Officer at Ratio Interative, Russ Whitman. His talk was titled “Mobile is eating our world”. It was a tour of all the statistics showing how smartphone and tablet growth is outpacing PCs. He also talked about how mobile apps are changing our world. Since Ratio Interactive helps companies plan, build and deploy mobile apps it’s no surprise Whitman had a lot of good information.

Next we heard from Jason Clark, Facebook‘s Lead Software Engineer for the Mobile Platform team. He started out by having us all raise our hands with our thumbs up, which he took a photo of to prove we liked his talk. For his presentation, titled “Making Mobile Apps Social”, he walked us through adding Facebook actions to a simple Rock-Paper-Scissors iPhone app. It was pretty cool because I was able to look up one of his shares and like it on my iPhone — and see the little notification number on his demo screen almost immediately bump up by one.

Jason Clark's demo

Finally we heard a talk about “Mobile Computing in the Cloud” from Min Zhu, Principal Development Manager for Windows Phone at Microsoft. He gave a lot of good information about the Windows Phone store, how that service is put together based on Azure, and their efforts to grow it.

I’m now a Web Developer at Amazon

This past Monday I started my new position as a web developer at Amazon! So far I’ve mostly been training, but it looks like I will be able to do some actual productive work this coming week, which is pretty exciting. The culture shock of going from a very small company to an enormous one is definitely real, but not as bad as I expected. In fact, it reminds me a lot of college — working directly with many of the same people every day, but always meeting new smart people as well.

(Needless to say, nothing I have said or will say on this website is anything other than my own opinion, not Amazon’s…)

Anyway, I am really feeling great about this move!