Andrew Davison's Home Page at PSU
Current Research Interests
- A Primes Potpourri coded in Python
- Python for Inversive and Hyperbolic Geometry
- Nash Equilibria through Simulation: Python tools for finding and visualizing the Nash Equilibria produced after playing numerous games defined using payoff matrices
- Useful Third-Party Java
Libraries: examples using many different add-on libraries
- Simple3D: a library for
making Java 3D easy to use
- The MAA's Basic Library List
for the General Reader
- jFAT: A Fairly Accurate Tiling Library
- My online history of computing:
A Year of 379 Computer Days.
- My online book on
programming using the Java version of
the LibreOffice API.
- My Kindle e-book, Vision-based User Interface
Programming in Java
- My McGraw Hill book, Kinect Open Source Programming Secrets
(KOPS).
- A book on BlackBerry gaming,
written by Carol Hamer and myself,
Learn BlackBerry Games Development
- Windows Programming Using Java
- My Apress book, Pro Java 6 3D
Game Development
- My O'Reilly book, Killer Game
Programming in Java
- Searching semi-structured data using
landmarks;
- Logic Programming and the Internet
e.g. LogicWeb, LP and browsers, Web page
pattern matching, Web pages as concurrent LP streams,
secure Prolog based mobile code paper (152K),
a survey of LP languages for the internet (120K);
- VRML
enhancing VRML97 scripting paper (17K
zipped Word file);
- Visualization
e.g. timelines, perspective walls, browser summaries,
database interfaces. "Sort of" related is my experiments with client-side
image maps, hot-spots in panoramic photos and VRML to create a
Virtual Tour of AIT;
- Teaching Methodologies
e.g. teaching using English in Thailand (92K),
cultural aspects, distributed programming
(a Java-Logo Framework paper (88K)).
Teaching
A list of the courses, with links to lots of downloadable slides, exercises,
code, etc., is available here.
Coding
- Encoding Text as an Image
- Random Dot Autostereograms
coded in Java.:
- Using the Advanced Search API to
search the Internet Archive for texts.
- Using Gutendex to search
Project Gutenberg
- Using the MediaWiki Action API
to search Wikipedia
- A self-generating, learning Tixy
- Digraphs for Euclid
- Whitening a PDF Document with Java
- Picket-Fence Animation in Java
- Java Audio Tools
- Propositional Logic Cards: one of Martin Gardner's card-based logic machines from his book "Logic Machines and Diagrams".
- WordleHelp: a Java tool for making
Wordle doable for the rest of us.
- Myrioramas: the drawing-room craze of the 1820s, now implemented
in Java.
- A Prolog compiler and runtime system
coded in Java, derived from work by Stefan Buettcher.
- A Prolog interpreter coded in Java,
closely based on the interpreter written in C++ by Alan Mycroft, but made a
little bit simpler.
- CallGraph is a
small Java class for creating call graphs. It's a useful tool
for understanding more complex functions, especially those
using recursion. It utilizes the GraphViz system to build its
graphs.
- The Cabbage compiler
for a simple BASIC-like language that generates instructions for
a slightly extended version of
John Walker's emulator of Charles Babbage's Analytical engine.
- JLEB, a Java API for programming the
Dream Cheeky LED Message Board.
- DC Comics Foldees coded in Java.
- Jau: a library for facilitating Java - Windows
application communication via their GUI.
- SaferExec: a class that simplifies the creation
of Java/OS processes.
- NestedSwinger: a Java GUI prototyping tool
- A Simple Regular Expression Interface for
Prolog
- ComicSearch 1.0, a
Java application for searching for comic information.
- A Marvel Silver Age comic search engine.
- Java code for reading a Web page through
a proxy and optional authorization input.
- CGI Script test.
- Various (some quite old) Web programming examples.
- curl, a tool for automatically generating
the links between a large collection of HTML pages that make up a single Web
document. [Note: this is from 1996, and put back online after a few requests.]
Assorted
Brief History
- My wife, Supatra.
- Some pictures of our son, John
- I work in the Department of Computer Engineering,
Faculty of Engineering,
Prince of Songkla University (PSU)
in Hat Yai, Thailand.
Here's a PDF file of slides about my department
from July 2008. (53 pages; lots of pics; 10 MB)
- Here's a map of Thailand showing Hat Yai's location, a
large map of Hat Yai showing points
of interest, including PSU (in the middle of the right hand side),
a 3D-like map of PSU with my department and faculty labelled
in English, and a great picture of PSU and city by
Khun RoyLee Suriyaworakul (I added the arrows
pointing at my department and faculty).
- I am from England; born near Manchester
(Wilmslow
to be a little more exact). This
streetmap
includes an arrow pointing to the street where I lived as a boy. Want to
see an
aerial photo?
Or the Google
version?
And the current
weather?
Local news?
- PhD from
DOC, Imperial College, London (1989)
- Lecturer in
Dept. of Computer Science,
Univ. of Melbourne (1991-1996)
- Have taught at AIT
and Rangsit in Bangkok, and in Vietnam.
Publications since 1998
- Loke, S.W., and Davison, A. 1998a. 'LogicWeb: Enhancing the Web with
Logic Programming', Journal of Logic Programming,
Vol. 36(3), September, pp.195-240.
- Loke, S.W., and Davison, A. 1998b.'Implementation of a System for
Declarative Mobile Code and Web Querying', INAP'98: 11th Int. Conf. on
Applications of Prolog, Tokyo, September 14th-16th.
- Davison, A. 1999. 'A Concurrent Logic Programming Model of the Web',
PACLP'99: The 7th Int. Conf. and Exhibition on the Practical
Application of Constraints and Logic Programming, London, UK, April.
- Davison, A., and Loke, S.W. 1999. 'LogicWeb: Enhancing the Web
with Logic Programming ', Invited Talk at International Workshop on
Information Integration and Web-based Applications and Services,
Yogyakarta, Indonesia, November 15th-17th
- Jirachiefpattana, A., Santhititham, D., Davison, A., and
Jirachiefpattana, W. 1999. 'Logic Agents for Deductive Diary
Database on the Web', NCSEC'99: The 1999 National Computer Sci.
and Eng. Conf., Bangkok, Thailand, December 16th-17th.
- Davison, A. 2001.
"15th July 1972: A Significant Moment for
Logic Programming" (116K),
Logic Programming Newsletter, Vol 14/1, February.
Previously appeared in
SIGPLAN Notices, 1st April, 1993.
- Davison, A. 2001.
'Enhancing VRML97 Scripting' (17K
zipped Word file),
Euromedia'2001, Valencia, Spain, April 18-20, pp.72-77.
- Chochai, T. and Davison, A. 2001.
"Teaching Distributed Programming Concepts using a Java and
Logo-based Framework" (88K), IC'2001: Proc. of the Int.
Conf. on Internet Computing, Las Vegas, USA,
June 25th-28th, pp.311-316.
- Davison, A. 2001.
'Free Windows', Op. Ed. piece at the
Dr. Dobb's Journal Web Site,
June 26th. Unfortunately, it disappeared in 2010, but you can still
read the original.
- Davison, A. 2001.
'Logic Programming Languages for the Internet' (120K),
Chapter in Computational Logic: From Logic Programming into
the Future, Antonis Kakas, Fariba Sadri (eds.), Springer Verlag.
- Loke, S.W. and Davison, A. 2001.
"Secure Prolog Based Mobile Code" (152K),
Theory and Practice of Logic Programming, Vol. 1, No. 3, May,
pp.321-357.
- Rattana, A. and Davison, A. 2001.
"N-Sums: A Framework for Web-based Search
Engines" (144K),
IIWAS 2001: The 3rd Int. Conf. on Info. Integration and Web-based
Applications and Services, Linz, Austria, September 10th-12th, pp.175-184.
- Leemakul, B., Saeliw, P. and Davison, A. 2002.
"Supporting the SBR Style of Web Usage" (148K),
IC 2002: Int. Conf. on Internet Computing, Las Vegas, Nevada,
USA, June 24th-27th. A picture of the talk,
as presented in the CoE department.
- Davison, A. 2004.
Incremental Rules for Growing Plants" (164K),
Euromedia 2004, Hasselt, Belgium, April 19th-21st.
- Davison, A. 2005a.
Killer Game
Programming in Java, O'Reilly Media, May.
- Davison, A. 2005b.
"Playing Movies in a Java 3D World, Parts 1 and 2", Online at
OnJava.com, June.
- Davison, A. 2006a.
"Searching Semi-structured Data
Using Landmarks" (170K),
Euromedia 2006, Athens, Greece, April 17th-19th.
- Davison, A. 2006b.
"The Myths (and Truths) of Java
Games Programming" (Invited Paper) (57K),
Game'On 2006, Braunschweig, Germany, November 29th -
December 1st, and at AGDS, the Asian Game
Developers Summit, Singapore, December 9th-10th.
- Davison, A. 2007a.
Pro Java 6 3D Game
Development, Apress, April.
- Davison, A. 2007b.
"Notes on a JOGL
Active Rendering Framework" (79K),
CyberGames 2007, Manchester, UK, September 10th - 11th.
- Lonapalawong, P. and Davison, A. 2007.
"Improving Response Time in
a Client/Server 3D Mobile Game" (181K),
CyberGames 2007, Manchester, UK, September 10th - 11th.
- Davison, A. and Radenahmud, S. 2008.
"Comparing M3G and JSR-239 for 3D
Games Programming" (208K),
CGames 2008, Wolverhampton UK, November 3rd - 5th.
- Sui, Y. and Davison, A. 2009.
"Rendering Water and Land Interaction
using a Spring System" (498K),
Game-On 2009: 10th Int. Conf. on Intelligent Games and Simulation,
Dusseldorf, Germany, Nov. 26-28th, pp.25-29.
- Hamer, C. and Davison, A. 2010
Learning BlackBerry Game
Development, Apress, April.
- Davison, A. 2012a.
Kinect Open Source Programming Secrets
(KOPS), McGraw Hill, April.
- Davison, A. 2012b.
Kinect Open Source Programming Secrets: Hacking with OpenNI, NITE, and Java,
JavaOne 2012, Session ID: CON3400, San Francisco, USA, October 3rd,
slides (14.1 MB)
- Davison, A. 2013.
Vision-based User Interface Programming in Java,
Amazon Kindle ebook, November.
- Roonnapak, C. and Davison, A. 2015.
"Animated 3D Virtual Worlds Using Java and SketchUp",
ICET-2015: 7th Int. Conf. on Engineering and Technology,
Phuket, Thailand, June 19-20.
- Davison A. 2017. Java LibreOffice Programming, Online text, March.
- Davison A. 2019a. "Learning to Program with Games and Puzzles" (4MB), Keynote Speech, ACTIS 2019: The 16th National Conf. and Int. Conf. on Applied Computer Technology and Information Systems, July 6th.
- Davison A. 2019b. "Live Plotting Data", Linux Format, Issue 253, Summer.
- Davison A. 2020a. "Libreoffice: text docs to rich docs", Linux Format, Issue 258, January.
- Davison A. 2020b. "Scripting text-based checklists in Bash", Linux Format, Issue 259, February, pp. 87-91.
- Davison A. 2020c. "Using, configuring, and extending GDB", Linux Format, Issue 262, May, pp. 76-80.
Dr. Andrew Davison
Dept. of Computer Engineering
Faculty of Engineering
Prince of Songkla University (PSU)
Hat Yai, Songkhla 90112, Thailand
Tel: +66 74 211 030 x2240 (then x316)
Fax/Tel: +66 74 212 895
E-mail: ad@coe.psu.ac.th