|
|
Saturday, November 26, 2005
|
|
| |
Lothar Märkle has a neat little perl CGI substitute for Maven proxy. I started to use it to build up a Maven 2 repository at work for our Maven 2 builds. Only when it wasn't quite behaving as I expected, I really didn't want to brush up my perl skills to debug it. Why do that when you can spend an afternoon polishing up a ruby version?
So here's maven-proxy.rb, version 1.0 (download zip). Check it out, I think I baked in a couple extra neat features, including the ability to transparently navigate remote, uncached directories from your local repository. I also gave an example Apache configuration to let Apache serve the cached content while deferring to the CGI for the remote, uncached resources. It's licensed under an MIT-style license, so I only ask that you give me credit (or blame) for the original code :)
If you ask me, this is better than running the original maven-proxy under Tomcat...
Happy Holidays!
4:57:05 PM
|
|
|
|
Tuesday, September 13, 2005
|
|
| |
So, it turned out to be a well-timed Gillmor Gang this week
for me, as I started listening to it on the same day as the PDC keynotes were webcast.
It seems that Microsoft is fast approaching a fork-in-the-road.
The left fork represents the illusion of continued desktop dominance
fueled by Wall Street hunger for sky-high
profit margins in the Windows and Office businesses, and is very
much grounded in the 20th-century Microsoft. The right fork
represents the future of the company, battling for market share in a
Web 2.0 world, innovating both in the rich client and web application
arenas, playing fair by creating and building open standards, and
doing all of this in such a way that the end user comes out the
winner.
So which way will they go? Where's the new revenue model in the open
world of the web when your sacrifice your existing business to get
there? That's the big white elephant in the room at PDC.
Microsoft, stop charging for the tools. If Avalon, Indigo, Atlas,
LINQ, Max and all the other goodies being dangled in front of
developers this week are to ever gain any widespread adoption, they
need to be accessible to the hobbyists out there. Give away IIS. If
Apache is already free, what incentive is there to run IIS? Give away
SQL Server, to at least level the playing field with MySQL. Give away
Visual Studio, allow companies to develop and deploy ASP.NET and
Indigo applications to their heart's content. Make it possible for
the hacker in the basement (i.e., me) who's taken up Ruby on Rails to
try your way of building web apps.
Jon Udell tells a good
story in the Gang podcast of the difference between TerraServer
and Google Maps. TerraServer has been out for years, has a public
API, and yet has not inspired innovation or remixing in the way that
Google Maps has. The conclusion was that Microsoft has too long
focused on the developer as a professional ISV. In this scenario, the
ISV is just a middleman preventing and stifling user innovation because the
cycle is too lengthy. By the time developers have gotten around to
building and distributing apps and getting some level of user
adoption, there's no where left and no reason for the user to innovate
-- it's too late. Of course, user customization and innovation is
what the new 21st century web is all about.
So, Microsoft, take that leap of faith, get your stuff out there,
gain adoption through cool, fun, programmer-friendly, easy-to-use
tools and an open platform. Compete based on speed of innovation and
the ability to retain a user base through that innovation without
locking them in. Choice is what builds trust.
Take the Right Fork.
8:43:21 PM
|
|
|
|
Friday, September 2, 2005
|
|
| |
Rule engines, at the outset, appear to be a nifty concept for
making Java applications more late-bound, dynamic and configurable.
Drools in particular even seems to be getting some traction as I've
seen in mentioned several times over the past few weeks. But why, oh
why do they insist on the angly-bracket, ugly XML syntax?
Maybe I'm just a Ruby-as-platform-for-building-DSLs
convert,
but doesn't this seem a whole lot more readable than that mess
of XML that Drools uses?
require 'drools'
require 'daofactory'
require 'stockoffer'
class StockOffer
def print
p "Name: #{@name} Price: #{@price} BUY: #{@recommend_purchase}"
end
end
class BusinessRulesSample < Drools::RuleSet
application_data DaoFactory
rule "XYZCorp" do |rule|
rule.accepts StockOffer
rule.salience = "-1"
rule.condition {|stock| stock.name == "XYZ" }
rule.condition {|stock| stock.recommend_purchase.nil? }
rule.condition {|stock| stock.price > 10 }
rule.consequence do |stock|
stock.recommend_purchase = :no
stock.print
end
end
rule "Stock Price Not Negative" do |rule|
rule.accepts StockOffer
rule.condition {|stock| stock.price < 0 }
rule.consequence do |stock|
stock.recommend_purchase = :no
stock.print
end
end
rule "Stock Price Low Enough" do |rule|
rule.accepts StockOffer
rule.condition {|stock| @dao_factory.stock_dao.on_stock_list? stock.name }
rule.condition {|stock| stock.recommend_purchase.nil? }
rule.condition {|stock| stock.price < 100 }
rule.consequence do |stock|
stock.recommend_purchase = :yes
stock.print
end
end
end
10:23:31 PM
|
|
|
|
Saturday, August 6, 2005
|
|
| |
What a whirlwind week at OSCON! I'm still spinning and trying to catch up on sleep the day after getting back home from my first O'Reilly conference experience.
For me, the main themes this week were Java, Ruby, Ajax/Remote scripting and Subversion. I have some skeleton outline notes from several more talks that I'll put online shortly at my OPML blog. I'm still too overwhelmed to form these into fully coherent thoughts, and each could easily generate multiple blog postings.
Off the top of my head, here are a few random thoughts that were floating through my head this week:
- If you want to meet the best hackers in the world, come to OSCON. Open source programmers are the most passionate of their kind, and where there's passion there's intelligence, community and great ideas.
- If you want to hire the best hackers in the world, come to OSCON. The networking opportunities are absolutely incredible -- I was blown away. Now actually convincing a hacker to come work for you is a different story. It would help if your business had some kind of open source strategy, so that the hacker can continue to participate in the community and give back what he or she works on at your company. Non-open-sourcers will find it unreal, but it is possible to contribute to an open source community and still receive a lot of business ROI from the exchange. Paul Graham is quite possibly the most articulate speaker you could find on this subject. I was at his What Business Can Learn From Open Source keynote and it immediately struck me as great fodder for discussion at the cube farms back at work.
- Damian Conway is an evil genius. And his arch nemesis may be Danny O'Brien.
- As I mentioned it was my first time at OSCON, and I was really surprised to find the whole OSCON community extremely friendly and receptive. I never sensed any elitist attitudes (not that there probably aren't any here or there) and never felt like an outsider. To me, it's important that the community retain this sense of welcoming and open-ness so that we can further the cause and be better positioned to promote change for good in the world.
- Ruby is a super cool language, but it's not a panacea. There is still lots of room for growth in the language. During Matz's talk he mentioned that he wants to implement a sealing feature of some kind so that some Ruby code could be locked down or scoped to a single file only (unlike the current implementation where you can change any class, anywhere, on the fly). Ruby still seems a year or two away from fuller adoption in the enterprise, although that's not going to stop me from trying to use it.
- Likewise, Java's not dead either. The same players in the Java open source community are around and are still committed to the language. However, the politics can tend to get a bit more ugly.
- Subversion is ready for primetime and I can't wait to roll it out at work.
Like I said, my head is still reeling and my blood still pumping after a high-octane week. I'm looking forward to stepping up my involvment in the open source community and I hope to maintain contact with all the folks I had the pleasure of meeting during the conference. Cheers!
3:27:27 PM
|
|
|
|
Tuesday, May 24, 2005
|
|
| |
Finally sitting down play with rails on OS X. I had previously built Ruby 1.8.2 from source and installed into /usr/bin on top of OS X's default ruby -- seemed to work fine. Now, just upgraded to Tiger last weekend, got as far as creating a new rails model, when I got a nifty little error:
Access denied for user: 'root@localhost' (Using password: YES)
Seems that Tiger broke ruby for more folks than just me.
Whiz-bang-crash, several packages later...
- fix-ruby-tiger.sh from above
- download, build and install fastcgi
- download and install MySQL 4.1.12 from an OSX binary package
- download, build and install mod_fastcgi (apxs works!)
- install mysql gem (gem install mysql -- --with-mysql-include=/usr/local/mysql/include --with-mysql-lib=/usr/local/mysql/lib)
So far, so good, but haven't reached the kicker yet...what amazes me though through this whole process is how transparent it all is. It's happening on a Mac, but it's all good ol' FOSS that configure && make && make install's as good as on any other box (except XP :).
10:35:58 PM
|
|
|
|
Thursday, April 7, 2005
|
|
| |
Just recently started work on a project which requires the use of WS-Security. I was initially skeptical about the whole WS-* stack in general, especially with the REST/SOAP debate that's so hot recently. My own design philosophy favors simplicity anyway, and just trying to follow the WS-* specs makes me dizzy.
So imagine my surprise when I stumble across Sun's webservices stack! Why didn't I think to look to the gatekeeper of Java? Because it didn't come from Apache or the the Codehaus? (Hani would laugh at that one.) I had been using trusty Axis for well over a year now, but WSS4J is lagging behind and doesn't even have any downloadable release out. Worse, I'd be forced to upgrade to the yet-to-be-released Axis 1.2? Thank you Sun, no thanks, Apache.
Oh, and what's this? Sun and Microsoft are playing well with each other? We'll see shortly just how true that is.
10:22:28 AM
|
|
|
|
Wednesday, March 23, 2005
|
|
| |
From an old javaworld article I ran across from Allen Holub:
...maintainability is inversely proportionate to the amount of data that moves between objects.
10:56:13 PM
|
|
|
|
© Copyright
2005
Nick Sieger.
Last update:
11/26/05; 9:34:00 PM.
This theme is based on the SoundWaves
(blue) Manila theme. |
|
| November 2005 |
| Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
| |
|
1 |
2 |
3 |
4 |
5 |
| 6 |
7 |
8 |
9 |
10 |
11 |
12 |
| 13 |
14 |
15 |
16 |
17 |
18 |
19 |
| 20 |
21 |
22 |
23 |
24 |
25 |
26 |
| 27 |
28 |
29 |
30 |
|
|
|
| Sep Dec |
|