Top Geeks


Check out snippets of the blog postings. Click on the link to view the full post at the original site as the author intended.

tswicegood

Sometimes the smart decision sucks

tswicegood  on  4/24/2016

Or…

Pulling the plug… for now

This is a hard post to write. I have to admit defeat. It comes at the hands of circumstance. No one thing did it, but they all piled up into the perfect storm. For the second time in a row.

I’ve decided to pull from Ironman Texas. This is the second full Ironman I’ve entered and circumstance has led me to have to pull late in the game. My mind is my worst enemy. “You’re just not capable of pulling off a full Ironman.” “Two in a row because life got in the way? Sure sounds like a great story.” “You’ve got this, so why stop unless you’re just a quitter?” My mind can be a jackass some times.

I’ve decided to cash in and call it quits. The last six months has been a rollercoaster. I’ve been sick with respiratory

[...]

visionmedia

Hopefully all over!

visionmedia  on  4/23/2016

Yep haha, I hadn’t seen the similar outline variant at the time, so they clash a bit but oh well. Triangular logos can only be so unique I…

visionmedia

Awesome man, good to hear you took the leap as well.

visionmedia  on  4/23/2016

My friend Matt (github.com/matthewmueller) started a group of “soloists”, the more I hear from people doing their own thing the more I’m…

visionmedia

Thanks Eric!

visionmedia  on  4/23/2016

It’s definitely a little odd sometimes, work really hard so you don’t have to work really hard..

visionmedia

Thanks man!

visionmedia  on  4/22/2016

Grateful to be in a position to try such a thing, hopefully it’ll be interesting if nothing else haha.

visionmedia

"Announcing Apex Software Inc" in Apex Software

visionmedia  on  4/22/2016

Today I’m happy to announce my first company, Apex Software Inc.

rwaldron

Using Research Tools in your design practice: Negotiating to actually use them

rwaldron  on  4/20/2016

Bocoup has been offering a handful of user research workshops lately focusing on developing a process for working on design projects. Following the workshops, I have been pinged by tons of designers and engineers who are doing user research on a project with requests for support in a real-world application of the tools. Primarily, the […]

Design Global Kids Interviews Journey Maps Personas User Research Workshops 
rwaldron

Bocoup Opens New Office and Event Space by South Station; Puts 7-year Moratorium on Moving

rwaldron  on  4/14/2016

Friends of the Coop have grown accustomed to double-checking our address before stopping by—which makes sense, given that we’ve moved a few times in the past two years: Well, friends, I’m pleased to report we’ve finally put down roots—very long, sturdy roots—at 201 South Street. We’re thrilled to be fully up and running in our […]

Bocoup News 
mikemcquaid

Long-Distance Business Travel

mikemcquaid  on  3/29/2016

One of the side effects of successfully finding a remote job and working from home is that you may find yourself having to travel internationally for work. In comparison to traveling for your own pleasure there’s a few attributes that may differ:

mikemcquaid

Long-Distance Business Travel

mikemcquaid  on  3/29/2016

One of the side effects of successfully finding a remote job and working from home is that you may find yourself having to travel internationally for work. In comparison to traveling for your own pleasure there’s a few attributes that may differ:

rwaldron

Equality and Relational Operators: Comparing the strange relationship between null and 0

rwaldron  on  3/29/2016

Recently I saw a tweet about the relationship between values in JavaScript saying that greater or equals means nothing. The tweet reported the following results: null >= 0 // true null > 0 // false null == 0 // false My experience with the JavaScript language makes me believe that everything has a meaning, even […]

Open Source JavaScript Programming Language Design Software Development Process 
tswicegood

Mountain bikes and singletrack focus

tswicegood  on  3/23/2016

I’ve been mountain biking for a decade and a half. Seems crazy, but knobby fat tires have been a part of my life since the early 2000s. When I started, 29ers weren’t a thing, single speeds were the province of those crazy few animals who needed an extra challenge, and there was still a debate between full-suspension and hardtail bikes. Sure, having a spring – remember, this is the dark ages the air suspension setups weren’t common yet – helped smooth out the trail, but the loss in efficiency slowed you down. Everyone knew that.

Then someone decided to test this out. If memory serves, it was Giant Bikes around 2001-2002. Giant had two cross country (XC) racing bikes: their hardtail and dual-suspension. Most of their competitors had a

[...]

tswicegood

Mountain bikes and singletrack focus

tswicegood  on  3/23/2016

I’ve been mountain biking for a decade and a half. Seems crazy, but knobby fat tires have been a part of my life since the early 2000s. When I started, 29ers weren’t a thing, single speeds were the province of those crazy few animals who needed an extra challenge, and there was still a debate between full-suspension and hardtail bikes. Sure, having a spring – remember, this is the dark ages the air suspension setups weren’t common yet – helped smooth out the trail, but the loss in efficiency slowed you down. Everyone knew that.

Then someone decided to test this out. If memory serves, it was Giant Bikes around 2001-2002. Giant had two cross country (XC) racing bikes: their hardtail and dual-suspension. Most of their competitors had a

[...]

rwaldron

Looking at JavaScript with “new” eyes: Digging into the specs to learn more about the new operator

rwaldron  on  3/22/2016

To me, the JavaScript language is as beautiful and unexpectedly wondrous as a mini donkey. If I could propose a new cover for the book Beautiful JavaScript, I would choose this one: The reason I find JavaScript beautiful is that there’s something new to learn everyday. For example, recently I learned some surprising facts about […]

Open Source Web Applications ECMAScript JavaScript Programming Language Design Web Standards 
rwaldron

Seams in JavaScript

rwaldron  on  3/17/2016

Sometimes I’m not satisfied with the way things are. I wish they could be a little bit different, just for a moment. I deal with this desire in my personal life by sighing and gazing through a rain-dotted window. When writing code, I take a more productive approach: I use seams. During application development, there […]

Web Applications Software Development Process Testing 
cyanogen

CM 13.0 Release 1

cyanogen  on  3/15/2016

We left the M release builds in the oven longer than we thought, but nothing a little graham cracker and chocolate can’t make that much better. CM13.0 brings Android 6.0.1 (r17) goodies such as the battery saving ‘doze’ functionality and new permissions model, alongside the CM features you’d expect.

This is the first non-nightly release for CM13, which means this will the first step many of you take into the world of Marshmallow. M brings along a handful of items that will pose issues if you are caught unaware, so in the interest of saving you some potential heartburn, we’re going to highlight that there are a couple of different update scenarios applicable.

Update scenario 1: CM 12.1 release or nightly user + 

[...]

Blog 
treyhunner

Webinar: Regular Expressions in Python

treyhunner  on  3/15/2016

Don’t understand how regular expressions work?

Having trouble making your regular expressions readable?

I’m doing a 90 minute webinar to show you how to write readable regular expressions.

You can sign up here.

What’s a webinar?

Is this like a seminar? Aren’t seminars boring? Seminars can be boring but I’m hoping this webinar will be fun.

“Webinar” doesn’t sound cool, but I prefer it over “Wwworkshop”.

This will basically be like an online workshop. I’ll demonstrate some concepts through live coding and explanations and we’ll take a couple breaks to work through exercises together. There will be a chat room so we can discuss the concepts and share our answers

[...]

treyhunner

Webinar: Regular Expressions in Python

treyhunner  on  3/15/2016

Don’t understand how regular expressions work?

Having trouble making your regular expressions readable?

I’m doing a 90 minute webinar to show you how to write readable regular expressions.

You can sign up here.

What’s a webinar?

Is this like a seminar? Aren’t seminars boring? Seminars can be boring but I’m hoping this webinar will be fun.

“Webinar” doesn’t sound cool, but I prefer it over “Wwworkshop”.

This will basically be like an online workshop. I’ll demonstrate some concepts through live coding and explanations and we’ll take a couple breaks to work through exercises together. There will be a chat room so we can discuss the concepts and share our answers

[...]

visionmedia

Nice! I keep forgetting about decorators haha, so many new toys.

visionmedia  on  3/11/2016

I wouldn’t worry about perf much since it could be a dev-only thing.

visionmedia

Debugging value changes in React’s shouldComponentUpdate()

visionmedia  on  3/10/2016

React’s optional shouldComponentUpdate() lifecycle method can be used to improve performance by providing your own logic, but it can be a…

visionmedia

"Apex v0.7.0" in Apex Serverless

visionmedia  on  3/3/2016

Another day, another Apex release. This time almost entirely brought to you by Maciej!

rwaldron

Welcome Pam Drouin!

rwaldron  on  2/25/2016

Pam Drouin really drew us in with her impressive design skills and warm personality… so we’re thrilled to announce that she’s joined the team at Bocoup! Pam started her career as a librarian, having earned degrees in English Literature as well as Library and Information Science, but ultimately, her love of computers and meaningfully organized […]

Bocoup News 
visionmedia

Minimizing boilerplate with NPM & Makefiles

visionmedia  on  2/24/2016

I haven’t decided yet if I’m even going to open-source many of my components, primarily because of the pace of change they quickly become a…

treyhunner

The Idiomatic Way to Merge Dictionaries in Python

treyhunner  on  2/23/2016

Have you ever wanted to combine two or more dictionaries in Python?

There are multiple ways to solve this problem: some are awkward, some are inaccurate, and most require multiple lines of code.

Let’s walk through the different ways of solving this problem and discuss which is the most Pythonic.

Our Problem

Before we can discuss solutions, we need to clearly define our problem.

Our code has two dictionaries: user and defaults. We want to merge these two dictionaries into a new dictionary called context.

We have some requirements:

  1. user values should override defaults values in cases of duplicate keys
  2. keys in defaults and user may be any valid keys
  3. the values in defaults and user can be anything
  4. defaults and user should not
[...]

treyhunner

The Idiomatic Way to Merge Dictionaries in Python

treyhunner  on  2/23/2016

Have you ever wanted to combine two or more dictionaries in Python?

There are multiple ways to solve this problem: some are awkward, some are inaccurate, and most require multiple lines of code.

Let’s walk through the different ways of solving this problem and discuss which is the most Pythonic.

Our Problem

Before we can discuss solutions, we need to clearly define our problem.

Our code has two dictionaries: user and defaults. We want to merge these two dictionaries into a new dictionary called context.

We have some requirements:

  1. user values should override defaults values in cases of duplicate keys
  2. keys in defaults and user may be any valid keys
  3. the values in defaults and user can be anything
  4. defaults and user should not
[...]

rwaldron

Say “Hello World” with Johnny-Five on Tessel 2

rwaldron  on  2/22/2016

Back in April I wrote about Bocoup’s excitement for the recently announced Tessel 2 in “Pushing NodeBots Into The Future with Tessel 2”. Since then, we’ve worked side-by-side with the Tessel Project to help them realize their platform vision for the next stage in the evolution of the Tessel. With shipping underway, we’re excited to […]

Open Source Web Connected Devices Johnny-Five Tessel 2 
broonie

Expedient ABIs

broonie  on  2/20/2016

The biggest change we’ve seen in the Linux kernel for ARM over the past few years has been the transition to providing descriptions of the hardware in systems via device tree. This splits out the description of the devices in the system that can’t be automatically enumerated from the kernel into a separate binary instead […]

Linux Planet Debian tech 
broonie

Expedient ABIs

broonie  on  2/20/2016

The biggest change we’ve seen in the Linux kernel for ARM over the past few years has been the transition to providing descriptions of the hardware in systems via device tree. This splits out the description of the devices in the system that can’t be automatically enumerated from the kernel into a separate binary instead […]

Linux Planet Debian tech 
visionmedia

I never realized Crockford was still relevant, I guess that’s what happens when I don’t go to…

visionmedia  on  2/17/2016

conferences! I’ve never seen a decent piece of code out of him, not sure he has the right to call anything else stupid.

rwaldron

Open Source Infrastructure: Deploying jQuery with Ansible

rwaldron  on  2/17/2016

Over the last ten years, the servers that power jQuery and its associated projects have evolved from a single shared webhost to a complex fleet of more than thirty virtual machines. Recently, I have been working with the jQuery Foundation to reel in this decade of organic growth by standardizing the configuration management of our […]

Deployment Open Source 
tswicegood

Open Source Science?

tswicegood  on  2/16/2016

Let’s run a thought experiment. Imagine submitting a scientific paper for publication, then getting an email that reads something like this back:

Thank you for your submission to the Journal of Online Thinking and Futurism*. Your paper has been processed, but before we can proceed further with publication, please submit verfication that you have properly accessed the following cited papers:

… list of every cited work

Or what maybe it’s even more insidious. Maybe the letter reads like this:

Thank you for your submission to the Journal of Online Thinking and Futurism. Your paper has been processed and please note that this message is an attempt to collect a debt. According to our records, you have illegally obtained access to the

[...]

tswicegood

Open Source Science?

tswicegood  on  2/16/2016

Let’s run a thought experiment. Imagine submitting a scientific paper for publication, then getting an email that reads something like this back:

Thank you for your submission to the Journal of Online Thinking and Futurism*. Your paper has been processed, but before we can proceed further with publication, please submit verfication that you have properly accessed the following cited papers:

… list of every cited work

Or what maybe it’s even more insidious. Maybe the letter reads like this:

Thank you for your submission to the Journal of Online Thinking and Futurism. Your paper has been processed and please note that this message is an attempt to collect a debt. According to our records, you have illegally obtained access to the

[...]

broonie

Performance problems

broonie  on  2/12/2016

Just over a year ago I implemented an optimization to the SPI core code in Linux that avoids some needless context switches to a worker thread in the main data path that most clients use. This was really nice, it was simple to do but saved a bunch of work for most drivers using SPI and made things […]

Linux Planet Debian tech context DMA kernel optimization performance SPI thread 
broonie

Performance problems

broonie  on  2/12/2016

Just over a year ago I implemented an optimization to the SPI core code in Linux that avoids some needless context switches to a worker thread in the main data path that most clients use. This was really nice, it was simple to do but saved a bunch of work for most drivers using SPI and made things […]

Linux Planet Debian tech context DMA kernel optimization performance SPI thread 
tswicegood

Increase your speed, increase your focus

tswicegood  on  2/12/2016

I recently started listening to Deep Work by Cal Newport. So far, I feel like I can sum up the book with this statement:

Focused work provides more value. Focused work requires effort.

It’s full of tips and tricks on how to get the most out of your concentration. Many of them are things you’ve probably heard of before or at least intuitively know. Things like keeping track of how you spend your time. Ways to try to remove busy-work and replace it with focused work. One great quote (emphasis mine):

In an age of network tools, in other words, knowledge workers increasingly replace deep work with the shallow alternative — constantly sending and receiving e-mail messages like human network routers

So great! I still have a few hours left on

[...]

tswicegood

Increase your speed, increase your focus

tswicegood  on  2/12/2016

I recently started listening to Deep Work by Cal Newport. So far, I feel like I can sum up the book with this statement:

Focused work provides more value. Focused work requires effort.

It’s full of tips and tricks on how to get the most out of your concentration. Many of them are things you’ve probably heard of before or at least intuitively know. Things like keeping track of how you spend your time. Ways to try to remove busy-work and replace it with focused work. One great quote (emphasis mine):

In an age of network tools, in other words, knowledge workers increasingly replace deep work with the shallow alternative — constantly sending and receiving e-mail messages like human network routers

So great! I still have a few hours left on

[...]

rwaldron

Remote First Lesson Plan Development

rwaldron  on  2/11/2016

At Bocoup we believe that focusing on crafting resilient and accessible experiences is the most effective way to build digital services. This philosophy and practice extends to our learning design. In an earlier post, I talked about building a curriculum framework with a design driven approach—this involved user research, persona and journey map development, and […]

Design Open Source Services Training Open Design Process workshop 
broonie

Maintaining your email

broonie  on  2/9/2016

One of the difficulties of being a kernel maintainer for a busy subsystem is that you will often end up getting a lot of mail that requires reading and handling which in turn requires sending a lot of mail out in reply. Some of that requires thought and careful consideration but a lot of it […]

e-mail Planet Debian tech email kernel Linux process upstream 
broonie

Maintaining your email

broonie  on  2/9/2016

One of the difficulties of being a kernel maintainer for a busy subsystem is that you will often end up getting a lot of mail that requires reading and handling which in turn requires sending a lot of mail out in reply. Some of that requires thought and careful consideration but a lot of it […]

e-mail Planet Debian tech email kernel Linux process upstream 
visionmedia

"Apex v0.6.0" in Apex Serverless

visionmedia  on  2/6/2016

Pretty small update this time, most of the work done was refactoring some internals, however we have some additional features as well!

tenderlove

I am a puts debuggerer

tenderlove  on  2/5/2016

I love puts debugging

I am a puts debuggerer. I don’t say this to disparage people that use a Real Debugger. I think Real Debuggers are great, I’ve just never taken the time to learn one well. Every time I try to lean one, I end up not using it for a while and have to re-learn how to use it. Anyway, I want to share some tricks I use for puts debugging with you. I use these tricks whenever I don’t understand how something works and I want to know more. Most of the stuff below is definitely not a “best practice” and you should never leave this code around when you’re done with a debugging session. However, I think it’s important to say that when you’re debugging anything goes. I mean anything.

[...]

mathiasbynens

ES6 `const` is not about immutability

mathiasbynens  on  2/4/2016

This seems to be a very common misconception that just won’t die. I keep running into it in blog posts, Twitter discussions, and even books.

steveklabnik

A eulogy for my 20s

steveklabnik  on  1/24/2016

Today is the last day of my 29th year of existence. I’ve been thinking about it a lot, which is extra strange because I don’t generally care about birthdays. I’m not much of one for holidays in general. So why do I care about this one?

My 20s have been an extreme period of growth. At the start of it, I thought that I was going to live in my little farming town, get married to The Girl, go to mass every Sunday, and pretty much do exactly what everyone else I knew had done. If you’re reading this, well, you know a very different me. Before my 20s, I had only left the country once, a short trip to Toronto. I had barely even left my state. I was smart, but cocky, and incredibly sheltered. I was the very embodiment of a stereotype.

I’ve

[...]

cyanogen

WhisperPush – End of Life

cyanogen  on  1/19/2016

Many users have noticed that we haven’t enabled WhisperPush capabilities into CM13, though there are patches up that include that updated work and integration into the MMS apks for both 12.1 and CM13.

We’ve ultimately made the decision that we will no longer be supporting WhisperPush functionality directly within CyanogenMod. Further, WhisperPush services will be end-of-lifed beginning Feb 1st 2016. As this is a server side implementation, all branches of CM from CM10.2 and forward will be affected.

We are still very big proponents of the secured messaging protocol, but maintenence of our own implementation saw some hiccups (longstanding registration issues & issues with various countries) which ultimately led to our

[...]

Blog 
ttaubert

Build Your Own Signal Desktop

ttaubert  on  1/15/2016

The Signal Private Messenger is great. Use it. It’s probably the best secure messenger on the market. When recently a desktop app was announced people were eager to join the beta and even happier when an invite finally showed up in their inbox. So was I, it’s a great app and works surprisingly well for an early version.

The only problem is that it’s a Chrome App. Apart from excluding folks with other browsers it’s also a shitty user experience. If you too want your messaging app not tied to a browser then let’s just build our own standalone variant of Signal Desktop.

NW.js beta with Chrome App support

Signal Desktop is a Chrome App, so the easiest way to turn it into a standalone app is to use NW.js.

[...]

ttaubert

Build Your Own Signal Desktop

ttaubert  on  1/15/2016

The Signal Private Messenger is great. Use it. It’s probably the best secure messenger on the market. When recently a desktop app was announced people were eager to join the beta and even happier when an invite finally showed up in their inbox. So was I, it’s a great app and works surprisingly well for an early version.

The only problem is that it’s a Chrome App. Apart from excluding folks with other browsers it’s also a shitty user experience. If you too want your messaging app not tied to a browser then let’s just build our own standalone variant of Signal Desktop.

NW.js beta with Chrome App support

Signal Desktop is a Chrome App, so the easiest way to turn it into a standalone app is to use NW.js.

[...]

technoweenie

The Journey for Large Files on GitHub

technoweenie  on  1/1/2016

Picture of me on the Iron Throne at GDC 2012

I am a big fan of video games, so I jumped at the chance to work the GitHub booth at the Game Developer’s Conference (GDC) in 2012. It was my first time representing the company for a community that I’m an outsider of. I planned on spending my time explaining the merits of social coding, while sneaking out during breaks to check out some sessions about video game development.

However, the second most frequent question I was asked was, “how can I work with large files?”. This got me wondering: is there something that I can do to get these developers using GitHub?

As a programmer that builds web applications, it’s all too easy to take Git for granted. A Git repository tracks every change of every file for the life time of a project. I

[...]