Michal Wallace: The other main advantage is the huge number of developers. Thanks to Microsoft’s reach, .NET is a much bigger pond than python. I can hire .NET developers anywhere, or if i want, I can get a job as a .NET developer. (The Java pond is bigger still, but Java always felt clunky to me.)
My first recommendation aligns with Aristotle's: diversify. I didn’t do any Perl in the past week, but I did do Python, PHP, Ruby, and JavaScript. In pond size terms, PHP is huge and growing. Ruby is nascent but exploding.
My second recommendation is to consider the whole picture. For me, that includes source control and unit tests.
What I like about Ruby isn’t just the language, but that the community that surrounds this language tends to share these values. Pick up a random PHP package, and try to find the test cases. Where are the unit tests for netron?
Now, just try to submit a patch to Typo without a test case, I dare you. In fact, before making any choices, I’d suggest that you try the following: Check out Typo. Copy config/database.yml.example to config/database.yml, and tailor it based on your needs. Then create your databases. For mysql (for example):
create database typo_dev;
create database typo_tests;
Load the schema for the tables:
mysql -p typo_dev < db/schema.mysql.sql
mysql -p typo_tests < db/schema.mysql.sql
Make sure that rake is at version 0.7.0 or later via rake -V, if not, execute sudo gem install rake.
Now type rake. You should successfully execute hundreds of tests.
To get a feel for how all this fits together, look at this patch — test cases, test data, and code, each has a place. The test cases can verify — at a very fine grained level — everything from the HTTP status codes, to the HTML that is returned, to the results of XPath queries.
Every part of this patch was developed solely using VIM.
The only downside to Rails is that you have to find a hosting provider that supports — at a minimum — FastCGI.
Got any recommendations? ;-)
For the past couple of nights, I noticed a strange thing. I’d go to bed with my entries showing up on Planet Intertwingly. I’d wake up with a number of them missing.
...
Time to kick it up a notch. This time I’m armed with a patch which includes test cases.
...
Jeffrey Tucker: A special thank you to Sam Ruby for fixing the Schola’s atom feed in Firefox live bookmarks. He performed selflessly and brilliantly without asking anything in return.
...
Ben Goodger: The problem with detecting feeds is that very many feeds are served with incorrect or overly generic Content-Types. Some are served as text/html which is clearly wrong, but others are served as application/xml or text/xml which is not incorrect, just not specific enough. We can’t attempt to parse every candidate Content-Type as a feed just to see if it is, since that would significantly impact our performance. We also can’t restrict ourselves to Feed types, since that would leave us not detecting a lot of feeds, and still be incorrect.
Added NonSpecificMediaType warning
Inspired by Bloglines, which apparently in turn was based on work by Matt Kruise, I’ve added navigational key support to Planet Intertwingly and to the index and comments pages on my weblog.
...
How do we go about getting builder updated in Rails 1.1, picked up by Typo, and deployed by Amy?
...
This weekend’s recreational programming project involved PlanetPlanet and ensuring that there is adequate support for Atom. And there’s nothing like live data to help identify integration issues.
...
bzr get http://www.gnome.org/~jdub/bzr/planet/devel/trunk/ planet
Apply this patch
Download Universal Feed Parser 4.1
Edit config.ini
python planet.py config.ini
Done
Avi Bryant: In July, I’ll be in Portland at OSCON, talking about Web Heresies.
Just when I was just starting to get comfortable with svn, along comes bzr. For me, the biggest benefit of svn over cvs is the increased ability to work offline. It looks like bzr intends to take this to the next level,
...
I’ve made some progress getting my
recent
slide
show to display on IE. It is time to document a few of
the obstacles I have encountered, and capture what I have done so
far.
...
Dare Obasanjo: When talking about REST and HTTP-For-APIs,
we should be careful not to learn the wrong lessons from how
HTTP-For-Browsers is used today
My two cents: you have to look deeper. Otherwise, you will
miss the fact that the split is actually elsewhere.
...
Matthew
Mullenweg: the author of the Well-formed Web spec has
changed the capitializition of the wfw:commentRSS element at some
unknown point to lowercase Rss. This arbitrary decision has been
codified by the validator, which now reports the millions and
millions of feeds that use the previously correct capitialization
as invalid
I’ve just deployed a change, downgrading this to a
warning.
...
Tim’s
post made me think
...
Ben Lowery: The various security issues presented in this
thread have been addressed and fixes have been pushed out to the
production site. Please let me know if you find any problems with
the fixes, or if you find more issues.
Paul Querna:
It is interesting to ponder the value of the
Apache HTTP Server
Project, but I think at some point, you
can’t get caught up in silly things like that. You need to do
open source for yourself first. If other people use it... thats
just a bonus.
That’s certainly The Apache way. But as I post this using Ubuntu Linux
...
Bloglines:
Psssssst. Hit m. You’ll thank me later
Not exactly. I used to have a
bookmark
— Note: do not click on that link if you are
an active Bloglines user unless you want
all your unread items marked as read
— and for the last week or so, the accelerator keys stopped working
for me. Now I understand why.
Instead of breaking things that used to work, I’d really
appreciate if Bloglines could handle basic things like
whitespace,
links,
relative
URIs, and
plain
text. Oh, and fix a few
security holes. And be a
bit more responsive.
Otherwise, I’ll continue to
wave my arms and gesticulate wildly. Expect more
stunts.
Ian
Hixie: I think it may be time to retire the Content-Type
header, putting to sleep the myth that it is in any way
authoritative, and instead have well-defined content-sniffing rules
for Web content.
The reason why people can safely enter non-Latin-1 characters in
my comments and have them presented properly to all consumers that
have installed the appropriate fonts is that these pages specify
charset=utf-8 in the content-type header.
Sniffing for the character encoding used is clearly not the
answer. Nor am I
convinced that
meta
http-equiv is either.
Mark Pilgrim: Please take this opportunity to relate
amusing anecdotes about your vasectomy.
...
Slides
for an internal presentation.
I was invited in order to help advocate that certain
applications provide Atom feeds in addition to RSS
feeds. I’ve declined to do so, as I now feel that every
feed should be provided in exactly one feed format,
preferably with an x.0 version number. If your
feed is valid and you are
aware of — and have a strategy of coping with — the
limitations of the feed format you selected,
peace be
with you.
...
Niall Kennedy: Starting next week I will join
Microsoft’s Windows Live division to create a new product
team around syndication technologies such as RSS and Atom. I will
help build a feed syndication platform leveraged by Microsoft
products and developers all around the world. I am excited to
construct a team and product from scratch focused on scalability
and connecting syndication clients and their users wherever they
may exist: desktop, mobile, media center, gaming console, widget,
gadget, and more.
This has the possibility of being a Very Good Thing.
...
It started with a hard drive failure. On
a machine that is between three and four years old. It ended
with me spending a half day installing not one, but two operating
systems. And being pleasantly surprised how smoothly it
went.
...
First, I
verified
that the
RSS 0.91 spec is
more honored in
the breach than the observance. Then
I switched exclusively to Atom 1.0.
Time to
destroy the internets again. But only for those
Aggregators with an 'X" in column four in
this
table. Non-IE based aggregators with an X in this column
will simply see silent data loss. IE-based aggregators with
an X in this column that aren’t based on white-listing may
see a repeat of last Tuesday.
If your aggregator is broken, point the authors to
section 3.1.1 of RFC 4287.
_why:
So, it’s really not much, but it does handle most things,
and it’s decent enough... It’s Park Place, a clone of
Amazon’s S3
(Simple Storage Service.) It’s written
entirely in Ruby, with heaps of help from the
Camping 4k web
framework. Oh, and no SOAP support to speak of.
[announcement]
While making other changes to my weblogging
software, I noticed that some of the code was running using Python
2.2 and others using Python 2.4 based on the entry point. As
the majority code is largely independent of the entry point, this
made little sense, and without much thought I changed the primary
entry point to use 2.4.
...
Boris
Bialek: Finally ! We made it and you can get it... Now ! If
this sounds like I am on endorphine loaded high this is maybe true
- it is great to be part of such a cool project. The DB2 Viper test
drive is now available with a highly optimized Linux version fine
tuned for the Linux Kernel 2.6 with all bells and whistles. It will
give you a lot of fun to kick the tires. The test drive is
available from the DB2 Viper
web zone.
I’ve decided to only offer per comment
feeds for a period of 90 days after the last comment has been
received on any given entry. After which point, the
autodiscovery link and the common feed icon will be removed from
the page, and any attempt to fetch the feed will return an HTTP 410
status code.
...
Andy Roberts: I’ve started a new project called
“the delta web”. The idea is to define a markup
language called “delta” for describing changes to
Web-based documents such as Atom feeds. Delta lets you capture the
notion of “change over time” or “work done”
to content on the Web.
Rod Smith: Inside I.B.M., do-it-yourself software is an
oxymoron
Clearly an over-generalization with a (somewhat large) element
of truth to it.
It always is refreshing to be working in an area where there is
a clear recognition of the problem to be solved.
Dustin Diaz: Welcome
to the first annual CSS naked day which will be happening April
5th, 2006. The idea behind this event is to promote Web Standards.
Plain and simple. This includes proper use of (x)html, semantic
markup, a good hierarchy structure, and; well, a fun play on words.
I mean, who doesn’t want to get naked?
Central North Carolina is home to a
lounge
(status: suprious) of small lizards, most commonly
skinks and
anoles. One, apparently an anole, wandered onto my screen
porch and couldn’t find its way back to freedom.
...
David Reid:
One trait that I’ve found most of the people working on
open source share is that they find it hard to let go. I’m
guilty of this myself, but have, over the years, found that
it’s a neccesity if sanity is to be preserved!
I feel strongly that Atom processors need to
be able to process relative references in a consistent
manner. But, for now, I’ve restored the use of absolute
URIs in my Atom feed, and I will keep it that way for a minimum of
90 days.
...
Ted Husted: How many ASF committers does it take to change
a lightbulb?