Redesign complete 
The code now uses JiBX to bind from XML to a native Java object model. dom4j is no longer used in the project. The repeat elements have been simplified and AspectJ / Spring contexts are no longer required for correct operation. So those issues are now put to rest.

The instruction and row mechanism is now much simpler. Instructions are now either block instructions (which consist only of rows) or inline instructions (can occur within a row). Block instructions can now be merged together in parallel (by row) or serially (by instruction).

You will soon be able to define a structure which can repeat different sets of instructions together. For instance, a 9-row instruction repeat (e.g. the body of a sweater) and a 2-row repeat (e.g. seed stitch) can be described and processed together. This would have the effect of "work body of sweater to marker, then work seed stitch to end." It's very useful to be able to express this as a designer. Some knitters may prefer to think about the pattern this way, or they may want an explicit set of rows printed out for them. The knitter will have that choice.

In other updates, multiple row definitions per element are now fully processed and supported by the validator.

The downside is that there is a bug in JiBX which, when combined with a major bug in the Maven Assembly Plugin, causes the KnitML build to fail. I think I have a workaround, but it's tenuous and fragile. Hopefully the JiBX issue will be fixed soon and I can unhack by Maven POM.

[ add comment ]   |  [ 0 trackbacks ]   |  permalink
Redesign 
Wow, so having a little distance from the project has really given me some perspective about the code that I have developed thus far.
  • The Spring contexts are abysmally slow to start up, especially when the whole JVM is being created with every command line execution. I'm going to have to eliminate those contexts and do software initialization manually. That's not really an awful thing, since Spring contexts really excel at stateless objects, yet this solution is anything but stateless.
  • The recording mechanism for the repeat and repeat-instruction elements is kind of wacky and needs to be rethought.
  • We really need to have an independent object model of the knitting pattern. The problem is that too much of the logic which connects the algorithm defined in the XML to the knitting engine is in the form of XML visitors. It really needs to be working with an independent object model that can be pushed to the engine.
Any code junkies out there want to help me fix these?

[ 1 comment ] ( 34 views )   |  [ 0 trackbacks ]   |  permalink
Well, It's Been Fun 
It's been nearly a year since KnitML first got off the ground. It has taught me a lot about open source, given me the chance to stay on top of some of the latest technologies, and taught me a lot about software architecture. Perhaps the best part about the project is that it's been my chance to combine my professional skills with one of my favorite hobbies.

So it is with sadness that I am forced to announce the hibernation of the KnitML project. I've come to face reality that I can no longer continue to do this by myself. I was really hoping to build a community of software developers that could deliver something extraordinary. Unfortunately, the vision, design, and implementation has almost exclusively been mine, and I have not been able to drum up enough interest. There is not much point in putting forth a specification which includes only one person's ideas, as it will never meet the needs of a global knitting community.

Also, there's nothing more effective for setting priorities straight than family. That said, my wife and I are expecting our first child in a few weeks! We are absolutely thrilled and can't wait to meet this new, special person about to come into our lives.

The web site, the downloads, the source code repository, and the issue tracker will of course remain open. Perhaps in the future I will start things back up again, or perhaps another soul will come along and continue with what we've started.

Thanks for everyone's support. May we meet someday again.

[ 3 comments ] ( 77 views )   |  [ 0 trackbacks ]   |  permalink
KnitML 0.3 Released 
I am very happy to announce that KnitML 0.3 has been released. This release includes a much-needed user's guide and solidifies support for the KnitML Expression Language (a.k.a. GroovyKnit). GroovyKnit should make writing KnitML files a breeze.

Give it a try and let me know what you think!

[ add comment ] ( 3 views )   |  [ 0 trackbacks ]   |  permalink
Upcoming KnitML 0.3 release 
After a bit of a hiatus to concentrate on a software release for work (and a nice vacation to the Pacific Northwest), I am now gearing up to release KnitML 0.3, hopefully within a week. Not only will it include a series of bug fixes and enhancements, but I hope to have a fully annotated schema as well as more documentation and formality of the new GroovyKnit syntax.

I'll certainly keep you posted.

[ add comment ] ( 1 view )   |  [ 0 trackbacks ]   |  permalink

<<First <Back | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Next> Last>>