Anyone who knows me knows that starting and running my own business has been a lifelong goal of mine. Since I was 12, I would routinely generate ideas for new ventures and play them out in my head. Inevitably, I found fatal flaws most of the time that would prohibit the idea from ever taking off. Then I’d revise the idea, reconsider it, and reject it again for a different reason.
A lot has changed with the content and focus of the site since I started, So you’ll find that posts are now broken down into three categories: For anyone, For entrepreneurs, and For techies. I hope the titles speak for themselves. You’ll find that all previous posts have been retroactively sorted. You’ll always find the categories in the right-hand nav menu.
In an email conversation the other day about extending PHP at the core level, I added the following after providing some direction:
Learning more always improves your ability to learn, which is the secret key to being a great dev. Knowing how to learn and absorb new information quickly will keep you lightyears ahead of your colleagues. However, assuming you ever have a specific goal in mind, be sure to ask yourself if it's necessary to get so nitty-gritty to accomplish your task?
There are a lot of loud voices out there—Jason Fried and the team at 37 Signals, Jeff Atwood, and Joel Spolsky all come to mind—proclaiming that one of the biggest problems with software today is complex user interfaces. I think its evident that the message is finally getting through to the design teams and programmers. The overhaul to Microsoft Office’s toolbar layouts, physical products like Dyson vacuums and the Flip Video Camcorder, anything Apple, and the entire suite of Google products all reflect a genuine focus on making UI’s more intuitive and easy to grasp for the most uninitiated.
A cursory glance around the web will reveal a ton of PHP-based random string generators. With enough looking you’ll find generators that do any of the following:
Strings with letters Strings with numbers Strings with letters and numbers Uppercase, lowercase Fixed, variable length strings Option to include symbols Problem is, none of them ever incorporated all this functionality. Every generator was a hodgepodge, e.g. some forced inclusion of numbers, or allowed either upper or lowercase, not both.
I’ve learned that one of the biggest office-cluttering offenders when you run a company is receipts. The government wants to see them for tax purposes, so you hold onto every last one to save every last dollar. The problem, of course, is that you’ll collect a crap ton of these stupid little bits of paper over the course of a year, they don’t file well, and certain types of paper fade over time.
I’m absolutely in love with the status update stream I’ve put together for Fwd:Vault (follow link for example). However in the process, I’ve discovered a huge drawback to the Twitter messaging system: it does not store links. The Twitter site itself will identify URL’s in messages and convert them into clickable links for you automatically. But the magic ends at Twitter’s borders; anyone who wants to do the same on their site is on their own.
I previously discussed why certain “automagical” features can sometimes facilitate the creation of crappy code. However they only create a possibility of crappy code. Today I want to warn you against a practice that will create crappy code 100% of the time. First a scenario – you have written a program in your language of choice. It’s fairly complex, partially because of the basic needs of your client or employer, and partly because every project is a moving target to a certain extent.