Continuing my interest in all things Wicket, some months before Christmas I found an open source project called Brix CMS, currently hosted on Google Code. It seemed like a more agile fit for my needs regarding content driven websites, with high value placed on componentisation. Additionally the project owners are committers for Wicket, and have put a very well organised framework together in Brix, easily extensible, and very powerful.
I have bashed some sites together using Brix already for a range of clients for my company, and have been pleasantly surprised with how I have been able to apply the framework to so many different domains.
It is early days yet, but the discussion lists are picking up a little, and the roadmap looks promising. As a tool, it certainly fits my needs so I will be following it with great interest. Documentation is sparse but improving, and much of what you need to do to extend Brix is fairly intuitive.
Leveraging Wicket and Jackrabbit seems to provide such power and flexibility, I find it hard to go back to the ways of JSF or even worse Servlets and XSLT as some of my company's projects use. Cocoon with XSLT yes, Servlets with XSLT please no... no... no.
I am having a little difficulty getting my head around integration testing with Brix, the ability to test wicket pages in isolation is something I am missing, but hopefully I will find a way.
Sunday, February 08, 2009
Sunday, December 14, 2008
I have an admission to make.. I changed sides to Wicket
I had evaluated Wicket once before in its early days and dismissed it as a toy, but back in August, after frustrations with trying to write 'complete' web applications, not just for processing xml with Cocoon I tried it again... and absolutely loved it. I have since built a handful of web applications for different clients across the UK, NHS, University and other with Wicket and the Apache Jackrabbit repository backing it up.
The combination of Wicket and Jackrabbit is very powerful indeed. While the verbose nature of Java means nothing is particularly compact with Wicket, the componentisation capabilities are amazing! I love the code re-use possibilities. Every problem can be broken down into is constituent parts.
I don't know much yet about the performance I can expect to see when building webapps with Wicket, its something I will have to read up on.
I have been reading with interest over the last few months how the hippo guys are doing the same. It will be interesting to check out their latest cms release when it is out of beta.
The combination of Wicket and Jackrabbit is very powerful indeed. While the verbose nature of Java means nothing is particularly compact with Wicket, the componentisation capabilities are amazing! I love the code re-use possibilities. Every problem can be broken down into is constituent parts.
I don't know much yet about the performance I can expect to see when building webapps with Wicket, its something I will have to read up on.
I have been reading with interest over the last few months how the hippo guys are doing the same. It will be interesting to check out their latest cms release when it is out of beta.
Friday, August 01, 2008
Cocoon 2.2, Spring and Database Integration
Well, it seems I spoke too soon in my last post where I said...
'therefore, you can do anything you like with technologies like Hibernate, marvellous..'.
While Cocoon 2.2 integration with Spring is watertight.. integrating with the right versions of Spring libraries outside of the default ones, and with Hibernate or JPA is not straight forward. Furthermore, as has always been the case, while the documentation for Cocoon is slowly growing in terms of quantity, and quality, it is still far behind many other projects. I had big issues getting any solution to work in terms of writing to or reading from the database, and saw, that many others have apparently had the same problems. In many cases, I saw strange hacks to get things working, and lets face it, users want to see a solution work without strange and ugly hacks.
Changing topics, Cocoon Forms has frustrated me recently, while I have always admired its powerful capabilities, I do not like the way it just seems to 'brake the flow of an application, requiring different matchers, and templating technologies. I realy wanted to enable the componentisation of forms under my own widget system, where forms could just be embedded in a simple manner. I ended up hacking my application to such a deep level that I decided I was better of just using the 'Form is the whole World' approach as per usual. Perhaps someone else has a solution around this?
Anyhow, thats enough of my thoughts on these two subjects, I will get back to them both next time.
'therefore, you can do anything you like with technologies like Hibernate, marvellous..'.
While Cocoon 2.2 integration with Spring is watertight.. integrating with the right versions of Spring libraries outside of the default ones, and with Hibernate or JPA is not straight forward. Furthermore, as has always been the case, while the documentation for Cocoon is slowly growing in terms of quantity, and quality, it is still far behind many other projects. I had big issues getting any solution to work in terms of writing to or reading from the database, and saw, that many others have apparently had the same problems. In many cases, I saw strange hacks to get things working, and lets face it, users want to see a solution work without strange and ugly hacks.
Changing topics, Cocoon Forms has frustrated me recently, while I have always admired its powerful capabilities, I do not like the way it just seems to 'brake the flow of an application, requiring different matchers, and templating technologies. I realy wanted to enable the componentisation of forms under my own widget system, where forms could just be embedded in a simple manner. I ended up hacking my application to such a deep level that I decided I was better of just using the 'Form is the whole World' approach as per usual. Perhaps someone else has a solution around this?
Anyhow, thats enough of my thoughts on these two subjects, I will get back to them both next time.
Saturday, June 21, 2008
More on Cocoon 2.2 and Maven
Well a couple of months ago I blogged to talk about a number of projects I was working on using Cocoon 2.2 and Maven 2. Here is a little catch up. Both are on the point of going live, and since my last post, Cocoon 2.2 has finally been fully released.
My experiences are all good with both, although as per usual, and particularly where more than one technology is involved, the learning curve is definitely a factor to be taken into consideration, particularly if time is short, or your development team is small.
First up, the company website I mentioned, is due to go live in a matter of weeks now. Crafting it with Cocoon 2.2 was great fun, so neat and tidy. Managing it with Maven 2 is also very efficient. The time required to make everything work well in Maven was pretty immense though, for example the need for a private corporate repository, and a proxy to enable reproducible builds at any time.
I mentioned before that I had no experience with working with databases through Cocoon, and that seemed at the time to be a daunting prospect. Well it turns out Cocoon 2.2's integration with Spring is as watertight as it says on the box, and therefore, you can do anything you like with technologies like Hibernate, marvellous!
Separation of concerns is still to me one of the very best features of Cocoon, and twinned with powerful transformation pipelines, you get the complete set of tools to work with.
Thanks to the Cocoon and Maven teams for providing such excellent tools to work with.
My experiences are all good with both, although as per usual, and particularly where more than one technology is involved, the learning curve is definitely a factor to be taken into consideration, particularly if time is short, or your development team is small.
First up, the company website I mentioned, is due to go live in a matter of weeks now. Crafting it with Cocoon 2.2 was great fun, so neat and tidy. Managing it with Maven 2 is also very efficient. The time required to make everything work well in Maven was pretty immense though, for example the need for a private corporate repository, and a proxy to enable reproducible builds at any time.
I mentioned before that I had no experience with working with databases through Cocoon, and that seemed at the time to be a daunting prospect. Well it turns out Cocoon 2.2's integration with Spring is as watertight as it says on the box, and therefore, you can do anything you like with technologies like Hibernate, marvellous!
Separation of concerns is still to me one of the very best features of Cocoon, and twinned with powerful transformation pipelines, you get the complete set of tools to work with.
Thanks to the Cocoon and Maven teams for providing such excellent tools to work with.
Sunday, February 03, 2008
Touching base on Maven and Cocoon
I blogged a while ago on a new technology (to me), Maven, and one I am familiar with... Cocoon, now here is a quick catch up on both topics.. combined. I am now using both Maven and Cocoon, in the form of Cocoon 2.2, which I am experimenting with for the first time. The modular approach for builds that maven represents appeals to me, and Cocoon is an old favourite in my development toolkit, yes it still gives me a warm glow inside, and truthfully I have not yet experienced anything as good in terms of architecting an elegant web platform.
I intend to rewrite my company website using this set of tools, and have another project to work on simultaneously, the former is purely a publishing project, something I have experience in, the latter is a database intensive operation, something I am not comfortable with in terms of Cocoon. I have still not seen any beginner (best practice) samples for developing DB powered webapps with Cocoon.. specifically Cocoon 2.2, the search goes on. If I do find any, I will be sure to post them as a follow up to this.
In terms of my experience so far, this Maven Cocoon 2 combination has a fair overhead, particularly if you are not familiar with the concept of build tools such as Apache Ant, and Cocoon by itself is a large and complex platform. The joy is in watching your efforts rewarded with powerful automation, and an incremental, concise approach, allowing the developer to use lego blocks, reusing code, and expanding the boundaries confining any architecture elements of the system.
A word of warning though, as of right now, the chances of a successful build of Cocoon 2.2, without being forced to tinker with the system are slim, it is a frustrating experience, which perhaps only makes your eventual success (hopefully), all the more pleasant.
I intend to rewrite my company website using this set of tools, and have another project to work on simultaneously, the former is purely a publishing project, something I have experience in, the latter is a database intensive operation, something I am not comfortable with in terms of Cocoon. I have still not seen any beginner (best practice) samples for developing DB powered webapps with Cocoon.. specifically Cocoon 2.2, the search goes on. If I do find any, I will be sure to post them as a follow up to this.
In terms of my experience so far, this Maven Cocoon 2 combination has a fair overhead, particularly if you are not familiar with the concept of build tools such as Apache Ant, and Cocoon by itself is a large and complex platform. The joy is in watching your efforts rewarded with powerful automation, and an incremental, concise approach, allowing the developer to use lego blocks, reusing code, and expanding the boundaries confining any architecture elements of the system.
A word of warning though, as of right now, the chances of a successful build of Cocoon 2.2, without being forced to tinker with the system are slim, it is a frustrating experience, which perhaps only makes your eventual success (hopefully), all the more pleasant.
Sunday, January 06, 2008
Decisions decisions.. choosing technologies
Ah but it is so difficult sometimes to choose one technology over another. I have been a big fan of Cocoon for several years now, and know how to use it in some scenarios but not in others, I don't know of a better publishing platform, but what about when you need to work with dynamic input, and databases, what patterns are in place for that side of things?
I have yet to find a better templating system than XSLT, but then when you are getting your data dynamically from a database you don't necessarily want to be working with it in XML. What I really need is a pattern where we can splice seamlessly data from XML, database, and other backend sources, without adding the overhead of squeezing the database results into XML format. Oh and to confuse things further, I'd like to do it with Cocoon 2.2, for which there is nowhere near enough documentation yet.
On recent projects for my new company, in an effort to build componentised platforms for working in a modular way with dynamic data from a database backend, I have worked with JSF and Facelets, and while it is a big improvement over JSF with JSP, there is something that still does not feel natural about it. I get no warm glow like I do when I revisit similar past projects written in Cocoon.... perhaps I am not adapting to change very well, I don't know.. perhaps there was a more domain based language approach using Cocoon and custom templating / component systems?
If anyone has any advice on working with multiple backend stores in a fluid way with Cocoon 2.2, I'd love them to point the way.
On the same subject are there any profiling results out for Cocoon 2.2 benchmarks, without caching, information on the reduction in bloat? It would be interesting reading.
I have yet to find a better templating system than XSLT, but then when you are getting your data dynamically from a database you don't necessarily want to be working with it in XML. What I really need is a pattern where we can splice seamlessly data from XML, database, and other backend sources, without adding the overhead of squeezing the database results into XML format. Oh and to confuse things further, I'd like to do it with Cocoon 2.2, for which there is nowhere near enough documentation yet.
On recent projects for my new company, in an effort to build componentised platforms for working in a modular way with dynamic data from a database backend, I have worked with JSF and Facelets, and while it is a big improvement over JSF with JSP, there is something that still does not feel natural about it. I get no warm glow like I do when I revisit similar past projects written in Cocoon.... perhaps I am not adapting to change very well, I don't know.. perhaps there was a more domain based language approach using Cocoon and custom templating / component systems?
If anyone has any advice on working with multiple backend stores in a fluid way with Cocoon 2.2, I'd love them to point the way.
On the same subject are there any profiling results out for Cocoon 2.2 benchmarks, without caching, information on the reduction in bloat? It would be interesting reading.
Tuesday, November 27, 2007
The next project, data modelling, warehouse, inventory?
So, as we are about to roll out a massive project to one of our clients, a 'very' large British company, I am excited in as much as there will be new things on the horizon. Several months ago now I blogged on an upcoming project involving workflow engines, and the fact that this was something about which I new absolutely nothing. Well I find myself in the same situation now.
It looks like for another client in the UK, a well known University, we have a need to develop some kind of inventory / stores / data warehouse system. Once again, I know nothing about this, and my first thought is, 'is there an excellent open source framework out there for this?'.
I am currently researching online, and looking through various books. But this sort of thing is of course better coming from those who are experienced, anyone out there know anything about this?
My last project hooked me up with the guys at JBoss, their workflow engine is really very good, and will only get better over time. What is out their for warehousing, inventory?
Any pointers appreciated :-)
It looks like for another client in the UK, a well known University, we have a need to develop some kind of inventory / stores / data warehouse system. Once again, I know nothing about this, and my first thought is, 'is there an excellent open source framework out there for this?'.
I am currently researching online, and looking through various books. But this sort of thing is of course better coming from those who are experienced, anyone out there know anything about this?
My last project hooked me up with the guys at JBoss, their workflow engine is really very good, and will only get better over time. What is out their for warehousing, inventory?
Any pointers appreciated :-)
Tuesday, October 23, 2007
Maven, to use or not to use
I have looked at Maven as a possible approach to standardise the way I work with projects in the past, and have thought it has a great deal of promise, but two things have held me back from working with it... time, and some negative reviews from people I respect in the software development circles.
Now I am working in a small company, where in between projects there is scope to work on improving project platforms, engine rooms etc, and there is definitely scope to improve reuse of code. Added to this I am sick of checking jar files to source control, it seems a bit pointless.
So I grabbed myself a PDF to read through, and intend to beef up on Mavenesque ways over the next few weeks, lets see how it goes.
I will report back in a while.
Goes quiet, pondering, where's my cup of tea?
Now I am working in a small company, where in between projects there is scope to work on improving project platforms, engine rooms etc, and there is definitely scope to improve reuse of code. Added to this I am sick of checking jar files to source control, it seems a bit pointless.
So I grabbed myself a PDF to read through, and intend to beef up on Mavenesque ways over the next few weeks, lets see how it goes.
I will report back in a while.
Goes quiet, pondering, where's my cup of tea?
Tuesday, September 18, 2007
Ayee, its time for the Cocoon Get Together 2007 and I cannot go!
Tis a terrible shame but I am missing the Cocoon Get Together this year as I have a massive project deadline. Double shame because it is in Rome. Oh woe is me!
Instead I am working with British Airways on a huge project which will initially be released to some 23,000 users. No pressure.
I am sad that I cannot make it, but I will just have to get everything booked early for next year. I really enjoyed doing the presentation last year with Jeremy, and as per usual the food and beer.
I will have to get back online and back on the radar again once the deadline is over to talk to the Cocoon guys.
What with being flooded one week after moving in to our new house also, its been a pretty duff year really.
Instead I am working with British Airways on a huge project which will initially be released to some 23,000 users. No pressure.
I am sad that I cannot make it, but I will just have to get everything booked early for next year. I really enjoyed doing the presentation last year with Jeremy, and as per usual the food and beer.
I will have to get back online and back on the radar again once the deadline is over to talk to the Cocoon guys.
What with being flooded one week after moving in to our new house also, its been a pretty duff year really.
Wednesday, August 15, 2007
Another month on, and I am still in Workflow Engine land
So, time goes by, and I am still working with workflow engines, my experience and opinions have changed somewhat.
First up I have dropped OSWorkflow, the graphical designer just did not do what I needed it to. I am now using JBPM from the JBoss folks. And not withstanding the site, which as per all other workflow sites does not point the way to a workflow engine newbie, I am very impressed with the documentation, the helpfulness of the people in the forum, and the capabilities of the product itself, including the graphical designer which is an Eclipse plugin.
The product is fairly stable, and any bugs I do find and report are not critical, so far so good. Most importantly, for a large project with one of my company's largest clients I am able to create business processes emcompassing all of their requirements.
Requirements I see to make this 'the' leading workflow engine would be some improvements to point the way for 'newbies', and a cookbook for common process definition howto's.
I am pleased that all aspects of the project are under ongoing development with regular released.
Now I am looking forward to the post project launch days where I might finally be able to go get some much needed holiday :-)
First up I have dropped OSWorkflow, the graphical designer just did not do what I needed it to. I am now using JBPM from the JBoss folks. And not withstanding the site, which as per all other workflow sites does not point the way to a workflow engine newbie, I am very impressed with the documentation, the helpfulness of the people in the forum, and the capabilities of the product itself, including the graphical designer which is an Eclipse plugin.
The product is fairly stable, and any bugs I do find and report are not critical, so far so good. Most importantly, for a large project with one of my company's largest clients I am able to create business processes emcompassing all of their requirements.
Requirements I see to make this 'the' leading workflow engine would be some improvements to point the way for 'newbies', and a cookbook for common process definition howto's.
I am pleased that all aspects of the project are under ongoing development with regular released.
Now I am looking forward to the post project launch days where I might finally be able to go get some much needed holiday :-)
Monday, July 02, 2007
Workflow software/projects
The most poorly documented, tried and tested software I have yet encountered.. that sums it up.
Most of the projects I tried either did not work as advertised due to bugs, or were so poorly documented that it would have taken me weeks to get started.
Luckily in the case of some, there were some helpful people in the Open Source world to give me a hand getting started. Notably with OSWorkflow.
Come on guys, a couple of howto's, some some testing and a friendly to beginners site is not too much to ask?
To be fair it turns out there are some books and products coming soon for OSWorkflow, they will be helpful, just a little too late for my project unfortunately.
Most of the projects I tried either did not work as advertised due to bugs, or were so poorly documented that it would have taken me weeks to get started.
Luckily in the case of some, there were some helpful people in the Open Source world to give me a hand getting started. Notably with OSWorkflow.
Come on guys, a couple of howto's, some some testing and a friendly to beginners site is not too much to ask?
To be fair it turns out there are some books and products coming soon for OSWorkflow, they will be helpful, just a little too late for my project unfortunately.
Wednesday, May 30, 2007
First website launched on Cocoon platform at my new company
So, the first cocoon website is launched in 'beta' mode at my new company. njwfm.com is powered by the Hippo CMS, and uses the dojotoolkit.org for javascript tricks. While the site is tagged as 'beta' right now, it is more or less functional, and my colleagues are able to power their company website.
Once again, just as when I was at VNU, Cocoon has enabled me to create a website building platform, and while the entry point is still geared to developers, I aim to simplify over time to enable designers to build sites.
Using best of breed open source projects has enabled me to tackle the problem of building powerful, customisable websites, rather than fighting with jumping through needless hoops, and being forced to contend with rewrites for improving functionality available within the platform.
Not only that, but despite its 'bloat' and age, Cocoon is still after all my dabbling in frameworks, my favourite... roll on Cocoon 2.2 I can't wait for the lean mean version.
Once again, just as when I was at VNU, Cocoon has enabled me to create a website building platform, and while the entry point is still geared to developers, I aim to simplify over time to enable designers to build sites.
Using best of breed open source projects has enabled me to tackle the problem of building powerful, customisable websites, rather than fighting with jumping through needless hoops, and being forced to contend with rewrites for improving functionality available within the platform.
Not only that, but despite its 'bloat' and age, Cocoon is still after all my dabbling in frameworks, my favourite... roll on Cocoon 2.2 I can't wait for the lean mean version.
Monday, April 30, 2007
Open source issue tracking software JTrac
Just thought I would push a message out about this decent Java open source issue management project I stumbled across while researching open source issue trackers. JTrac is great, simple to setup, extensible, clean and friendly. Very easy to integrate with your websites, and to customise. Of course it is using all the best agile technologies, Spring, Hibernate etc etc. I am tempted to use it for my own projects.
Monday, April 23, 2007
Leveraging powerful frameworks
I really feel that I need to give more back to the open source world.. after all I am benefiting so massively from a number of open source frameworks. In my new role, (6 working days in), I am required to set up a web platform which is extensible, efficient, reliable and usable, and using Apache, Cocoon, Dojo and the Hippo CMS I am able to do just that. The job is not over yet, but I am confident that my new company will be very happy with the end product. Thanks to the guys at Apache, Cocoon.Apache, Dojo and Hippo.
So how to give back, I suppose I just need to get more involved in the communities! Provide feedback, ensure any problems are reported, and help to get more exposure for the different projects.
I will be sure to post more on the results of working with these frameworks in the coming weeks.
So how to give back, I suppose I just need to get more involved in the communities! Provide feedback, ensure any problems are reported, and help to get more exposure for the different projects.
I will be sure to post more on the results of working with these frameworks in the coming weeks.
Monday, April 09, 2007
Dedicated Server with Gentoo, Apache and Webdav
Yep, still loving having my own dedicated server... and this time, I'm going to jabber about the virtues of Gentoo, Apache and Webdav.
I wanted to provide a place where my dad can store and backup his documents, so originally I considered SFTP.. not so easy, I then needed to educate on the nuances of file transfer with some special client application... Webdav steps in here as an easier alternative, drag and drop from a native windows interface.. Windows' own File Explorer.
On Gentoo.. which has arguably the best package management system, 'Portage', setting up Apache with Webdav was easy, very easy, there are plenty of howto's all available with a quick Google search.
So thats use number one for a dedicated server... use number two would have to be my subversion setup with Apache.. no more excuses, I should not be able to lose valuable work anymore.
I also get to make my code and libraries, and for that matter reference works available to me wherever I go if the internet is available. Handy!
I wanted to provide a place where my dad can store and backup his documents, so originally I considered SFTP.. not so easy, I then needed to educate on the nuances of file transfer with some special client application... Webdav steps in here as an easier alternative, drag and drop from a native windows interface.. Windows' own File Explorer.
On Gentoo.. which has arguably the best package management system, 'Portage', setting up Apache with Webdav was easy, very easy, there are plenty of howto's all available with a quick Google search.
So thats use number one for a dedicated server... use number two would have to be my subversion setup with Apache.. no more excuses, I should not be able to lose valuable work anymore.
I also get to make my code and libraries, and for that matter reference works available to me wherever I go if the internet is available. Handy!
Friday, March 23, 2007
Sending and receiving invites by mail on the Mac
Yeah.. I do not have them yet.. I choose to use either the native 'Mail' program.. or Thunderbird plus the Lightning plugin.. and neither yet have stability in terms of giving me this functionality. No I am not prepared to use Microsoft's client on the mac to do this.
Looks like this is one of the last things lacking on the beautiful platform that is OS X.
The question is 'will Leopard address this with updates to 'Mail'..'? Or will the Lightning plugin get there first?
I want it and I want it now :-)
Looks like this is one of the last things lacking on the beautiful platform that is OS X.
The question is 'will Leopard address this with updates to 'Mail'..'? Or will the Lightning plugin get there first?
I want it and I want it now :-)
Tuesday, March 06, 2007
A new job, but there is still scope to use Cocoon
I just got myself a new job with a small company in Hungerford... so the bad news is I am leaving one of the biggest users of Cocoon (VNU). The good news is, the new company use Java and XML/XSLT, and seem to have many projects where Cocoon will excel as the platform.. so fingers crossed!
Meantime.. its seems people are still looking at Cocoon very seriously as a platform which demonstrates excellent separation of concerns, and a tidy way to build functional blocks. I still have not seen a better publishing framework.
Most recently.. I have also seen however that building truly dynamic applications with it is still a challenge.. so perhaps it is not the best choice for a tools based solution.
I may be proved wrong with all the effort going into the CForms recently, and I have not really looked into the portals block.
I will experiment!
Meantime.. its seems people are still looking at Cocoon very seriously as a platform which demonstrates excellent separation of concerns, and a tidy way to build functional blocks. I still have not seen a better publishing framework.
Most recently.. I have also seen however that building truly dynamic applications with it is still a challenge.. so perhaps it is not the best choice for a tools based solution.
I may be proved wrong with all the effort going into the CForms recently, and I have not really looked into the portals block.
I will experiment!
Wednesday, January 31, 2007
Fixing Broken Windows
I first heard about this concept when reading some material from the superb collection posted on www.pragmaticprogrammer.com. Basically, as and when you find problems, no matter the size or apparent importance... fix them. If you don't the analogy is with a street in disrepair, first the grafitti, and if that goes unchecked, the broken windows, and then finally masses of out of control street crime, derelict buildings and anarchy!
Now all well and good 'the business' might say, but we want to launch 3 million projects on to our platform in two weeks, and to hell with the maintenance... we want money! Fine, but then suddenly everythings looking a bit flaky, and you are firefighting for days at a time instead of actually being productive.... another saying fits the bill here...
'slowly slowly catchy monkey'.
Listen to the guys at www.pragmaticprogrammer.com, they are good!
Now all well and good 'the business' might say, but we want to launch 3 million projects on to our platform in two weeks, and to hell with the maintenance... we want money! Fine, but then suddenly everythings looking a bit flaky, and you are firefighting for days at a time instead of actually being productive.... another saying fits the bill here...
'slowly slowly catchy monkey'.
Listen to the guys at www.pragmaticprogrammer.com, they are good!
Tuesday, November 21, 2006
Ruby and SDL again.. now I am finally getting time to write my game
So, I have had an on going dream project.. writing a game in Ruby... I first started this years ago, and it was an ambitious project, a multiplayer online virtual world.. pretty much what everybody starts out trying to do.
Then I got a new job in London, and it all went to pieces. Now finally I am picking it up again, with a careful plan.. start with something simple, and finish it, creating a game engine and getting a feel for things in the process, then move on to something more complicated, finally finishing with my multiplayer online game.
Of course the whole operation is great fun, as I am working with ruby, and SDL seems to do a pretty decent job in terms of coping with all the different OS platforms out there. Yes, you would be right in thinking that in-game art is going to be the toughest part of this! I have no graphical talent.
Progress is good, I am calling the project Spacewars for now, and it is based on a game I played when I was about eight years old on an Amstrad CPC. For more information checkout www.rossputin.org/projects/.
Then I got a new job in London, and it all went to pieces. Now finally I am picking it up again, with a careful plan.. start with something simple, and finish it, creating a game engine and getting a feel for things in the process, then move on to something more complicated, finally finishing with my multiplayer online game.
Of course the whole operation is great fun, as I am working with ruby, and SDL seems to do a pretty decent job in terms of coping with all the different OS platforms out there. Yes, you would be right in thinking that in-game art is going to be the toughest part of this! I have no graphical talent.
Progress is good, I am calling the project Spacewars for now, and it is based on a game I played when I was about eight years old on an Amstrad CPC. For more information checkout www.rossputin.org/projects/.
Friday, November 10, 2006
I am setting up my own dedicated server, its fun for a geek!
As mentioned in my previous post, www.rossputin.org (down at the time of this writing) is moving to my new dedicated server, and this is opening up a whole new world to me, involving hosting my own DNS, when previously I could only work from the Apache stage onwards. I have always classified myself as a software developer/architect, so doing these sys admin type of tasks is new ground, but definitely informative.
Of course because this is my own server (well, shared with a colleague at work) and these websites are my own.. I am striving to crank the maximum performance possible out of them. Its good fun actually... benchmarking for speed and seeing exactly what kind of performance I can get out of them!
The server will be cranking out plain old html pages, and pages served from a Cocoon instance. I am going to list some benchmark results from both here. First up, with no caching.
Plain html
using Apache Benchmark with 100 consecutive requests, we get:
Requests per second: 1155.13
Time per request : 0.866
(fast as expected, its just html)
Home page of Cocoon App
same apache command:
Requests per second: 110.51
Time per request : 9.049
(not so fast, of course.. as expected)
So I am prepared to accept 110.51 requests per second in consecutive tests.
Now lets look at some more serious stress testing :-)
Lets look at concurrent requests...
ab2 -n 10000 -c 50 http://www.my-non-cached-website.com/
will run 10000 requests with 50 request concurrency :-)
The results on my cocoon instance behind apache are:
Requests per second: 172.98
Time per request : 289.045
Now once again, clearly this is fast enough for a hobby homesite.. by why make the server do any more than it needs to, why overwork Cocoon, content is hardly changing very often.
Lets plug the caching in and repeat the tests :-)
Same ab2 command... ab2 -n 10000 -c 50 http://www.my-cached-website.com/
Wow!!!!!!
Results on cocoon instance behind apache:
Requests per second: 1602.96
Time per request : 31.192
Sweeet!!! Apache is very cool.
Of course because this is my own server (well, shared with a colleague at work) and these websites are my own.. I am striving to crank the maximum performance possible out of them. Its good fun actually... benchmarking for speed and seeing exactly what kind of performance I can get out of them!
The server will be cranking out plain old html pages, and pages served from a Cocoon instance. I am going to list some benchmark results from both here. First up, with no caching.
Plain html
using Apache Benchmark with 100 consecutive requests, we get:
Requests per second: 1155.13
Time per request : 0.866
(fast as expected, its just html)
Home page of Cocoon App
same apache command:
Requests per second: 110.51
Time per request : 9.049
(not so fast, of course.. as expected)
So I am prepared to accept 110.51 requests per second in consecutive tests.
Now lets look at some more serious stress testing :-)
Lets look at concurrent requests...
ab2 -n 10000 -c 50 http://www.my-non-cached-website.com/
will run 10000 requests with 50 request concurrency :-)
The results on my cocoon instance behind apache are:
Requests per second: 172.98
Time per request : 289.045
Now once again, clearly this is fast enough for a hobby homesite.. by why make the server do any more than it needs to, why overwork Cocoon, content is hardly changing very often.
Lets plug the caching in and repeat the tests :-)
Same ab2 command... ab2 -n 10000 -c 50 http://www.my-cached-website.com/
Wow!!!!!!
Results on cocoon instance behind apache:
Requests per second: 1602.96
Time per request : 31.192
Sweeet!!! Apache is very cool.
Subscribe to:
Posts (Atom)
