CSS Magic

Check out this pen that uses only some CSS magic to create the effect you see below. Pretty amazing stuff, from only just a few years ago, eh? I totally love CodePen. It’s an absolutely incredible device to me, and the fact that it’s free to use is insane. It’s invaluable to me in my daily designing and developing, and Chris Coyier, et al. are saints for providing such an amazing tool. I have no doubt his efforts will one day be rewarded, as they should be, but it’s just an incredible piece of webbery, as is this pen. Cool stuff!

See the Pen Hvqes by Brandon Lawrence (@bvbrandon) on CodePen.

git logo

Some Helpful Git Commands

Git’s a tool that’s become invaluable in my, and most developer’s, workflow. I won’t lie though–it took me forever to learn how to use it competently, even with many, many bookmarks, videos, tutorials and pages written on how to use it. To me, it’s what happens when developers design something and build on it incrementally. Probably easy for them, but the UI is really confusing and it isn’t intuitive at all for say, an English major, like me. Nonetheless, it’s something you must learn, and with diligence and persistence, you will “git” it eventually. Sorry for the lousy pun. And when it clicks, you’ll be off to the races.

Even though I use it all the time now, I still keep a cheat sheet handy because there are just so many commands, and things you can do with it. I don’t want to be limited to just a few uses because I recognize it’s power and usefelness, so I try to expand upon my knowledge when I can. I’ve found a Chrome plugin useful for quickly reminding myself of commands, and have used online tools and iOS apps for putting commands into my muscle memory. Whatever works best for you.

Here are a few Git commands I use regularly:

$ git checkout -b <new_branch_name>
$ git push -u origin <new_branch_name>

These two commands create a new local branch (from the currently checked out branch), and push it upstream (publish it).

$ git checkout -t origin/<remote_branch>

This command allows you to checkout a remote branch. The -t flag tells Git you wish to track the branch.

$ git reset HEAD <file_path>

This command will remove files from the working directory (before committing). If <file_path> is simply a . all files in the working directory will be removed.

$ git reset --hard <commit_hash>

With the --hard flag, this command moves the pointer back to the commit specified (the <commit_hash>) and deletes all changes made after.

$ git commit -am "Commit message"

This commit command adds all files to the working directory before committing.

$ git add -A

This command combines git add . and git add -u. It stages all files in the working tree that are either modified, deleted, or new.

$ git checkout <parent_branch>; git pull; git checkout <child_branch>; git merge <parent_branch>

These commands are used to ensure all changes to the current branch are up to date, by merging in the parent branches recent changes.

$ git stash

Stashes all files in the working tree into a stack. This allows you to jump between branches without losing any work.

$ git stash pop

Since the stash is a stack, you can pop to reinstate the most recent work into the working tree.

$ git stash list

Or, you can simply look at the stack.

$ git pull -p

This pulls all changes from a remote, while also removing the remote branches that don’t have a local counterpart.

$ git checkout -- <file_path>

This command is really helpful. It allows you to completely remove all changes made on a given file (or just use . to remove all changes).

To see a full list of git commands, check out either:
http://gitref.org/ or http://git-scm.com/docs/

making bread

Always Be Producing

If you want to know the secret to making a name for yourself, it’s pretty simple. My stepdaughter learned this hard lesson last year in fifth grade when she was vying for an award in school for “language arts” or whatever the term is used for English these days. She’s an amazingly prolific reader already and has an enviable vocabulary, which shouldn’t come as a surprise considering her home environment, and was very excited to have her name called up to the podium on honors day last year. But in the end, it was her classmate Molly who took home the gold. What happened?

Molly likes to write. A lot. She produces. She writes articles for the school paper. She writes pieces on her own time and shows them to her teacher. She creates and converts her consumption into a value-added product for others to enjoy. It’s not enough to simply consume, which seems reasonable when you think about it. No one gets awards for watching TV or surfing the internet. (At least not yet.) You have to produce. Whether it’s in sales, design, music, development, blogging, or whatever, you must be creating and putting it out there in quantity and quality. And many people believe quantity directly leads to quality, and there are solid arguments for this. Picasso has over 17,000 works of art for example, but not all were masterpieces. Ask anyone at the top of their game how much they’ve practiced and work they’ve pounded out, and most people are shocked. It’s a LOT.

Bloggers take this to heart, and many writers have committed themselves to daily blogging. One of my favorites, Tom McFarlin, has been cranking out an article a day this year with no breathers, and his work is getting better, and I have no doubt his stats and audience has grown substantially as a result. Even if every article isn’t a home-run, they all offer something of value, even if it’s just an opinion or to spotlight a dev tool he uses. And the days you don’t feel like it at all, are the days you need to most do it. ABP. Always Be Producing. The more consistently, the better. It’s a reason so many bands come out strong with their first album, and then are never heard from again, and why artists like Dave Matthews or The Beatles go on to make truckloads of money and grow their fanbase over many decades. They have the ability to produce consistently, again and again and again.

Point is, I hear many people wonder why their business isn’t growing, their online stats aren’t taking off or they aren’t getting the accolades they believe they deserve. “Why am I not getting noticed?” Well, the question is, are you really producing? Are you shipping code? Are you creating value? If the answer is ‘no’ or ‘sometimes,’ that’s not going to cut it. Focus on consistent production, and the many seeds you sow will provide some incredible yields.


Use Git in Sublime Text

Working alone has its benefits. It also has a few disadvantages. One being that I’m not always surrounded by people, much less designers or developers, to share ideas, get feedback and tips and tricks from. It makes a difference, in that I’m left to hustle, but I do it.

That’s why I love finding BIG advances for my workflow. I use Sublime Text 3 as a code editor, alongside PhpStorm, which is a great IDE, and came across this plugin that’s going to rock my world.

As the talented guys at Scotch Development put it:

Git is integrated so seamlessly you don’t even realize it’s a plugin. It can do essentially anything you normally would do with Git all from within Sublime.

Being able to bypass BASH will be awesome, although I’m a big fan of using the command line. It’ll just cut those steps out.

Some of the common commands you can use are:

  • git init
  • git add
  • git remove
  • git commit
  • git pull
  • git push
  • git log
  • git diff
  • git checkout
  • git checkout
  • git branch


Design is Art and Science (and More)

This very nice video by Matt Greenwood has been making the rounds, and stirring up some debate with the closing remarks:

“design is not science. just move things around until it feels right.”

My guess is those in the “design is science” camp are the ones that attended some type of art school, and possibly studied design of some sort. Many others are likely in the “self-taught” category. Then you have the rest, like me, that have also studied art and design and what-not in studios and classrooms and darkrooms, and turned experience and what talent God gave me to develop into a career.

I personally happen to believe that although learning fundamentals is important, when all is said and done, either you’ve got it or you don’t. Going to school and studying concepts and foundations can only take you so far, and a lot of that is being able to discuss design intelligently. People may not know the word “symmetry” but I know people recognize it and like it, even if they can’t articulate it, for example.

I have an aunt who studied interior design and earned a degree in it, in fact. Her taste, to me at least, is incredible and has a great eye. She just knows where to put things and what goes with what, but I’ve even heard her comment that some people are just born with it and some aren’t. Those who were, and were able to expound upon it by attending school are in good shape. But simply knowing the foundations, and the principles shown in this video, don’t ensure you’re going to be any good.

Yes, design is science in that it can be repeated in controlled environments, but that viewpoint doesn’t take into account the emotions and feeling artists can elicit by doing something a certain way. That’s on a more personal and emotional level. That’s that “art” part of it that’s so important. Much like untrained musicians can evoke feelings and write great songs via experience and soul, I believe designers can “sense” good design innately. Design also includes functionality as well as form, and we’re all human with similar needs and wants in that department.

Elements of Design from matt greenwood on Vimeo.

What do you think? Is design a science?