Recently in Java Category

I've been thinking about starting a Toronto Free Software group for many many months (since around October 2009) and decided that I finally have enough time to do so.

So here we go, the first meetup of the Toronto Free Software group will take place on the 14th of July (a Wednesday) at the LinuxCaffe, 326 Harbord St, Toronto. Click here to get directions.

It will start at around 5:30pm and I'll have a sign or something that says Free Software on it. Or maybe I'll just hold up a book on C++?

The writer of this article, Neal Ford, apparently dislikes any comments and calls them "code smells".

He suggests that inline comments are unnecessary when method/function/procedure names are specific and they have one specific purpose.

Ford may be onto something here but he obsesses over the latest and supposedly greatest software methdologies. Some of the obsessions are dynamic languages, "agile" methodology, and "test/behaviour-driven" development. What I found worse was the re-labeling and mis-crediting of an old software development idea. Ford credits Kent Beck and calls it the "compose method" pattern but everyone else (at least those who know their history) will recognize it as a central idea in structured programming. This apparent pattern, really an old idea given a new name, describes the writing of smaller functions/methods with a clear, specific purpose. The beauty of structured programming is that it gives us a way to convert blocks of code into smaller functions.

There is a proposal to allow the inclusion of Java applets into Wikipedia to increase interactivity. What this says to me is that the Web is not enough and that it is mainly a document system. Instead, the Wikipedians should build a proper desktop application for viewing Wikipedia articles and then separate it from the Web and HTML. This would allow them to display the information in a variety of forms and fix the flaws of the Web.

The first thing I would add is a way of linking to specific paragraphs or sentences. The second thing I would add is a proper discussion board system and possibly add an IRC chat component. For the chat component, I would also make it easy to paste snippets of the conversations into the discussion board. This is useful because you may have discussed an article with someone and then made changes to it, but everyone else would be unaware of your discussion unless they checked the discussion board and the discussion may have provided a rationale for why you made the change.

Java applets and more interactivity would be a fine addition to Wikipedia, but this is solving the wrong problem.

Martin Fowler wrote a brief article about composing regular expressions in order to make it easier to deal with individual "tokens" and to give them structure.

And on the first day, omouse said, let the hacking begin...

First day of this Processing Hack Week got off to a rough start. Lots of development environment setup and the Maven build files were fully integrated into OhProcessing. They have also been submitted by jramsdale to the appropriate bug in the Processing bug database. We'll see how long till it becomes accepted in the main branch of Processing.

In OhProcessing I've been doing some general clean up: removing commented blocks of code that have no immediate value, refactoring a few snippets of similar code, etc. I also integrated a patch that adds support to the command-line for specifying a preferences file. This means that all text editor modes (such as processing-emacs) can now work without resorting to the workaround of copying a default preferences file to the sketch folder.

I also started coding a little tool that would have been useful for my class project last semester. It visualizes matrix transformations, so you can see how different rotations and translations affect your sketches.

Day two has begun, and the race is on to fix the bugs and code some awesome art :)

In Processing Hack Week news...this past week, I've received two replies to my requests for task lists from the various Processing derivative projects. One from the Ruby-Processing developer and the other from the Clojure-Processing developer. The other news is that the GIT-repo for Processing is coming together.

For a course I was taking part-time at Ryerson University, I had to use the Processing language to create a 2d animation. I wasn't keen on Processing at first because the language looks like Java but it isn't that bad because Processing lets you avoid the Java stuff by supplying its own functions to use.