TSS now runs Tapestry
Posted 2005 Jan 26Well, it was news to me - but TheServerSide has relaunched using Tapestry - my favorite Java framework!
Congratulations, Howard. I heartily recommend Tapestry—it makes Java/J2EE fun again.
Well, it was news to me - but TheServerSide has relaunched using Tapestry - my favorite Java framework!
Congratulations, Howard. I heartily recommend Tapestry—it makes Java/J2EE fun again.
Well, I couldn’t resist any longer… I have been using Gentoo since version 1.2 (yeah, that long) and it is - without a doubt - my favorite distribution. I chafe at fink, whereas Portage just seems to get everything right. Portage gives me plenty of control and excellent dependency. Plus (I know it’s cliché) writing an ebuild really is easy, so it’s a snap to add missing packages to Portage.
Anyway, I downloaded Gentoo for Mac OS X and am in the process of syncing right now! I’ll keep a running evaluation of Gentoo for Mac as best as I can, though things certainly seem more more stable than in the recent past.
Feels like home…
After much procrastination, I have made some minor updates to CocoaTextile. Namely:
There are some other behind-the-scenes changes, but nothing too exciting. Feel free to post any comments here or contact me directly—my contact info is in the About… box. Enjoy!
Download: [CocoaTextile-0.02.dmg]
An O’Reilly article about Rails, a web application framework for Ruby, has certainly piqued my interest. There were a couple of bumps in the road to getting setup, but now I’m totally enamored with Rails!
I used fink to install Ruby 1.8 (OS X comes with an older version). I already have MySQL (for WP - more on this later). Next, I downloaded and built gem manually (unfortunately, there is not yet a fink package for gem). I also found CocoaMySQL - a nice GUI front-end for MySQL. After that, I modified my httpd.conf and was up and running!
<pre><code> Packets out of order: 1<>3: SELECT * FROM </></code>
Thankly, this issue had already been noted, has a ticket and solution/workaround. Because WordPress does not support the new MySQL 4.1 password hashing, my database password was encrypted with OLD_PASSWORD. So, I just created another user and encrypted the password with PASSWORD. Voila!
I’m still learning - this is my first foray into Ruby - but I’m very impressed! The O’Reilly article is helpful, but the Todo tutorial at Ruby on Rails is much more comprehensive. Also helpful is the API docs.
My only “issue” so far - and it may turn out to be unjustified - is the lack of XHTML templating functionality (ala HTML::Template, Mason or even Smarty).
This is very cool.
J2ME development on the Mac is sorely lacking. This O’Reilly article noted one of the few J2ME gems for Mac developers: Michael Powers. Michael provides (I think) the only MIDP 2.0 runtime for the Mac, mpowerplayer. I used DR2 successfully, but it looks like DR3 is out and has many improvements!
Also helpful for Mac J2ME programmers:
This opinion piece at DevX is riddled with the strangest proclamations—disguised as dissertation on the utter failure of OOP. Here are some choice quotes:
object-oriented programming (OOP) offers benefits only in a specialized context—namely, group programming.
That’s the strangest (and most inaccurate) claim against OOP that I have ever read. I use OOP successfully in almost all of my projects… from the largest web app to the smallest Python-powered AIM bot!
With the possible exception of GUI components, I’ve never heard of an OOP success story that on close inspection demonstrated OOP’s efficiency.
What about frameworks like Cocoa? I would point to this immediately and enthusiastically as a successful OOP implementation (and not just the GUI portions)! A well-designed OOP framework is both efficient and powerful. Because of things like polymorphism and dynamic binding, I can use Cocoa classes as building blocks - rather than re-inventing the wheel. With encapsulation - which seems to be author’s biggest fear—I can focus on my application and leave the “plumbing” to the framework.
Further, most programming is done by individuals. Hiding code from oneself just seems weird.
Listen: you are not secreting it away… you are encapsulating an implementation detail that, once implemented, does not necessitate constant re-examination. Clearly, the author comes from the “I want to see every detail” camp—talk about inefficient!
A frequent argument for OOP is it helps with code reusability, but one can reuse code without OOP—often by simply copying and pasting.
I have to give him this one: he has discovered the fabled 100% Reusability! Seriously, even junior programmers know the answer to this one! Say it with me: “Now you have to change it in many places instead of one.”
Encapsulation, too, is a noble goal in theory: you’ve reached the Platonic ideal for a particular programming job, so you seal it off from any further modification.
Yes, but there is more: encapsulation allows code to be segmented. So, when modifications do occur, they can be limited to the encapsulated space—rather than effecting the user’s of said code. Encapsulation isn’t the end, it’s the means.
I think this piece suffers from a case of throwing the baby out with the bathwater. OOP is a powerful paradigm, but certainly one that is easy to abuse. And, unfortunately, more often than not, it is. But, I think we all know: With great power, there must also come great responsibility.
OOP, if properly implemented and not over-applied, can lead to a startling succinctness. Certainly more lucid than the reams of comments and duplicated code that tend to accompany procedural programs. In fact, I would argue that OOP more accurately models Natural Language than procedural programs.
The true thrust, in my opinion, of this article does not appear until the end: a rant against C++. It’s a shame that he seems to have con-fused the two. One would think that the rising popularity of languages like Ruby, Python and others would have caught the author’s attention—but they are strangely absent.
The author seems also to have neglected the notion that OOP and simplicity are not mutally exclusive. Again, it is difficult to perceive the author’s ulterior motive. Likewise, he doesn’t seem to present a plausible alternative—except, perhaps, for the implicit hark back to the Glory Days of Procedural Programming.
Update: seems I’m not the only who is shaking his head at Mr. Mansfield.
The Morning News is holding the First Annual Tournament of Books with an NCAA-style bracket.
This is such a good idea. It’s hard to find meaningful insight on contemporary fiction—recommendations on Amazon tend to be skewed either toward fans of the genre and author or by people thoroughly displeased with their purchase. I have found that TMN has spot-on suggestions!
Unsurprisingly, I see that Phillip Roth’s Plot Against America is on list. I have yet to read this book, but amongst the sea of praise, I found the following two articles quite thought-provoking:
Now, if I could just finish The Confusion, I could start making some progress on my ever-growing To Read stack!
Not sure what I think about this. Basically, it’s a consideration of blog content ownership, who can re-publish it and how.
Services that are trying to make certain websites more accessible are getting slammed by bloggers who are accusing these services of “stealing” content or (my personal favorite) leading to the “loss of potential revenue.”
While I’m certainly not concerned about any “loss of potential revenue”, I am curious about how this interacts with my CC license—which is Attribution, Non-commerical.
I think I can characterize myself as a “Late Discoverer, Early Adopter”—because I’m just now discovering Bloglines. As I added more and more feeds to my RSS reader, I was becoming increasingly frustrated with synchronization across computers. It’s a pain, frankly, to have to repeatedly sort through which posts are new, old or updated.
Bloglines is great. I have yet to find anything about the interface that I don’t like. I can even mark an item as Unread—unlike Newsfire. For which, by the way, I recently downloaded the update. It’s a shame there are still a couple of usability issues (for me) because it’s the finest looking RSS reader out there.
Anyway, I’m still playing with Bloglines. I’ve already developed a Bloglines AIM notification bot using Twisted. I know there’s already a notification bot… but it’s in Java! You can never have too many bots. I’ll post it once I’ve done mulit-user testing.
The Bloglines API is open, excellent and could be part of the next Killer App. In particular, I’m hoping NetNewsWire gets synchronization working as promised!