<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3724404315164871806</id><updated>2011-10-11T03:02:56.803-05:00</updated><category term='business'/><category term='javascript'/><category term='paypal'/><category term='amazon'/><category term='geekery'/><category term='gentoo'/><category term='haskell'/><category term='rails'/><category term='thoughts'/><category term='rants'/><category term='tinymce'/><category term='xmonad'/><category term='startups'/><title type='text'>Arguments With My Friends</title><subtitle type='html'>Don't you know, in this new Dark Age, we're all light.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-4981880607973774104</id><published>2008-10-24T14:55:00.017-05:00</published><updated>2008-10-24T20:01:28.956-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thoughts'/><title type='text'>On Selling Out</title><content type='html'>Everyone sells out. Me, you, and the grocery store clerk down the street. We all compromise our principles, deciding to live for the promise of the moment rather than "sticking to our guns". Such is the story of humanity. Often our selling out is concerned with trivial matters, a sort of "white-lie" selling out, if you will. You know, like a NOFX fan listening to the Ataris. And then, sometimes it's a lot more serious.&lt;br /&gt;&lt;br /&gt;American politics seems to be all about selling out, under the surface. No matter where you fall in the political chain, chances are you've sold out in some way. Maybe you've had to change your "views" on an issue due to your party's platform. Maybe you're voting for the major candidate you feel is the lesser of two evils. And then there's the voter who jumps on a bandwagon because he or she is sick of thinking critically and having to sort through jumbled media biases.&lt;br /&gt;&lt;br /&gt;Ultimately, what's selling out really about? Complacence. Fatigue. The familiarity of platitudes. The ability to overlook shortcomings in your own beliefs simply because the opposition's shortcomings &lt;span style="font-style: italic;"&gt;must&lt;/span&gt; be greater. Being satisfied to never ask certain questions. Being satisfied to never confront certain facts. The ability to write off criticism from the opposition without considering it. The peacefulness of not having to wade through every bit of data that assaults your senses. In business, selling out is being able to take the money and run, and not needing to look back.&lt;br /&gt;&lt;br /&gt;Selling out provides a pseudo-position from which you can judge and mock others' views when they differ from your own, and allows you to write off an argument at will without truly considering it. You have sold out at the point that logic goes out the door, to be replaced with rote statements repeated verbatim from media, propagandists, and of course, friends.&lt;br /&gt;&lt;br /&gt;Faith is sometimes mistaken for selling out, or vice versa. After all, isn't "selling out" simply the exchange of one set of values for another? Aren't all ideas equal? Or, isn't someone who believes in something he or she cannot prove really just a sell-out? The difference, however, is that people who sell out may pretend to be concerned with truth, but aren't; instead they're concerned with what they gain from selling out, and that may come in many forms. Faith is concerned with truth at all costs, and will be content to make no profit.&lt;br /&gt;&lt;br /&gt;Have you sold out? I know I have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-4981880607973774104?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/4981880607973774104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=4981880607973774104' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/4981880607973774104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/4981880607973774104'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2008/10/on-selling-out.html' title='On Selling Out'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-6626896131635840691</id><published>2008-10-24T14:13:00.011-05:00</published><updated>2008-11-02T16:21:22.863-06:00</updated><title type='text'>And Hello There Again</title><content type='html'>It has nearly been a year since my last post. Wow. To further inspire confidence, let me remind you that this is the &lt;span style="font-style: italic;"&gt;only&lt;/span&gt; blogging project that I have ever stayed even somewhat committed to. You can imagine how miserably the others must have failed.&lt;br /&gt;&lt;br /&gt;A lot has changed for me since my last check-in. I left my previous job and moved to Tennessee (not completely in that order), where I work for a prediction market company. I left the Corolla for a Jeep Wrangler (yes, I went from 32 MPG to 18 at the &lt;span style="font-style: italic;"&gt;perfect&lt;/span&gt; time), and I've been amusing myself by learning Lisp and dabbling in the stock market.&lt;br /&gt;&lt;br /&gt;Maybe I'll start blogging again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-6626896131635840691?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/6626896131635840691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=6626896131635840691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/6626896131635840691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/6626896131635840691'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2008/10/and-again.html' title='And Hello There Again'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-1879625331569811811</id><published>2007-12-06T01:00:00.005-06:00</published><updated>2007-12-06T01:01:59.260-06:00</updated><title type='text'>Hi, Folks</title><content type='html'>Since this blog's still getting around 20 hits a day (and, mind you, that's 20 Javascript-enabled hits a day), I have no desire to retire it. I may end up moving my online publishing activities in general to &lt;a href="http://craptome.org"&gt;craptome.org&lt;/a&gt;, a great domain that I just bought, though. Stay tuned for more details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-1879625331569811811?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/1879625331569811811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=1879625331569811811' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/1879625331569811811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/1879625331569811811'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/12/hi-folks.html' title='Hi, Folks'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-2103622170020738485</id><published>2007-09-26T20:11:00.002-05:00</published><updated>2008-10-25T15:12:14.697-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geekery'/><category scheme='http://www.blogger.com/atom/ns#' term='startups'/><category scheme='http://www.blogger.com/atom/ns#' term='rants'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The Problems With My Startup</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Preface&lt;/span&gt;&lt;br /&gt;I'm typing this up in order to collect my thoughts, in hopes of eventually showing them to my coworkers. It's here because I'm interested in the commentary of passers-by and because I figure people might find it interesting. I'm initially going to type this in a single sitting, so if I have further thoughts later I'll probably make an addendum section for them.&lt;br /&gt;&lt;br /&gt;If you &lt;span style="font-style: italic;"&gt;are&lt;/span&gt; one of my coworkers and you've stumbled across this prior to my relating these ideas to you, congratulations—you've found my secret blog. Knock yourself out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A Bit of Background&lt;/span&gt;&lt;br /&gt;The startup (I use the term loosely) I work for is composed of four guys—myself (programmer/sysadmin/general technical hotline), two designers (one of whom designed most of our site and one of whom also does Flash programming and did a couple applets on our site), and an people/phone calls/ideas guy. We've been working on our project for over a year, and we provide free basic services and a number of premium, for-pay services. It's largely Web-based, and is not a social network, though it integrates with the big social networking sites, excluding Facebook.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Focus and Direction (and Hiring)&lt;/span&gt;&lt;br /&gt;When we started our project, we had a single goal. We figured no one was doing our idea, exactly, so why not give it a shot. So we did. And soon we came up with a twist or two to throw in to make the project even more original, namely a client-side application that syncs with our site. But, in my estimation, here we committed two mistakes. First, although we had not yet finished working on our original feature set, we embarked on developing this application simply because it seemed like a great idea. I'll explain the significance of this in a bit. Driven largely (and unconsciously) by desperation to churn this great idea out, we committed our second mistake, which was to enlist a friend of ours, an individual who was intelligent, busy, long-distance, and marginally qualified to develop our application (in particular, as regards Java experience, which he had little of and we needed). This was great for a while; it freed me up to work on core site features. We soon found, however, that communication with our coder was difficult, as we couldn't count on him to meet deadlines even when he set them, and that his idea of quality control didn't match ours. So we said, "Enough is enough," and told him so. At that point the software he had developed was mediocre at best.&lt;br /&gt;&lt;br /&gt;So, what to do when the dream isn't panning out? Ask yourself, "What is everyone else doing?" So we did. (Technically, this was sometime during Java application coder's time with us, not after.) And it turned out that Bigger Fish X (code name, of course) was involved in the same sector of business as we were and was providing a service we didn't have to thousands of users of the same ilk as ours. So, why not clone their feature and offer it in addition to our core service? So we did. Another coder (another friend, this time local, thankfully) was drummed up and he began work on the feature. A few months later, we had something that mimicked some of what Bigger Fish X's site did, although many features were missing. And we made a few sales with this feature (to be exact, 10 to date).&lt;br /&gt;&lt;br /&gt;Sometime after our web coder finished the Bigger Fish X feature mimick, and I say "finished" in the sense that the barebones functionality was present, he began to drop off the radar. It became apparent that he didn't want to work with/for us—some form of compensation would be required, preferably in the form of pay, and failing that, equity and share in future profits. The latter was not an option amongst the more opinionated among us, who believed that he should prove himself (e.g. dedication, ability to meet schedules, communication, etc.) before being given part ownership of the project/company.&lt;br /&gt;&lt;br /&gt;At some point (I'm thinking it was around our startup's half-year anniversary, though it may have been slightly later) we "partnered" with an up-and-coming social networking site catering to a particular niche. The end result was that our services would be advertised to all signups to the social networking site who had an interest in the services we provided (such interest could be determined based upon the type of account they signed up for on the social networking site), and in return our media company would do some audio/visual production work for the site. Our signups increased immensely. I estimate that to date 75% of our signups have been referred by this site. One problem, however, was that these users largely did not have the money to afford our premium services, and thus the "partnership" has not delivered what we hoped.&lt;br /&gt;&lt;br /&gt;Over the course of what I've described thus far (around eight months) many, many ideas were thrown onto the table, largely by our idea guy, who has an knack for noticing a random Bigger Fish and suggesting we copy something they are doing. Many ideas were shot down. Some were not, and went onto the drawing board. We gained, notably, a hackish SMS interface (because we couldn't afford an SMS short code; more on that later) that we immediately tried to beta test with several of our more loyal and vocal users, with disappointing results.&lt;br /&gt;&lt;br /&gt;Because I'm our only coder for all intents and purposes (we did hire a new Java guy, but he teaches college and has a family and thus makes slow progress), my responsibilities include fixing site bugs, whether in code I wrote or code our late coder wrote, sysadmin tasks, and new feature development. Between bug fixes and new features that we "just had to have" I never had the time to test our core functionality and make sure it was really robust. This is coming back to bite us. Just recently we became aware of a huge deficiency that will need some coding attention and will prevent large clients from using our services effectively until we get it fixed. It's something I wanted to look into more at the beginning, but couldn't because other features were going to make us way more money. Or so some said.&lt;br /&gt;&lt;br /&gt;Lately, we've actually gotten the attention of a Big Fish that might want to sponsor a group of people to use our site. This is great, except that it means three months, possibly more, of work to implement features they want that we don't have.&lt;br /&gt;&lt;br /&gt;To sum up my issue with our focus I'll attempt to write in generalities. I could go on and on about how our focus has gone wrong. Our "people person" guy preoccupies himself constantly with our startup, although he is a full-time schoolteacher. I would estimate that 50%, possibly more, of my conversation with him involves him telling me about a new feature he's been thinking about lately. Now, mind you, he's probably told me about it before but he's telling me about it again because he's given it further thought and is just &lt;span style="font-style: italic;"&gt;this much&lt;/span&gt; more convinced that it's largely the key to amazing profits and I know he can't wait until it's implemented. Problem is, I'm our lone coder. I'm working on fixing our current features or fixing a bug discovered by a client or a new feature that's actually work-in-progress, not a few-months-in-the-future maybe. Sometimes I just want to scream, "SHUT UP!"&lt;br /&gt;&lt;br /&gt;I see this as probably our biggest problem, and I could go on and on with examples of us allowing ourselves to get tied up doing things that could conceivably be complimentary to our core services, and hopefully will make us money, but at the moment at which they are commissioned are little more than wishful thinking.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Innovation&lt;/span&gt;&lt;br /&gt;Put briefly, there's little room for it. Sure, I've gotten to write some nifty code, and I was able to put some time into rewriting a particularly key component in our system and tailoring it specifically to our needs, replacing what our Web framework provided. But innovation that will make us money? Innovation that will make our users say, "Wow, that was &lt;span style="font-style: italic;"&gt;easy&lt;/span&gt;. I love this site!" Nope, we're moving too fast for that. If it works, let's test it for a few days and put it live and cross our fingers. Somehow, we forgot that you can't just copy Random Bigger Fish—you have to be &lt;span style="font-style: italic;"&gt;better&lt;/span&gt;, and in a way that users notice.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Funding/Pay&lt;/span&gt;&lt;br /&gt;We knew close to nothing about seeking funding for our startup when we started. We hardly know any more now. The one person who probably knew something about it, because he took the time to research it, was our Web coder friend who declined to work anymore for free. The rest of us wouldn't have known what angel investors or funding rounds were if they smacked us upside the head. One member of our team likes to consider himself business-minded; he once told me that he's a "business geek." Well, you could have fooled me. We never sought any funding, and have never taken any.&lt;br /&gt;&lt;br /&gt;Because we were friends when we started, we all worked for free, hoping to share in the rewards of success. Such does not work so well when you're trying to get someone who doesn't see the project's "obvious" merits and potential for success.&lt;br /&gt;&lt;br /&gt;If we'd had venture capital, even a little, we could have employed more coders, and they would have &lt;span style="font-style: italic;"&gt;wanted&lt;/span&gt; to work for us, because money generally has that effect. And who knows, three coders working full time (instead of myself, largely, working when I could) might well have gotten us to where we are now in...dare I say four months?&lt;br /&gt;&lt;br /&gt;And then there are growing expenses, like an SMS vanity short code. If we had one, and a bit of money to subsidize messaging costs until the feature began to pay for itself, our SMS feature would not be dead in the water. And it's not like the people who've beta'ed our SMS feature can't tell that something's not right about it. For starters, we're asking people to text to an &lt;span style="font-style: italic;"&gt;email address&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;If we'd had the money to do so, we could have done press releases as we rolled out our half-baked features, thus at least exposing ourselves to potential users and hopefully, Big Fishes who might possibly sponsor numerous users. Furthermore, in our sector, a press release is a near necessity. Incidentally, press releases are still on the perpetual drawing board, for a later date when we've more money to throw around.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Public Relations&lt;/span&gt;&lt;br /&gt;As I've mentioned before, our PR guy is a full-time schoolteacher. This means that he doesn't have enough time to call users, to do tech support for users, to answer feedback, to call potential Big Fishes, as is necessary for us to even &lt;span style="font-style: italic;"&gt;maintain&lt;/span&gt; any momentum we had at the end of the summer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. Information Presentation&lt;/span&gt;&lt;br /&gt;I believe that when people hit our front page, it's not immediately obvious to them why they need our service. Sure, perhaps they'll come back and check it out on the weekend when they have time to poke around, but our front page does not outline what we do and why people should at least try out our services in a succinct and simple manner. Instead, it's wordy and cluttered and we over-explain (or is that over sell) everything we offer. But we've gotten feedback asking, "Uh, so, what is it you guys actually &lt;span style="font-style: italic;"&gt;do?&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;This is by no means a jab at our designer. First off, I don't think it's his fault, and second he's been working on a simplistic redesign that gets down to the essentials, but he's being pulled off that by tangential projects that are pulling in some money but are not letting him focus on our core service.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;In summary, we suck at staying focused on one idea. If you don't see the merit in that, look no further Flickr.&lt;br /&gt;&lt;br /&gt;We suck at hiring (or enlisting) help on our project, and we've blown off a few feet in our desperation.&lt;br /&gt;&lt;br /&gt;We suck at allowing ourselves to make something that's actually &lt;span style="font-style: italic;"&gt;good&lt;/span&gt; and that people will want to use on its own merits. That might be a bit strong, but I'm referencing the innovation thing.&lt;br /&gt;&lt;br /&gt;We suck at even understanding how Web business works today, but we don't have enough time to educate ourselves.&lt;br /&gt;&lt;br /&gt;We suck at having enough time to respond to the questions, comments, and concerns our current clients, and time to pursue new clients and new venues of acquiring clients.&lt;br /&gt;&lt;br /&gt;We suck at explaining to potential users exactly what we provide and why they should use our service.&lt;br /&gt;&lt;br /&gt;This is stuff I've been batting around in my own mind for quite a while. Some of it has slipped out in conversation at the office, some has not. I have really enjoyed working on this project, I love the guys I work with, and I think our idea has potential, but I am becoming increasingly disillusioned with where we think we're going, how we plan on getting there, the process through which we decide either of the two previous items, and the manner in which my concerns are often dealt with. Sometimes when I hesitate about something at the office, some part of what I've mentioned runs through my head. I've put it all down here so that I can present it in a comprehensive manner soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-2103622170020738485?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/2103622170020738485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=2103622170020738485' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/2103622170020738485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/2103622170020738485'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/09/problems-with-my-startup.html' title='The Problems With My Startup'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-3317835370899194449</id><published>2007-09-15T17:34:00.001-05:00</published><updated>2007-09-15T17:38:11.233-05:00</updated><title type='text'>September</title><content type='html'>It's September, and I've nearly forgotten about this blog. I'm going to do my darnedest not to abandon it.&lt;br /&gt;&lt;br /&gt;In other news, Aaron Swartz's new project, &lt;a href="http://jottit.com/"&gt;Jottit&lt;/a&gt;, has been officially released. Cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-3317835370899194449?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/3317835370899194449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=3317835370899194449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/3317835370899194449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/3317835370899194449'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/09/september.html' title='September'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-286714954780165685</id><published>2007-08-06T16:44:00.000-05:00</published><updated>2007-08-07T09:52:58.216-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='tinymce'/><category scheme='http://www.blogger.com/atom/ns#' term='geekery'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Rails Tip: TinyMCE, Unicode, and encodeURIComponent</title><content type='html'>Here's something I learned today: when sending input from a TinyMCE editor back to your Rails application, Prototype's &lt;span style="font-family:courier new;"&gt;encode()&lt;/span&gt; function will fail you if your TinyMCE'd textarea contains Unicode characters (in my case, they were "curly" quotes, probably generated by Word). Use Javascript's  &lt;span style="font-family:courier new;"&gt;encodeURIComponent()&lt;/span&gt; instead. In other words, where you might have written something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;function mailSave() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&lt;%= remote_function(:url =&gt; { :action =&gt; 'save' },&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:before =&gt; 'tinyMCE.triggerSave(true,true)',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:with =&gt; "'subject=' + encode($('descr').value)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ encode($('tiny_mce').value)") %&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instead, use this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;function mailSave() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&lt;%= remote_function(:url =&gt; { :action =&gt; 'save' },&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:before =&gt; 'tinyMCE.triggerSave(true,true)',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:with =&gt; "'subject=' + encodeURIComponent($('descr').value)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ encode&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;URIComponent&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;($('tiny_mce').value)") %&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of our bigger clients needed to send a mailing and was going to switch services if this bug wasn't fixed by 5:00 this afternoon, so plenty of bullets were sweat while I figured this out. Many thanks to &lt;a href="http://www.getfirebug.com/"&gt;Firebug&lt;/a&gt;, as usual.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-286714954780165685?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/286714954780165685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=286714954780165685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/286714954780165685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/286714954780165685'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/08/rails-tip-tinymce-unicode-and.html' title='Rails Tip: TinyMCE, Unicode, and encodeURIComponent'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-3376589441358211015</id><published>2007-08-05T11:58:00.000-05:00</published><updated>2007-09-26T20:10:55.721-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='geekery'/><category scheme='http://www.blogger.com/atom/ns#' term='paypal'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><title type='text'>Darn It, Amazon!</title><content type='html'>&lt;a href="http://paulstamatiou.com/2007/08/04/why-you-shouldnt-ignore-amazons-new-fps/"&gt;Interesting article&lt;/a&gt; about Amazon's new &lt;a href="http://www.amazon.com/b?ie=UTF8&amp;amp;node=342430011&amp;amp;me=A36L942TSJ2AJA"&gt;FPS&lt;/a&gt;. I like what I've been hearing about FPS, particularly because I've experienced Paypal's annoying API and bad customer service firsthand. Plus, I always hated the inane requirement that customers be given the option to use Express Checkout in lieu of your payment form, should they desire. I'm hoping to see Paypal taken to task by a market that demands better.&lt;br /&gt;&lt;br /&gt;But darn it, Amazon, why unveil FPS just when we've got &lt;a href="http://www.authorize.net/"&gt;Authorize.Net&lt;/a&gt; and a merchant account working?!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-3376589441358211015?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/3376589441358211015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=3376589441358211015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/3376589441358211015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/3376589441358211015'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/08/dammit-amazon.html' title='Darn It, Amazon!'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-6326316527224863999</id><published>2007-08-04T15:12:00.002-05:00</published><updated>2008-10-24T14:21:30.585-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='geekery'/><category scheme='http://www.blogger.com/atom/ns#' term='xmonad'/><title type='text'>How to Install Xmonad on Gentoo</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Please Note:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;This post is presumably severely dated. I no longer use Xmonad (viva la &lt;a href="http://www.nongnu.org/stumpwm/"&gt;Stumpwm&lt;/a&gt;), so I have not tried to keep this updated. Should you wish to install Xmonad on Gentoo, this is probably not the tutorial to follow. Still, though, you might glean something useful from it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, you've heard good things about &lt;a href="http://xmonad.org/"&gt;Xmonad&lt;/a&gt;, the minimalistic, tiling window manager for X, and you'd like to give it a try on your Gentoo box. Here's how to do it, and get a respectable Haskell development environment in the process.&lt;br /&gt;&lt;br /&gt;Note: This tutorial assumes you want to do things the Gentoo way, i.e. by using Portage. Another option is to build the Haskell compiler, required libraries, and Xmonad from source, and if you'd rather follow this method, the Xmonad site has &lt;a href="http://xmonad.org/intro.html"&gt;the details&lt;/a&gt;. This tutorial also assumes that you know your way around Gentoo, and know what you're doing, or you are good at pretending you do. Since you're installing things, you will probably need to be &lt;span style="font-family:courier new;"&gt;root&lt;/span&gt; for this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Step 0: Important!&lt;/span&gt;&lt;br /&gt;Since I wrote this, changes to the Haskell overlay, etc., may have occurred. I highly advise you to read the post's comments so that you can "interpret" anything you read here in light of them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Install the Haskell Overlay&lt;/span&gt;&lt;br /&gt;First, you need to install the Haskell Portage overlay, which contains newer Haskell-related packages than those found in Portage. If &lt;span style="font-family:courier new;"&gt;layman&lt;/span&gt;, the overlay manager, is not installed, you should first &lt;span style="font-family:courier new;"&gt;emerge&lt;/span&gt; it and update its overlay list.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;" &gt;# emerge layman&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;" &gt;# layman --fetch&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once &lt;span style="font-family:courier new;"&gt;layman&lt;/span&gt; is installed, your next task is to enable Darcs-based overlays, which, not surprisingly, require the Darcs distributed source code management system to be present. Here a chicken-and-egg problem arises, as Darcs is written in Haskell and thus requires GHC and the core Haskell libraries. However, you want to avoid installing Haskell until after the overlay is installed, in order to avoid having to upgrade Haskell and friends later. My solution is to use a statically-linked Linux binary provided by the Darcs project.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# wget http://www.pps.jussieu.fr/~jch/software/files/darcs-1.0.7-i386-linux.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# gunzip darcs-1.0.7-i386-linux.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# mv darcs-1.0.7-i386-linux /usr/bin/darcs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# chmod +x /usr/bin/darcs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You now have a working &lt;span style="font-family:courier new;"&gt;darcs&lt;/span&gt; command, which &lt;span style="font-family:courier new;"&gt;layman&lt;/span&gt; will use to pull in the Haskell overlay, after which you may remove the &lt;span style="font-family:courier new;"&gt;darcs&lt;/span&gt; binary.&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# layman -a haskell&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# rm /usr/bin/darcs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If this is the first overlay you have installed (in other words, if you emerged &lt;span style="font-family:courier new;"&gt;layman&lt;/span&gt; above), you will need to add a line to your &lt;span style="font-family:courier new;"&gt;/etc/make.conf&lt;/span&gt;. This is necessary to keep Portage happy.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# echo "source /usr/portage/local/layman/make.conf" &gt;&gt; /etc/make.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2: Install GHC and Friends&lt;/span&gt;&lt;br /&gt;Your next task is installing GHC, the Glorious Glasgow Haskell Compilation System, and its partners in crime. The following lines need to be added to your &lt;span style="font-family:courier new;"&gt;/etc/portage/package.keywords&lt;/span&gt; file to ensure that GHC and friends build from the Haskell overlay:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;dev-lang/ghc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/mtl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/regex-base&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/regex-compat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/regex-posix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/cabal&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/filepath&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An addition to &lt;span style="font-family:courier new;"&gt;/etc/portage/package.use&lt;/span&gt; is also necessary to pull in the binary GHC package, as opposed to bootstrapping it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# echo "dev-lang/ghc binary" &gt;&gt; /etc/portage/package.use&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You're now ready to emerge GHC!&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# emerge dev-lang/ghc&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3: Install Darcs&lt;/span&gt;&lt;br /&gt;In view of the possible future in which you become a Haskell fanboy or fangirl, and decide that Darcs is the perfect tool to manage your projects, you need to install Darcs. It's also necessary because you are going to pull the very newest Xmonad sources from a Darcs tree in Step 4. This time you'll build Darcs from source. Add the following to &lt;span style="font-family:courier new;"&gt;/etc/portage/package.keywords&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;dev-util/darcs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/quickcheck&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/html&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, &lt;span style="font-family:courier new;"&gt;emerge darcs&lt;/span&gt;. I got an error when I did this.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;!!! Digest verification failed:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;!!! /usr/portage/distfiles/darcs-1.1.0pre1.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;!!! Reason: Filesize does not match recorded size&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;!!! Got: 1116180&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;!!! Expected: 1112362&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Because Portage pulled the distfile directly from the Darcs site, I assumed it was safe, and used the &lt;span style="font-family:courier new;"&gt;ebuild&lt;/span&gt; command to update the &lt;span style="font-family:courier new;"&gt;Manifest&lt;/span&gt; file for Darcs, and emerged the package again:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# cd /usr/portage/local/layman/haskell/dev-util/darcs&lt;br /&gt;# ebuild darcs-1.1.0_pre1.ebuild digest&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# emerge darcs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4: Install Xmonad&lt;/span&gt;&lt;br /&gt;Now that everything is in place, it's time to install Xmonad! First, add the following lines to your &lt;span style="font-family:courier new;"&gt;/etc/portage/package.keywords&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;x11-wm/xmonad-darcs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/x11&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dev-haskell/x11-extras-darcs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, you'll need to add a line to &lt;span style="font-family:courier new;"&gt;/etc/portage/package.use&lt;/span&gt; in order to instruct Portage to build Xmonad with the "extensions" USE keyword, which will enable a variety of layout algorithms and other nifty things you may want at some point.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# echo "x11-wm/xmonad-darcs extensions" &gt;&gt; /etc/portage/package.use&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's now time to &lt;span style="font-family:courier new;"&gt;emerge xmonad-darcs&lt;/span&gt;. After doing so, you need to specify &lt;span style="font-family:courier new;"&gt;xmonad-darcs&lt;/span&gt; as your window manager, using whatever mechanism you currently use. For me, that meant updating my &lt;span style="font-family:courier new;"&gt;.xinitrc&lt;/span&gt; with an "&lt;span style="font-family:courier new;"&gt;exec xmonad-darcs&lt;/span&gt;" line.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5: Install dmenu and dzen (optional)&lt;/span&gt;&lt;br /&gt;Xmonad has two pals it gets along well with: &lt;span style="font-family:courier new;"&gt;dmenu&lt;/span&gt;, a lightweight program launcher, and &lt;span style="font-family:courier new;"&gt;dzen&lt;/span&gt;, a status bar program. You don't have to install them, but they're useful, and you won't be inducted into the Church of Xmonad unless you do.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dmenu&lt;/span&gt; installation is as simple as running &lt;span style="font-family:courier new;"&gt;emerge dmenu&lt;/span&gt;. After adding a line to &lt;span style="font-family:courier new;"&gt;/etc/portage/package.keywords&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;dzen&lt;/span&gt; installation is just as simple.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;# echo "x11-misc/dzen" &gt;&gt; /etc/portage/package.keywords&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;If you have followed this tutorial, and assuming I didn't goof up horribly, you should have a functional Xmonad system. Head over to the &lt;a href="http://xmonad.org/intro.html"&gt;Xmonad overview&lt;/a&gt; to find out more about what you can do with Xmonad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-6326316527224863999?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/6326316527224863999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=6326316527224863999' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/6326316527224863999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/6326316527224863999'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/08/how-to-install-xmonad-on-gentoo.html' title='How to Install Xmonad on Gentoo'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3724404315164871806.post-9186894976897721039</id><published>2007-07-30T12:09:00.000-05:00</published><updated>2007-08-07T09:53:49.510-05:00</updated><title type='text'>Moo</title><content type='html'>Greetings, plebeians.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3724404315164871806-9186894976897721039?l=awmf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://awmf.blogspot.com/feeds/9186894976897721039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3724404315164871806&amp;postID=9186894976897721039' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/9186894976897721039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3724404315164871806/posts/default/9186894976897721039'/><link rel='alternate' type='text/html' href='http://awmf.blogspot.com/2007/07/moo.html' title='Moo'/><author><name>Joseph</name><uri>http://www.blogger.com/profile/02262746503370725444</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
