VERSIONARY::BLOG






Recent Entries
firefox os x tricks
Let your Struts DispatchActions Fall through
thoughts on tapestry
Netgear WGR614v2 stinks!
Riding through Chernobyl
Thoughts on Class Naming
One Tabbed Browser to Rule them All
Ketchup; see also Catch-Up
LOAF is a really dumb joke, can you please move on?
My 1st Apple


Monthly Entries
February 2005
October 2004
August 2004
July 2004
June 2004
April 2004
March 2004
November 2003
October 2003
September 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003


Links n' Stuff

Wil Wheaton

JGuru
IntelliJ Tech Net
Oracle Tech Net
The Serverside
Javaranch Forums
JavaLobby

Coast to Coast
Terry Tate: My Hero



Categories
everything else
java
 


October 29, 2004

firefox os x tricks

These two tricks have made my os x firefox experience much better so I thought i'd pass them along.

  1. Use pretty widgets, this trick rocks! The generic firefox widgets on os x are UGLY as sin.
  2. Use skinned tabs
  3. Some more tweaks

Posted by Andre Mermegas at 11:06 PM | Comments (0)

August 26, 2004

Let your Struts DispatchActions Fall through

This is nice, because now you can have a default behavior on dispatch actions.
public class BaseAction extends DispatchAction 
{ 
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
            HttpServletRequest request, HttpServletResponse response) 
            throws Exception 
    { 
        String method = request.getParameter(mapping.getParameter()); 
        if (method != null) 
        { 
            return dispatchMethod(mapping, form, request, response, method); 
        } 
        else 
        { 
            return mapping.findForward("success"); 
        } 
    } 
}
Posted by Andre Mermegas at 12:21 PM | Comments (0) | TrackBack (0)

July 12, 2004

thoughts on tapestry

I've been a bit bored lately so I recently decided to go back and really get a grip on Tapestry. I started out stepping through a bunch of tapestry examples and in general trying to get my head around the framework using the docs on the website which are actually pretty good. I picked up the manning book also and have read most of it now, the book is pretty spot on though I think the web docs are almost as good so I'm not completely sure I needed it but I'm addicted to buying books so I'll live.

Here are my problems so far:

  • URL's are very messy and awkward, why do they have so much Tapestry state in them that I have to implement an interface to create bookmarkable URL's?
  • why do I have to create an extra value property in my page to be updated while looping in a @Foreach? seems like this should be created dynamically for me.
  • rewriting/hacking any bits of JSTL that I'm used to and are missing into Tapestry components . I guess I feel a little vulnerable and outside of my comfort zone not using JSP/JSTL
  • the whole Visit object thing is kind of weird. I think I prefer directly operating on the Session and Request
  • Why prefix Interfaces with 'I'? Looks weird and is not very Java like.

    Here's what I like:

  • clean html
  • possibility to easily create really nice reusable component libraries
  • dynamic javascript components are kind of cool.
  • line precise error reporting is very nice especially if you name your component usages name@TextField.
  • more to come on this...

    Posted by Andre Mermegas at 11:42 PM | Comments (0) | TrackBack (0)

    June 24, 2004

    Netgear WGR614v2 stinks!

    I picked up one of these not so long ago, not sure why. My last 802.11 router was a B linksys and i never had any problems. Ever since I picked up this netgear though, everytime I connect to bitTorrent or any other kind of p2p network this thing just dies and needs a reset.

    I've tried upgrading the firmware no help, anybody else had any problem like this? I think it has to do with the large number of connections that these programs create the router just dies because NAT can't keep up with it or something.

    Posted by Andre Mermegas at 07:53 PM | Comments (0) | TrackBack (0)

    March 30, 2004

    Riding through Chernobyl

    A Ghost Town. Remember planet of the apes (the original not that crap remake)?

    Posted by Andre Mermegas at 09:48 AM | Comments (0) | TrackBack (0)

    March 24, 2004

    Thoughts on Class Naming

    I've noticed that I often include redundant information in my class naming schemes and have been meaning to re-evaluate if and when its really neccessary.

    For example the following classes are typical of how I name things:

    com.versionary.struts.actions.ViewProductAction
    com.versionary.struts.forms.ProductForm
    com.versionary.beans.ProductBean
    com.versionary.dao.ProductDAO
    com.versionary.services.ProductService

    Is it really neccessary to append this sort of "metainformation" to the class name when it is obvious they are such things based on the package they belong to?

    Isn't that the whole reason why there are packages to avoid naming collision? It seems like in the purest sense they should all be named Product and let the object instance name do all work resolving this supplementary information for the developers reference. Well in practice it really doesnt work out that way it seems.

    The only way I can explain the need for this sort of redundant description in the class name is in the following case I use a ProductDAO,ProductBean, ProductService and ProductForm in the ViewProductAction, which is often the case for me at least. The big advantage is I don't have to fully qualify to resolve each of them, which seems to be important, though I don't know how this became ingrained in me. Is this a holdout from our programming heritage, ingrained in our psyche? Why is a FQN so ugly to us but a long class not?

    At all costs we avoid dealing with fully qualifying a class and consequently we are overly descriptive in our class naming. I wonder why we all think like this. In an extreme way it kind of makes you question the point of even having an actions,forms,beans,dao and services package other than for appearances and habit if I'm just going to append this sort of information to the class name anyway. With a naming convention like this every class can happily reside in one application package with no problems. I'm not suggesting any of this single global package is something I'd ever do, but I'm just thinking it really wouldn't make a difference if I did.

    Perhaps I'm thinking about things incorrectly. Maybe this sort of naming is a neccessary redundancy for the sake of a greater simplification i.e. avoiding fully qualifying. I was going through various example/sample projects out there just to see how other people do their naming. For struts and ww, every piece of Action code I've ever come across always appends Action to the class name. This seems to be a standard practice even though the chances of the developer actually referencing this class anywhere outside the configuration file is usually very slim so the fully qualifying argument doesnt really apply here yet we all still do it.

    On another front the Spring framework's jpetstore app and some recent purchases have left me thinking that maybe what I've been calling beans are in most cases more appropriately called domain objects. It seems that in the Spring code domain objects receive a naming preference in the application and go unappended while other potentially ambiguous classes have their secondary information added to them. This seems pretty reasonable to me, especially since I was not giving any class this distinction previously.

    Now the question becomes is it really simpler to "pollute" the class name with this information or fullly qualify to avoid it.

    I'm probably going to stick with how I've been doing things except shift to giving my bean/domain objects preference to the "unpolluted" name for now and think a little more about it.

    Posted by Andre Mermegas at 07:28 PM | Comments (4) | TrackBack (0)

    March 18, 2004

    One Tabbed Browser to Rule them All

    MyIE2 is really amazing. If your running Windows and not using it, you've got to try it.

    It's got tabs, gestures,ad blocking, pop up blocking, embeds IE in this environment and in the most recent builds you can now embed the gecko engine as well. So now you can have one tab rendering with gecko and the tab next to it rendering with IE! To get this functionality all you have to do is install the Mozilla ActiveX Control along with MyIE2.

    Nice Right?

    Posted by Andre Mermegas at 07:50 PM | Comments (6) | TrackBack (0)

    March 15, 2004

    Ketchup; see also Catch-Up

    First off, anybody who knows me, knows I have a compulsion for buying books, mostly technical books, but these days I've been obsessing on a lot of poker stuff too. With that here are a few of my recent aquisitions.

    Ordered these promising gems the other day, looking forward to them arriving.

    and

    I'm currently reading this. Probably going to do the cert at some point in the future and this book looked like a pretty good exam study guide with a different presentation slant.

    So far its pretty fun, and very easy to absorb. I don't really care for the visual style because to me the 50's style pictures and catch phrases that they use is a played-out-i'm-way-too-cool-and-hip kind of thing... But i've worked past that personal visual bias and am really enjoying the text and format.

    This is one of my favorite purchases so far this year! Easily The best Optimus Prime Toy ever made. It's AWESOME.


    Posted by Andre Mermegas at 07:20 PM | Comments (0) | TrackBack (0)

    November 18, 2003

    LOAF is a really dumb joke, can you please move on?

    Posted by Andre Mermegas at 11:13 PM | Comments (4) | TrackBack (0)

    October 10, 2003

    My 1st Apple

    Has Shipped and Panther will be delivered to me on the evening of the 24th and my 512MB ram upgrade arrived from crucial yesterday.

    I've spent a LONG time mulling over this purchase, I've been interested in getting an Apple since I first heard about Rhapsody some 6? years ago.

    Initially when the G5's were introduced and I saw panther's feature set I became convinced that it was time to make my move but the more I thought about it the more I said to myself if I have a G5 sitting at home all day, doing nothing it is going to KILL ME. I wouldn't be able to concentrate on work knowing that machine was sitting idle at home.

    So that made me start thinking about powerbooks, the new 12" while nice has a retarded built-in 256MB ram with only 1 expansion slot, so the maximum ram is only 768 without buying a $700 dollar 1gb ram chip, the 17" is pretty sweet but a touch unruly due to size in my estimation and the new 15" is a perfect middle ground.

    So after going over the price variations for each model in my head and ton of visits to the apple store I finally decided on the 15" to be my very first apple computer and if things go well with my "Switch" the dual G5 can eventually be my second apple!

    Now I have to find myself a nice messenger style laptop bag.

    PowerBook G4 15.2/1.25GHZ/512/80/SD/A
    The unit above contains the following options:

    Processor 065-4116 1.25GHz PowerPC G4
    Memory 065-4541 512MB DDR333 SDRAM
    Hard Drive 065-4544 80GB Ultra ATA Drive@5400rpm
    Optical Drive 065-4119 Super Drive (DVD-R/CD-RW)
    Country Kit 065-4496 Country Kit/Airport Extreme
    Keyboard/Mac OS Language 065-4495 BkLit Keyboard/Mac OS

    Posted by Andre Mermegas at 04:09 PM | Comments (1) | TrackBack (0)

    September 15, 2003

    odds & ends

    Well, long time no blog, here's some junk that's on my mind:

    • I've been enamored with apple machines for a while ever since I heard about rhapsody, but I've never actually bought one. Now that I feel I'm ready to actually lay down some cash for a G5 when panther comes out I figured I'd go through 'em. There have always been these little things that bug the hell out of like why does apple maximize window not take up the full screen like windows maximize does? I've read posts where apple people say its actually better human interface because it doesnt take up any more space than it actually needs blah blah blah but i can't help getting annoyed with this bit of functionality. I think that I can get past it though with time.

      Another minor quirk that always annoyed me was that there was a really poor alt-tab'ing interface. I alt-tab like mad, thats just the way I do things and the apple implementations prior panther are junk. Panther has finally fixed this admittedly petty gripe for me with expose and a real ctrl-tab functionality like I'm used to on windows.

      I've spent my fair share of time at apple stores, trying to get a feel for os x and one of the other short comings to my taste is the lack of feature control i see in their control panel type thing. I like to be able to turn off and on things like showing window contents while resizing and moving because they slow crap down even with quartz+++ on g4's I havent really seen a g5 yet. I like fine tuning these aspects of my ui, and os x seems to lack this type of fine grained control. Are OS X configuration settings stored in flat files in some /etc structure? if so then that wouldnt be so bad. I think I can get over this however as most of the choices apples make for you seem pretty decent.


    • Ok this next bit let me preface with I'm an IDEA junkie, have been so for the past 2 years but my company is big into IBM and we use WSAD, Websphere, and they got rid of DB2 for Oracle a couple years ago. Now one good thing about using an IDE and an App server from one vendor is they usually have good integration, which in this case is true. The integration is pretty tight and if I'd never used IDEA, I'd say that IBM did a pretty slick job with their eclipse plugins on 5.1 and be loving it. The integrated debugging with WS5 is quite good, the perspectives thing is pretty cool and SWT has been fine for me, the struts integration is a little better than just struts console, and the CVS integration is pretty good. With all that said here are my petty gripes that keep me from the eclipse platform and firmly entrenched as an IDEA lover: keyboard shortcut configuration is weak, no anti-aliased fonts, the project is not in sync with the file structure without manually refreshing, ctrl-o which gives you a uml popup of your class has way too short of a column count, no code folding, template system is weaker, code inspection is weaker, IDEA's code formatting engine is much smarter as far as line wrapping, quick javadoc is weaker, no monospaced font like in IDEA, syntax highlighting is weaker, weaker code intention insight, open type, open resource dialog include every library and possible file in the project, I'm only interested in my own code 99.99% of the time, context menus inside a file are missing team features like commit,update,rollback, i wish i could create a mouse shortcut to close a tab when middle clicked...

    Posted by Andre Mermegas at 12:27 AM | Comments (0) | TrackBack (3)

    June 24, 2003

    WWDC 2003

    Wow I just watched the WWDC 2003 keynote from Jobs, man Panther looks amazing. I'm definately gonna pick up a G5 when panther comes out. The new window finder thing is crazy, it thumbnails all open windows onto the desktop and you choose the right one, and it renders fast as hell! New Mail threading looks decent I guess. The finder has instant search results, almost like inline completion fast on a web browser, speaking of web browsers Safari is looking pretty sweet too now, Xcode seems kinda interesting to play around with as well.

    Posted by Andre Mermegas at 10:13 PM | Comments (0) | TrackBack (0)

    June 09, 2003

    I LOVE this kid!

    Ok, not java related and I may behind the times in internet humour, but I just found out about this and I LOVE this kid, hes awesome I must share.

    Watch and enjoy.

    this one first ---> Original

    Star Wars kid Remix

    Star Wars Kid Clones

    and my favorite
    Star Wars kid RELOADED

    Posted by Andre Mermegas at 09:14 PM | Comments (0) | TrackBack (0)

    April 24, 2003

    My AOP journey has begun

    So, AOP, verrrry topical among the java.blogger crowd and TNCNTIWTPW (the next cool new thing i want to play with) heh.

    I downloaded the sample chapters from theserverside for the new Manning AspectJ book and started reading through. I really wasnt sure what AOP was or what it bought you. I can understand the Interceptor pattern, but I already learned that AOP!=Intercepter so I figured that there was more. I'm still not sure what the more is, but what has sunken in so far seems kinda cool. I think it definately would be fun to apply some AOP to a project.

    One of the things however that came to mind is, If I create aspects for different parts of a system, and somebody goes to modify my code but doesnt know about the aspects, that could lead to a lot of confusion.

    Assuming that they are aware the system has aspects applied to it, Without an IDE saying where the crosscutting is, did I use that term correctly? they would have to pick through all the aspects every time they see behaviour that is not directly in class to really get the picture.

    Posted by Andre Mermegas at 12:25 AM | Comments (0) | TrackBack (3)

    April 16, 2003

    A programmers language editor

    Am I the only one who wishes there was word completion in the document editor they use for email or any other non coding writing they do.

    It would be dictionary based of course and the tense currently used in sentence to formulate the dropdown list. How cool would that be? Sometimes MS Word does it with todays date and such.

    I can't tell you how many times I've begun typing words and pressed ctrl-space to complete the word I was typing or ctrl-w to highlight surrounding text and closed or almost closed the damn document I was editing.

    Posted by Andre Mermegas at 09:21 PM | Comments (3) | TrackBack (0)

    April 12, 2003

    I got a new monitor!

    I've been putting off getting a new monitor for quite some time, I was thinking of getting one of those older SGI 24" 'ers I see on ebay but they seem to run about $600-$700 before shipping. I didn't feel like spending that much just yet so I picked up a semi-new 21 " 'er for half that.

    Its a Sony trinitron on the inside, OEM'd by by Dell. Yay me!

    By the by Dell is having a damn good offer on new PC's right now. I just saw it on dealspree, $399 after a mail in rebate for a pretty good box, all it needs is some RAM. Now if only I could pick up the apple counterpart for a price so nice.

    Posted by Andre Mermegas at 01:18 PM | Comments (0) | TrackBack (0)

    April 08, 2003

    Anybody notice this?

    I'm not sure how recently they added this to their menu, but I just noticed it. VB Development on java.sun.com. I guess they are starting their push to embrace VB developers now.

    Also what the hell is up with the sun servers? I cant download anything or look at bug parade, their servlets keep crashing. Anybody else getting that?

    Posted by Andre Mermegas at 03:03 PM | Comments (0) | TrackBack (0)

    April 04, 2003

    Swinging away in 1.4.2

    So 1.4.2 beta was released and I've been pretty eager to get it since I heard about all the fixes and updates they were going to do on Swing to be more inline with new WinXP interface stuff as well as GTK2.

    I downloaded it and ran the swingset demo from javastart for a quickie test view, seems to pretty kickass. Most of the widgets look good, except the tab for JCombobox that does the face switcher thing which still is humongous-ly mis-sized, whats odd is that the comboboxes on the other pages and all apps I've used are sized appropriately, this was the same in 1.4.x, don't know why.

    Another thing is as of now Swing doesn't pick up some of the finer details of a customized environment, for instance when I use Luna interface in WinXP, I resize the title-bars down to a reasonable 20 pixels or whatever, the default is like 25 which is just obscenely huge. Swing doesn't pick this up and for internal windows, it uses the default title-bar size of 25 which is not a super huge deal to me because apps I like use tabs not internal windows.

    I also read today that intellij are going to be supporting 1.4.2 in the new EAP builds, yay! I can't wait to see IDEA with a real Luna L&F. Now if only i could get the jre hack to work for me on 3.0.3 to make it use 1.4.2beta as well, that would be very sweet.

    Posted by Andre Mermegas at 04:37 PM | Comments (0) | TrackBack (0)

    March 31, 2003

    If my life was a game of Jeopardy!

    The first round opening board would be:

  • Transformers, GI Joe and He-Man Trivia of the 80's
  • Quotes from the movie "Dream a little Dream"
  • Comic Books of the early 90's
  • Star Trek Movies and TV Shows of the 80's and 90's
  • Name that Java Package
  • Poirot (David Suchet) Episodes or Why Captain Hastings is so cool.
  • Sierra Games of the 80's

    here's some more because its just too much fun:

  • Ignatius Reilly Quotables or why my valve has closed.
  • Shark Week or What is the greatest annual week of TV ever devised
  • The Sopranos, News Radio and Northern Exposure oh my
  • The Black Adder or What is the inherent value of a turnip
  • Everquest Game Mechanics and Strategies from Ex-Junkies
  • Name that cool new open source project
  • Name that Slash Solo (Guns n' Roses)
  • Nintendo Console Systems
  • Indie Rock bands of the mid to late 90's
  • Afterstep/WindowMaker tricks and themes
  • This Old SGI Box
  • This Old Sun Box
  • FoodTV Programs and Hosts
  • Blur Songs from the mid to late 90's
  • 24 or why Kim Bauer is a Retard
  • Windows XP tricks and themes
  • Confessions of Book Buying Addict or Why exactly did I buy this book on how to survive in any environment, Government issue circa 1965 reprint?

    What would be yours? Blog it up and send me a Trackback or just reply!

    Posted by Andre Mermegas at 10:00 AM | Comments (1) | TrackBack (2)

    March 30, 2003

    Microserfs

    So I was rummaging through the bookstore today and came across one of the funniest books I ever read. Douglas Coupland's Microserfs

    I decided to pick it up again and re-read it, if you've never read it, you MUST pick this book up. It's mandatory reading, I mean how can you argue with a book that has 2 whole page written in binary? It's a masterpiece!

    Posted by Andre Mermegas at 12:17 AM | Comments (3) | TrackBack (0)

    March 25, 2003

    Javaworld does WebWork

    Check out Javaworlds hello webwork tutorial they even use Velocity.

    So if you've been having trouble finding something like this that actually sticks around for more than a few days, here you are courtesy of javaworld.

    Posted by Andre Mermegas at 05:44 PM | Comments (0) | TrackBack (0)

    March 20, 2003

    JSTL make JSP viable again?

    Will JSTL/JSP2.0 make Velocity advocates think again about using JSP for new projects or is it too little too late?

    If you saw Velocity and JSP2 in a project intermixed depending upon the situation what would you think? Is that a bad design strategy? Do you think it would be inconsistant or swiss army like efficient, I'm not sure what I'd think, I can see it both ways.

    It might worthwhile to pick and choose your view in certain situations perhaps, they dont really have to be mutually exclusive.

    Right now I'm thinking JSTL/JSP2 is pretty cool if they have to be mutually exclusive I'd choose it, but I'm open for dialogue.

    Posted by Andre Mermegas at 12:00 PM | Comments (4) | TrackBack (0)

    Dim newUsers As IdoubtIt

    "Simpler" Java hrm sounds weird, it's not clear exactly how they are going to to do it, but it seems that it will be tool based I guess aimed to appeal towards VB developers.

    If they want to make it easier for developers to do java they should just CNAME sun.com to intellij.com.

    I know after all the fuss made about not introducing a new keyword for 1.5's foreach syntax they wont be touching "our" java.

    eek im up too late...

    Posted by Andre Mermegas at 01:27 AM | Comments (0) | TrackBack (0)

    March 12, 2003

    xPetStore, nice.

    Pretty cool project, I like that they implemented it two ways "A pure EJB solution based on JSP, Struts, Sitemesh, EJB 2.0 and CMP 2.0" and "A Servlet solution based on Velocity, WebWork, Sitemesh, POJO and Hibernate." I always find it interesting to look at projects like this. cheers to Herve, Brian and James. I have to get in on this xDoclet craze one of these days.

    Posted by Andre Mermegas at 10:06 PM | Comments (0) | TrackBack (0)

    February 28, 2003

    #set($template="velocity")

    Velocity is a pretty spiffy project. It definitely looks a lot cleaner than equivalent scriptlet and or taglibs.

    I can definitely see myself using this for views in the future. Only thing I miss is that IDEA doesn't have code completion for it.

    Also I cant figure out how to make my own file type that has the same look for html tags as IDEA has internally for html and jsp pages, i.e. I like the gray highlight over tags, but cant get that in my own custom file types, I don't think.

    I'm up too late, damn the discovery channel, they had two back to back episodes of 'Covert Action'.

    Posted by Andre Mermegas at 01:14 AM | Comments (0) | TrackBack (6)

    February 20, 2003

    SiteMesh, so easy!

    So, today I decided to finally start working through SiteMesh.

    I started with zero understanding and had my first decorator setup in no time. The damn thing was up,running and decorating in under 5 minutes.

    I did this and then read this. I didn't bother creating my own sitemesh.xml, just a decorators.xml:

    1 <decorators defaultdir="/decorators">
    2
    <decorator name="main" page="main.jsp">
    3
    <pattern>*</pattern>
    4
    </decorator>
    5
    6
    <decorator name="panel" page="panel.jsp"/>
    7
    <decorator name="printable" page="printable.jsp"/>
    8
    </decorators>


    and a decorator main.jsp:

    1 <%@ taglib uri="sitemesh-decorator" prefix="decorator" %>
    2
    3
    <html>
    4
    <head>
    5
    <title><decorator:title default="My Title" /></title>
    6
    <decorator:head />
    7
    </head>
    8
    9
    <body>
    10
    <!-- Header Page Information -->
    11
    <%@ include file="../include/head.inc"%>
    12
    13
    <!-- Nav Bar -->
    14
    <%@ include file="../include/menubar.inc"%>
    15
    16
    <decorator:body />
    17
    18
    <%-- Copyright --%>
    19
    <%@ include file="../include/copyright.inc"%>
    20
    </body>
    21
    </html>

    Posted by Andre Mermegas at 06:51 PM | Comments (0) | TrackBack (0)

    February 15, 2003

    Finished the StoreFront WebWork Port

    Ok, So I finished up most of the loose ends and tossed the project onto sourceforge for fun, you can go and grab it on there. Its been great,learned a bunch doing it. There is probably some more work to do but its as complete as the Struts version I believe.

    I might make a velocity version too, could be a good way for me to get up to speed on that.

    Posted by Andre Mermegas at 01:47 PM | Comments (3) | TrackBack (0)

    February 13, 2003

    WebWork StoreFront App

    So yesterday I decided it would be a jolly good time to try and port the Struts StoreFront application wars and src here to WebWork. This is an example app from the oreilly Struts book and it seemed like it would be a good excercise for myself, and also a little addition to the WebWork community.The next fun thing to do, would be to port the JSP's to Velocity templates, that is probably next.

    So far so good, I've got a lot of it done and it wasnt terribly hard. There is still some stuff that needs to be sorted to make sure I've stamped out all the Struts bits, but I think I've got all the taglibs and actions ported correctly, and it seems to be running smoothly. I still have a lot of tidying up to do though, but the main functionality seems complete.

    I think it might offer some more insight to people playing around with both frameworks if they can view the same app with the same architecture implemented both ways.

    I'm not sure if I should toss it on sourceforge or something for fun but in any event I'll be putting it out for general consumption in a day or two =D

    Posted by Andre Mermegas at 05:09 PM | Comments (0) | TrackBack (0)

    February 10, 2003

    re: WebWork: aaargh!

    If you wanna see a simple semi blank, semi skeleton type app, I put a simple war together last week here.

    Hope it helps, it should be noted, I'm still learning webwork myself so some of my info may be incorrect, but I think its mostly harmless.

    Posted by Andre Mermegas at 12:18 PM | Comments (0) | TrackBack (0)

    February 03, 2003

    How do you like your Actions?

    So, I've been doing research on struts and webwork. I started with struts because there seemed like there was more info on it, read the manning book, enjoyed it thoroughly now have delved into webwork. I must say that I like them both, though at this point if I had to choose, I'd probably go with webwork just because it seems a little more open ended and cleaner to use.

    Along the way during my education, I came across two different Action models. Struts uses the Action/ActionForm mindset for separating data from Action and thats it. Which seemed like a good thing to me at first, I thought well why should the parameter data be tied into the action that uses it, its a good separation. Its kind of ugly seeing all that getter/setter in an Action that supposed to do logic.

    Webwork allows you to do it 2 ways,but most of their examples tie data into the Action, theyre mindset being that the Action is basicly just a Javabean with an execute method, give or take for simplicitys sake. They also allow you to separate the data using a javabean via the Beanutils class and reflection which yields a result similiar to Struts' Action model.

    So the more I think about it the more I wonder, which is the best way. Does anybody have any compelling arguments as to which they prefer? Or maybe they mix it up, depending upon the use of the data. I'm open to suggestion at this point but one situation which comes to mind that points to separation is the following:

    If I wanted to have my Action take a bunch of user info from a form for later use during the session, and I had my data tied directly into the Action how would you go about putting that data in a beanlike way onto the session?

    As per my current understanding, you'd have to populate a bean first,if you do that you may as well have started out with the separation,and toss the bean into the session, that was already populated. Unless there was some way to reference a previous Action's data on the property stack? like:


    <ww:property value="MyAction/name"/>

    where name is property on MyAction or something.

    Posted by Andre Mermegas at 09:31 PM | Comments (5) | TrackBack (0)

    January 31, 2003

    Looking for more Webwork insight

    *oops* I Re-added my blog today, and it looks like every entry got put on todays list somehow...sorry

    So, I just wanted to start out saying that the more I interact with Webwork the more I enjoy the ride and thanks to Epesh, Jason Carreira and Llucifer I have a much better understanding now, thanks you guys!

    One of my questions, coming from struts ideas to webwork ideas, and looking through example code and such, is that it seems Actions have request data tied into them in other words there is no ActionForm/Javabean like seperation, and every data field has protected access instead of private,I'm used to having properties be private so I initially wrote them with that visibility, but that breaks the property stack? My terminology may be off, but I hope I'm getting my confusion across. Is this how its supposed to be? I kind of think the idea of the ActionForm and Action is good.

    Actually what I really think would be great is if I didnt have to write any code to deal with request parameters at all or write beans for them,Let the framework take care of it. if I could just specify parameter names I'm expecting in views.properties, that would be cool! eg

    login.action=LoginAction
    login.sucess=index.jsp
    login.failure=login.action
    login.parameters=name,password

    And then my action and view could just automagically pick up these values with getter/setters or property attribues provided by the framework.

    Posted by Andre Mermegas at 01:24 AM | Comments (4) | TrackBack (4)

    January 25, 2003

    How Does WebWork Do?

    Heya, I've been going through struts for a while and I was curious about a few things that I didnt see in WebWork but are probably there somewhere, hopefully one of you guys can enlighten me.

    Here is my shortlist of initial queries:

    1. Is there a dynamic tempating framework similiar to Tiles? Whats the best practice used by most WW guys?
    2. Is there a Valididator engine, other than rolling your own doValidation method? Do you guys use the Commons Validator?
    3. Is there a html taglib engine similiar to struts-html ?

    Posted by Andre Mermegas at 12:38 AM | Comments (1) | TrackBack (1)

    January 22, 2003

    re: hibernate kickstart

    So,I hear hibernate is a pretty neat persistance mechanism, I've used EJB's in the past, but usually I'm doing straight up JDBC stuff. I've been meaning to look into hibernate for a while, it seems to have a pretty good buzz out there, and then I saw Glen's hibernate kickstart and said woot, perfect! Worked my way through it and persisted my first object, thanks Glen for a nice contribution =) I think I'm on my way.

    Posted by Andre Mermegas at 10:24 PM | Comments (0) | TrackBack (0)

    January 18, 2003

    Together is dead, long live Together!?

    Well if it werent official before, I just checked out togethersoft.com and it now has Borland written all over it, seems everything must be final now $82.5 million in cash and 9,050,000 shares of Borland common stock later. Wonder how it will affect togethersoft customers. I personally use IDEA for development and dont think I could ever happily use another product, but I always thought Together was kinda cool. I don't think that you can really compare IDEA with it though. I wouldnt really classify Together as an "IDE" per se, It's more a "UML/Coding/Designing Experience". Where as IDEA is like having your own personal Java fairy dancing through your code, anticipating your every thought and keystroke.

    As far as JBuilder goes, personally I think its crap, and its overpriced warmed over crap at that. Here's my prediction, pain.I think Borland is gonna dump it and Together, drop support for websphere studio plugin after all IBM is acquiring Rational, and create they're own new JBuilder based on Eclipse with Together built into it as a new flagship product JBuilder X. Then there will be 2 overpriced Eclipse based products! how lucky for us Java developers.

    Posted by Andre Mermegas at 12:58 AM | Comments (1) | TrackBack (0)

    January 14, 2003

    Struts: I like it.

    So far, I'm still very new to it and some of what I say is probably wrong.

    But the more I read Struts In Action the more I like it. I think the idea of ActionServlet being this black box that sort of delegates to the appropriate Action based on the struts-config entries is pretty cool, not being compiled in it seems like a pretty spiffy way to use the Command pattern. ActionForms seem good, I like that they do the processing parts of picking through the request/session value pairs for you.

    DynaActionForms in struts 1.1 seems like a pretty good idea as well, for generic form data,but I think they would be even cooler if somehow they just picked through all the name value pairs created and dynamically made the bean type object based on the parameters available w/o any configuration at all.
    *edit* this is possible with mapped forms, cool.

    I've read a few people say that there is too much API to get a simple app moving, but I dont really think its so bad. You have basicly 4 things, The Action,ActionForm, struts-config.xml and possibly the application.properties to code or write out per action. And if you just have a display with no control structure you can setup a forwarding in the struts-config.

    It seems to me that the struts-config and application.properties can save a lot of time allowing you to dynamically change stuff without re-compiling and re-deploying. It seems like a worthwhile investment in time to me.

    As far as the the taglibs go, I'm still wading through them.I think some of the naming may be a little odd at first look, but I think a lot of them will be deprecated in favor of JSTL, which seems like a smart thing. The struts-config also has some weird naming conventions, why in a actionmapping the actionForm is labeled name, I'll never understand. It seems like they wanted to keep a similiar naming to using/creating taglibs, why?

    These are my fairly immature thoughts so far, as I dont have a full grasp on the framework yet.

    Posted by Andre Mermegas at 12:15 AM | Comments (6) | TrackBack (0)

    January 11, 2003

    Good Reads

    Ala Good Eats one of my favorite shows on the food network.

    Am I the only one who can leave food tv running in the background 24 hours a day? I can't get enough.Every show is good and of course everyone loves Iron Chef I think I'm going crazy.

    So, I've kind of been going back and forth between a few new books recently, and I'm hoping to make some more headway this weekend.

  • Core JSTL


  • Struts in Action


  • Patterns in Enterprise Application Architecture


  • Agile Software Development: Principles, Patterns, and Practices

    JSTL book is kinda nifty, the Struts book is really really great the authors have a very entertaining style and offer a logical progression to getting a good grasp on the framework, It'd be nice if Manning hires some webwork/tapestry gurus out there to write a similiar style book soon so I could join the cool crowd easier. Fowler and Martin's contributions are awesome as usual.

    I think its time to get a DVD-RW, whats a good brand/model for about $300 or less?

    Posted by Andre Mermegas at 01:05 AM | Comments (1)

    January 07, 2003

    struts,moleskines and 24 oh my

    So, I've yet to work on a project using struts, and I've heard arguments that there are better alternatives out there for web app frameworks, webwork,tapestry etc...But I decided to buy the new Manning Struts in Action today to get up to speed. I figure at some point I'm going to be running into a struts app.

    Also picked up a moleskine pocket notebook,god those things are cool, I'm not sure what the hell I'll use it for, I dont anticipate carrying it around, but whatever.

    Finally after 3 weeks and 2 holidays landing on a tuesday I watched the new 24. Quite interesting, it seems as though Palmer's advisor guy is the bad guy on the inside, and something is up with sherry. I think she is faking, I think she wants revenge on Palmer after the way he embarrassed her last season. I wouldnt be surprised if she is in on it with his advisor at some level of collusion. She is not the kind of person to just let that go and I see a big evil speach coming from her at some point. All the blonde daughters in that show i despise, kim and the warners. They're all intolerably stupid. Nina is obviously not going to kill Jack, she herself is probably going to die next episode I'd wager. Overall a good episode, though I've been completely addicted since the first episode season 1.

    Posted by Andre Mermegas at 11:41 PM | Comments (0)

    January 06, 2003

    J2(ME?)

    Welp, my att cellular contract will be expiring in a few months,
    so I decided to take a peek at some of the java enabled offerings available.

    I think that with the apparent success? of J2ME (it seems to be in a lost of phones)
    that there is a pretty cool new and thriving java market out there. I wonder if
    J2ME will have as big a boom as J2EE had. If it does, this spells exciting times
    for us Java Developers.

    If there is goint to be a "killer app" for cellular phones, I'm not sure what it will
    be, but I'm looking forward to seeing what kind of bright ideas people come up with.

    I saw the motorola T720i phone today but this nokia 6800 seems pretty nifty too.

    Posted by Andre Mermegas at 01:25 AM | Comments (0)



  • February 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