Add to Bloglines from NetNewsWire

I use NetNewsWire in conjunction with Bloglines and often come across new feeds from within NetNewsWire that I’d like to add to my Bloglines (versus adding it directly to NetNewsWire).

Bloglines is my sandbox for new feeds until I deem them worthy enough to read in NetNewsWire. So here’s an AppleScript to feed (no pun intended) my RSS addiction:

or save this apple script to ~/Library/Application\ Support/NetNewsWire/Scripts/.

Read full post
Spindrop objectives

I had wanted to write about this later, but Darren at ProBlogger started this group writing project on “Blog Goals.” So I am jumping in quickly. This blog was created for two reasons, one, to document any technical things that I’ve learned, code samples, best practices, strategies, etc. as they pertain to web development and open source. The second is to serve as a site to record updates to any of my projects.

I’m still in my infancy for this blog, but I’ve seen a lot of little things that keep me optimistic.

The objectives I have for Spindrop are both internal and external. Internal goals are things that I can change myself. For example, the style of the site, linking to other places, posting more content, changing the way ads are presented, etc.

External goals depend on readers like you. I can do my best to make this site be relevant to a lot of people, but I can’t make people click on my site, comment, or any of that. I can still make goals for them, and that will subconsciously get me to position myself better.

They are both related. If I achieve my internal objectives, I’m better suited to getting external objectives done. If I get my external objectives done, it encourages my behavior of making the site better.

What am I willing to do

My “9-5” is a fairly demanding job as a lead web developer for a health and wellness website. On top of that, I’m getting married this month, so I’m very pressed for time when it comes to a side project like this. Luckily I’m very well organized, and do wake up early and spend time writing.

Writing

In an OmniOutliner file, I keep a detailed list of what I’ll be writing as well as other “to-do list” items for this site. I’ve already taken into account that I’m not going to be pushing anything useful for the week or two surrounding my wedding. Hopefully, I can still muster two or three articles this month. Some of those articles are on software choices, strategies for using propel and symfony and general work habbits.

By spending an hour (or more) a day on writing, I’m generally looking over things and making sure I did a halfway decent job. I prefer not to have typos, spelling errors, etc, I prefer to have a readable article, and I prefer to throw in images, when useful. Of course, I do this early in the morning, so there are mistakes. But, I’ve noticed a lot of heavy hit articles on del.icio.us and digg have typos too.

Non-content changes

I’m willing to tweak ad placement, and practice all the other ad-voodoo that is involved with blogging. I’m also willing to announce the site at appropriate moments, communicate with people via forums and other blogs. I’m willing to listen and execute on others advice. The best advice I’ve heard is to stick with it.

What can I get at the very least?

With all my efforts, at the very least, I know I’ll have something to show for. For one, I tend to do things over and over again. I’m a web developer, and the bulk of my blog is about how to do things I’ve done before. So if I have to make another map or migrate a blog, I can see how I did it before. Now, anything else this blog achieves is gravy.

External goals

Some of my hopes for the site are out of my control. I want what a lot of other blogs want: traffic, revenue and community. Additionally I want traffic to be sent to my other sites, like the reviewsby.us site so that they can share the success.

Traffic

The most important goal for me is traffic. I want this site to get a lot of traffic. For the last two weeks, I’ve averaged 112/users a day. Of course, part of that is due to a spike because of last Friday’s article on Editing CSS from Firefox which had an anomalous amount of hits due to getting on reddit, del.icio.us popular, digg.1

Traffic is important because I without it I can’t expect to have revenue or community. There’s also a sense of validation that you have something useful to say, and sites like del.icio.us make you feel that not only was it useful, it’s worth hanging on to.

Revenue

I’d like to earn enough to actually make blogging make a significant change in my lifestyle. Right now it’s a hobby. A dedicated hobby, but it’s still a hobby. I love writing, I love to see myself improve, I love what I write about. I’d like to continue to do that full time. I’m sure with some tweaks to adsense and some other forms of advertising, I can kick that up. But content, which attracts traffic, will be the biggest driver of them all. My less-than-“adsense optimized” restaurant review site generates a lot more money (seriously, we’re talking in small terms, like the cost of an iced tea), but it has a lot of content and a lot of useful ads that get generated from adsense.

Last month (May 2006) I made just shy over $2.00 from the web site. That’s not much, but it’s better than $0. I’d like to make $4 in a given month. On one hand it’s a doubling of earnings, but on another, it’s not very much money. I’m not expecting to double the earnings this month, although I might easily do that, but I am expecting to hit that $4 mark eventually. It’s an easily obtainable goal, but for me easy goals are good. I feel just as good when I hit them, as I would if I got a raise or a bonus at my “9 to 5.”

Community

I’d like for there to be some level of interaction with me. I don’t mean community in the LiveJournal sense of the word, I just want some interaction with me the poster, and my commenters. The last week or two has seen a few “real comments,” which is promising. I hope that trend continues over time. It’s an opportunity to improve myself if I get good feedback, and it’s an opportunity to further express or clarify a point. I also like to help people out.

Linking out to my other sites

Lastly, I do want this site to assist my other sites. With a decent amount of traffic, this site can be a great link in to my other sites, and bring them up to speed.

Conclusion

Overall, I’m happy where I am, and I’m happy where I intend to go. Each week brings in a new useful content which is a nice record of how I do things, and proves some degree of usefulness to others.

I hope to expand on those strengths. This body of content might be small now, but it only gets bigger. My long term goal is to be able to generate the traffic and revenue I need so I can justify dedicating more time to this project.


  1. Perhaps it's not anomalous, but if you saw my statistics you'd understand why I might think so.

Read full post
Editing CSS live in Firefox

Summary

Firefox + Web Developer Extension = Live CSS Editing if that makes sense to you, you probably don’t need to read on any further, except perhaps the “caveats” section.

Trusting a WYSIWYG editor for CSS can be quite inaccurate and after viewing a site within Firefox and IE it can be quite different than intended. This leads CSS developers into the Edit→Save→Reload→repeat↩ cycle.

What if you could edit the CSS that Firefox is using without having to go through this cycle?

Firefox and the Web Developer Extension

Firefox’s saving grace is the support for extensions.1 There’s a few extensions that appear on just about everyone’s top ten list of extensions for Firefox (here’s one list). Chris Pederick’s Web Developer Extension is one of those. Use it to manipulate cookies, style sheets, forms, images as well as get helpful information about the web page.

Editing CSS

The way I use CSS is by writing semantic HTML and then individually styling elements of my site. Sure a lot can be done without having to look at a page. If I want to mimic this site, I can try for:

body {
	     color: white;
	background: #333;
}

h2 { 
	color: #f6861a; /* orange */
}

Depending on how imaginative you are, you can get quite far without viewing a page. Now, however, you can just open up your unstyled page, select Edit CSS under the CSS menu of the Web Developer Extension and see the changes as you make them. You can throw Dreamweaver out. This is what you really need.

The greatest advantage of this is if you need to do pixel moving. Let’s say you have a complicated layout with absolutely positioned divs. Now you can move them a pixel at a time until they look just right.

Caveat

One major hang-up that I have with the Edit CSS feature is that it breaks relative references if you use url(). For example. Let’s say you have a /theme folder for your web site’s theme. Under the /theme you have theme.css and background.png. In theme.css you have:

body {
	background: url(background.png);
}

This will work fine, url() is relative to the file containing the CSS. When you go to Edit CSS, however, the relativity is broken, because Edit CSS adds the CSS to the currently viewed document. Therefore unless your CSS is in the same directory as your web page, anything relatively linked with url() is broken.

If this is a show stopper for you, use absolute references whenever possible. Of course with themed sites, this is often not possible. I’m sure someone clever can make some changes to this extension to fix it.

What about Internet Explorer

This method does leave out IE. You will still need to do some back and forth when looking at IE. There are a few things that can alleviate this process.

  • Use standards compliance mode. Having a similar enough box-model to work with will eliminate most of the differences noted in IE and Firefox.
  • Know the problem areas. There’s a few spots in IE that are problem areas. PNG is one, negative margins are another. If you know what they are, then when you use them you’ll be aware that you’ll need to adjust them for IE.
  • If you use hacks use the same ones. If you use a “hack” to make IE cooperate, try sticking to the same hack. It makes your code easier to read, and consistancy makes life a bit easier.

If you do all that, you’ll probably still save quite a bit of time in your CSS development.

CSS Vista

CSS Vista is a promising product. I tried it out recently (May 2006) and decided it isn’t stable enough to be useful. I would like it to be more integrated with IE as well as be a lot faster. I’m sure when they release 0.2, the stability will improve. It may have been a fluke with my laptop as well. Try it out, it might be able to be a good solution for Internet Explorer (and Firefox). Unfortunately it’s Windows only.


  1. In a heartbeat I would switch to Camino or Safari if they supported such a wide array of extensions.

Read full post
Welcome Performancing Users

Google Analytics Screenshot

Referral percentages, the blue is Performancing.com

Yesterday I took advantage of the Performancing launchpad to announce reviewsby.us to the blogging world. Jumping at the opportunity was smart, I was the second site on the launchpad and made it to the homepage. As a result, I had probably my largest day of traffic (it’s not a whole lot, but it’s definitely noticeable in these early stages).

We also got a few new users and a few new restaurants. So check it out.

Read full post
Polls

I decided to install Democracy for WordPress. This was partially inspired by Darren’s post at Problogger and for my own development efforts for the restaurant review site. Not sure if it allows you to change your vote, that would be useful for the first poll. I suppose we’ll find out.

So the first poll is deciding on the next feature to implement for reviewsby.us. I’ve seeded it with some of the top requests I’ve heard/felt. But I’d like to hear other peoples ideas. If you’re not familiar with the site, take a look and tell me what you think.

Note: For most people the poll is on the left sidebar.

Read full post
Weight Goal within Reach

Yesterday I finally reached that target weight, 159.6 pounds. If I can maintain this weight, that would put me at a BMI of 25, which is the border for “Normal weight” and “Overweight.” My goal since sometime last year was to meet or beat this weight. Judging from my past performance it could take me as long as a few weeks to just over a month to maintain that weight. Since I know my goal is to be at this weight by June 17th, I’ll be putting a lot more effort into continuing to lose weight.

Once the wedding is finished and after firmly nailing down my goal, I’ll post a detailed summary of my year of weight loss. It was easier than I expected to drop the 15-25 pounds. Also, once this goal is nailed down, I’ll come up with a new goal that gets me firmly into the healthy weight category. Stay tuned.

Read full post
ReviewsBy.Us bugfixes

A lot of bugs have popped up recently.

Logins

The logins weren’t redirecting people to the correct place. Unfortunately the login system still needs a lot of work. I am probably going to rewrite it completely. It doesn’t consistantly remember where you are coming from or where you intend to go after logging in. I’ll be jotting down a clean system to log people in propperly.

Tags

Tags work a bit better. They follow the flickr style of tagging, which is each word is a tag, unless surrounded in double quotes. Previously they weren’t producing a lot of empty tags.

Latitude and Longitude even more precise.

A small error in the database definitions resulted in lat/longitudes of restaurants that were greater than 100 (or rather abs(x) > 100 where x is latitude or longitude were being truncated to 100 or -100. This was easily fixed so things should look just right on the maps.

Read full post
Quicksilver + TextMate = craZy delicious development environment

UPDATE:Cmd-T allows you to search for the files in your currently opened TextMate project. I learned this shortly after writing this post, but forgot to mention it. Thanks again to Tyson Tune for pointing that out.

There’s a number of tools for the OS X that help me with my productivity (and unfortunately have no equivalents on other platforms). Quicksilver, a launcher, and TextMate, a text editor work wonders and together work fairly well.

Quicksilver is a the GUI equivalent to the command line. You can launch applications or files or perform any number of operations on those files or applications. With its powerful collection of plugins you can have it do much more, for example you can take a music file and play it in iTunes within the iTunes party shuffle. Or take an image file and have it submit to flickr with a few simple keystrokes. Initially, I couldn’t get an idea of the application, other than a lot of people loved it. Now, I’m barely using it to its potential and I love it. Using a computer without it is quite a drag.

TextMate is similarly feature rich and elegant. Just using a small number of its features makes it worth its cost. All my symfony projects are written using TextMate as are my articles for this web site. It’s strength for me is its automation. Together Quicksilver and Textmate make a winning combination.

Projects in TextMate

I like the concept of “projects” in TextMate (its common to a lot of text editors). You can drag files or folders into TextMate and group them as you see fit.

Many of my projects are written using symfony, so I’ll try to keep the entire project folder in my TextMate project. Additionally I’ll keep the symfony libraries if not the entire PHP libraries referenced in the project as well. Now I have access to all of my files with relative ease. I generally create a file group in TextMate of frequently accessed files to bypass the pain going through hierarchies of folders.

If I have a TextMate project open, anytime I open a file that belongs in that project, it will open in that project window. That means if I use the mate command line utility, Finder or even Quicksilver, it’ll still open in the project window. This is useful.1

Quicksilver Catalogue

Catalogues in Quicksilver

When you open up Quicksilver and type in some letters, it searches some catalogues by default (e.g. Applications, Documents, Desktop, etc) in an attempt to figure out what the “subject” of your action to be. These catalogues are fully customizable, so it’s trivial to add the directories of your project and your libraries into Quicksilver.

New Workflow

Quicksilver finding reviewsby.us

Now that you’ve setup your project in TextMate and added the same directories to Quicksilver, you’ll have a much improved workflow. If you save your TextMate project in your Documents directory, you need only open Quicksilver (I use Command+Space as a shortcut) and type a few letters of the project (for example, I named my project file reviewsby.us for my restaurant review site).

When that’s open, I can now open any file of that project in anyway I feel necessary. Let’s say I need to open a library file, like sfFeed.class.php. I need only type in a few letters and it opens inside my project.

This process now saves me a ton of time in digging through hierarchies of folders upon folders. It’s many times quicker than Spotlight. Give it a try, there’s thousands of uses for it, this is just one way I use it.


  1. While debugging errors in a project, if PHP tells you a certain file gave you a certain error, you can highlight the filename in Safari (or any other Cocoa browser), hit Command Escape (or whatever custome keystroke you setup for sending selection to Quicksilver), hit Enter and have it show up in TextMate.

Read full post
Google Analytics

Google Analytics Screenshot

I’ve also jumped on the Google Analytics bandwagon and added a lot of the sites in “family.” If you’re familiar with Urchin, it has a similar feel to it. It almost feels a bit lighter feature-wise. There’s a few issues I will take with it:

  • When they list links to your site (e.g. /login) they don’t hyperlink it.
  • I’d like to drill down to raw data. I like to make my own correlations. Heck, I want to drill down to see if I should filter someone from the list.

Other than that, I like the potential that this will offer me. This combined with Google Sitemaps will provide powerful analysis of the site. As it stands, Katie and I should be eating at the Cheesecake Factory and non-chain restaurants as we seem to do well in the ranks and I need to write more about maps.

Read full post