I’ve been on a rather lengthy functional PHP hiatus. With my discover of Ruby on Rails (January 2012) and my foray into iOS development (starting November 2012), I haven’t had time to think about WordPress or PHP much lately. But in searching for a lightweight solution to a soon-to-be-published magazine’s website, I realized that a Ruby-based approach wasn’t going to work well. I like Rails and Sinatra, but managed Ruby hosting is very expensive, and my client needed an cost-effective solution.
So I decided to give PHP another try. It’s cheap, and I realized that much of what I had disliked about it in the past was the inner workings of WordPress. The folder structure of WordPress is poorly organized, theming and admin customization are laborious, and then there’s The Loop™. Does web development really need to be so confusing? After a bit of searching, I cam across Slim, a lightweight framework for PHP. It’s very similar in style to Sinatra, which I appreciate. And it has a good set of extras and an active community. It turned out to be just what I needed.
I still don’t love PHP. It has some pretty ugly syntax, it can be a little sluggish at times, and I don’t like how methods are scoped. But it’s not a bad language. It gets the job done.
Sinatra is a wonderful lightweight web framework for Ruby developers. It has a very simple DSL syntax (an example is provided on the homepage). With it, you can write a complete web application (albeit a simple one) in a single Ruby file!
But when you expand your source into a few files and combine it with the excellent Ruby ORM library DataMapper, you can accomplish some pretty cool stuff and avoid the bloat of a large framework like Rails.
I re-wrote this website in Sinatra in May. I’ve enjoyed being free from the oppression of common web programming language that shall not be named. You can browse the source code of my site here. One resource that came in particularly handy when getting starting was ididitmyway.heroku.com. Give Sinatra a try and see what you think. If you think it’s wonderful, I’ll agree with you.
The trick to being truly creative, I’ve always maintained, is to be completely unselfconscious. To resist the urge to self-censor. To not-give-a-s**t what anybody thinks.
It is a universal truth that all artists think they are frauds and charlatans, and live in constant fear of being exposed. We believe that by working harder than anyone else we can evade detection.
The preceding excerpt is from an excellent article that addresses the question of balancing passion with deadlines, and keeping both of these in equilibrium with everything else. How much of your life is worth sacrificing to do great work?
Work with marketing, but insist on conversation being within the scope you define
Example of good PR:
Amazon creates “amaze-me” moments – they re-sent a guy’s order for free
They’re very wonderful in all ways!
Create positive assumptions
NQA return policy
answer calls/messages fast
Document customer support
Create a wiki or something like that, and seed it with content
Place helps in strategic places
Empower your reps
Tell them to take the blame
Take away the clock
Encourage power listening (hearing all of it from the client)
Have them envision the person on the other side
Encourage real language
Emphasize follow through
Remind them to keep their cool
Call your own support line
Send emails to your support line
Go the extra mile
Amaze Me reports
Require follow through on
Guard your territory
Fight for your voice
Love your reps!
Don’t allow abuse
Show them a way out if they want it
Reward them outside of customer care
Session 9: Reinventing Interest Discovery Through Adaptive Human Behavioral Analysis (Jonathan LeBlanc)
Technology is the solution!
The Sociological backbone of identity (Us & Them – The science of identity)
The different states of knowledge
What a person knows
What a person knows they don’t know
What a person doesn’t know they don’t know
Identity and discovery are NOT a technology solution
He decided to make a change, which led him to stopped.at
He helped them build an identity engine
Building check-in categorizations (like a miniature Googlebot)
The more you use it, the more accurate it becomes
Find people you mostly overlap with, and help people learn what the other knows that they don't
That’s how you get the “don’t know they don’t know” section
The Future of the web will not be driven by technology, it will be driven by human nature
Sub-modules (like types of button)
d. State (like active, current, etc)
use “is” (i.e. “.is-active”) to designate
colors, borders, text, fonts/font-sizes
only override what needs to be overridden, don’t rewrite everything
a. They clarify intent
b. Use classes over IDs (specificity is dangerous – leave room for multiples in the future)
c. Specify what node you’re styling (use “.btn.btn-large” instead of “.btn.large”)
a. use child selectors because they limit scope, and they render faster
b. use them inside a class-based module
a. use only one selector in a string if possible!
b. add the same class to different types of tag, if they’re performing the same role
I attended this year’s ConvergeSE in Columbia, South Carolina. It’s a great web conference geared toward developers, designers, and businesspeople. I took copious notes on the sessions I attended. Here are my notes from Friday (read notes from Saturday).
Hello friends. Here is an overview of how to set up Homebrew on Mac OS X. Homebrew is one of the best things ever. It allows you to easily install many software packages with simple terminal commands.
Homebrew already has a useful installation guide. It will get you up and running, but it’s lacking some important details.
By default, Homebrew uses the directory /usr/local/Cellar to install your packages, and it creates symlinks to the executable files in /usr/local/bin. However, in order to run Homebrew-installed packages with ease, you’ll need to add the latter directory to your $PATH variable. On OS X, this variable is located in the file at /Users/yourname/.bash_profile. (If the file does not exist, create it.) Add the following line to the beginning of the file:
Now the terminal will look in your Homebrew directory when searching for executables to run, and your life will change for the better. Happy brewing!
Anybody else come across a nasty bug in Chrome when using @font-face with text-shadow? Your text gets all thin and scrawny as soon as you drop the shadow on.
It seems that this only occurs when viewing Google Web Fonts in Google Chrome. And unfortunately, this hasn’t been fixed even in the canary release of Chrome (v16).
However, there is a solution. Some guy has figured out a clean hack to get around the problem. Obviously you’ll want to declare a hex color first for older browsers, then your rgba color. Only new browsers pick up on the second declaration, and the color difference is negligible.
Hello all. I’m going to be taking a trip to Boston very soon. I wouldn’t even mention it, except that I really feel like I ought to make this information somewhat public. For instance, what if somebody were to look for me in my usual hangout spots? I wouldn’t be there! I think you see what I mean. I’m leaving Tuesday and returning Sunday. I’ll be working remotely a little, but mostly just visiting someone, which should be great. I hope all of your weeks are equally great.
I’m working at Mediasation again. After a college semester and a half, an awesome summer involving an internship with Squared Eye, a vacation in Indiana working at an excavating company, and a trip to visit an amazing girl, they decided to have me back for a bit. No one knows how long this stint will last, but everyone knows that I’ll sure enjoy it while it does. It’s a blessing in the skies.
That’s what they tell me on YouTube. “They sure as !@#$ don’t write &#*$ like this anymore!” Or some such statement. Is it true? They also say that fairly new stuff like Oasis’s Don’t look back in Anger is genius. I know that’s not true – Noel Gallagher said so himself. So what gives? My conclusion here would be that YouTube users in general have no idea what makes music great. I’m a YouTube user too, so that sucks! Of course, since the advent of the internets, more and more artists are getting publicity (sweet!), which means the truly good artists stand out less (lame!). However, the whole concept of “popular” music is still relatively new, which gives me hope. Perhaps over time, people will feel the same about this decade as they do about the 60’s and 70’s. (The 80’s are not helping my theory.)
So to my modern musician friends: Write with soul. Sometimes exploring new territory can mean the loss of a solid melody. Not good! Be transparent, but look outside of yourself for inspiration, not inside.
And stuff. So far it’s been ok, but it looks like I may not be learning a lot in my computer classes! What a shame. At least I get to chill with wannabe nerds. That in itself is worth the time, methinks. Getting started with Java took me like ten minutes… bleh. I was hoping to get a better OOP foundation, but I guess I’ll just have to learn the same stuff over again, or something like that.
It’s finally here! After lots of work, etc., I have finished my first album, If Music be the Food of Love. It will be on iTunes September 15, but you can download it right now at www.imbtfol.com, or on NoiseTrade. I’d like to thank Michael Golus, Joshua Mayfield, Caleb Sherer, and Joshua Davis for their help with everything from playing the piano to doing cartwheels, etc. Enjoy!
I’m coming down to the home stretch with my new album, If Music be the Food of Love. Something tells me that this could be exciting! I’m shooting for August 15, which is less than two weeks away. There’s a certain satisfaction to doing everything by yourself, but I definitely want to try a different approach next time. It just isn’t time-effective to write every single note of every instrument by hand. I hereby vow to reach out in a non-hermit-like manner, and join with other fabulous musicians to make a more beautiful sound! I have one more food song left to finish, so I should be good with my deadline. Oh wait, I’m releasing my album in India a week sooner… YIKES.
One of the hardest things about music is actually feeling it. It’s too easy to just write what sounds decent, and not really put my heart into it. So when a song can really make me feel deep down, I’m intrigued. In my experience, the emotional quality of a song has to do with escaping the mundane, both lyrically and musically, and presenting to the listener a vast spectrum of sensations. Two of the main ways to do this are through long distances and long periods of time.
That’s why I love Enya – she does an excellent job of spanning an incredible range of feelings. Her ethereal sound includes stark elements from the past and the present – fleshing out orchestral arrangements with electronic sounds. And her lyrics bring together years of circumstances, shrouding modern life in the expansive mystery of the past. Trains and Winter Rains I think shows her strengths the best of any of her songs.
I’ve recently begun to favor slightly different ways of layout out a main navigation div in CSS. I had been using padding on my a tags, and padding on a span tag inside them. However, line-height seems to be a viable method of achieving the same effect with less code. It generally seems IE-safe too, although you have to be a bit verbose for the poor thing.
If you do use a span inside your a (for additional background images and such), you’ll need to either re-declare the same line-height on it, or display it as a block-level element, either one of which is easier than trying to divide up your padding correctly around your text. But in some cases, using the block-level option may cause IE’s box model to freak out, rendering your a/li elements block-level as well. If so, float the span. This, however, may hide the background of the span, in which case either height or zoom must be added to the parent a/li tags. :P
After writing this out, it sure doesn’t look easier, but at least my code is pretty… thanks to Nate Hanna for (non-monetary) tips!
I followed Derek Webb’s little scavenger hunt all the way to Nashville last night with my buddy Christopher Plemmons, and I was severely disappointed. Sure his new songs were great, but I already knew that. I wanted him to do something! Like… play some music?? He didn’t even stick around for me to meet him. It rather seemed like a waste of 12 hours of driving, but maybe it wasn’t. Nashville was still a pretty cool place to visit, and I pulled my first all-nighter to boot. Amazing.
I’m trying to write an upbeat love song. It’s not going so well! I think the idea I had for it was good, but I always seem to end up with a cynical undercurrent. That’s not the worst thing ever, but it kind of ruins the mood if you pick up on it. So I’m trying to make the lyrics just cheesy enough that some people will understand what I’m really saying, but most people will still be able to enjoy it as a lighthearted love song. The EP I release this fall will probably include it, so you can judge how well I did when you hear it. It’s called Mary Kate.
So far this summer, which has been about a month and a half, Weezer has been my main musical input. The first time I heard them was on the Buddy Holly music video included with Windows 95. Obviously I was confused – what a great idea for a music video though! Spike Jonze is cool, yo. I think what really sets Weezer apart from similar bands is the clean, almost timid vocals (and the lyrics that correspond with them) set against the gritty guitars. Pinkerton was especially revealing, almost awkwardly so. Rivers' attitude towards being a rockstar is often disarming – what is there to dislike? That’s why I was a little disappointed with the Red Album – they lyrics had mostly lost their distinctive honesty and self-deprecation, and seemed more pop-ish. I’ve really been inspired by Weezer though, and I’ve been trying to integrate more honesty into my own lyrics, with mixed results. It’s hard to tell people what’s really in your heart! I sometimes hope they’ll think I’m joking… :)
And this is why it’s thrilling: I get to write about all the stuff I think about all the time! That is good news indeed. The other thrill-type aspect is that this site has had the fastest development time of any I have worked on up to this point. Of course, I didn’t have a picky client to deal with, just cool, calm, collected me. More importantly though, I’m using WordPress. I’ve just become a huge fan! After trying many free cms’s (Joomla is GROSS, Textpattern is overly complicated, ExpressionEngine has a lame core version…), WordPress was the clear winner. I plan on using it for many of my illustrious clients. I made my own theme for this site, which I fondly named Grayson. I’ll be expanding on it as the occasion arises.
So that’s it! I’m going to be a blogger. Every cool person needs to blog.
Some things aren’t fun to talk about. But sometimes the darkest secrets are the ones that bring the most joy when they are uncovered and undone. Today I heard a man testify to his release from a six year pornography addiction. I wanted to scream when I heard him say it! So God’s power really is incredible. It’s good to be reminded of that again. There’s a lot going on, and I usually do pretty well about getting past temptations – at least in my view. But God… He takes freedom to an entirely different level! I think I’m almost ready to experience it.
Sometime within the next lifetime, things will change. I know it. Someday, an epiphany will strike you, and you will no longer be a follower – even as I rather am in this writing.
So many things are given to you to depend on. Advertised as support to your health, or exceptionally decisive peers as support to your life choices; if you know how to rely on something else you’re pretty much all set. Nobody will ever require anything more.
But that non-essential is not a limit.
In plain sight, others have gone beyond the borders of mere consciousness, and the rewards were sweet. Even still, if you have the courage to overcome, you can become the one to admire. It’s hard to see someone else you know take the journey and leave you behind, but it’s also an inspiration.
Just a heads-up here folks: most of what you see on this blog will probably not make much sense. I think I’m a little bad in the head. Anyway, I hope all you fans enjoy reading my sincere, yet completely irrational thoughts!