Gene's Tutorials
I write or find tutorials now and then that I feel are worth displaying. I note the ones
that I didn't write so as to avoid confusion. Also check my site, Gene Davis Software
for previews of computer books I've written.
My Clojure links - I have been getting into
AI creation for my
shogi
program. I realized pretty quickly, I needed to learn Lisp or a Lisp like language,
if for no other reason, all the documentation on AIs assumes you have a Lisp like
language to code in.
Anyone who has taken the time to learn a few computer languages realizes, it is not
a good use of
time to keep up on too many languages. You can take my word on that. I have used most
of the better known languages, and it just isn't practical to keep current on all of
them. Life is way to short for that.
I happen to be a big Java/JVM fan, so I started
looking for a Lisp that was ported to the JVM, so that I could use the Java libraries
and so that I could integrate with my shogi app.
Enter
Clojure. This is not Lisp, but a Lisp like
language written specifically to take advantage of the JVM. Writing for the JVM is
not the same as writing for a target OS or target CPU, so this is better than a
simple language port to the JVM.
Off Screen Eclipse Fix - Here's an Eclipse
tip I picked up from a
blogger. If the Eclipse window opens off screen (usually because you are opening a project on a second computer
or without a second monitor), delete workbench.xml
(./workspace/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml) and then reopen eclipse for eclipse to
reset it's UI
configuration.
Pico Container - If you've written many applications, you've probably noticed that starting up a program of any size can become a mass of spagetti very quickly. I use Pico Container (Dependancy Injection) to fix this. This site contains several tutorials (none by me) that I recommend to any Java programmer.
UML Class Diagraming for Java Quick Reference - I've found it would be useful to have a one page Quick Reference for making UML Class Diagrams for Java, so I've whipped this one up. It is in PDF format.
Simple Java XML DOM Creation - shows the creation of a DOM XML tree and retrieving the XML from it as a string.
Java Printing - Java printing API's stink. Yes, strong language. *tsk* *tsk* After a short rant, I try addressing the issue with some code to help newbies to Java printing.
Beginner Assembly Language for PPC Darwin
(oh, and Mac OS X too ;-):
chapter 1 - Real geeks assemble™.
chapter 2 - Hello World.
Objective C Tutorial: chapter 1 - this is very much a work in progress.
Cocoa and OpenGL - here is an intro to OpenGL and GLUT on Mac OS X Cocoa.
Apache 2.0 Hello World Mod - This is a bare bones intro to writing apache 2.0 mods. It was
the first accurate one I'm aware of. (Having said that they'll now change the api ;)
Gene's Utilities
Here is my collection of command line utilities I've written. Right now the pickings are thin, but
that may change with time. Where possible
I provide the source as well as a Win32 and OS X executable. This of course
depends on how much time I have available, and whether I want the source
made public.
hex2dec - takes a hexadecimal argument and converts it to
a decimal representation.
dec2hex - takes a decimal argument and converts it to
a hexadecimal representation.
Gene's Java APIs
Over the years I've made ALOT of API's that I intended to use over
and over, then the computer I was using failed, or I misplaced them. So
now I'm putting them here as freeware for anyone that would like to use
them. It would be nice if you gave me credit for them, but that is not
a requirement for their use.
com.genedavis.view.ViewUtil - center your Windows or JFrames on
the screen it opens in with this utility. It's small, but not obvious to all
coders, so makes a nice reference.
com.genedavis.io.SystemInputReader - returns standard
input, line by line, one String at a time.
com.genedavis.util.GDBytes - for converting between
signed bytes and unsigned bytes.
com.genedavis.util.ClassLoaders - for loading classes,
not in the classpath, dynamically.
(This is pretty old,
there are better ways to do this now.)