I dunno how long its been around, but I was looking into some OSX Tiger stuff and stumbled onto Core Data:
http://developer.apple.com/macosx/tiger/coredata.html.
In reading through it it sounds a lot like what is done with “Repository” in ATG. I don’t really like the ‘dynamic bean’ approach in either case…no strong typing and messy mappings to and from the actual data model (pojos). At least they both support mapping to pojos as well.
I like Core Data’s drag and drop interface builder feature. Just drag the component from the diagram to an interface being built and it will create a very simple (but functional) interface for it. ATG has a similar interface for each component…kind of a generic editor that provides a way to manipulate repository items’ attributes (data..rows in db) by providing appropriate gui inputs for the associated types.
Archive for April, 2005
Core Data similar to ATG Repository
April 25, 2005Override in Java 5
April 21, 2005I just read another article on some features of Java 1.5 [hangs head in shame for not tinkering enough on the side to know this stuff already]. I like the @override tag they’ve added. You can add an annotation (like javadoc tag’s but not in a comment block) to indicate the method is meant to override another. Helps find some bugs that I know have happened to me on occassion.
You can read the article here.
I also especially like the generics…more and more info on using them for more than just strong-typed collections.
Bonus: I heard eclipse auto-generates the tag when generating the override stub for you.
Upgrade Websphere’s Ant version
April 21, 2005Few months back had some issues with WebSphere 5.1.1. and ant…don’t remember the specifics now, but it had something to do with a plugin class loader leak bug. Found some posts online…followed a slightly modified path:
- Close WebSphere
- Copy C:\apache-ant-1.6.0\lib\ant.jar to C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.1\eclipse\plugins\org.apache.ant_1.5.3
- Open WebSphere to your workspace
- Open Window->Preferences
- Select Ant->Runtime
- Check the Set Ant Home checkbox and browse to C:\apache-ant-1.6.0
- Delete the xerces-impl.jar from the jar list
- Switch to the Properties tab and add a property with the key ‘build.compiler’ and a value of ‘org.eclipse.jdt.core.JDTCompilerAdapter’.
Struts and Wildcards for Action Mappings
April 15, 2005I just found out that stuts supports wildcards in action mapping paths. The example they give in the docs is:
<!– Generic edit* mapping –>
<action path=”/edit*”
type=”org.apache.struts.webapp.example.Edit{1}Action”
name=”{1}Form”
scope=”request”
validate=”false”>
<forward
name=”failure”
path=”/mainMenu.jsp”/>
<forward
name=”success”
path=”/{1}.jsp”/>
</action>
I think its interesting…certainly could clean up some of my config files. I need to get in and see if it works with the AutowiringStrutsRequestProccessor (and, thus the DelegatingStrutsRequestProcessor)
On Potential
April 14, 2005When do you decide someone’s potential is going to stay just that? Imagine you’re on a basketball team and you’ve got a not-so-hot player…not a rookie…great potential, great enthusiasm, just not that good. Now imagine there is no practice…every game counts. Do you pass him the ball?
To me, it’s a matter of whether the player can adapt and grow…become better. It’s almost the meaning of potential (shows promise) but not exactly. You can show promise and just not have the aptitude or desire to grow into it. But sometimes it can be difficult to know when to decide the potential won’t be reached.
I’m sure a lot of criteria can be used, but I think it can be boiled down to:
Talent/Instinct
Desire/Passion (love of the game)
Adaptable (can learn)
If you have all 3, I’ll pass you the ball without second-guessing, 2 and you’ll get it once or twice a game, 1 and you’re off the team.
But if I’m not the coach (very likely) I can’t cut people from the team. So, our team would effectively be running with one fewer player. We’d wear out faster, and in the end, just won’t win as many games as if we had a full team of real players. Hopefully, the coach would step up and cut the player…but you can be sure that if he doesn’t, the whole team will run extra laps when you lose.
I have no idea where that came from.
Tiger released
April 14, 2005I know…DvT…behind the times. I guess I need to enroll in a class to get a cheap ADC membership so I can finally get my powerbook for 20% off.
Guide to keeping control of your Computer
April 10, 2005I recently helped some non-tech-savvy friends restore their computer. There were some hard drive issues (couldn’t boot…couldn’t see files when booting to diagnostic disk)…serious stuff. I took it to a friends house and slaved it to another xp install (I don’t have one at home…macs here) and, to my suprise, upon booting…before getting to the windows screen/loging in/etc, windows told me the drive was screwed up and that it would go ahead and fix it. We thought “what the hell, go ahead.” And it did. Booted up and was able to see the files on the slaved drive just fine. Swapped the drives again and was able to successfully boot. Then we put on adaware and spybot and found tons and tons of stuff: 1700 ‘critical entries’ found by adaware and 200 programs found by spybot. WOW. So, I’ve put together the following set of instructions for them:
- Install Firefox - never use any other browser unless you have to (some sites may not work on anything but IE).
- Get a Gmail account (gmail.com) - never use any other email accounts (ESPECIALLY those given to you by your ISP)
- Forward all the emails you want to keep to your new gmail account.
- Backup all the files you want to keep onto a CD.
- Re-Install windows and other software (including norton or other virus protection software). DO NOT INSTALL THE SBC SOFTWARE
- Connect to the internet
- Disable norton live protect (complains about changing system files on the next step)
- Go to Windows Update (from the start menu)
- Install all the updates and reboot (some need to be done individually…it will tell you)
- Repeat previous 3 steps until all updates are installed
- Re-Enable live-protect (if not on)
- Install Firefox browser
- Install adaware and spybot (search google for them…yes from firefox)
- Run adaware (do this regularly…at least every couple weeks)
- Run spybot (do this regularly…at least every couple weeks)
- Never use the power button to turn your computer off…tell windows to shutdown and it will turn off after making sure all is well
Lingo
April 6, 2005One of my college projects was Lingo - a living, multi-lingual, end-user-built dictionary/thesaurus. It was inspired by everything2.com which is more like an encyclopedia of everything. I liked the system they had where users actually contributed the information (nodes) and users voted up and down the nodes…bringing good and more accurate/accepted posts to the top. Lingo did the same thing but it was for defining terms and synonyms. It was mult-lingual too…so the synonyms could tie together words across languages. The synonyms would also get ‘voted’ on.
Anyway, I was reminded of Lingo by this post in the google blog.
Update: Dion has a post on a very different “Lingo“…nice timing I guess.
Blogpulse
April 5, 2005Just found out about BlogPulse (I read about it on Mark Jen’s blog). I love the trends and analysis of what is going on in the blogosphere. Also the Conversation tracker is cool too. Basically, you can see what bloggers are saying about a particular issue/topic as one big conversation thread. Bloglines has something similar, but BlogPulse feels better.
Pluggable FlowExecutionStorage in SWF
April 3, 2005Got a reply form Erwin on the ‘do what is best’ thing:
Interesting idea to have it automatically select request or session based
storage. I added pluggable FlowExecutionStorage strategies this morning
so this would be trivial to do.Also, I implemented a “client side flow execution” storage strategy and it
is just encoding the entire flow execution in the flowExecutionId. No need
for any special handling in the views, the storage strategy is completely
pluggable!
Cool. I went camping this weekend so, STILL haven’t dug deep.