Last night, I was working on the new Simpli website. The designers who did the website had a Javascript that created breadcrumbs at the top of each page (you know, those links that say Home > Section Name > Page Name). I thought it was really silly to do that in Javascript; plus, the code was hard to modify and had a bug in it that was difficult to fix since the variables were named (I am serious) a, b, foo, and bar. Ugh!
I searched and found this free PHP breadcrumb script, but it didn’t do some things that I wanted — namely, if the visitor is on the index page of a section, it shouldn’t link that section name (since the link would be to the same page the visitor is already on.) Also, I wanted the final breadcrumb to be the page name if the page wasn’t an index page (for instance: Simpli Hosting > About Us > Our Datacenter, instead of Simpli Hosting > About Us for the Our Datacenter page.) That script didn’t offer that.
Also, even though I had “convert underlines in page filenames to spaces” and “uppercase the first letter of every word” enabled, they didn’t actually work. So I fixed that too.
Since the original author released the PHP breadcrumb script free of charge, I will release my modifications free of charge, and document my modifications below.
Here is the script: breadcrumbs.phps
You use it simply by including it in the page, and it will output the breadcrumb based on the directory structure of your site. For instance, a directory structure of http://www.simpli.biz/FAQ/Colocation_FAQ.php will generate:
Simpli Hosting » FAQ » Colocation FAQ
Change the $topLevelName and $separator variables to change the text in the first part of the breadcrumb (in this case, “Simpli Hosting”) and the separator between each breadcrumb (in this case, ».)
The key here is that if you’re on the page http://www.simpli.biz/FAQ/index.php, it won’t print “index” and it won’t link “FAQ”. However, if you’re on http://www.simpli.biz/FAQ/Colocation_FAQ.php, it will link FAQ to http://www.simpli.biz/FAQ/index.php.
This script does assume index.php is your directory index in every directory, and it does convert underscores in pages to spaces and uppercase the first letter of every word in the breadcrumb. If you don’t want it to do this, you can comment out the lines in the code that do that. See if you can figure out which lines do that.
This script is free to download, free to use (public domain), but there is no support. If it works for you, great! If not, hack it till it does. ๐
One catch: My modifications use $_SERVER. If you use $HTTP_SERVER_VARS, you will need to global $server and change $_SERVER to $server in the MPBCDirIndex function.
View full post »
For the past week, I’ve been exploring some new techniques to rearrange my time so that it is used most effectively. This follows my realization in What’s Most Important? (my previous entry) that time will become my most valuable resource.
I have several goals:
1) Make my time at the office of maximum effectiveness, as I want to be in the office no more than 8-9 hours a day. (No more 12-hour days every day, please.) Putting the same amount of work into an 8-hour day as I had in a 12-hour day seemed hard, but I’ll tell you how I successfully managed to do it.
2) Free up some time to exercise for 1/2 hour or more at least 3 times a week.
3) Get rid of side projects that were taking up my weekends so I could have weekends free to read, brainstorm, hang out with friends, go shopping, and catch up on TV and movies.
I started reading The 4-Hour Workweek, which is an interesting book that I’ve seen mentioned on several blogs lately. I expected a bit of an ego trip from the author, Timothy Ferriss, and there was a bit of ego there, but what I found most interesting were the radical changes he made in his life that simply weren’t obvious to most people (including me). For instance, he sets aside 1 hour every day to read and respond to email, and keeps his email client shut off the rest of the time.
I implemented a variant of this, deciding to keep my email client off during the day except for predefined times that I would have it on. I was moderately successful: I immediately noticed my productivity spiked, but since I didn’t set aside a time to respond to email, some emails did not get responded to. I’m going through this weekend and responding to them, but that is obviously sub-optimal. Next week, I intend to set aside a time every day to respond to emails and ensure that all emails from that day are responded to on the same day, as well as just reading them and sorting my inbox.
The biggest change I made was inspired by Timothy’s book, however, and this improved productivity dramatically: I stopped reading blogs at work. That was a huge difference. I didn’t realize how much time reading blogs took. Timothy points out in his book that “batching” saves an incredible amount of time. That is, instead of taking 5 minutes 20 times a day to read email, you can “batch” and do the same amount of email reading and responding for 1 hour. 5×20=100 minutes; 1 hour=60 minutes.
Reading blogs, for me, turned out to be the same way. I typically now read them at night when I get home — I can read them more effectively once a day instead of 10 times a day. Plus, most blog posts aren’t that time-sensitive. I sorted my RSS reader into two categories: Daily and Occasional. I put all the blogs I wanted to read on a regular basis under Daily. I put everything else (mostly news aggregators like TechCrunch) under Occasional. I stopped reading blogs at all when I was in the office, and also asked my friends to email non-work-related blog entries to me on my Gmail account instead of IM’ing them to me. I read the Occasional blogs only when I have plenty of extra time.
Those 2 changes allowed me to squeeze about 2 extra hours out of my day. I’ll continue to work on other time-saving changes. But 2 hours was enough for me to move on to the next phase of my plan…
Today I signed up for a gym membership at a local gym. I’ve listened to lots of friends who talk about gym memberships and the most common reason the memberships fail is that the people sign up for a gym membership with no set plan of action. I didn’t want me to be a gym membership failure, so by the time I walked in to the local gym today, I knew what I wanted: a reasonable monthly rate; to do Pilates; and to have a personal trainer do several sessions with me to get me up to speed on all the machines and design a workout plan that I could do effectively. I also committed to myself to pay for additional personal training if at any point I felt like I was falling off my goal of exercising at least 3 times a week. Finally, I know that gyms are fairly negotiable up front, but once you sign, you’re in — so I went in knowing I wanted to negotiate.
The gym I went to offered a free month of Pilates training (cool!) and 4 free personal trainer sessions if I signed up for a 1-year commitment and paid $65 monthly and a $75 signup fee. They also offered free daycare, and I didn’t need free daycare, so I negotiated another 4 free personal trainer sessions instead (that’s about $265 according to their list prices, by the way.) Included in the monthly fee is unlimited use of the gym and nice pool, plus free group workouts every day. I looked at the group workout calendar and immediately determined that I would be best served by signing up for the “core strengthening” session twice a week. I figure the 3rd time every week will be what the personal trainer wants me to work on solo; if that doesn’t work, I’ll reassess later.
I have just allocated $855 for fitness over the next year (plus any workshops I decide to do, like continuing Pilates, tennis, or dancing lessons), so I need to be committed to this. I am open and flexible to design a fitness plan that works for me, but I also know I’ve spent some money now, so I must follow through and work diligently on achieving my fitness goals for the next 12 months. I plan to go in at 9 or 9:30AM 3x a week (this means getting up earlier than I am used to.) I’m pretty sure this will work. I’ll keep you all posted. ๐
I talked about goal #3, eliminating side projects, at length in my previous blog entry, so I don’t have anything new to report there. I’ll keep posting more time-saving tips as I find them.
View full post »
I’ve been spending a lot of time thinking lately, and reading, and certainly a lot of “doing”. I haven’t been spending much time writing, however. My thoughts flit incessantly from one item to the next, in a manner that would give me whiplash were I to try to watch them all whiz by. work-personal-life-guilt-pleasure-should-could-whatever — these thoughts often take over my mind.
The self, however, is not composed solely of thoughts, but is expressed by taking action and doing the things it most wants to do. For me, there are a breathtaking number of things I want to do. There are so many that I tend to pick up things to do at a much higher pace than I can actually process and do them well. This problem of overcommitment has plagued me my entire life.
When I meditate and settle my thoughts, I often come back to “What’s most important?” For me, “most important” cannot be defined simply as “things I am good at.” There are far too many things that I’m decent at, or “good enough” at, that were I to attempt to do something in every realm where I am “good enough”, that I would spend my entire life doing mediocre tasks and being bored by them. Thus, I had to take a step back even farther, and define what is most important to me, not simply to everyone else in the room at the time when I am making a decision.
In other words, I must simplify my life, and whittle down what I do to the things that I am absolutely the most passionate about, or else I risk being stuck in mediocrity and futile labor and being unable to pull myself out of that quagmire.
The purpose of this blog, in part, is to attempt to define who I am in a series of posts, each outlining a tiny part of my personal character. Grief, sorrow, and forgiveness have been a big part of this blog, but so have joy, excitement, and acknowledgment of those who have been there for me, and the answers I have sought.
That brought up another train of thought, and one which I’ve been very attached to lately, but which has also (sadly) been the one that has been preventing me from writing for the past 6 weeks. You see, instead of writing to ask something, I started reading, meditating, and thinking to answer the questions I had — and I had many. For a while, I had to take a hiatus and stop writing in order to listen, to form opinions based on the writings and teachings of others who seek enlightenment of the Self and Whole.
I’m back, and ready to share what I’ve learned so far.
First, I defined what was most important to me (personally.) These things included writing, the Internet, reading (books as well as blogs, and newspapers), finding patterns, and solving problems. I also enjoy being in charge and being my own boss…I’d find it difficult to work for anyone else. But most importantly, overall, I found I enjoy helping other people. Thus the crux of my current predicament — I love helping people and solving problems, but the quality of the problems I volunteered to solve was low (web development, for instance.)
I turned my attention to a slightly different focus. Knowing, then, what my motivations were and what was most important to me, what did I want to do? I know that one of my large purposes in this life is to help other people eliminate fear and overcome obstacles…to obtain goals previously thought of as impossible, and to influence people to change in a positive manner and thus leave a lasting impact on the world. Instead of a series of small, relatively unimportant tasks, then, I needed to focus my objectives and only say “yes” to those things that aligned properly with my Big Goals.
I started to clear things out in my head. I realized what my unimportant tasks were. A lot of volunteer work that I had previously performed needed to be completed and then filed away. A lot of previous things that I had said “Yes” to needed to be turned into a “No” or “Not any more” due to my changing life circumstances. I don’t doubt that this left a few hurt feelings, but I did apologize and made what was the most important step — the realization that I can never again say “yes” to these sorts of things, that if the request for help does not completely align with my Big Goals, that I have a duty to myself (and to the world at large) to say “No, I’m sorry.”
And life goes on… either the task gets done by someone capable, or it does not get done. In neither case, though, does it rest on my shoulders.
This may sound facetious to some of you. “How can you turn away people who ask for your help — especially if your skills align with their needs?” And the answer is simple — my life involves a call to action to help millions of other people. I can’t spend time doing web design or volunteer work for a small group if I could instead be turning my focus to things that help thousands or millions of others. If that still sounds bad to you, I recommend that you set bigger goals. There’s no reason you, too, can’t go out there and help millions of other people. But to do it, your life must be keenly focused so that every resource you have is turned toward that goal. Your most valuable resource becomes your time — so much so that you’ll need to hire layers of other people just to help you out. If you succeed, your success will be breathtaking. And if you fail… is there really such a thing as failure if you set out with a goal to help millions of other people, and only succeed in helping hundreds or thousands of others instead? Really? Here’s the worst that could happen — you only improve 1 person’s life. Your own. If you’ve put happiness in your own life, you haven’t failed.
So…now what? I have a couple more volunteer projects that I need to stop. I have a series of blog entries I need to write. But most importantly, what I must find is time. From having someone clean my house to having a personal assistant who can help me/Simpli do the tasks I don’t have time to do (such as filing papers), I must clear out my time so that I have time to do what matters most to me. Once those repetitive, menial tasks start disappearing from my horizon, I can start achieving bigger goals. As I do this, I expect to write more (after all, that was one of my Big Goals for 2007 — “blog more often.”) I expect to work less. And I expect that I will feel happier and more fulfilled, because instead of energy-draining labor, I will be spending time living my dreams and fulfilling my passions.
If this sounds too frou-frou to you, just wait…you’re going to see it unfold week by week in my life, and be able to change decisions about what you want to do with your life. Hopefully, this setting and meeting of Big Goals will encourage you to set bigger goals and be more motivated to live your dreams. That is, after all, why I am here.
View full post »