Blog of Josh "Renanse" Slack

Updates and commentary from the depths of a 3d Java code spinner's mind.

Saturday, August 16, 2008

Good luck guys

I'm sure many of you have seen the recent news about NCsoft's Austin layoffs. Unfortunately, that included many of the guys I used to work with as well as others that I had also come to admire and respect. With the even larger layoff from Midway's Austin studio, I'm guessing the current prospects of hunting for a job here in Austin in the game industry are not stellar. Fortunately these are very talented individuals, so I don't worry too much for them. All the best guys!

Labels: ,

More about Ardor Labs

Back in June when I left NCsoft, I started Ardor Labs, a company dedicated to building and supporting projects and companies using 3d Java technology. I've kept things simple and plan to keep it that way in the future, using extra talent as projects demand and so forth. So far, we've managed to contribute to some pretty big projects involving large oil companies, hardware giants and more. (And like I said in my previous post, we are working heavily with jME on those projects, so that should say how much I believe in its current utility!)

There are more projects and ideas in the works as well and we will have to grow our talent pool at some point to keep up. Candidates would be top notch Java developers with some contracting and 3d experience under their belts. Drop me a line if you fit the description and would like to be considered on future projects.

It is a scary thing to make the jump to business owner, but if you've been reading this blog from the early days, you'll know this is not my first company. I am confident you'll be hearing a lot more from Ardor Labs in the near future. :)

Labels: ,

Tuesday, July 22, 2008

The latest

It's been pretty slow on my blog lately, and mostly that's because life has been very busy here. I've started a new corporation called Ardor Labs (site not up yet), which will be mainly focusing on 3d Java technology. I've already got a good amount of work coming in and have started learning new areas of technology in the process; namely, the Eclipse Rich Client Platform and for another project, Project Darkstar. The later has come a long way since I last saw it two years ago and I'm happy to report it can be very performant. I say "can be" mostly because you have to get your mind focused on doing things in such a way as to properly use the technology and that took a little bit of doing for a client side guy like me. :) More on that another time.

I'm also excited that jME development is moving forward again. Recently added to jME 2.0 was JOGL support (by a very dedicated guy named Steve Vaughan who has also been helping with build and source cleanup.) Also recently added was SWT canvas support and support for Fog coordinates (fog being initiated by Kevin Glass.) The fog coordinate support will be interesting for lots of things, one example being fog of war.

A number of others have been very busy in the community and I will try to comment more on that. It's a good time to be a code monkey. :)

Labels: , ,

Sunday, June 22, 2008

Changes and reflections

Recently our small group at NCsoft went through a few changes, spreading us all out to other projects and teams. I think, knowing as much of the back story as I do, that this is a really good thing for the company and even the technology we are working on as well. I believe this will help pollinate many new and interesting game concepts and possibilities, especially in a company so well known for taking risks and trying new things.

That said, it was also a good time for me to step back and evaluate my own personal goals and life and see what I would really like to do next. There were great opportunities to be had at NCsoft to be sure, especially given my intuition about the future of the company as mentioned above. But finally I chose instead to take a break and perhaps get back to contracting for a while. It was a hard decision to leave full time employment, especially with this company. In the end though I really felt that stress and health and various other factors had built up far too high in my life. Things had progressed to the point where my creativity and energy were not at the levels I needed them at if I was going to progress towards those life goals.

What does this mean? Time will tell of course, but I plan to remain active in jME, perhaps even more so now (I may end up having tons of free time... yikes!) But also it hopefully means a nice one or two week vacation sometime soon.

Thank you NCsoft for believing in Java technology and for 2+ great years! It has been an amazing place and I will miss especially the very talented people I was fortunate enough to work with.

Labels: , ,

Thursday, May 15, 2008

More from JavaOne

During our technical session at JavaOne, Rikard and I showed off two videos and two live demos. You've seen the first video already. The second video was a timelapse demonstration of the kind of tool you can build in Java using the jMonkeyEngine, using the NCsoft world-building tool as an example. We received permission to upload that video to YouTube yesterday, which is exciting because it's one of the first real work-related thing we've been able to get out into the public.

You can watch Rikard show off his brilliant skills as a worldbuilder here:

Labels: , , ,

Saturday, May 10, 2008

Over now

Yeah, it's over now (but I can breath somehow. :)

JavaOne 2008 is over and done with and I'm still standing - despite doing a technical session, a BoF (basically an experts panel,) a broadcast interview and getting onstage for the Friday keynote. I definitely have to thank the guys at Sun who helped make all that possible and really enabled jMonkeyEngine to get into the public eye more than ever. It was very exciting to hear the amount of buzz about jME and Java gaming in general. It was also awesome to finally meet several people I look up to in the industry such as Ken Russel, Sven Goethel, Doug Twilleager, Paul Byrne, and of course James Gosling (and many others, sorry I'm still tired.) Special props to Chris Mellisinos who actually does so much more behind the scenes in getting the various factions to support the idea of Java as a gaming platform than most of you realize.

Once I have had time to recuperate a bit I'll try to write more, but for now, check out the following videos:

1. The jMonkeyEngine 2008 reel
2. My interview with Chris Mellisinos
3. The JavaOne keynote I took part in. (I've got about 8 mins of time on stage starting at 36:20)

Labels: , , , ,

Saturday, April 26, 2008

Movie locked and loaded...

After spending the better part of three days total gathering, editing and splicing together footage from about a dozen different jME projects, the video portion of movie for our JavaOne presentation is finally done and just waiting for its soundtrack. The quality of some portions is better than others and I'm guessing Rikard and I should stick to our day jobs as a programmer, because we're no video editors... but I hope you guys all like it anyhow. Come see it unveiled for the first time at our tech session on Tuesday night of the conference. I may also get a chance to show it off on other days of the conference, so keep your eyes peeled.

For those of you who can't attend JavaOne this year, don't worry... I'll also post the video up to YouTube on May 10th. For now, here's a shot of it laid out in iMovie '08.

JavaOne '08 jME video in iMovie

Labels: , , , ,

Monday, March 03, 2008

Multisample

The other day I rediscovered how much multi-sampling improved your average scene for very little cost**. First the pic - look especially around the edges, or click for a magnified view:



Multi-sampling is basically rendering the scene at a higher resolution and then downsampling to your screen resolution. It helps reduce "jaggies" on the edges of polygons which gives your scene a much more polished look.

Multi-sampling may not necessarily be for you. For example, if you are fill-rate bound or if you are using certain multi-pass techniques such as shadow volumes (which together can produce some odd effects.)

** Low cost in terms of frame rate; there is a memory cost. Although, if your machine has to fall back to software emulation or if your game is fill rate bound, the frame rate part won't be so true either.

Labels: ,

Sunday, August 05, 2007

Some might find this interesting...

If you've been even vaguely following a certain handful of monkeys and their game careers with any interest at all, you might enjoy this little interview.

Labels: , ,

Friday, July 20, 2007

Fellow code Monkey joins our team

Work at NC has been going quite well these days. We're on track and experiencing some growth as well. (You'll recall previous mentions of open job listings.)

I'm very excited about one new team member in particular. *drumroll please*.... Rikard Herlitz, better known to many of you as MrCoder from the jMonkeyEngine forums. With many years in the games industry and having donated many impressive features to the engine (water, bloom, projected textures, etc), hiring Rikard was of course a no-brainer (but just don't ask about the nightmares of H1B.)

I am of the opinion that this can only be good for jME's future. Having three top folks working full time on jME and technology tangent to jME means lots of refinements and improvements for the community as a whole.

Stay tuned!

Labels: ,

Friday, March 23, 2007

Need a job?

Via a posting to the jMonkeyEngine blog today, we've announced that the Java team here at NCsoft is looking to add skilled Java programmers. Head count figures, salary, benefits, or any of the typical questions you might have are not available because at this point we are simply looking for resumes. However, I personally recommend sending us your resume now if you have the skills and a sincere interest in working on Java gaming technology in Austin, TX. Sometimes things move and opportunities close faster than you expect.

See the official posting for more information
.

Labels: , , ,

Tuesday, March 20, 2007

Late notes on GDC

As some of you may know, I was at GDC in San Francisco about two weeks ago. I expected to put up some of my thoughts and experiences right afterwards but decided to wait until a certain video blogger had uploaded a short interview I had done there. Time ticked by and that never happened, so without further ado, on with the GDC notes...


This year’s GDC was anticipated by many to be an insane answer to the implosion of E3. Fortunately, walking around the expo and sitting in on conferences, I did not seem to find this the case. The show felt bigger than the last time I attended (2005) but gaudy booths and deafening music were not the order of the day.
Joshua Slack and Chris Melissinos at GDC 2007
I spent a little time at the Sun booth talking to various Sun guys about Project DarkStar, jME and Java in general. There is a very positive view of jME and its community amongst those I spoke with. The kiosk showing off the alpha version of Jadestone's hockey game drew in many passersby and all of the feedback I heard was the (by now) typical "Wow that's Java?" "You can do shaders in Java?" "I didn't know Java could look like that!" and "Is that really Java?" Keep up the good work guys!

I also attended a party or two, the best of which was definitely the one thrown by Three Rings on Thursday night. Themed as a drunken mad scientist convention,Joshua Slack and Michael Bayne at Three Rings party, GDC 2007 there was plenty of loud music and interactive party exhibits. In the corner they were showing off the beta of their new flash-based project, "Whirled" (formerly known as "Meta Soy".) I wish them luck on that. Judging from their past and present successes, they should have no problems producing another winner.

Which reminds me to give a virtual highfive to the Three Rings group for winning the Technical Excellence award at this year's Independent Games Festival for Bang! Howdy. (Gratifying on a personal level because this game uses the jMonkeyEngine.) They were also in the running for the Seumas McNally Grand Prize. Way to go guys!

Stay tuned for session notes...

Labels: , ,

Monday, March 19, 2007

Sitting with Fish

So I've been with NCsoft now for a year as I note in my last blog entry and in that time I've managed to have three different office mates. Am I that hard to work with??

My latest office mate is none other than Sean Fish of City of Heroes/Villains fame. So far I've found him to be a cool guy and a font of wisdom regarding all things role playing. It is great seeing people of his caliber coalescing around the project. It's almost like we're a real game team...

Labels:

Friday, March 02, 2007

Top Secret Information Inside...

Yesterday was my one year anniversary working for NCsoft. I can't believe the progress we've made in a year with less than a handful of people. It's awesome to see the little bits of technology we've written come together to make something fun.

Still, yes, we've developed lots of cool game technology (yay!) but until now we really have not been able to show any of it off (drat...). Well for those of you wanting to know just what it is they pay us to do, today I was finally given approval to share some of this great stuff on my blog. So without further ado, here is the shiny:



What?! You aren't impressed? Ok, so it's just a first little minigame I whipped together in a couple days using jME, some networking, and our GUI system, but hey, you never know where you might see it again. In any case, this little jME card game is all the leak I'm allowed to give at this time, so consider yourself lucky. ;)

Looks like I'll be working on minigames and sound for the next couple weeks, so if you have a great idea for a minigame, send it to me.

Labels:

Friday, November 10, 2006

Demo'ed out

In the last month or so at work we've had a steady barrage of important people coming by to witness a demo of our game and/or toolset. This week we had two, last week we had one or two, and next week we have two, one of them being very big. So I guess you could say we are getting a fair bit of attention lately, hopefully moving us along towards a successful product. Scrambling at the last minute for a demo has become a fact of life lately though and I will be glad when that has subsided and we are back to a tighter focus on the products as opposed to the next dog and pony.

Still, we've managed to accomplish a lot technically in the last few weeks. The new jME gl state machine management stuff I've been working on has definitely moved the engine towards greater stability and quicker execution. Mark was a big help in testing and implementing that system, even as I got on his nerves from time to time. (Thanks, Mark!)

Another thing I'm proud of at work is a new terrain system and tool support that makes coloring, splatting and manipulating terrain both easy to do and capable of complex, high quality results. Like both Mark and I say in our blogs quite often, I can't wait until we can show this stuff off.

Mark has been working on an animation state machine that handles transitions between states and animation timing, etc. in such a way as to give our characters nice and smooth animation. I'm very impressed with it. He's also been very patiently weeding out bugs in a multitude of systems both on the front and back ends of the game which has kept our plethora of demos from fiery deaths.

Odds and ends... jInput tablet support was successfully petitioned for and should be tested and in there soon. There's a revamped jME sound system that I hope we can check in sometime soon. There's more state bug fixes and expanded state settings that will go in with the state management overhaul. Also, a new shader system is on the horizon (planning to begin in the next few months I'm guessing.)

Hmm, I guess despite the demos we were still able to be somewhat productive. :) Stay tuned for more.

Labels:

Saturday, August 12, 2006

jME: Professional contributions

As most of you know, my day job as of early this year is working on game technology over at NCsoft Austin. In terms of jMonkeyEngine contributions from me, this is good and bad. The upswing is that I no longer have to split my time between a boring job in financial software and my true passion. jME is also getting a whole lot of experience in a professional environment and subsequently a good deal of polish.

On the down side, my employment at a professional game company means I am developing and working with a lot of cool stuff that - for competitive reasons - may never get contributed to jME. That is fine and makes a lot of sense to me from many angles... Some technology is very game specific and does not really belong in the jME core. Other technology is company goal specific and is essentially the trade secrets that allow a company to achieve specific goals ahead of other people. I'm all for that because it provides incentive for a company to risk the large amounts of money required these days to produce a top quality game.

All that said, I do have a certain philosophy regarding contributions from commercial companies - including the one I work for. It is my belief that with the Java Game Engine market currently in its infant stages, it is beneficial to everyone involved to cooperate on core java engine technology. There are still a good deal of features that are common to other professional game engines that jME lacks. These features are not trade secrets or necessarily advanced, and by developing and contributing these features a company can get many benefits in return.

First off, jME is a very active and - in most cases ;) - intelligent community. Donated features are always being freely bug tested and improved upon by community members. Secondly, donating a new feature gives a company the ability to set a direction or a standard in the community. Assuming the donated code is high enough quality and is accepted into the core, the donated code is now the "jME way" of doing things and improvements will likely spawn from that base. Finally, companies donating code reap good will from the community and influence others to consider contributing code as well.

At work I've personally stuck my neck out several times to push this strategy. We are a very small team and I believe the benefits I mentioned above could offload some bugfixing and polishing while also just being "a good thing." In the next week or two you should see the results of my pushing with the contribution of a Collada importer and a Bones/Skin system. Other companies using or considering using jME, I invite you to likewise participate. You'll be glad you did.

I'll definitely look back at this in a future blog post, so stay tuned.

Labels: ,

Work: Play Tabula Rasa

We've been play testing NCsoft's upcoming MMORPG Tabula Rasa at work lately and I've got to say, it's a winner. It's visually impressive (I hope you have a nice computer) and the gameplay is fast-paced, unique and solid. I'm not sure how much I can say about it, so let me just say it feels like a cross between WOW and UT with a definite Garriot touch.

Keep your eye on this one.

Labels:

Tuesday, April 18, 2006

Update from the trenches

Life continues along at a crazy pace here in Austin. We finally moved into a house, leaving behind the outrageous cost of a furnished apartment (at about $2,700 a month for our Oakwood apartment, I was reminded of why I left NYC a few years ago.) Unfortunately, now we are back to the homeowner problems I have lamented about many times in this blog. For example, I was thrilled to discover this past weekend that we have carpenter ants and heavy wood rot all along the back of our house. That same weekend, the water valve burst in front of our house (our responsibility to pay for, of course.) Can I have a short break, please?

At work, things are going a little bit better than home. Similar stress for a while though as we found out that the head of NCSoft was coming from Korea to Austin with a few of the other higher-ups and they wanted us to present our work. Keep in mind we've only been at the company for two months now (less than that actually!) That meeting was today and it seemed very positive. I've gotten used to the whole surprised "Java can do that??" response by now. Who knows though, I am too cautious to get excited... yet. :)

Still, it's hard not to feel proud of the work that's been accomplished. I think jME was great when we came onboard NCSoft, but having these last several weeks to work professionally on both jME and tools supporting jME has really made things shine. I am also enjoying working with Mark. We definitely have different styles in several areas, but it seems like we've gotten into a good groove where those differences work towards complimenting each other rather than clashing. So, with all that, plus real artists supplying us content and a supportive and enthusiastic boss, I can't help but believe we are going to deliver a really top notch product. Stay tuned.

Labels: , ,

Thursday, March 23, 2006

Skin and Bones

Spent last week working on the fun math of skin and bones animation. My job on this was to get the skin actually updating to follow the bones which may sound easy... Trust me, it isn't.

Here's a shot from about day 3 (of 7 total) - FPS is a bit low due to naive frame by frame updating of the skin:

me on a bad day...

My first implementation worked from a Bone perspective, grabbing each bone and updating the associated vertices. This was fast and worked ok, but had a few small issues. It also wasn't compatible with more future looking solutions such as doing the skin calculations on the card instead of the CPU. So, on day 7 I flipped the class structure to a Vertex perspective and I'm happy to say things are working quite well now.

Mark meanwhile worked out more Collada stuff, particularly loading the animation keyframes and putting together a controller similar to jME's joint controller to get those bones moving. The combined result looks great. :)

Labels:

Thursday, January 19, 2006

Out of the bag

Well, the cat is out of the bag on the jME forums, so I might as well post about it on the ol' blog as well. :)

I've been very quiet here lately because I've been traveling a bunch pursuing a few career opportunities. The two major ones were both game-industry related: a job with Three Rings in San Francisco, CA and a job with NCSoft in Austin, TX.

Both places are staffed with smart and friendly guys and both have interesting projects, Three Rings came first and was really tempting, but in the end the expenses of living in SF - plus a chance to continue working with Mark from the jME project - tipped the balance in favor of Austin and NCSoft. (Sorry mdb, but just so you know, it wasn't the breakaway rope that did it -- you guys rock!)

So, I'm likely to continue posting sporadically for the next two months or so but I'm definitely excited to make the career move. More to come while I figure out moving -- again! Ugh.

Labels: ,

Wednesday, December 07, 2005

They come and go

This week I received an interesting letter from a major game studio (I'll leave them unnamed, but I'll mention they are based in Korea) looking to see if I would be interested in interviewing for a spot on a new team being put together here in the US. The team would be developing and building 3d multiplayer games in Java. Definitely got my attention as I'm currently at the end of one project and ready to start another. With the knowledge I've accumulated working on jME over the past two years or so, I think I'd have a lot to offer such a team.

Unfortunately, to participate I would have to move to another state and since we've recently purchased a home here in Arizona, the prepayment penalties and capital gains would simply kill us. Talk about frustrating... Opportunity is there but for reasons out of your control you can't grab it.

Oh well. Any other game companies out there need a skilled Java - jME consultant?

Labels: ,

Friday, September 30, 2005

Real work

Just finished creating a new reporting option to the Vipss Quanta Client software for doing hierarchical client statements.

Ah the joys of financial software... The thrilling number crunching, the endless paperwork and of course the everpresent glossy stare of the customers who can't see the seven miracles you just pulled off because the font is the wrong shade of black??

Yep, I can see some of you shaking your heads - and I don't think it's because you've seen the wrong shade of black before.

Because I like to share, here's a couple shots of what I just did:


Kicking it off... Yes, that's 100% Java


Summary page - generated PDF via iText


Hierarchy chart (more PDF) followed by reams of details on subsequent pages.

I've already heard rumblings that more reporting features are wanted. So looks like it's back into the reports tomorrow as well. Once I put this to bed though, it's on to MultipassNode in jME, so watch this space!

Labels:

Saturday, August 13, 2005

tail end of summer

Summer is finally winding down here in Arizona. The past two weeks have been all monsoon rain storms, thunder and lightning. I always enjoy this time of year the most. Almost like a gift from mother nature to make up for the fiendishly hot summer months.

Unfortunately with all the wet weather, we're nice and sick here. Jeni is off in New York celebrating a friend's bridal shower and won't be back for 3-4 more days, so we're fending for ourselves. Always gives you an appreciation for what someone does for you when they aren't there anymore.

The mobile3d implementation is winding down as well, scheduled for completion in 6 days or so. Then it gets turned over to MPP and their users for testing and whatnot. I imagine there will be at least one or two updates following that as the inevitable bugs shake out, but otherwise it's another done project. Kind of sad to see it go from the nest after these last couple months; it's been a lot of fun doing something I love instead of financial software or smacking Crystal reports into submission. Ah well.

Labels: ,

Friday, July 29, 2005

eyes better, can code

Been a little while since I posted. Mostly that is because my eyes have been blurry enough to make looking at the computer, but partly it is because I had two brothers and a brother in law over here celebrating the last bit of thier summer break. That was a lot of fun, even if it was mostly them playing my collection of console and pc games. :)

So now my eyes are well enough to do some coding with only minimal headaches. Two major Mobile3D problems have been staring at me now for a while. My Sprite implementation was flawed and flat colors were off (see the funky color of the golf green a few posts ago.) I've managed to polish both of those issues off today and so now you get to enjoy a couple more shots.

Mini Golf Castles(tm) - Digital Chocolate

Labels: ,

Tuesday, July 12, 2005

184, a nice excuse not to post

JSR184 implementation hit high gear last month and somehow that drained me of the ability to post here. Bleh.

The good news though is that you get to see some more beautiful shots of the implementation at work. Things are pretty much done, just a bit of work to do on "picking" and sprite math. The implementation should be included in MPowerPlayer's sdk as beta support in the next few weeks, so stay tuned.

So here are the shots, they are of games you will most likely get to play on your highend cell phones very soon (so get out your credit cards):

Asphalt Urban GT3D(tm) - Gameloft SA




Mini Golf Castles(tm) - Digital Chocolate

Labels:

Friday, May 27, 2005

Sad...

Well, been a long time since I've posted... sad huh? I do have a good excuse though, I've been moving house and fixing up the old one to sell. Buying, Selling and Moving really take a lot out of you and I feel like I'm only now just catching my breath.

Aside from the moving, I've also been hard at work on more 3d graphics projects. This time it's a paying gig though. :) The job involves JSR184 (aka Mobile3D) and is actually quite fun. I'd originally hoped to use code from jME but the spec is quite different from how jME works. Fortunately it is still heavily based on OpenGL so I was able to use all of the great things I've learned with jME and snippets of code here and there.

Here's a peek at some of the fun; I'm showing comparisons between our implementation (DLI is my contracting company) and the same code running in Sun's Wireless Tool Kit 2.2: (click to see more detail)


anim starfish jad anim starfish jad
DLI's vs. WTK's



anim starfish jad anim starfish jad
DLI's vs. WTK's


And in case you still haven't seen enough....


The Immediate mode test from the jsr 184 specs
The Immediate mode test from the jsr 184 specs



An immediate mode test I found on the web
An immediate mode test I found on the web


Aside from the above, I've been slowly getting back to jME and other areas of life that I had to set aside for the last month. Hopefully this means I can start writing more meaningful posts here. I've been hoping to write tutorials on different Java items that I've learned over the years. Stay tuned!

Labels:

Thursday, April 14, 2005

Yep, still here

Day to day life really caved in on me since my last posting, so I took a bit of a break from the extras in life to focus on as few things as possible. My grandmother went in for some heart evaluations for potential surgery, my brother was in a car wreck, another brother broke some bones in sports and finances have been interesting.

I guess the major update in life is that I'm moving house in about 2 weeks. Jeni and I were looking for an investment property because the market has been insane here in the valley. Our thought was to buy a place to rent out but it turned out differently, so now we are moving into a different house. Ah well, it should be a fun adventure.

So yes, life has been crazy but I'm still here.

jME:

Over the last few weeks there has been a number of updates to jME in cvs. The biggest one perhaps is an upgrade to using lwjgl version .96 and a revamp of our Swing support making it much cleaner. There are also a number of small bugs now squashed and some exciting third party developments (blender support, doom3 model support, some new games and more additions to the jme-physics library.) All in all, good stuff.

So, what happened to jME's .9? I'm predicting a May/June release for that. Mark will be done with classes and I'll have finished moving. Stay tuned.


ASU:

I'm not sure what's going on here. Everytime I start back in on this goal, life takes a big detour and makes it impossible to spend the time necessary to go back to school. Maybe I'll need to wait for an early retirement? hehe. Seriously though, I wish they offered BS classes all online so I could finish my degree up. It's not that I really need it to do my work (do they go over useful, real life knowledge in a classroom??? Drop me a line if you know of such an oasis in this dry scholastic desert) I just want the piece of paper.


WORK:

Work is going very well. I can't talk about my projects anymore though, so I guess I'll drop this part of the update until work slows down and I need to gripe again. :)

Labels: , ,

Tuesday, January 11, 2005

Confusion says...

Yeah, I know it's "Confusius says", but in truth all I'm seeing lately is confusion.

WORK
My work trip looks like it is being pushed back a few weeks... The exact week/date is unknown and I absolutely hate large unknown events. I like to be able to schedule and budget several weeks in advance because doing major things last minute gives me a sick stomach. Yeah, I know that's life, but it doesn't make me feel any better.

SCHOOL
Because the work trip is pushed back far enough that I should be able to attend at least the first week of classes, I've decided to go ahead and register for 2 classes at ASU this semester. I don't want to put off these classes any more because it just makes me that much older when I finish. I'm still concerned about missing a few weeks of class though and I hope I get a chance to talk to a professor about that before I do miss those days. The whole experience looks like a big question mark at this point.

JME
I have been pretty excited to get back into coding here in my spare time since my trip to Seattle last month. Unfortunately, not much of that has occured yet and while I've seen some progress I still have the notion (likely clouded by other events in my life) that things won't really come together here. Hopefully I'm wrong though, wouldn't be the first time.

LIFE
Aaron has just turned 3 and is taking preschool type classes at the local community center twice a week. He seems to enjoy the other kids (all older than him by 6-18 months.) Jeni has recently interviewed for a part time job at a title company as a floater and notary agent. It might be as much as 30 hours a week, which would keep her away from home quite a bit. With recent shifts in work projects and all, we could really use the money, but I'm concerned about how this, school, and everything else will fit together and allow us to be there for Aaron. Maybe I need to start trimming some things out of life so I can be a bit less spread out.

Labels: , ,

Thursday, January 06, 2005

Crystal, thou hast been slain!

Finally! I can now say that Crystal Reports is actually doable. In my blog in the past, I've recorded small victories getting CR to work with Java... The odd thing about CR though is that every time we get one thing working, the next day a new, bigger wall hits us and makes it look like the way we're trying to get CR to work will not work. In fact, I think I've switched the way we are attacking CR maybe 3-4 times in the last 2 months as new roadblocks came up or I just understood the various API's they provide a bit better. My main gripe is that the company that makes Crystal Reports provides very little useful documentation about Java integration and most of what they do provide (including that which comes bundled with the software) is outdated - it's based on CR9. We're using CR10 because we are using custom XML datasources that don't use ODBC (instead it's just xml and xsd files) These files are constructed on the fly and then a report is tweaked (also on the fly) so the urls it requests data for will point to the right file. The resulting report is exported to pdf, word, excel, etc. and sent back encrypted and attached to a message to a Swing application over the network to the requesting customer. Getting the URL rewriting with their new native (non-ADO -- which didn't handle data typing correctly) XML driver to work was a major pain... There is NO documentation for it at all.

Ok, </rant>... Honestly, I'm just thrilled that it works now. I just need a handful of weeks to document, clean the code and do some testing...

On another note, jME 0.8 came out this Monday and is full of lots of bug fixes and a few cool new features (including the Cloth and Swing stuff I mentioned earlier in my blog.) Check it out!

Labels: ,

Monday, December 20, 2004

holidays and other fun stuff

Well, here it is almost Christmas time. I've recently sung in a church choir performance, passed out cookies, read the Christmas story, watched sappy Christmas movies and had my fill of holiday candy and treats. So, why doesn't it feel like Christmas this year?

Maybe it's because I have no real idea what is going to happen next month with my job. I want to continue my education at ASU on the side and I'm signing up for some classes, but with mounting debt and no idea if income will cover expenses next month I really feel a bit anti-jolly. Even my favorite part-time hobby, contributing to jME has lost its appeal lately. In some ways, this makes me regret taking on contract sweat-equity type work (my main job,) especially since I had thought it would be paying out a lot more now that I'm three years into it. I also feel like my talents are just wasting away and I want to move on and really be challenged and work again with people who will push me and appreciate my work as peers. I know I've got the skills, but is there work out there like that?

Sigh...

Labels: ,

Wednesday, December 01, 2004

Frustrations and relief

Today has been a mixed day of good and bad. First the bad... My young son knocked the laptop onto the floor, totally bending up mac's fragile male power plug. I took it in to the Chandler Apple store and they informed me that the power cable was not covered by Apple Care. They told me my only recourse was to buy a new cable ($80!) So of course I did, since my battery is only going to last so long... Man.

At least that was balanced by some good news. Yesterday I had a major breakthrough with Crystal Reports. I was able to rig up a system for queuing up and executing reports, exporting them to any of 8 formats... all through a Java servlet based system. So now the underpinnings are mostly ready, I still have to get these exports attached to internal messaging and actually build a system for providing real data to real reports (right now I'm using a bogus test report.) But hey, after fighting CR for a few weeks, it's a welcome breakthrough.

I actually write this from the middle of a mall, just outside the aforementioned apple store. Waiting for the wife to finish shopping is usually quite boring... Fortunately they have an open wireless network and a couple comfy chairs outside the store. :)

Labels: ,

Monday, November 22, 2004

Turkey week already?

Man, time goes by fast. I can't believe it's already almost Thanksgiving... Seems like you close your eyes for one second and it's next year and your friends are having babies. Sheesh.

Rained again today. Nice desert rain where the air smells sweet with water and traces of dust... You'd have to have been in a desert rain to know what I mean. New York rain smelled like rotten damp fur. Not too pleasant.

On another note: Good things are finally falling into place with Crystal Reports. I've got a good architecture lined up and have been trying to nail down the actual calls out to CR for a whole week. Finally it caved in today and let me use Java to run a report that uses ADO.NET xml sources! Not exactly a complete breakthrough and still a few good months of work to go before the whole queue system and return sections are done, but at least there's some real progress being made.

On the HalfLife 2 front, I'm leading squads around and started catching my first glimpses of striders. I think I'm probably 3/4 of the way through already... Again, time goes by fast. bleh.

Labels: , ,

Sunday, November 14, 2004

Long week

Does anyone know anything about Crystal Reports? I had a neat plan all laid out for integrating this financial software package with Crystal and it seems they hamstring you in a couple places. If you know CR and it's XML abilities, give me a shout.

It's been a long week. Was sick for several days and the weather's been wacky. This CR thing has been annoying the heck out of me the whole time too. The only real highlight was playing trains with my son (which was a lot of fun.)

Had a good day today though. At church we had a very inspirational message from an apostle. Spent much of the rest of the day with family and friends. Hope that foreshadows how the rest of this week will be!

Labels: ,

Sunday, November 07, 2004

A look back

A little update on things.

Work - Still in waiting mode. Hopefully this week will bring the start to my next development project, integrating Crystal Reports into the aforementioned financial app. As for most things, it's all a question of funding. I also found an open source Java reporting package that may be useful... if I can get my partners interested. Big names == reliability, so it's hard to present an open source alternative even if it is free and gives the same results.

ASU - They've accepted my CU composition classes so far... Still waiting to find out about my other classes. Now I just need to find my vaccination records and submit those to start registering for Spring classes.

jME - I've finished a first cut of Swing - actually AWT - integration with lwjgl through the jME framework. (They said it couldn't be done!) Right now I'm getting about 80 FPS with all of the time being spent in glReadPixel. Other cards will probably get less FPS, but the good news is that that rate should be fairly steady even with more complex scenes. Before releasing it into the wild, I still have a few more optimizations to add in (for example, only rendering once per Component paint) as well as some cleaning. Hopefully that can be finished soon.

Life - Nothing else real major. I've started going to the gym for an hour 2-3 times a week. Jeni and I have been watching the Stargate season 7 DVDs about 2 episodes per night and I've put a little more time into a few video games. We reseeded the lawn, did some household chores etc. Wee.

Labels: , ,

Monday, November 01, 2004

Update

Couple of updates:

ASU - Went over there again today to drop off my course descriptions from Columbia University. Boy were those hard to track down. The Arizona State Univeristy advisors assured me that all universities keep old bulletins in archive... well apparently that's all universities except Columbia. After phoning several departments, begging, and digging through old papers, I've managed to gather together enough documents to support all of my old classes. Hopefully it's enough to make ASU happy. Didn't think going back to school would be such a pain.

Work - As I mentioned before, I recently finished off version 2.1 of a major financial app. Now I'm in support mode only, which is really hurting financially (about a 40% cut in income on top of having to drop a really good programmer from my team.) Hopefully more work will come in that realm very soon or I'll have to start looking for more projects. (Who wants free time after all?)

jME - I've made some good progress on integrating Swing and jME. I've got a JMEComponent class that extends java.awt.Component. I'm hoping to finish that up without input handling this week.

Life - Other than the above, nothing else much is going on. We got a friend to take some pictures of our family at the park over the weekend. I'll probably post up something in the next week from that.

Labels: , ,

Monday, October 04, 2004

What a weekend

What a weekend I just had!

The good part... I'm going on a business trip soon where I'll need a laptop to code on. So, I decided to be a rebel and go Mac. Now I'm the proud owner of a 15" 1.5 MHz G4 powerbook. I've had experiences with OSX in the past, all good, but this laptop really takes the cake. If you haven't played with a Mac lately, do yourself a favor and visit your local Apple Store... even if it's just to play for a bit.

OK, now the bad part of the weekend... I got home from the Apple Store to find my Linksys wireless router (WRT54G v1.1) had bit the dust. I'd upgraded a few weeks ago to the latest firmware to try and fix a problem with the wireless dying every day or so and since then, the thing has been even more unreliable. I'd had another Linksys router before this (an 802.11b one) and it had crapped out on me as well. Now I'm the kind of guy who if you treat right the first time, I'll come back to buy from you from then on. That's how it was with Linksys and I've always bought Linksys network products. No more, I'm afraid. I hopped back in the car after a few hours of troubleshooting and bought a NetGear wireless router instead (WGT624 v2)

Now that's not really the bad part of my day. I got home and plugged in the new router to my favorite surge protector (you know, one of those REAL protectors... not a power strip that wants to be a surge protector.) Instant sparks! And my lights and computers all go dramatically dark. I unplug the router and stumble down to the power box, finding the flipped breaker and switch it on... back it goes off. I run back to the office, play with more wires, same result. Long story short, turns out my surge protector was somehow fried. I go and get another one and I'm back in business.

Now, if it had stopped there, life might have been good. Unfortunately, sometime during this whole mess, my pool's pump was also shorted out. The breaker on that will only stay in the off position no matter how much I play around with it.

What a weekend! At least my laptop's humming along nicely on the new NetGear router.

Labels: ,

Friday, October 01, 2004

New release

After 3 months of development work by yours truly and a another talented programmer named David, a new version (v2.1.0) of my company's financial software suite is out and boy does it rock! Response time is up by a factor of 5 in some cases. Lots of new features. Guess I can't really talk about most of them, but boy does it feel good to be done with that. :) Now for 2.2...

Labels:

Wednesday, September 29, 2004

SSL with client auth

Why oh why do we have to communicate securely? Can't we just trust that people won't be snooping on us?

Ok, so that's not realistic, especially with financial software customers... Still, dealing with tomcat and SSL with client auth can be a real pain. Especially when the communication is all happening in Java and the client is not a browser. I'd solved this the painful way via openssl, digitally signing and setting my internal certs to expire in 10 years hoping to never need to do it again... Well guess what? I wasn't careful enough and my CA cert was set to 1 year... Ack! So a year after I'd done all the work in OpenSSL, (and of course lost my notes on it,) customer software suddenly could not communicate properly! To make a long story short, the affected customers set back their clock to keep things running and I got them nice and patched in about a day.

And life goes on...

Labels: ,

Wednesday, September 22, 2004

Some good news

After many months of playing the waiting game, two large software contracts have finally made their way to the company through all the red tape and lawyers... With signatures and a first check even! Actually one still has to be realized (hopefully on Friday,) but it's looking pretty good. So what does this mean? No time for much else for the next month or so probably. But, all in all, a good thing.

Labels: