• Living Styleguides

    Working on a new app and decided to try a styleguide that lives and breathes through the CSS. I’m happy with how it’s turning out.

    "Styleguide for an web application"

    Read Living Styleguides →
  • The Blueprint

    I listen to quite a few podcasts. Probably more than I should. Honestly, I delete most of the episodes. So I guess I could say I subscribe to a bunch of podcasts. One of those, Software Engineering Daily, recently had Seth Godin on as a guest.

    I am a Godin fan. He’s not really a developer, but has some great things to say about business and doing your best work.

    You should listen to the episode, it’s pretty great. Definitely some stuff that carries over to creating software.

    One thing stuck out to me. Something I have been thinking about for a while. Seth was talking about how one of his companies needed an application built. So they created a spec, with design comps and details (I assume a functional document), and took those to an agency in New York.

    They asked the agency how long it would take to build the app. The agency replied ‘three months’. Seth replied ‘Good. See you in three months’.

    In today’s agile world, this seems crazy. But glorious.

    Think about that for a minute. No scope creep. No changes unless a formal request is made.

    But we know this doesn’t usually work. Seth Godin is the ideal client working with a top level agency in New York City. Defining scope before hand and forcing changes to be a formal request simply doesn’t work for many clients.

    But maybe it could.

    Something along the lines of a blueprint.

    This is how engineers work. They design a structure, hand over a blueprint, and that’s what gets built. If there is a design flaw, it’s on the engineer to fix it. As a former construction worker, I totally get this.

    I like the idea of a blueprint. A well thought out, defined requirements documents with a visual representation of what is being built.

    I imagine a blueprint for a software project very similar to that of a construction project.

    Read The Blueprint →
  • 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
      …code
    end
    

    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 →

subscribe via RSS