I [heart] Fail Whale
If you aren’t on Twitter or are living under a rock (or both, perhaps) you may not know my latest love interest. In any case Fail Whale is Twitter’s faithful representative bringing joy to the hearts of those in pain when there are too many tweets.
If you want more information or just to be part of something special go visit the Fail Whale fan club site here or peep the banner to the right. Also don’t forget to give some love to Yiying Lu, the famed creator of the comforting whale; you can peep the original illustration along with some other great work here.
Now with more validation!
In case you haven’t been following along during this journey of mine I’ll go ahead and spill it out for you - I have no idea what I’m doing with this whole “blog” thing. However, I am learning a LOT… It seems everytime I make a change something breaks and I get to learn how to fix it.
Well, today, I finally passed another milestone; one which I have been tinkering with for quite some time. My site is now valid W3C XHTML (transitional) and CSS!! This is something I really wanted and because of my limited knowledge has been slow in coming. I’m very glad that I have reached this milestone as interoperability is extremely important to me. I don’t want to learn/use code that only works correctly in some environments, instead I want to learn things the right way!
If you want to run the test yourself and celebrate along with me you can scroll to the bottom of my page. I have placed links to both the XHTML and CSS validation tests in the footer as a trophy to remind myself of this amazing (to me at least) feat!
Automagically resize your windows
Automatically resizing your application windows based on resolution is a topic that I find pretty interesting and has been covered by two of my favorite sites here and here. The script was originally written by Jeff Kelley on his blog. After playing with the script for a few hours I finally got something together that I like. I wanted to post my version of the script and a few notes for people to review if they want to tweak the original script.
I will start by saying I like my windows to be as small as possible so I can have as many open apps visible at a time; but here are a few things I ran into…
1) The quotation marks are not copying correctly from the site into script editor so you will have to replace them manually prior to compiling.
2) The format of the bounds for the windows is also useful to know. First notice that the very top of the desktop (just below the menu bar) is y=0 and the very left the desktop is x=0. The window bounds follow this format (dist x left, dist y top, dist x right, dist y bottom). Distance from x(y)=0 to [window side]. If that doesn’t make sense I’ll try to make a visual diagram.
3) You can quickly find the values of distances using CMD+SHIFT+3 and looking at the coordinates as you drag the selector around the screen.
4) Because of how I like my windows I found it easier to do all of the resizing within two if-statements. ie. If Width = 1920 size the windows this way, If Width = 1440 size the windows that way.
View the full entry to see my script.
Green Plug, a really good idea
Green Plug featured here and here is a new technology from the up and coming startup of the same name. It’s mantra “One Plug. One Planet.” is indicative of the eco-friendliness on which the company is found. Green Plug wants to change the way consumers and manufacturers think about AC adapters, batteries, and basically things that plug into the wall.
The general idea is that all devices will use a truly universal AC adapter and that this will cut down on waste. Green Plug takes this idea further by making their plugs “smart”. Essentially, a Green Plug would feature an LCD status display and when paired with a compatible device provide information about the charge status. Further, because the Green Plug-enabled device would also be “smart” the Green Plug would cut the flow of power when the battery was fully charged and thus resulting in a reduction of power usage.
Currently there is a movement to standardize mini-USB as a power plug for many devices. An unfortunate limitation of this tech is that USB simply cannot handle the load required by most devices larger than a cell phone. Green Plug-enabled devices would be able to notify the Green Plug of its specific power requirements and in this way it is more intelligent and more capable than the USB-powered counterparts.
Green Plug is versatile and wants to be integrated into hubs, shops, offices and even homes. Aftermarket AC adapter providers like Targus could use Green Plug to create hubs capable of powering multiple devices at a time. The LCD read-out would provide status information for each connected device. Retail locations and offices could implement Green Plug to save energy and allow anyone with a Green Plug device to sip some juice from the power grid.
A big benefit that seems to be over-looked is integration with Smart Grid technology. Smart Grid is an idea being implemented by many major power companies to provide transparency to end-users regarding real-time pricing and usage of power. In other words, Smart Grid aims to have a household’s appliances use more power when the price of electricity is low and use less power when the price of electricity is high. Green Plug is smart too and could be integrated with Smart Grid to reduce load based on the information provided by the user’s power company. Some devices can be charged less quickly by limiting the amount of power that is provided. In this way it would be possible to charge a device and specify whether charging speed or energy savings are a priority.
While Green Plug has a lot to over come it has the right idea with its focus on energy savings and universal access for the end-user. Green Plug’s Earth first principles have come at a great time when energy prices are constantly on the rise.
The world is stupid
It is stupid that people are rated professionally based on how they conduct themselves outside of work. If two applicants have the same degree, same GPA, same qualifications and one is over-looked because they live a lifestyle the interviewer doesn’t agree with - that is just plain wrong.
In all honesty, it makes me want to link my Facebook profile on my resume - if I don’t get hired because of what I’m like outside of work then I don’t really want to work there.
Update: It should be noted I’m not dealing with anything related to this post. I merely read an article that got me somewhat fired up.
BREAKING: Decent Dell customer service - now more expensive!
Dear Customers,
We know that Apple provides you great customer service for the first year for free and for a small fee thereafter. Unfortunately, we have come to realize in our short-sightedness that we can’t “make” money using this business model. While happy customers may say nothing; unhappy customers write about their experience on the internet - for this reason we would like to offer our Decent Customer Service team. Now if you have an issue that cannot be resolved by our standard (read: awful) customer service you do not have to contact the Consumerist. Instead, for a nominal fee you can get the same customer service that our brothers in Cupertino provide you for free. Of course, since we’re a penny-pinching, soulless corporation, you can pretty much guarantee that all you are paying for is to talk to someone without an accent who still can’t find your laptop or determine when the backordered part will arrive - even though the same part is used in roughly 90% of our models. We hope you understand that we’re failing as a company trying to race to the bottom and forgive us our mis-givings as we catered to the Wal-Mart shoppers of the world rather than focusing on quality and customer satisfaction.
Sincerely,
Michael Dell
Hosts file issue
When I was first setting up wordpress on my Mac mini (which as you’ll recall is on my dedicated DSL line) I ran into a problem using the dynamic DNS name I had set-up. With wordpress when I wanted to visit the site from inside my LAN it would automatically re-direct to the location of the set determined in settings. This caused a problem because that location pointed to my dynamic DNS which in turn pointed to my WAN IP address and well as you can imagine wordpress go boom.
My temporary workaround during installation and initial set-up was to ignore this entirely as I was only working on the site from home. This was short-lived as I realized I had a life and wanted to work on the site when not sitting in my home office. Oh, yeah, and I guess I wanted the rest of the internet to have access as well - I suppose that was a factor as well.
What I ended up doing was using two hosts files, one that had the following line:
10.0.1.195 aroncares.dnsdojo.com
and another that had that same line commented out:
#10.0.1.195 aroncares.dnsdojo.com
To quickly switch back and forth I used two shell scripts, set to open by default using Terminal, that copied a “home.hosts” or “away.hosts” file on top of the hosts file. (FYI, in Leopard, this file is located at /etc/hosts) This worked great and was easy enough, but it didn’t have the panache that I was looking for in this situation.
The final solution that I worked out is really everything that I want (unless you include my desire to have this site hosted elsewhere) given the situation. What I ended up doing was taking a crash course on AppleScript and writing an application that would simply ask me whether I’m home or away and act accordingly. Interestingly I was able to give the shell script root privileges which is required to make changes to the hosts file. For anyone that is interested I have pasted the syntax of the script after the jump.
Day 3 - rejoice! more fixes!
I figured out the theme had a built-in search widget that I needed to use rather than the standard wordpress widget. Using that widget fixed my gripe with the search widget being ugly. I also did some more CSS tweaking (mostly just colors).
I also found fixed a bug where empty search results weren’t calling the footer so the whole page looked somewhat off-kilter. Ugly.
Today was also exciting in that I dove into the uncharted waters of PHP! I played around with the post header/footer and was able to finally get what I was after. I moved the post author to the footer and I got the full date in the footer as well.
All in all it was a very productive day!
Day 2 - some small fixes and more info
Utilizing my EXTREMELY limited (non-existent) knowledge of PHP I managed to create a Page.php template separate from the Articles.php template. This resolved one of my issues with this theme - specifically, since there was not previously a Pages.php template my About and Contacts pages were simply using the posts template - not attractive.
I also dugg into the CSS a little bit and changed a few colors around to suit my liking. While I was doing that I discovered some sidebar stuff that could (possibly) be tweaked to make it (and my search widget) less ugly. I know a TINY bit more CSS than I do PHP so I stumbled my way through rather than commenting-out random lines and crossing my fingers.
Here are some details about the site that might interest anyone who is curious… Since I am not financially capable (broke) I cannot currently afford paying someone else to host the site. It’s another monthly bill and I would rather buy a house. That being said I am hosting the site on my Mac mini using my business DSL line. Until I get a domain set up I’m using the free and awesome dynamic DNS service. It is particularly nice because for OS X there is a dashboard widget that updates dynDNS of your IP address.
I know you’re probably thinking “oh crap, if three or more people are on this site it’s going to crash” - well, you’re probably right. Actually, I have more faith in Apache, MySQL, and PHP on my Mac mini than I do my ISP’s ability to handle the bandwidth.
I consider this quite a feat because of two points 1) I know almost nothing about most web technologies - the fact is I’m a n00b. But I’m proud to admit it and determined to change it. I think that’s important. The reason this is a feat is because it was incredibly easy to set up using OS X.
The UNIX underpinnings in 10.5 make my Mac mini a fairly robust server for a fraction of the cost of an Xserve. Enabling Apache required me to simply check a box - that’s it. Granted there were a few other steps involved in enabling PHP and installing MySQL; but let’s be realistic, one is going to have to dirty one’s hands at some point.
Please pardon me if I’m sounding too much like a “fanboy”. In all honesty, I would install whichever OS made it the easiest - I’m not afraid of using a Linux distro. or installing Windows on a Mac. The fact is that OS X made it the easiest to accomplish the goals I wanted to accomplish.
Day 1 - Oy vey!
OK, this is my first post that has any real value to it whatsoever… So far I have the following issues that need to be resolved:
- Nobody is reading this
- Posts do not have the day of month in the date
- Permalinks are ugly (as in, without alibi)
- About, Contact, etc. pages are using the blog page template and are showing category, date and comment information. Just fixed this one - w00t!
- The overall appearance of some of the elements on page do not look very distinguished. This is noticeable on some (read: crummy) LCD displays.
- The search widget is ugly (see #3)
I’m sure more will become apparent as I get deeper into this - but for just starting out it’s not that bad.
Future plans:
- I’d like to edit my sidebar widgets so they appear to be separate boxes form each other. I want them to have rounded corners, and ideally, be collapsible.
- I want some widgets on the bottom of the page. Recent posts, maybe my Flickr photostream, etc.
- I need to register a domain as well. I’ve heard good things about 1and1 but right now it’s not in the cards (i.e. bank account = empty)
If anyone happens upon this post please feel free to hit up the comments to offer any suggestions or notify me of bugs you find. I’m taking a kind of continuous improvement approach with this so hopefully with a little luck, a few magic beans, and some late-night geekery I will have a decent site up soon.