• RSS |
  • Labs |
  • Log in
  • Wordpress 2.7 Arrives

    { December 4th, 2008 }

    Wordpress continues to evolve with the release of 2.7 to the public on Thursday, December 4, 2008 at 8pm Eastern Time. That’s 5pm Thursday in California, 1am Friday in London (UTC), 8am Friday in Jakarta, noon on Friday in Sydney and so on. For a quick rundown of all the new features and updates visit Wordpress Blog.

    Posted in web, wordpress ~ Comments

    Do you have multiple Wordpress self-hosted blogs? If so, you’ve likely run into a scenario where you just can’t remember the password to one. With Wordpress 2.5 and beyond there’s an annoying bug that sometimes generates passwords that don’t work when you click the “Forgot Password” option. Usually that button generates a query that will send an email with a temporary password that allows you to reset your password to whatever you wish. The bug in 2.5 will still do that but when you click on the link that should allow you to reset your password, nothing happens.

    Actually something does happen, Wordpress resets the password internally (in the MySQL database) but the link that it sent you to activate that password fails to connect with the database effectively locking you out of your blog. In this scenario, at least for me, all the potentially viable solutions lead to dead ends.

    Although it should’ve, launching the database manager to reset the password manually didn’t work. I tried doing this in various ways including this method from Codex, this one from Watching The Net and this one from Thought Outflux. But none of them worked!

    Opening up wp-config.php and trying to reset the password there didn’t work there either.

    I was at a loss as to what to do. That is until I found the Village Idiot Emergency Password Recovery software. Using it is simple:

    • Download the script from Village Idiot WordPress Emergency Password Script.
    • Unpack the downloaded zip file.
    • Upload the file emergency.php to the root of your WordPress installation (the same directory that contains wp-config.php).
    • In your browser, open http://example.com/emergency.php.
    • As instructed, enter the administrator username (usually admin) and the new password, then click Update Options. A message is displayed noting the changed password. An email is sent to the blog administrator with the changed password information.
    • Delete emergency.php from your server when you are done. Do not leave it on your server as someone else could use it to change your password.

    For whatever reason this worked flawlessly where the other methods failed and I was able to regain access to my wordpress blog and set the password to something I’ll (hopefully) never forget again. I’m not ruling out operator error on the other methods but the aptly titled Village Idiot software makes the process fool-proof.

    Note: Keep in mind that all of these options will only work if you are the site administrator or have direct access to the server at which the blog is hosted.

    Look familiar? I originally published this article as a writer for DeveloperTutorials

    Posted in Design, code, wordpress ~ Comments

    One thing many of my young designer friends tend to forget is that being self-taught, fast learning and full of raw talent is no guarantee to steady work. I should know because I consider myself many of those things yet for a while when I began freelancing I couldn’t get clients to save my life.

    How did I turn things around? Well for one I had to force myself to adopt a five point system for improving my own work habits as a designer. I explain the five points that I mastered (Fundamentals, Versatility, Humility, Efficiency and Audacity) below:

    1) Fundamentals: Learning Your Quick Keys

    A great Photoshopper knows how to make amazing work. A better Photoshopper knows how to make amazing work while also knowing the fundamentals. I learned this when applying for work at a creative staffing agency called Aquent. At Aquent you can get some great work, make great contacts and make great money. The problem is Aquent only tends to work with talent that take and pass their assessment test. Does the assessment test measure talent? No, like most tests, it just wants to see you get the job done in a way that proves you know fundamentals, standards and how to work quickly. Aquent is corporate and they can’t risk hiring people who run the risk of embarrassing them. That isn’t to say most of my work for comes from them but being able to count on work from there and other corporate clients when I need it isn’t a bad thing.

    Now, I like you, don’t agree with this method. Give me a job, tell me to do it, and I’ll do my best to get it done quickly and to the client’s liking. Well, the world doesn’t seem to agree with me because there are quite a few jobs that are more concerned with your history than your actual ability.

    Aside from the fact that you’ll be able to quantify your knowledge to people who have no clue how to quantify the knowledge of a designer, you’ll work faster. You can’t tell me that using a mouse to jump around different layers changing fonts is faster than using quick keys to do the same task if you know them well. It’ll save you time, make you faster and thus increase your output.

    2) Versatility: Learning to Work With Standards

    I once heard a guy complaining about failing Aquent’s assessment test because they asked him to work only with em measurements. His argument was that it was absurd, that no one uses em because the real standard is pixels. Really? Clagnut makes a brilliant argument:

    If the world were an ideal place, we‚Äôd all use pixels. But it‚Äôs not, we have the broken browser to contend with. IE/Win will not allow readers to resize text that has been sized in pixels. Like it or not, your readers will want to resize text at some point. Perhaps they are short-sighted, doing a presentation, using a ridiculously high resolution laptop or simply have tired eyes. So unless you know (not think) your audience won‚Äôt be using IE/Win or will never wish to resize their text then pixels are not yet a viable solution…..Using ems, however, allows all browsers to resize text and also provides pixel-level precision and so they tend to be my unit of choice.

    So this is why companies like Aquent err on the side of IE compliant standards. As much as we hate to admit it, most of the world is surfing the web through Internet Explorer on a PC, a fact that isn’t going to change any time soon. The point is most website owners want to reach as wide an audience as possible so for your own sake, you should learn to be versatile. Work with measurements that will translate universally regardless of the platform the end user is viewing them on. It’s a pain, it’s time consuming and annoying to have to rework an entire site or design because you didn’t use universal measurements. If none of this matters to your client then it’s entirely your choice but as long as you can work in whatever they’re asking for you’ll never have to turn down a project for lack of ability in this area.

    em, en, px (Pixels), pt (Points), pc (Picas), mm, cm, in, %. Find out what all of them mean, when and why you should use them. Start here and continue here.

    3) Humility: Letting the Client Be an Ass

    Another thing I had to learn was how to respectfully disagree or, (in some cases, silently disagree) with a client. The person who pays you, or contracts you or hires you will sometimes end up being a real jerk. They want what they want now and you’re the person in their way. In my experience, the more money they make, the less patience they have for your input whether you’re the voice of reason or not.

    Hopefully the majority of your clients won’t be like this but when they are, you just have to learn to take it in stride. I once worked for a guy just would not let me leave a job. I tried to tell him I’d be more effective the next day, that we weren’t making any progress, that his expectations were unrealistic but he insisted. Sure, he paid me more for my time, but at some point it’s not about money, it’s abut not wasting time the clients or yours. I would have rather left and come back the next day well-rested to complete the task then stay all night beating my head against the wall. Despite my feelings, I did my part, we didn’t make much progress and after I realized he wasn’t going to listen to me I just tried to keep a positive attitude about the situation. The client realized he wasn’t helping and backed off.

    If you let an unreasonable person remain unreasonable long enough they’ll end up in a corner where their choices end up making things worse at which point they’/// either a) blame you anyways or b) appreciate your tenacity for putting up with them. Stressing yourself out will only make the situation that much more unpleasant.

    4) Efficiency: Working on a Schedule

    I’m a naturally bad procrastinator so the only way I can get a job done is if follow a strict schedule of milestones and goals. To force myself to stick to that schedule I give allow my clients to subscribe to a calendar or rss feed like gCal, 30boxes or Basecamp. This will do two things, it will force you to recognize when you’ve slacked off during a particular period of the project, and it will let your client know when you’ve done so.

    Project management tools are a big part of my workflow and have helped me become a more productive individual.

    5) Audacity: Presenting Yourself Like You’re Ansel Adams

    Another thing I’ve learned is that most people are completely incapable from recognizing real talent from anything else that might be put in front of them. If they aren’t designers, they don’t think like designers and they don’t really know what makes one designer better than another. Thus, they need to be convinced. I’ve seen people who choose horrible color palettes and layouts make upwards of $10K while people making photoshop designs that are nothing short of brilliant make pennies. The average client is waiting on you to tell them that you’re great, that you know your stuff and to prove it to the best of their understanding. This is why presenting yourself with confidence (not arrogance) is key to getting class “A” projects.

    Of course once you actually are proficient and you’ve mastered all the previous steps, you’ll more than believe in yourself, you’ll know that you’re the right person for the job and if a potential client can’t recognize it then it’s completely their loss…

    Look familiar? I originally published this article as a writer for DeveloperTutorials

    Posted in Design ~ Comments

    Did you know you can send free SMS messages in Africa? There’s a few ways. Of course, the mobile messaging service MXit is one that uses GPRS and 3G protocols to by pass the standard charges all together. But another more obscure method is explained by the people at Make Use Of

    Most of mobile carriers offer free Email To SMS gateways which can be used to forward simple text emails to a mobile phones. And the good news, majority of those gateways are free and available to the general public.

    You just need to know the number and the carrier of the recipient to start emailing them to mobile phone. Below we put together a table listing free email to SMS gateways for different carriers. You can use as quick reference both for US and international mobile numbers.

    Here’s the list of Email to SMS gateways from Africa and around the world:

    • MTN (South Africa) [number]@sms.co.za
    • Vodacom (South Africa) [number]@voda.co.za
    • Setar Mobile email (Aruba) 297+[number]@mas.aw
    • Mero Mobile (Nepal) 977[number]@sms.spicenepal.com
    • Emtel (Mauritius) [number]@emtelworld.net
    • BPL Mobile (Mumbai, India) [number]@bplmobile.com
    • Airtel (Karnataka, India) [number]@airtelkk.com

    There are also a number of websites that allow you to send free SMS’ via the web. Be cautious though. Sites like these are often suspected of selling your registered cell phone numbers to marketers and spammers: GizmoSMS , TextMeFree , VienSMS

    Posted in hack, mobile ~ Comments

    Designing the Perfect Email App

    { November 27th, 2008 }

    My email management, has quickly spiraled out of control. I constantly forget to reply to people, lose important emails and lose files to the sea of messages I get. Like many, I’m longing for someone to create either a desktop or web app that solves many of the issues that I’m having with Gmail and Thunderbird. So I created this mock-up of what I feel would be the perfect inbox.

    Problems

    • Emails ‘below the fold’ go out of sight. If I don’t remember to label them immediately when they come in, then they are often lost to my inbox forever.
    • Important/urgent emails are treated just like any other email.
    • Twitter has become like my second inbox, but there’s no way to integrate the two.

    Solutions

    • A ‘Related Emails’ module that pulls up X number of entries from my inbox and attempts to match whatever currently is being read, to things I may have missed or forgotten to reply to. My blog does this, my email should too.
    • Unread reminder There should also be an area that randomly pulls unread emails and lists them. This wouldn’t be in the main window, but it’d be off to the side.
    • Social Inbox For some people, I simply don’t have their email addresses but I do know them on various social networks. It’d be cool of this app could import all my contacts from all social networks it supported to allow me to communicate using whatever options are available. Of course it would also have to let us know which services are available to contact that person and give us a corresponding form for that communication (ex. If it’s Twitter 140 characters).

    Other Features

    • Trending/Analytics I’d like to see things like: How often I check my mail? Who sends me the most mail? Who sends me the least? Who gets replied to the least? How long do I allow new messages to sit before opening them etc. It would be like Google Analytics for my email.
    • Granular SMS alerts for emails that have keywords either in the subject, body or sender. So if my mom emails “Need you to call right away.” I could have her email address flagged with the the keyword ‘call’. If those two conditions are met in the same message, I’d get an SMS alert telling me that I have an urgent email.
    • Personal Assistant/Scheduler I’d also like personal assistant features that are integrated with my Calendar and ToDo list. If something like “I Want Sandy” became integrated, with a control protocol for sending queries to devices and applications, that would be ideal. Then I could do things like forward emails and appointments to my calendar and have them instantly appear.
    • Logic I’d like some sort of logical filter that automatically pushes emails from people who I deem the most important to the top of the list. This is different from the Alerts feature because it would help me respond to people like clients, co-workers, and bosses with haste. This feature would learn from the Trending reports mentioned above.
    • Smart Replies I’d like to be able to set up a list of conditional responses to emails. If you email between this date and this date I’ll be on vacation. If you email me between this hour and this hour I’m working. If you email me in the next ten minutes, you’ve missed me because I’m in a meeting. This would be tied to the Personal Assistant and calendar so that auto-responders automatically turn on and off without needing to think about it. However, they could be turned off temporarily or permanently by sending a message like “Auto Responder Off” via email or SMS.
    • I’d like a Mobile interface to do things quickly when I’m on the go.
    • Unified Web and Desktop App Why on earth are all the desktop email applications independent products from their web counterparts? I want one unified solution. This ensures that everything thought out for the online product also fully translates to the desktop product.
    • Online/Offline Sync The unification mentioned above would allow for two things, syncing and online backups of desktop drafts. If you’ve ever used Evernote for taking notes, you can kinda grasp what I’m suggesting. This would allow users to theoretically never lose drafts or contacts.
    • CMS-like Settings/Plug-Ins Most people find blog engines Wordpress and MovableType pretty easy to grasp. I’d like a similar UI that allows users to customize things. I’d also like to see plug-ins for the web interface and add-ons for the desktop interface. This would allow users to tweak their inboxes however they want.
    • Better RSS integration if an application like NetNewsWire had email features it’s be pretty darn close to what I’m looking for.

    In conclusion, the things I’m describing could be integrated into existing apps like Thunderbird, or they could be used in a completely new application. What would it look like? Click on the image to see it at Flickr with annotation…

    The Perfect Email App

    I created most of it in Photoshop. Some of the apps I borrowed images from include Thunderbird for OSX, NetNewsWire for OSX and The Adobe Air app Analytics Reporting Suite. Most of the ideas I also heard on podcast from FOWA Miami ‘08, I just decided to make the mock up to help conceptualize it in case I decide to give a go at building it later.

    Posted in code ~ Comments

    Truncating RSS titles for the fetch_rss() option of MagpieRSS turned out to be trickier than I initially expected. If you aren’t a hardcore php programmer and you’re just trying to fancy up your Wordpress blog, it can be a little obtuse as to how to achieve this. After a few Google searches turned up nothing I came up with this solution…

    <h3>Title of Your RSS Feed</h3>
    <?php
    // assign the feed to a variable named 'feed'
    $feed = 'http://url-of-your-rss-feed.com/feed/';
    	if ($feed) {
    		include_once(ABSPATH . WPINC . '/rss.php');
    // define that 'feed' is also your url
    $url = $feed;
    $rss = fetch_rss($feed);
    // string to return if feed fails
     	if ($rss == false){
    $string .= "[No Feed To Retrieve]“;
    	return $string;
    }
    $maxitems = 10;
    $items = array_slice($rss->items, 0, $maxitems);
    	foreach ( $items as $item ) :
    // define the string which is ‘$title’
    // define the action ’substr’ means sub-string or ‘part of a string’
    // define where the feed string starts - first letter is ‘0′
    // define the length of the feed string - 55 characters
    // define the trailing characters - “…”
    $title = substr($item['title'],0,55).” … “;
    ?>
    <ul>
    <li>
    // link to the rss item origin with the description as the title
    <a href=’<?php echo $item['link']; ?>’ title=’<?php echo $item['description']; ?>’>
    // print the truncated RSS title
    <?php print $title; ?>
    </a></li>
    </ul>
    <?php endforeach;
    }
    ?>
    <br /><br />
    

    This code will allow you to truncate and print the titles of an rss feed. No more worries about whether or not that aggregated feed from Twitter or another blog will break your design.

    Posted in code, hack ~ Comments

    Locked out of BBPress?

    { July 18th, 2008 }

    So I just spent the last fifteen minutes trying to hack my way back into my BBpress forums at code.appfrica.net. The problem was that BBPress doesn’t consider admins the ’super users’ of the account. The ‘administrator’ rank just allows you to moderate the forum, not it’s look or anything else. To do that you need to be what’s called a ‘keymaster’. Keymasters can do anything while Administrators can do ‘almost’ anything but that almost is pretty useless when you want to change the look of your forum!

    For the sake of others out there who might run into the same problem, here’s how I did it. It’s pretty simple but no one has published anything as straight forward as this, yet (or at least I didn’t find one in my Google searches).

    1. Log into your MySQL database via PHP Admin
    2. Find the ‘xx_usermeta’ area.
    3. Find the username of the account you want want to make the ‘keymaster’.
    4. Look for the area that looks like this a:1:{s:13:"administrator";b:1;} and replace it with a:1:{s:9:"keymaster";b:1;}.
    5. Log-In to the account to make sure everything worked.
    6. Pat yourself on the back buckaroo, you’re done!

    If you know hacking, you know that having an account with the username ‘Admin’ can be a security risk. I got locked out of my account after changing my name from ‘Admin’ to something else to make it harder for potential hackers to get into my forums. Then I deleted the account called ‘Admin’ because I thought it was enough that I promoted my new username to administration status. The BBPress manual doesn’t mention the fact if you delete the Admin account, you’re deleting the sole keymaster effectively locking you out of the real administration of the back end of your site!

    This technique should fix everything…at least for BBPress 0.9.0.2, the version that I used this on.

    Posted in Blog ~ Comments

    twitterific

    hahlo

    Now that Twitter has purchased Summize and corrected some seriously boneheaded moves, their next major moves need to be in the mobile spaceVentureBeat makes some interesting points on this very subject. If I were the powers that be at Twitter I would be looking to snatch up all of the best thirdparty applications using the API.  This would Include Hahlo and Tweetdeck, or possibly Twitterific (which has the feature-set of both).  Rather than spend more money and time trying to compete with these existing products, why not bring them into the fold? In addition, they need to take a hard look at the functionality provided by TwitterFeeder.  I use TwitterFeeder to announce that I’ve updated my blogs.  Without it, I have to do this manually. 

    I’m not suggesting TwitterFeeder in and of itself is worthy of acquisition (the staff at Twitter could write this code in a heartbeat) but the functionality would be useful to Twitter users. It would also allow them to compete more directly with FriendFeed and Tumblr.

    Posted in Blog, web-2.0 ~ Comments

    T-Mobile/USA Hijacks Open Ports

    { July 5th, 2008 }

    If you’re a developer who likes to go to coffeeshops work with people around, stay away from some places that offer Wifi on T-Mobile. This is pretty silly because T-Mobile is one of those wifi providers that you still have to pay for. Yet, I’ve got less functionality than most free alternatives. I didn’t realize this until today when I was trying to connect to my django host using Terminal.

    Normally the opening Terminal results in a default window that looks like this:

    username_macbook:~ username$

    Now let’s get a list of all our open communications ports by typing ls /dev/tty.* This command normally returns something that looks like:
    dev/tty.BTRS232 /dev/tty.Tigoe6630-AppleAgent-1
    /dev/tty.Bluetooth-Modem /dev/tty.Tigoe6630-Dial-UpNetwor-2
    /dev/tty.KeySerial1 /dev/tty.modem

    When I was at borders today I opened this and noticed something odd…

    250:~ username$

    I’m not sure exactly what that 250 means but I assume it’s got something to do with taking over my open ports and filtering them through whatever T-Mobile device is used in-store. To confirm this I typed /dev/tty.* again which returned:

    /dev/tty.Bluetooth-Modem /dev/tty.Bluetooth-PDA-Sync

    This essentially means I have no open ports except these two Bluetooth ports.

    Now, we know T-Mobile does this because they don’t want to be held liable for hackers attacking users of their networks. Unfortunately that means from now on when I need to do real work I’ll just stay home instead of spending money with them.

    Posted in Blog ~ Comments

    Testing Out Blog Networks

    { June 30th, 2008 }

    Blog Networks

    Blog Networks is a social networking application that esentially turns Facebook into a massive database of blogs not unsimilar to Yahoo’s MyBlogLog.  The idea is to encourage reading by the casual reader.  I just signed up GosDot and Appfrica which you can check out by clicking the links.

    Posted in Blog ~ Comments

    Afrigator