{ Tobias Wright : Techincal evangelist }

Regular Expressions - Now you have two problems

I spent the day wrestling with Regular Expressions. This was rolling around my head the whole time, from a fantastic article that quoted it from another source:

Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. - Jamie Zawinski

I was doing straight forward, well-trod regex stuff: detecting email, credit card, IP addresses in URLs so we could stop other stuff from happening and avoid sending Personal Identifiable Information (PII), I still defered to our resident regex guy for guidance. A couple of resources after the jump.

Read the rest of Regular Expressions - Now you have two problems

Ready, Set, Promise!

Like most frontenders, I’m enchatnted by Promises. Not only does it kill callback hell, it’s cleaner and clearer. I won’t walk through how promises work, those are covered. I’d like to talk about Promise.all and Promise.race. Theses two methods are usually tacked to the end of articles about promises, but I’d like to give them a little love.

Read the rest of Ready, Set, Promise!

Introducing timesCrypto

I don’t consider myself a crypto person by any stretch of the imagination, but after reading Cryptonomicon by Neal Stephensen, I’ve been inspired to learn more. To that end, I created a project for the Times Open Day Hackathon called timesCrypto, a small app that encrypts and decrypts messages based on New York Times articles or to be more specific, the abstract for the articles.

Read the rest of Introducing timesCrypto

Creating Bower Packages

I recently created my first bower package, and want to document the process. It’s pretty straight forward, but there were gotchas here and there.

Read the rest of Creating Bower Packages

Three most used development tools

Recently there was an article that asked a bunch of developers what their top three tools are. Here are mine.

Sublime Text
The text editor that most people I know use. While I’m pretty convinced that there are more powerful editors out there, like vim, and others that show great promise, like atom.io, for now this go-to editor.

I literately could not do my job with out Charles Proxy. An important part of my job is evaluating and troubleshooting other people’s code and also making sure that the information is what is expected. I know the latter you can do in developer tools, but map local in charles can not be beat.

Gulp and Grunt are pre-processors. I think of it as doing all the boring but necessary stuff frontenders should be doing like linting or uglifying scripts. I was a little shocked I didn’t see this on the list more. I like automation, and will spend as much time as needed on something, so that I never have to think about it again. Pre-processors help me do this. I started with grunt, but have more recently favoring grunt more because I found the learning curve to be bit easier.

Bower, handlebars, and gulp-handlebars, oh my

This had me stumped for a couple of hours, so though it was worth documenting.

I installed the latest version of Handlebars with bower along with the Gulp-handlebars npm, so far, so good. When I ran gulp the handlebars template wasn’t working and threw a console error. When I looked at the file, it was wildly different than what I expected and what the gulp-handlebars said would happen. Here’s why:

Read the rest of Bower, handlebars, and gulp-handlebars, oh my

First Follower: Leadership Lessons from Dancing Guy

One of the best videos about leadership I’ve seen:

Three ways to make ajax callbacks with jQuery

Making ajax calls with jQuery is pretty easy. Beyond easy really. A basic set up looks like this:

I realize that jQuery comes with shortcuts like $.get and $.post, but I like using the full ajax call because it can be a little clearer for me. However the shortcuts can be very good, clear alternatives.

Read the rest of Three ways to make ajax callbacks with jQuery

Solitude and Leadership

I read a fantastic article on leadership. While there a number of gems, his thoughts on bureaucracies was very interesting.

That’s really the great mystery about bureaucracies. Why is it so often that the best people are stuck in the middle and the people who are running things—the leaders—are the mediocrities? Because excellence isn’t usually what gets you up the greasy pole. What gets you up is a talent for maneuvering. Kissing up to the people above you, kicking down to the people below you. Pleasing your teachers, pleasing your superiors, picking a powerful mentor and riding his coattails until it’s time to stab him in the back. Jumping through hoops. Getting along by going along. Being whatever other people want you to be, so that it finally comes to seem that,…you have nothing inside you at all. Not taking stupid risks like trying to change how things are done or question why they’re done. Just keeping the routine going.

It’s tough speaking truth to power, and much easier to just stay quiet. I find that sometime when someone is branded a troublemaker, it may be they are just curious. It’s a long read, but worth it.

The software program that I think gets it right

The software program that I think gets it right, business acumen aside, is Netflix. I think there are three areas that they get right.

Read the rest of The software program that I think gets it right

What is your mobile strategy?

I’ve been sitting in on a few design meetings over the pass few weeks, and the one thing I was absolutly looking to hear is how a person or company is approaching mobile when building applications or websites. What I’m hoping to hear is “we don’t have one”

At this point a mobile stategy is not a seperate idea, but a part of the whole strategy. A company that spins out mobile as a seperate line item is the same as saying to me, that making a site semantic is an extra cost, or using css is a extra cost. In my mind making a site look it’s best on any device is part of the job and working out the best way to serve your user and within your technical capabilities

Read the rest of What is your mobile strategy?