• Pull Request Etiquette

    I work through a lot of pull requests. Well, I guess that can be debated. There is always someone working with more. I guess I could say that I work with a considerable amount of pull requests. At any rate, I’ve learned quite a bit about handling feedback well. Handling feedback doubles in it”s importance when working remote. It’s easy to come across as a jerk.

    The number one thing you can do to come across in a confrontational manner is just ask a question without context. Not just any question. Not like “Where did you find this amazing code?”. More passive aggressive questions like “Why is this here?”.

    Asking a question like that seems logical. I mean, you are simply asking why this one thing exists. But it can come across as “I hate this thing! I don’t why it’s here and I want it removed. Why do we have it!?

    A better approach is a statement, followed by a question.

    Try this.

    This looks very similar to the code in the User model. Are we sure we need this?

    Instantly better.

    Now you setting up a question with context. The reader can see that you simply think that the code is unnecessary because you think it’s already been written. That one sentence removes any chance that the reader might think that you are questioning his ability, or even his intelligence.

    Read Pull Request Etiquette →
  • You Can Build Better Software Yourself

    Software is almost always temporary. Especially when it’s free. Free just means that the creators have chosen to not charge for their software yet.

    The issue is when they never really figure out how to charge for the software. They just kill it. Err, I mean sunset it. Or whatever you call it when someone kills a product you use and depend on.

    The dirty little secret is that they don’t really care about the software. They had an end game and it didn’t work out. Your loyalty and data are often just a casualty of them not finding a business model.

    Read You Can Build Better Software Yourself →
  • Using undef in Ruby

    Defining methods in Ruby is pretty simple. Type def, a name for your method, then some code, and finally end it. It looks like this

    def name

    Maybe undefine isn’t the right word. I think hides is a better description. It hides the method.

    Read Using undef in Ruby →
  • Do Nothing

    I often think about doing something cool and talk myself out of it. Lately it’s been some sort of screencast site where I teach some programming thing. Nothing big. Just small things. Maybe once a week. I would need a library of videos built up before. That’s where I get derailed. All this thinking and planning. And then. I do nothing. Over and over again. I do nothing.

    Read Do Nothing →
  • Adventures In JavaScript

    Today I started to take JavaScript back. I started taking a bunch of jQuery code and convert it to plain old JavaScript. I discovered a few things.

    1) There are functions in the JavaScript API that I don’t remember before I started using jQuery. querySelector is pure awesomeness.

    2) Client side code is fun again. I am not programming in a language anymore, but into a language. (if that doesn’t make sense to you, drop everything and read Code Complete). My thoughts and overall design are at a much higher level, and I am having a lot of fun discovering that the language already supports a lot of what I want to do.

    Read Adventures In JavaScript →
  • Has jQuery Served It's Purpose

    I used to be a jQuery hater. I’m sure that stuff is on the Internet somewhere. But when jQuery hit the scene, I was convinced that it didn’t really serve a purpose. I could already write JavaScript. What did I need a library for? Then I started to see some usefulness in the library. Animations were kinda cool. And the Ajax stuff was really cool.

    I started to convert. I started to see how this tool could actually help me. But it was a pretty long road. One that I fought pretty hard. But in the end. jQuery won me over.

    Those days were a little different. Writing the same code for different browsers was very common. There was a lot you had to remember. Lots of little quirks and bugs in browsers. I’m not so sure that’s the case anymore. Browsers have gotten pretty standard.

    Read Has jQuery Served It's Purpose →
  • Google Spotlight Stories Is Amazing

    Every once in a while something comes along on mobile and I am just absolutely blown away. It’s just one of those uses of tech that you start to wonder what’s possible and where it could possibly end up.

    Seriously. Stop what you are doing and go get Google Spotlight Stories. It’s amazing!

    The app puts you right in the center of a movie and physically move around to see what is happening.

    The first thing I did was download the movie Help. It’s a pretty large file and takes a while. But once you watch it, you’ll know why.

    It’s a completely immersive watching experience. I was literally spinning in my chair trying to look at everything.

    The coolest part is you will hear or see things happening behind you and try to turn around to see what is happening.

    This app is seriously cool.

    Read Google Spotlight Stories Is Amazing →
  • Saving The Web

    I just read a superb article on Medium. That’s quite ironic after you read the piece.

    In it, Hossein Derakhshan talks about the web we lost. Which seems to pop up every couple of months. I have to admit I’m intrigued every time I see one of these. They all make great points. We did lose something when we all got social.

    Hossein is right. I used to start my day in an RSS reader checking up on what was happening. I now start on Twitter or Facebook. I’m kinda ashamed about that. I do love the open web and wonder if we are on the cusp of some sort of, err I don’t know, revolution. One where those that are capable give those that are incapable the ability to host stuff on the internet free from censorship or any sort of silo.

    I don’t know what this might look like. Certainly not web rings. Please. Do not start web rings again.

    I imagine some sort of RSS or JSON would be involved and give people a way to share information without limitations.

    Certainly something to think about if you are technical enough to run servers and build software to empower people.

    Read Saving The Web →
  • Web Versus Native

    Somewhere along the way, we lost our way. We went from using the web at what it’s ideal for, linking documents together, to trying to make it do something it’s not good at. Making desktop-like applications. Or maybe we could call them native-type applications, since what we are really doing is trying to mimic mobile devices.

    I think I know what this stems from. I think it’s just a fact that mobile is taking over at an rapid pace. You either have to get on board or get out of the way. Clearly no one wants to get out of the way, making software is fun.

    But what if, like me, you don’t really have much, if any, experience making installable software? It’s not like web development. It’s a completely different animal. What do you do if you can’t get on board because you don’t want to make native software?


    You bring it to where you are comfortable. The web.

    Seems like a good idea. Use JavaScript to make smooth animations instead of page loads. The user will never know. They will think it’s like an iPhone app. But they will know. They will know they are on a website. They will know because, more than likely, they use the web everyday. And they know it’s not an iPhone app. And they are okay with that. They know pages load, links to go other pages, and they expect URLs to work.

    What we’ve done is make it convenient for us. Sure we tell the customer/user that we have done this for them. Look at how fast the transitions are! They don’t care. Look at how only part of the page gets updated! They don’t care. Look at how the URL changes but the page doesn’t. Again. They don’t care.

    If an effort to side step making a truly delightful web experience on the web. And a delightful native experience on a device. We have introduced a level of complexity that we think makes it awesome, when in reality, it causes more issues than it solves. Some may argue there wasn’t a problem to begin with.

    How do fix this?

    Let’s call it SRP. Use the web for the web and use native for native. Understand that native apps are generally faster. They are closer to the metal. Web apps will always have a browser between the user and the computer.

    Read Web Versus Native →
  • Working With Git Stash

    Have you ever been working on something and you’re not quite in a good spot to commit? You know, a good commit. The kind with meaningful commit messages that describe what you’re committing and why.

    You don’t really want to commit because you have some garbage changes that you would like to go back and fix, but you haven’t gotten around to it. You’re still developing.

    Then something comes up and you need to jump on another branch and fix something really quick. Call it a hot fix.

    Now you’re stuck. You might just grumble a little bit, add what you have, and commit with a vague and often unhelpful commit message. I’ve done this a lot. Too often.

    Read Working With Git Stash →

subscribe via RSS