<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="2.0" xml:base="http://www.cokeandcode.com">
<channel>
 <title>Coke And Code - Java Games and Games Development - Rants</title>
 <link>http://www.cokeandcode.com/taxonomy/term/8/0</link>
 <description>Ramblings rants of a mad man.</description>
 <language>en</language>
<item>
 <title>Why I left JGO (and others)?</title>
 <link>http://www.cokeandcode.com/node/1380</link>
 <description>&lt;p&gt;&lt;i&gt;If you don&#039;t know what JGO or JavaGaming.Org is then turn off now&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;So, it&#039;s been a couple of weeks since I retired from some of the forums that have been a big part of my life for the best part of 10 years. It was a snap decision, in that it only took a moment to press the button, but it&#039;s been coming for a while.&lt;/p&gt;
&lt;p&gt;First let me say, just because I don&#039;t post, doesn&#039;t mean I don&#039;t read. For instance RSS is still churning out JGO to me day after day. I still think there&#039;s a lot of good to be had from the communities. In normal fashion for me, reverse first, why &lt;b&gt;didn&#039;t I leave JGO?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1. Because I don&#039;t believe in Java gaming any more - no, as you can probably already see I&#039;m just as much a Javaholic as I ever was. Slick continues, Phys2D continues, the games keep coming and the projects that arn&#039;t public still go on.&lt;/p&gt;
&lt;p&gt;2. Because it&#039;s too much like hard work - it wasn&#039;t hard work at all, I enjoyed asking and answering questions, moderating and most of all posting my new games and getting feedback (most of what game development is about for me).&lt;/p&gt;
&lt;p&gt;3. Because the 4K results didn&#039;t go my way - seriously? As I keep saying over and over, 4K is about the game not about the results. If only people would accept that we wouldn&#039;t have the ridiculous debarkle every year.&lt;/p&gt;
&lt;p&gt;4. Because I hate everyone at JGO - There are a few people my personality clashes with, as in real life, ok, maybe more than a few. However, in general I think we all have the same goal and so they can&#039;t really be that bad can they?&lt;/p&gt;
&lt;p&gt;So, why? At the time I thought I was doing it because I was getting stressed so much by the types of conversations that had begun to be the bread and butter of the place. Now, while the stress was definitely there, I sort of think of it as a silent protest (not so silent any more I guess) about the state of the place. The community used to be a community - we used to work together. Comment on each other&#039;s games, help each other out with code. Work together to make it possible to post Java and Games Development in the same thread on places like indiegamer, tigsource and gamedev.net without people falling over laughing - and we got a long way. It was a &lt;b&gt;community&lt;/b&gt;, we worked together to solve our common problems because it&#039;s more productive that way.&lt;/p&gt;
&lt;p&gt;Unfortunately that community has been dissolving over the past few years. More and more posts are about pushing remits or worse still pet technologies. More and more posts are arguments about which way of doing something is the right, proper and the &lt;b&gt;only&lt;/b&gt; way of doing it. There&#039;s less and less helping each other out. More than anything else, there is less objectivity. As a community it&#039;s failing because we stopped acting like a community. Recent events and posts are what finally got me to click that button, but looking back over years of posts as I have now it&#039;s been coming for while.&lt;/p&gt;
&lt;p&gt;I tried starting a community project, everyone jumped on, great sign of recovery I thought. However, no one wanted to settle on anything, it quickly divulged into 3 projects, each of which had a set of independent directions - why? Who knows? I&#039;d guess it&#039;s because the no one wanted to put their own time on the line for anything but their own direction - no one wanted to work for the community.&lt;/p&gt;
&lt;p&gt;The 4K contest was my last bastion of hope. Normally this is where the community pulls together and really starts helping each other out. This year&#039;s was a bit quiet on that front, but at least we got some really good games. However, as normal a &quot;discussion&quot; breaks out about whats right and fair in judging instead of focussing on the fact that as a community we produced 63(?) full games (and for another year, managed very well) - all of which were fun, all of which might at some point in the future get someone else to think about Java and Games again.&lt;/p&gt;
&lt;p&gt;So, this post is probably pretty unfair on people. There are still people doing the right thing (tm). Being objective. Giving their time freely. Not pushing their own remit/game/library at every given opportunity - and as I said, I still think the community of people has a lot going for it. Still the best Java developers in the world visit the forum, with the best pragmatic programmer attitudes and some of the wierdest knowledge about Java, the VM and the SDK anywhere on the planet. &lt;/p&gt;
&lt;p&gt;As to whether I&#039;ll be going back, probably at some point. Maybe I already have? If I do it&#039;ll be to lurk and hope that the place is going to spring back into what it used to be. It stressed me out a lot to see something that was so great, fall. I just don&#039;t see how it&#039;s going to claw it&#039;s way back.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/10">Geek</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Wed, 15 Apr 2009 07:22:49 +0000</pubDate>
</item>
<item>
 <title>Pixmania - Review - They Are Crap - Don&#039;t Use Them</title>
 <link>http://www.cokeandcode.com/node/1353</link>
 <description>&lt;p&gt;I recently ordered a lamp from Pixmania via Amazon Marketplace. It was expected to be delievered within 3 days, it didn&#039;t turn up. I gave them 10 days - just incase the xmas post was holding things up. Then I contacted them, to be told that it&#039;d be sent and delivered, and signed for apparantly. Could I check with my neighbours to see if one of them had it. &lt;/p&gt;
&lt;p&gt;First, if my neighbour had recieved it surely I would have recieved a card through the door saying that. Second the &quot;signature&quot; for the reciever was just a squiggle - not letters, not words, just a squiggle. Still, I checked. No joy. So I contact them again. &lt;/p&gt;
&lt;p&gt;I&#039;m told they&#039;ll need a copy of my signature, and passport, to confirm that the signture (which is just a squiggle) isn&#039;t mine - and that they&#039;ll then open an equiry. First, I&#039;m not sending you a copy of my passport, identity theft anyone. I print out, sign and scan the form I&#039;m sent, sending it back to them. I&#039;m told that if it isn&#039;t resolved within 28 days then nothing will be done about the fact I&#039;ve paid for goods I&#039;ve not recieved. I hear nothing for 2 weeks.&lt;/p&gt;
&lt;p&gt;I mail them again, and am asked for the same information again. I&#039;m told this time that the delievery service was DHL. I reply pointing out that I&#039;ve already sent this information and asking about the status of the investigation. Yet again, hear nothing. &lt;/p&gt;
&lt;p&gt;Apart from anything else, we&#039;re talking about a 40 quid lamp. Why didn&#039;t they in good faith just send out a new one, or refund the cash until it&#039;d been resolved. No, they need to go through a process. I still hear nothing. &lt;/p&gt;
&lt;p&gt;Today I just got this:&lt;/p&gt;
&lt;pre&gt;
Dear Mr./Ms./Mrs. Kevin Glass,

The investigation carried out with the transporter Parcel Force has
been completed and it has been confirmed that delivery took place on
2008-11-19.

The delivery ticket on the parcel XXXXXXXX for the indicated address
was signed. As a result, we are unable to resend the order or proceed
with a refund. 

For further information, please do not hesitate to contact our Customer
Service department by clicking on Contact [mailto:noreply@pixmania.com]
or by calling 0844 369 0372 (national rate call).

Thank you for your understanding.
&lt;/pre&gt;&lt;p&gt;
Let&#039;s take a look at that wonderful email. First, Mr/Ms/Mrs. Maybe thats why they didn&#039;t manage to get the post to me - they can&#039;t actually keep track of what gender the people they&#039;re delivering to are. &lt;/p&gt;
&lt;p&gt;Second, we&#039;re back to Parcel Force now. Parcel Force originally said they&#039;d delivered it. So, the result of the investigation has been ... dun dun dun ... they still say they delivered it. I&#039;ve waited 28 days for that. Great. &lt;/p&gt;
&lt;p&gt;Next, the revelation that *someone* signed for the delivery. Which as I&#039;ve said wasn&#039;t me and was just a squiggle (on the record from Parcel Force, not DHL you understand). That means they can&#039;t refund or resend. Well, thats great. So if anyone get&#039;s anything and signed for it they can steal it from the intended recipient. &lt;/p&gt;
&lt;p&gt;Finally, lets look at that last paragraph. Customer Service. So I can either pay national call rates to wait in a queue to talk to someone who is not going to have any power to resolve the issue or I can email them. Oh, but way, the email &quot;noreply&quot;. That the email they use to send out emails that they don&#039;t want automatic replies to. So, yes I could mail their customer support and promptly be put in the trash. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.pixmania.co.uk/uk/uk/home.html&quot;&gt;Pixmania&lt;/a&gt; my friends are rip off merchants. I&#039;m sure when transactions work they work, but thats not really what counts is it? It&#039;s when things go wrong you see what a company is worth - and in this case Pixmania arn&#039;t worth a cup of shit.&lt;/p&gt;
&lt;p&gt;As to the Amazon guarantee on Market Place, well thats worth absolutely squat aswell.&lt;/p&gt;
&lt;p&gt;So, Pixmania, I salute you. You&#039;re totally shit and run your business like a bunch of immoral halfwits. Anyone reading this please feel free to comment to Pixmania, at they&#039;re contactable address of &lt;a href=&quot;mailto:amazon_uk@pixmania.com&quot;&gt;SPAM PIXMANIA&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I have of course replied:&lt;/p&gt;
&lt;pre&gt;
So you&#039;ve taken my order, charged me and delivered nothing. In English
thats often referred to as theft. Don&#039;t thank me for my understanding,
because I simply don&#039;t. I don&#039;t understand how you can run a business in
such an appauling manner and continue to make a profit. I find it amazing
that you&#039;ve requested the same set of information from me twice during
this process, that you&#039;ve been unable to consistantly report the delivery
service in question (it&#039;s been Parcel Force, then DHL, now Parcel Force
again) and that the contact address for your Customer Service department
is &quot;noreply@pixmania.com&quot; - which of course is &quot;no reply&quot;.

I will be continuing the process of obtaining my refund through the small claims court.

Thank you for your understanding,

Mr Kevin Glass
&lt;/pre&gt;&lt;br /&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/7">Life</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Fri, 09 Jan 2009 11:41:59 +0000</pubDate>
</item>
<item>
 <title>A Suggestion to Banks - OPT</title>
 <link>http://www.cokeandcode.com/node/1332</link>
 <description>&lt;p&gt;Unfortunately just recently I&#039;ve been the vicitm of credit card fraud. They&#039;ve not taken much as yet - just bought a few bits and pieces of WoW - but it&#039;s still depressing and inconvienient to have someone else spending you money. I&#039;ll get the money back of course and the card in question is already cancelled but still.&lt;/p&gt;
&lt;p&gt;Being the geeky IT bloke that I am I can&#039;t help trying to solve the issue, so here it is, the solution. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Assumptions&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;  1) The internet is considered a &lt;a href=&quot;http://www.theregister.co.uk/2004/01/24/online_fraud_id_theft_soars/&quot;&gt;prominent part of credit card fraud&lt;/a&gt;. This is mostly because once card details have been stolen and/or skimmed they can be used on a wealth of online sites with little or no validation.&lt;br /&gt;
  2) Stopping people using their cards is just dumb, it&#039;s inconvinence to the consumer and not to the fraudster. They win.&lt;br /&gt;
  3) Everyone who uses online shopping, has an email address.&lt;br /&gt;
  4) Banks, Vendors and Credit Agencys &lt;b&gt;want&lt;/b&gt; to stop fraud. It&#039;s not productive or commercially positive for any of them.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Solution&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The system would require some updates to online credit/debit card validation for online sites. Here&#039;s the use case:&lt;/p&gt;
&lt;p&gt;  1) The consumer signs up with the bank for a credit/debit card. As part of this they can choose to provide an idenitifed email address that can only be changed via the bank.&lt;br /&gt;
  2) When an online card transaction is being validated via the bank the vendor&#039;s system is required to send a confirmation email to the address registered with the central bank system.&lt;br /&gt;
      2a) Ideally the system allows the vendor to send the bank a confirmation URL and the bank forwards on the email to the registered address.&lt;br /&gt;
  3) The consumer is displayed a message saying the transaction is pending until confirmation.&lt;br /&gt;
  4) The consumer checks they&#039;re mail, clicks the confirmation URL and the transaction is completed as before.&lt;/p&gt;
&lt;p&gt;I call it OPT - Online Payment Tracking. I&#039;ll even give you a slogan &quot;OPT in, to prevent online fraud&quot;. The idea is free, no consultancy charge, just do it!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Why this is good!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;   1) This doesn&#039;t appear like it&#039;d take much organisation or change given the online checks already have to contact banks to confirm credit status.&lt;br /&gt;
   2) The email address is centralised, no more relying on the address that was registered for the [insert vendor name here] account.&lt;br /&gt;
   3) The consumer gets record sent to them electronically of every transaction. It&#039;s just like the credit card reciept you get on top of the shop&#039;s reciept physically.&lt;br /&gt;
   4) It prevents online fraud. The fraudster would have to get your email account details. They&#039;d have to know where the email address was hosted to even start this process which has no visibility to the external user.&lt;br /&gt;
   5) This doesn&#039;t reduce security. It&#039;s extra and optional. If the consumer doesn&#039;t care enough or is scared of technology, thats fine, don&#039;t use it.&lt;/p&gt;
&lt;p&gt;So, please please please implement it. &lt;/p&gt;
&lt;p&gt;EDIT: This could be made one step easier for the banks actually. Just send me an email with each online transaction on my card. Let me click a link to mark is as fraud. Vendors don&#039;t even need to care then.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/7">Life</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Thu, 30 Oct 2008 12:54:13 +0000</pubDate>
</item>
<item>
 <title>Documentation</title>
 <link>http://www.cokeandcode.com/node/1321</link>
 <description>&lt;p&gt;One of the projects I&#039;m still interested in is the 2D game library, Slick. It&#039;s been going a few years now and I think has started to become a really useful and quick way of getting moving with 2D games. Distribution issues aside the use of GL stops you worrying so much about performance and the API is pretty powerful making it fun to work with.&lt;/p&gt;
&lt;p&gt;That said, when I read reviews and comments on the library, one of the most common things said is a lack of documentation. Now, I&#039;m confused, what exactly are people looking for? Slick&#039;s documentation is pretty much together though sometimes runs behind the development curve a little. First theres the &lt;a href=&quot;http://slick.cokeandcode.com/javadoc/&quot;&gt;JavaDoc&lt;/a&gt; it&#039;s complete and rich with information. Next there&#039;s the &lt;a href=&quot;http://slick.cokeandcode.com/wiki/doku.php&quot;&gt;Wiki&lt;/a&gt; which serves as the user guide to Slick. It&#039;s under constant update by the wonderful community members and while it&#039;s never going to be convering the features that were added yeseterday it&#039;s for the most part written really well. &lt;/p&gt;
&lt;p&gt;Then we move on to code examples. First there&#039;s a wealth of &lt;a href=&quot;https://bob.newdawnsoftware.com/repos/slick/trunk/Slick/src/org/newdawn/slick/tests/&quot;&gt;test cases&lt;/a&gt; covering each feature in a very simple manner. As you can imagine these server a double purpose in that a run a subset before releasing a version. Next, theres examples that get posted to the forums every few months. There&#039;s the &lt;a href=&quot;https://bob.newdawnsoftware.com/repos/slick/trunk/Slick/examples/org/newdawn/slick/examples/&quot;&gt;&quot;scroller&quot;&lt;/a&gt; and more recently the &lt;a href=&quot;https://bob.newdawnsoftware.com/repos/slick/trunk/SlickPlatformer/&quot;&gt;platformer&lt;/a&gt;.  These get posted to the forums, to the &lt;a href=&quot;http://slick.cokeandcode.com&quot;&gt;Slick Blog&lt;/a&gt; and often here on C&amp;amp;C too. &lt;/p&gt;
&lt;p&gt;Finally, the forums provide a great resource of information about different approaches and their results.&lt;/p&gt;
&lt;p&gt;It seems to me there&#039;s a fair bit of documentation/help to go with Slick - much more than Phys2D or Thingle etc. It seems like people want tutorials on how to use Webstart, or how to use Java, or how to use Eclipse to be part of the documentation of Slick. That seems totally out of context to me?&lt;/p&gt;
&lt;p&gt;So.. if you&#039;ve commented before that theres not enough documentation and it&#039;s slowed you down, or worse made you give up - what exactly was it you were looking for and where have you seen examples of that type of documentation before. It&#039;d really help because I&#039;m totally at a loss how to make the situtation (if there is one) better?&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Mon, 13 Oct 2008 08:01:03 +0000</pubDate>
</item>
<item>
 <title>Technical Evangelism</title>
 <link>http://www.cokeandcode.com/node/1275</link>
 <description>&lt;p&gt;Just noticed a post on JGO saying &quot;evangelism&quot; is what the world of Java gaming needs. While I&#039;m sure the poster meant someone publicizing java gaming in a big way, technical evangelism in the corporate world is one of my pet hates.&lt;/p&gt;
&lt;p&gt;I&#039;ve had the pleasure of acting as, working with and receiving speel from technical evangelists in the past. The concept is sound, have someone that really believes in the technology, someone that can see how to apply it to most any situation, someone to get excited and get other excited. &lt;/p&gt;
&lt;p&gt;Unfortunately in my experience technical evangelists often lose the &quot;technical&quot; bit and end up just pushing the technology on everyone and anyone with any problem to solve. Really technical people listen and quickly assume one of two things, either:&lt;/p&gt;
&lt;p&gt;a) The evangelist is stupid and can&#039;t comprehend the problem well enough to see that the technology doesn&#039;t fit.&lt;br /&gt;
b) The evangelist isn&#039;t technical and rather is a marketing and sales person who, as every technical person knows, can&#039;t be trusted.&lt;/p&gt;
&lt;p&gt;In both cases the the evangelist&#039;s point of view is marked as untrusted and the whole point of the evangelism is gone. In some cases it&#039;s worse than that, the impression is so bad that the evangelist&#039;s point of view is marked as &quot;assumed to be wrong&quot; meaning that the speel actually pushes people away.&lt;/p&gt;
&lt;p&gt;Companies, people, countrymen, geeks! Don&#039;t employ technical evangelism - stick to the objective and make the product good, it&#039;ll work way better at convincing people.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/30">Ramble</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Sat, 19 Jul 2008 09:13:08 +0000</pubDate>
</item>
<item>
 <title>When I were a lad... Generics - are - good .... rant?</title>
 <link>http://www.cokeandcode.com/node/1161</link>
 <description>&lt;p&gt;Still feeling old, but code wise now. I&#039;ve just been accused of forming an opinion based on being set in my ways. For the first time I had to consider whether that was actually the case. &lt;/p&gt;
&lt;p&gt;I&#039;m not a generics fan, some people might already know this. I use them alot for work and today I spent some time refactoring some code to make use of them and saved alot of effort. Thats great! I still think using generics because &quot;it makes the code look tidy&quot; or &quot;removes a lot of casting&quot; is a pretty crappy reason to add their complexity to the code base. If you&#039;re using a collection thats supposed to have specific things in it, chances are that collection represents something significant. As such it should be part of your data/oo/design model - and hence probably should be represented as it&#039;s own class. It&#039;s really that simple. That way all the casting and/or generic handling is hidden away inside that class - way more flexible, analogous to why event objects make sense. As always, it&#039;s about playing to the crowd. If you&#039;re sure your code base maintainers and users will get everything you&#039;re doing with generics - and you&#039;re sure you&#039;re not shooting yourself in the foot, it can&#039;t be bad!&lt;/p&gt;
&lt;p&gt;Today, I did learn to like generics when used for something interesting. The downside is that the syntax for that use became unwieldly and to most Java code formatting sycophants ugly. &lt;/p&gt;
&lt;p&gt;So, Generics forever! etc.&lt;br /&gt;
&lt;center&gt;&lt;img src=&quot;http://www.cokeandcode.com/images/zimmer.jpg&quot; width=&quot;250&quot;/&gt;&lt;/center&gt;&lt;br /&gt;
But really, thats just a side issue, I had to consider whether my  initial dislike for generics came from being stuck in my way. Hmm.. maybe a bit? How to test it? Let&#039;s look at technologies I&#039;ve considered over the last few months:&lt;br/&gt;&lt;br /&gt;
&lt;b&gt;JSF+EJB&lt;/b&gt; - Jury is still out for me, haven&#039;t used it enough. The technology is sound, the front end is a bit error prone for my tastes. It&#039;s way over weight for a simple web access to a underlying service but for something more enterprise in scale, i.e. where the logic is really in the EJBs I think it probably makes sense.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;AOP&lt;/b&gt; - Definitely a winner for me this one. Aspects are interesting topic that I&#039;ve only really just started to get used to. Every time I consider them as an approach (which isn&#039;t that often, they don&#039;t fit everywhere after all ;)) they solve so many problems. Though the downside for me at the moment is the frameworks for AOP seem complex and intricate to integrate into most of the stuff I do at home. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Java Annotations&lt;/b&gt; - Again, awesome cool. I&#039;m constantly finding uses for them from conventional access and persistance meta data to intergrating scripting languages by generating proxy objects based on annotating the target java class. Nice.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;IoC&lt;/b&gt; - Injection is cool, there is no doubt. It&#039;s a really useful tool in some cases. However, I do think the majority of developers have been using the concept of IoC a lot longer than the current crop of buzzy frameworks have been around. I&#039;m also not a fan of sticking the configuration for injection out in compile time excluded files. However, that&#039;ll probably get better with more IDE support. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;JBossMC&lt;/b&gt; - I hated this initially. A POJO Container! Whats the fricking point? Why would anyone do that? Actually, it&#039;s neat as a 5 year old on the first day of school. It&#039;s a great basis for any container based server, I&#039;m actually wondering about starting a game server project based on it, kinda Project Dark Star lite. JBossMC + JBoss Cache make a powerful combination.&lt;/p&gt;
&lt;p&gt;Right, they&#039;re the ones I can think of. Written stright out without thinking about it. I think I&#039;m pretty open to new techs and approaches. I don&#039;t fear change (much). &lt;/p&gt;
&lt;p&gt;I also don&#039;t think just because something is new it has to be jumped on and used ASAP - especially not in a commercial environment. Which brings me on to something else, projects that die.&lt;br /&gt;
&lt;center&gt;&lt;img src=&quot;http://www.cokeandcode.com/images/death.jpg&quot; width=&quot;200&quot;/&gt;&lt;/center&gt;&lt;br /&gt;
A project that stops development doesn&#039;t become useless instantly. Infact, it never does. If Java was stopped tomorrow, we&#039;d all still have the Java toolset and VM. We could continue to developer software just fine. If it was closed source, it&#039;s more of a problem because there arn&#039;t any bug fixes possible (see GTGE recently) - however, open source projects that stop development for a bit, or even forever, don&#039;t die unless the users flake out and don&#039;t pick up the slack.&lt;br/&gt;&lt;br /&gt;
If a project is useful, it&#039;s useful. Evident in &lt;a href=&quot;http://sourceforge.net/projects/fscript/&quot;&gt;FScript&lt;/a&gt; which is proving fantastic for my gaming needs and hasn&#039;t been touched since 2005!&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Fri, 18 Jan 2008 18:04:19 +0000</pubDate>
</item>
<item>
 <title>&#039;No Fun and No Code make Kev Something Something&#039;</title>
 <link>http://www.cokeandcode.com/node/1124</link>
 <description>&lt;p&gt;&#039;Go Crazy?&#039; - &#039;Don&#039;t mind if I do!!!&#039;&lt;/p&gt;
&lt;p&gt;Life is a bit on the lame side at the moment. At least 2 of the three members of my household have been ill for the past month an a half. Work wise I&#039;ve been sat on the same low priority but critical work for the last 3 months - not really going anywhere fast. No code involved at work and no energy to code at home. &lt;/p&gt;
&lt;p&gt;Haven&#039;t been out in a while, no pub, no trips, not much fun. Don&#039;t have time to play games even though I&#039;ve had Wii Paper Mario sat on the shelf for the past month. Christmas is coming and I can&#039;t begin to get excited. This time last year we were preparing to come home which could have been the worst mistake we&#039;ve made. Coming back was great from a family perspective but pretty much everything else has been a bit of a read through.&lt;/p&gt;
&lt;p&gt;What&#039;s more the idiocy of the world at large is begining to annoy me again. Road users - why oh why - just because something is legal doesn&#039;t mean it&#039;s sensible. Just because something is temporary doesn&#039;t mean it&#039;s automatically ok. No, there arn&#039;t double yellow lines - but parking there will still block the road. Bike users - weaving in and out of traffic is legal, but if it&#039;s cold, wet and early it&#039;s still dangerous as hell. And as to the woman that parked on the roundabout so she could &quot;just pop in&quot; to McDonalds to get her breakfast - I mean seriously, what sort of brain dead moran are you?&lt;/p&gt;
&lt;p&gt;Recieved a phone at work yesterday. This might not seem like a big deal worth blogging about but consider that I&#039;ve been working for a telecommunications company for 3 years and this is the first time I&#039;ve had a phone on my deak. It&#039;s pretty big news. Now, if it only actually worked it&#039;d almost be a positive aspect of my day.&lt;/p&gt;
&lt;p&gt;Meg is still coughing alot, she can&#039;t shake this bleady cold any more than anyone of us. However, she is still giggling and trying to walk and falling on her butt alot. Some how she&#039;s really into drawing now - she&#039;s just over 1, so it seems a bit bizarre - but she loves her crayons that she now takes everywhere with her in a little red handbag. There has to be a game concept in there somewhere.&lt;/p&gt;
&lt;p&gt;Talking of which, I&#039;ve decided to write 4 games in parrallel, the logic being that even if I give up one or two I should still get futher with some. So, the run down seems to be two that have been around for a while, Scorched Turf and Mootox and two new ones currently called Samson and Dumb Bots. Should I ever make it back to the computer at home I&#039;ll be pushing on with the golf game first since it&#039;s core engine is shared between all 4.&lt;/p&gt;
&lt;p&gt;Finally, I&#039;ve blogged again. Almost feels like normal if a bit random and tangenty. Anyone know of anything gamedev related in the Cardiff area let me know, I need to get motivated again!&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/31">BabyBlog</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/17">Games</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/10">Geek</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/7">Life</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/39">Random</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Thu, 29 Nov 2007 08:29:25 +0000</pubDate>
</item>
<item>
 <title>10 Reasons why Virgin Media are absolute crap.</title>
 <link>http://www.cokeandcode.com/node/1006</link>
 <description>&lt;p&gt;Now I don&#039;t actually have 10 reasons, but I know that blog entries that start 10 reasons ... tend to get picked up more by different search and registration engines. Don&#039;t let this stop you reading, because Virgin Media really do suck.&lt;/p&gt;
&lt;p&gt;First they take over two reasonably crap companies (NTL and Telewest) to form one rather over trendy and under competent entity. That sucks a bit, but hey - cheaper is better right? &lt;/p&gt;
&lt;p&gt;So, here in the UK we have several different ways of getting the same TV channels. There are a few channels that are especially good (since they play the popular shows first) - these are only available by paying. So, I sign up for V+ - an equivalent service Sky+ (the main vendor of the channels). &lt;/p&gt;
&lt;p&gt;&lt;b&gt;1) It&#039;s damn expensive for what you get. V+ is slow and clunky. The menu system feels like it was written by a first year student and responds like it&#039;s running on a ZX spectrum.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Next, a month into my contract, Virgin have some legal wrangle with Sky - essentially Virgin don&#039;t want to pay as much for the channels they&#039;re reselling. This means Virgin stop offering customers the channels they&#039;re paying for.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2) They don&#039;t have the right channels. Worse they don&#039;t have the channels they originally advertised.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Virgin also offer a phone service, it&#039;s a good deal if you&#039;re getting the other services like TV anyway. The quality of this phone service is terrible. Calls drop. Audio quality is crap, calls outside of the expected are really really expensive.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3) Their phone service is shockingly bad. Especially given that it&#039;s meant to be over cable. &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;4) They can&#039;t work out how caller-id works. I pay for caller ID each month. As yet it&#039;s hasn&#039;t actually worked. I&#039;ve tried to cancel it several times but the people who work the call center don&#039;t seem to be able cope with the concept (more on them later). They have attempted to indicate that it must be the phone at fault, however the phone has supported caller ID on several other vendors system quite happily.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Virgin Media also offer an internet service. It&#039;s very good - it&#039;s cable. Thats great. However, it&#039;s no where near as fast as it&#039;s advertised to be. It&#039;s cable - it&#039;s meant to be what it says on the tin. It&#039;s not. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;5) The internet service is slow. Not to mention they try to install a bunch of crap on your machine. Not to mention their technical support don&#039;t know anything. Not even their own names it seems. &quot;NTL can I help you...&quot;.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Customer service is terrible. Virgin (as in all virgin services) appear to think that playing recorded messages by some faintly sexy sounding northern chick is good enough to solve all problems. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;6) They use recorded messages for everything. Even when the message tells you you&#039;re about to be put &quot;straight through&quot; to an operator, don&#039;t expect to be.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;7) When you finally do get through to an operator, most days they&#039;re in India. They have no idea what they&#039;re talking about and have no power to do anything.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Organization - they don&#039;t have any. I&#039;m about to move house, which is what spawned this rant, so I&#039;ve attempted to cancel my services. I&#039;ve given them plenty of notice, 2 months. I&#039;ve only been in my 12 months contract 6 months, so I&#039;ll have to pay the rest of the contract off - a whopping 180 quid. Even though Virgin have failed to deliver their contractual agreement, I&#039;ll honor mine.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;8) Even given Virgin haven&#039;t given me the TV channels I&#039;m paying for, or a reliable phone service they are still going to charge me for 6 months contract that I don&#039;t want. Can&#039;t complain too much about this one, it was part of the contract but I still think it&#039;s a bit off.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Anyway, so I eventually arrange for contract to be canceled at the end of this month (July). Surprising, they can calculate instantly how much I&#039;ll have to pay off my contract - 6 months - 180 quid!. Well, ok. Fair enough. Business is Business. So we&#039;re agreed, service ends at the end of July. You&#039;ll send me a bill.&lt;/p&gt;
&lt;p&gt;I wake up this morning to find both my TV and Phone not working. I ring up to determine the fault, and after listening to the northern chick for a 15 minutes I get through the guy in India. He asks me some &quot;security questions&quot; - as always things that I could read off my bill and then tells me that all my services have been canceled and hence disconnected. Well, theres a surprise.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;9) They&#039;re money grabbing bastards. Where the money is concerned they can get it right straight off, however where the practical side is concerned they can&#039;t organize shit. Even better *all* my services have been disconnected - yet I seem to be using the internet just fine. &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;So, he tells me I need to talk to the sales/customer department. I&#039;ve been through this loop before so I preempt him &quot;let me guess, the customer department isn&#039;t open on a Sunday - so there&#039;s absolutely nothing I can do&quot;. The reply &quot;The customer department is open 9-4 Monday to Friday&quot; - wanker.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;10) Customer Focus - they have none. The goal seems to be to screw customers out of every penny, provide sub-standard or non-existent services, when questioned or held accountable send out the under trained under paid brain dead tossers to act dumb and misdirect.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;So, I get my hair off, tell the guy he can stick his company, thank him very much and put the phone down. &lt;/p&gt;
&lt;p&gt;Now I&#039;m here, expecting my internet connection to drop any moment, trying to relax and vent my anger. It&#039;s not working. I want a physical form of virgin media I can take it out on. I might just destroy their set top box.&lt;/p&gt;
&lt;p&gt;Heh! It turns out I do have 10 reasons, how convenient. I would strongly advise anyone to steer clear of Virgin-Media. Their service is poor, their customer care is useless and they&#039;re low quality for high cost.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/7">Life</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Sun, 08 Jul 2007 09:14:40 +0000</pubDate>
</item>
<item>
 <title>The Legacy Mistake</title>
 <link>http://www.cokeandcode.com/node/978</link>
 <description>&lt;p&gt;Legacy made a follow up to the game Law and Order (based on the the popular US TV show) imaginately named Law and Order 2 - insert catch phrase here. While the game isn&#039;t my cup of TV I&#039;ve been reasonably happy to claim the original used a bit of Java so it was a nice reference piece.&lt;/p&gt;
&lt;p&gt;However, while the second version, released in 2003, might be a great game, Legacy have made a severe mistake. They&#039;ve included &lt;a href=&quot;http://blog.wired.com/games/2007/06/mother_of_murde.html&quot;&gt;CCTV footage of Jamie Bulger&lt;/a&gt;, a toddler who was murdered here in the UK in 1993. Frankly, I&#039;m disgusted. &lt;/p&gt;
&lt;p&gt;1) Why was that footage even available publically?&lt;br /&gt;
2) Who the hell thought it was a good tasteful idea to put it in a game?&lt;br /&gt;
3) How is it that it wasn&#039;t caught before the game went?&lt;br /&gt;
4) How come it&#039;s taken 4 years to find it?&lt;/p&gt;
&lt;p&gt;I mean, seriously, how the hell did this happen? &lt;/p&gt;
&lt;p&gt;Given how much I was arguing religiously (pardon the pun) over the &lt;a href=&quot;http://news.bbc.co.uk/1/hi/england/manchester/6736809.stm&quot;&gt;outrage over a viloent game featuring a church&lt;/a&gt; just the other week, this doesn&#039;t help the case. These things are worlds apart - a church in Manchester is backdrop. The church are just being their normal selfs complaining about it. However, this new idiocy is revolting and despicable. How can we fight against the iditots trying to stop pefectly valid games - when Legacy come along and do something this stupid?&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/17">Games</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Thu, 21 Jun 2007 17:19:46 +0000</pubDate>
</item>
<item>
 <title>Style over Substance</title>
 <link>http://www.cokeandcode.com/node/977</link>
 <description>&lt;p&gt;I come from a pretty rigourous software background. I&#039;ve been coding since I was little, but like most people I reaslise that the trade education doesn&#039;t really start until you get into a work environment. My first commercial software role was in the defense industry working on some safety critical systems - as you can imagine software architecture, design and process was extremely important to my employers. I then went on to spent nearly 5 years at a big telecoms company who had if anything a more stringent research and design process. Software design for maintainance and robustness was everything, often at the cost of adding new features or polish within the project time line. &lt;/p&gt;
&lt;p&gt;Design, Design, Design,&lt;/p&gt;
&lt;p&gt;Review, Review, Review,&lt;/p&gt;
&lt;p&gt;Some 12 years later I&#039;m still in the environment basically. It&#039;s not a bad thing, but even given my years of brainwashing into the software design is everything mentality, I find myself recently swaying way back. I&#039;m not saying I don&#039;t throughly think out my code, or design for future extension and maintainance - but I do most of these tasks retrospectively through refactoring (arn&#039;t modern tools great?). While I still love clever and elegant software design, I&#039;ve come to realise that by far the majority of customers and users don&#039;t care about it :)&lt;/p&gt;
&lt;p&gt;&quot;Functionaly Complete&quot; is a term we use round here alot. That&#039;s mostly what users care about from a code perspective. Does the program you&#039;ve written do what they want it to, or what they need achieve? As long as it does without falling over thats great. In most cases even if there are some odd cases that either don&#039;t work or need to be worked around most user will continue using it as long as it &quot;feels right&quot;.&lt;/p&gt;
&lt;p&gt;After functionality comes how it looks and feels. In games this is especially important but it&#039;s true with most all the software I&#039;ve come across. The user doesn&#039;t care whether the code is extremely efficient if it doesn&#039;t impact their use. They don&#039;t care if you&#039;ve spent an age getting that object hierachy just right, especially if you&#039;ve not spent time making it look right :)&lt;/p&gt;
&lt;p&gt;What they care about is how easy it is to get their objective complete or to configure whatever they need to for an active system. Without knowing it most users also care how software feels to use. Is it flashy? Does it make intelligent assumptions? Does it impress them? Does it change the way they work/play? Does it make them feel like your software is smart? Perception is everything - you&#039;re not going to get to explain to user most of the time what makes it so smart.&lt;/p&gt;
&lt;p&gt;Usability, Usability, Usability,&lt;/p&gt;
&lt;p&gt;Polish, Polish, Polish,&lt;/p&gt;
&lt;p&gt;If the software design is a means to this end, i.e. you&#039;re spending your time making the software clever so you don&#039;t have to waste time later that you can spend on adding the nice touches - then great. If you&#039;re trying to make your software be percieved as smart, through making it smart, it *might* work. Most of the time it won&#039;t. If you&#039;re spending an age over software design that doesn&#039;t give anything other than acadmic beauty then you might want to stop and think who&#039;s going to care? If the answer is &quot;I Will!&quot; then you might seriously want to consider what you&#039;re trying to achieve - if it&#039;s anything but an academic goal and you&#039;re probably on the wrong path.&lt;/p&gt;
&lt;p&gt;While most of the above should be obvious, it appears it isn&#039;t. Like most software engineers, I like software design, it&#039;s what I do. The temptation is to put it infront of everything else - even without need. &lt;/p&gt;
&lt;p&gt;Extreme Programming, here I come.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/17">Games</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/30">Ramble</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Thu, 21 Jun 2007 11:58:52 +0000</pubDate>
</item>
<item>
 <title>Self-Fulfilling Game Development Doom</title>
 <link>http://www.cokeandcode.com/node/919</link>
 <description>&lt;p&gt;I had a thought today, yes, it does happen sometimes. I&#039;m currently working on a big game project called Runes of Yore (ROY). It&#039;s huge and it&#039;s complicated. Yesterday I thought I could do with a motivation break so I thought it might be worth writing a little game in say 40 hours or less - probably a week and half or something. &lt;/p&gt;
&lt;p&gt;However, as I was considering it, I realised something. If I mentioned this to anyone they&#039;d start questioning whether I was still interested in writing ROY. They&#039;d make the assumption that because I chose to write a different game for a bit then I must be giving up on the first. In the past this has in some cases made me starting wondering about the big game again, and starting to doubt whether it was worth it - normally ending in me giving up and fulfilling the observers expectation - reinforcing the concept and causing it to happen again.&lt;/p&gt;
&lt;p&gt;So, in short, it&#039;s everyone else&#039;s fault that I&#039;ve given up on a bunch of games :)&lt;/p&gt;
&lt;p&gt;For reference, I&#039;m not giving up on ROY - I am however going to try and write a new demo game for slick merging in some phys2d stuff.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/17">Games</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Thu, 03 May 2007 15:45:41 +0000</pubDate>
</item>
<item>
 <title>Taking things too seriously</title>
 <link>http://www.cokeandcode.com/node/909</link>
 <description>&lt;p&gt;The Java 4K contest is fun. As some people know I try to enter every time, but this year it&#039;s all just got a bit silly. The point of 4K is thats it&#039;s a challenge to fit a game into 4K. No one is going to write a great game, no one is going to build a masterpiece, it&#039;s just a way to make things interesting and limit the scope to allow some of the people with less time to compete.&lt;/p&gt;
&lt;p&gt;At the end of it all you get comments from your peers on the game, and if you&#039;re lucky a result that makes you feel like you have some ability at game writing. So how come suddenly it&#039;s all so serious:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.javagaming.org/forums/index.php?topic=16357.0&quot;&gt;http://www.javagaming.org/forums/index.php?topic=16357.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Similar thing happened last year when judging was mentioned. Does it really matter? I mean really? Why do you want judging by a group of random community members:&lt;/p&gt;
&lt;p&gt;1) To get you some feed back - you get this through your forum post&lt;/p&gt;
&lt;p&gt;2) To make you feel special - get a life.&lt;/p&gt;
&lt;p&gt;3) To show everyone else how great your game is in comparison to theirs. Seriously, get a life.&lt;/p&gt;
&lt;p&gt;What a horrible way to taint such a fun activity - a shadow cast by a select few over what is otherwise one of the most interesting, fun and innovative contests around.&lt;/p&gt;
&lt;p&gt;At least someone is being positive:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.javagaming.org/forums/index.php?topic=16378.0&quot;&gt;http://www.javagaming.org/forums/index.php?topic=16378.0&lt;/a&gt;&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Wed, 04 Apr 2007 20:48:18 +0000</pubDate>
</item>
<item>
 <title>Scared by SCA - XML debauchery.</title>
 <link>http://www.cokeandcode.com/node/902</link>
 <description>&lt;p&gt;SCA (Service Component Architecture) is another in a long line of &quot;open&quot; standards that have been pushed out over my lifetime. This one is from the boys at IBM with some help from their friends. It&#039;s wrapping around another buzzy term at the moment in enterpise software, SOA (Service Oriented Architecture). Like many standards this one aims to bring componentisation of software and software development allowing the non-technical users to build wonderous applications. Unlike many standards, this one is quite good. You can grab version one of the specification over at &lt;a href=&quot;http://www.osoa.org&quot;&gt;http://www.osoa.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Why the hell would I be interested? I write games! Well, no, the day job is all about enterprise software and I&#039;ve spent my last few weeks flipping open my head and stuff the SCA specification in. Like most standards of the moment there&#039;s an XML dialect - there&#039;s always room for more XML don&#039;t you think? Unfortunately this one commits one of my most hated software crimes, the topic that blog post was meant to be about.&lt;/p&gt;
&lt;p&gt;Consider, you&#039;ve gone to the trouble of using XML. It&#039;s not the simplest of things to use, it adds a bunch of dependencies you probably didn&#039;t want and at times can be a right over-flexible pain to support. However, you&#039;ve made your decision. So, you&#039;ve come to a bit of XML that lists (in SCAs case) the references that this reference is promoted from.. notice, it&#039;s a 1 to N relationship. So, what&#039;d you do? Well here it is:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;reference name=&quot;MyReference&quot; promote=&quot;CompA/Ref1 CompB/Ref2 CompB/Ref3&quot;/&amp;gt;
&lt;/pre&gt;&lt;p&gt;
Can you see the irritation? We&#039;re going to use XML, we&#039;ve incurred the penalties - but hell, we need a list, let&#039;s just encode it as a space seperated list. Please don&#039;t do this, it&#039;s so pigging annoying. How about:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;reference name=&quot;MyReference&quot;&amp;gt;
    &amp;lt;promote reference=&quot;CompA/Ref1&quot;/&amp;gt;
    &amp;lt;promote reference=&quot;CompB/Ref2&quot;/&amp;gt;
    &amp;lt;promote reference=&quot;CompC/Ref3&quot;/&amp;gt;
&amp;lt;/reference&amp;gt;
&lt;/pre&gt;&lt;p&gt;
Rant Rant Rant... time for a nicer post.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Tue, 27 Mar 2007 19:31:45 +0000</pubDate>
</item>
<item>
 <title>Words vs Terms</title>
 <link>http://www.cokeandcode.com/node/896</link>
 <description>&lt;p&gt;Words - are powerful. Clear communication when trying to design/implement a software system as part of a team is extremely important. Obvious? Well, yeah. However, what seems to confuse people is the use of the correct terminology for a subject. In all diciplines there are technical terms, there are three reasons I can think of for using these terms:&lt;/p&gt;
&lt;p&gt;1) For expediency. It&#039;s quicker to use a single unusual term to explain something than using 10 common words assuming that you know the person you&#039;re talking to also understands the meaning of that term. (e.g. MVC pattern)&lt;/p&gt;
&lt;p&gt;2) To be explicit. Sometimes a term has been invented or reused to describe exactly what is meant by a particular object or action in a specific domain. (e.g. transient value)&lt;/p&gt;
&lt;p&gt;3) Sometimes, terms are used to try and sound like you know more than you do. Normally by managers of one level or other. The terms are, without fail, used incorrectly and it&#039;s obvious to anyone who does understand them.&lt;/p&gt;
&lt;p&gt;The interesting thing is you&#039;d expect my beef (there&#039;s always a beef here) to be with people who live in point 3. It&#039;s not, we all know that there are people in the tech industry who get along by spreading the poop of male cows. Frankly, the industry wouldn&#039;t exist without these shitesters.&lt;/p&gt;
&lt;p&gt;My beef is with people who can&#039;t see that 1 and 2 exist. There are good reasons to use the exact terms. Using the right terms doesn&#039;t make you a big headed twat, only treating people who query the meaning of a term like morons does that. &lt;/p&gt;
&lt;p&gt;As you can tell this one has been affecting me recently. I find it really hard to understand what someone is explaining if they use a large number of words - I guess I have a short attention span. Worse still is when a explanation relies of the use of an incorrect term. It&#039;s really annoying to get knowing smiles and disapproving looks when you simply check that the term being used is actually the meaning intended.&lt;/p&gt;
&lt;p&gt;Yes, building glossaries and terminology dictionaries is boring but without a common dialect we might as be talking english at a martian. And yes, we could use two tonnes of simple English in all cases but we do need to finish within our lifetimes. More than that, who determines what&#039;s &quot;simple enough&quot;.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/30">Ramble</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Sat, 24 Mar 2007 20:21:30 +0000</pubDate>
</item>
<item>
 <title>What&#039;s Javadoc for?</title>
 <link>http://www.cokeandcode.com/node/889</link>
 <description>&lt;p&gt;Javadoc - the wonderous addition to Java that made everything make sense or the thing that misleads and causes confusion?&lt;/p&gt;
&lt;p&gt;Like most tools, Javadoc itself isn&#039;t inherently good or bad. It&#039;s existence as a tool is pretty brilliant but how useful vs confusing it is comes down to the developer using the tool.&lt;/p&gt;
&lt;p&gt;So, what is Javadoc for? Well, the output is sometimes referred to as API doc and this gives us a clue. Javadoc is for documenting how to use the API. In many it comes down to providing some way of documenting the bits and pieces of OOP that the java language constructs left out. The most obvious one being pre/post conditions. Java doesn&#039;t provide any language constructs to handle these cases (unless you count assert, which really isn&#039;t the same thing as being able to compile time check preconditions and reflect postconditions). So what you get is documentation, in your API doc you say &quot;This value must be non-null&quot; or &quot;This object must have been initialised by calling it&#039;s init()&quot;. This tells an API user what the preconditions are - albeit (see there&#039;s that word again) manually. Javadoc is a way of letting your  API user know how to use the API.&lt;/p&gt;
&lt;p&gt;What isn&#039;t Javadoc? Well, it&#039;s not where you should detail how the internals of your method works - thats for inline comments. Class level documentation is for explaining how to use the class as a whole and hopefully showing some examples. It&#039;s not to describe your understanding of the algorithm from xyz.com and how clever it is (and of course you are for being able to implement it) - just point at the site and explain how to use the class. For once, theres a reason. You don&#039;t document how the class/method works internally in the API documentation because:&lt;/p&gt;
&lt;p&gt;1) It makes decomposition/abstraction less useful. If I have to grok how your class works internally while trying to work out how to use it&#039;s simple interface, then I haven&#039;t saved any space in my (tiny) mind to grok how my higher level complexity works.&lt;/p&gt;
&lt;p&gt;2) Describing the internal logic gives the API user a chance to make assumptions about that implementation - which of course might change later without the API changing (no compile time warning that anything has changed). Yes the developer shouldn&#039;t make these assumptions, but why give them the chance?&lt;/p&gt;
&lt;p&gt;3) You lose the message. Having a whole bunch of technical internal details described dilutes the information the developer actually needs - i.e. how to use the API. Harder to understand, more time wasted.&lt;/p&gt;
&lt;p&gt;Javadoc is your friend, treat it right.&lt;/p&gt;
</description>
 <category domain="http://www.cokeandcode.com/taxonomy/term/6">Code</category>
 <category domain="http://www.cokeandcode.com/taxonomy/term/8">Rants</category>
 <pubDate>Fri, 16 Mar 2007 08:39:25 +0000</pubDate>
</item>
</channel>
</rss>
