Harold Thimbleby
“Programming” only

1.Programming — Books
2.Programming — Publications: refereed
2.1.Journal papers: refereed
2.2.Contributions to edited volumes: refereed
2.3.Conference papers: refereed
3.Programming — Invited publications: not refereed
3.1.Forewords and keynotes
3.2.Articles in other journals
4.Programming — Other publications
4.1.Correspondence and other communications
5.Programming — Presentations, exhibitions, debates, workshops
5.1.Gresham College lectures and videos
5.2.Invited conference presentations
5.3.Invited lectures, webinars and seminars
5.4.Workshops (refereed, published & unpublished)

All subject categories

Google profile

AutostereogramsBooksCalculatorsCybersecurity & virusesDevice designEthics & cultureFavouritesFormal Methods in HCIGeneral InterestHIT: Health IT & devicesHCIHuman ErrorLawInternetPost Office Horizon scandalLiterate ProgrammingResearch, teaching & lecturingReading & digital librariesReviewsVideosComputer virusesWorld Wide WebWriting, editing & publishingSoftware EngineeringEverything


1. Programming — Books

H. Thimbleby, Paperback edition, Press On — Principles of Interaction Programming, MIT Press (2010). URL

H. Thimbleby, Choice Outstanding Academic Title, 2008. Winner, Computer and Information Sciences category, 2007 Professional/Scholarly Publishing Awards for Excellence Competition presented by the Association of American Publishers, Inc., Press On — Principles of Interaction Programming, MIT Press (2007). URL

=H. Thimbleby & =G. F. Coulouris, HyperProgramming, Addison-Wesley (1993).

2. Programming — Publications: refereed

2.1. Journal papers: refereed

H. Thimbleby, “Improving science that uses code”, Computer Journal, pp. 1–24 (2023). DOI: 10.1093/comjnl/bxad067

H. Thimbleby & D. Williams, “A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments”, Science of Computer Programming, vol. 156, pp. 45–67 (2018). URL DOI: 10.1016/j.scico.2017.12.010

H. Thimbleby, “Heedless Programming: Ignoring Detectable Error is a Widespread Hazard”, Software — Practice & Experience, vol. 42, no. 11, pp. 1393–1407 (2012). PDF DOI: 10.1002/spe.1141

H. Thimbleby, “Ignorance of Interaction Programming is Killing People”, ACM Interactions, pp. 52–57 (September+October, 2008). URL PDF DOI: 10.1145/1390085.1390098

H. Thimbleby, O. Nevalainen & T. Raita, “An Improved Insert Sort Algorithm”, Software — Practice & Experience, vol. 33, no. 10, pp. 909–1001 (2003). URL PDF DOI: 10.1002/spe.537

H. Thimbleby, “Explaining Code for Publication”, Software — Practice & Experience, vol. 33, no. 10, pp. 975–1001 (2003). URL PDF DOI: 10.1002/spe.537

H. Thimbleby, “The Directed Chinese Postman Problem”, Software — Practice & Experience, vol. 33, no. 11, pp. 1081–1096 (2003). URL PDF DOI: 10.1002/spe.540

H. Thimbleby, *G. Marsden, M. Jones & P. Gillary, “Data Structures in the Design of Interfaces”, Personal and Ubiquitous Computing, vol. 6, no. 2, pp. 132–140 (2002). PDF DOI: 10.1007/s007790200012

H. Thimbleby & *G. Marsden, “Holistic Programming Environments”, South African Computer Journal, vol. 26, pp. 237–241 (2000). PDF

H. Thimbleby, “A Critique of Java”, Software — Practice & Experience, vol. 29, no. 5, pp. 457–478 (1999). DOI: 10.1002/(SICI)1097-024X(19990425)29:5<457::AID-SPE243>3.0.CO;2-5

H. Thimbleby, “An Equivalence Class Algorithm for Drawing Autostereograms”, Software — Practice & Experience, vol. 26, no. 3, pp. 309–325 (1996). URL PDF DOI: 10.1002/(SICI)1097-024X(199603)26:3<309::AID-SPE11>3.0.CO;2-O

H. Thimbleby, “An Example of Distribution-Free Testing”, Mathematica Journal, vol. 5, no. 2, pp. 62–65 (1995).

H. Thimbleby, “View Binding and User Enhanceable Systems”, The Visual Computer: An International Journal of Computer Graphics, vol. 10, no. 6, pp. 337–349 (1994). PDF DOI: 10.1007/BF01900828

H. Thimbleby, “Computerised Parkinson’s Law”, Computing & Control Engineering Journal, vol. 4, no. 5, pp. 197–198 (1993).

H. Thimbleby & W. Thimbleby, “Solutioneering in User Interface Design”, Behaviour and Information Technology, vol. 12, no. 3, pp. 190–193 (1993). PDF DOI: 10.1080/01449299308924379

H. Thimbleby, “A Literate Program for File Comparison”, Communications of the ACM, vol. 32, no. 6, pp. 740–755 (1989).

H. Thimbleby, “Using Sentinels in Insert Sort”, Software — Practice & Experience, vol. 19, no. 3, pp. 303–307 (1989). PDF DOI: 10.1002/spe.4380190308

H. Thimbleby, “Delaying Commitment”, IEEE Software, vol. 5, no. 3, pp. 78–86 (1988). PDF DOI: 10.1109/52.2027

H. Thimbleby, “A Menu Selection Algorithm”, Behaviour and Information Technology, vol. 6, no. 1, pp. 89–94 (1987). DOI: 10.1080/01449298708901819

H. Thimbleby, “Optimising Self-Replicating Programs”, Computer Journal, vol. 30, no. 5, pp. 475–476 (1987). PDF DOI: 10.1093/comjnl/30.5.475

H. Thimbleby, “The Design of a Terminal Independent Package”, Software — Practice & Experience, vol. 17, no. 15, pp. 351–367 (1987). DOI: 10.1002/spe.4380170505

H. Thimbleby, Awarded British Computer Society Wilkes Medal, “Experiences with Literate Programming Using CWEB (A Variant of Knuth’s WEB)”, Computer Journal, vol. 29, no. 3, pp. 201–211 (1986). PDF DOI: 10.1093/comjnl/29.3.201

H. Thimbleby, “Failure in the Technical User Interface Design Process”, Computers and Graphics, vol. 9, no. 3, pp. 187–193 (1985).

H. Thimbleby, “Guidelines for ‘Manipulative’ Editing”, Behaviour and Information Technology, vol. 2, no. 2, pp. 127–161 (1983). DOI: 10.1080/01449298308914472

H. Thimbleby, “Leave and Recall: Primitives for Procedural Programming”, Software — Practice & Experience, vol. 10, no. 2, pp. 127–134 (1980). DOI: 10.1002/spe.4380100204

2.2. Contributions to edited volumes: refereed

H. Thimbleby, “Software Engineering Boards: An Urgent Proposal to Improve Pandemic Modelling”, 30 Years of Safer Systems: Three decades of work in the field of safety-critical systems as told through the SCSC Newsletter, pp. 158–164, Safety Critical Systems Club (2022). URL

H. Thimbleby, “Java”, The Encyclopedia of Computer Science, A. Ralston, E. D. Reilly & D. Hemmendinger (editors), pp. 937–941, Nature Publishing Group (2000).

H. Thimbleby, S. Jones & A. J. G. Cockburn, “HyperCard: An Object Oriented Disappointment”, Building Interactive Systems: Architectures and Tools, P. D. Gray & R. Took (editors), pp. 35–55, Springer Verlag (1992). DOI: 10.1007/978-1-4471-3548-7_3

2.3. Conference papers: refereed

H. Thimbleby, *G. Marsden, P. Gillary & M. Jones, “Successful User Interface Design from Efficient Computer Algorithms”, Proceedings ACM CHI (Extended Abstracts), pp. 181–182 (2000). PDF

H. Thimbleby, G. Marsden, P. Gillary & M. Jones, “Using Computing Science Principles in Interface Design”, Proceedings IFIP Conference on Human-Computer Interaction — Interact 1999, S. Brewster, A. Cawsey & G. Cockton (editors), vol. 2, pp. 47–48 (1999).

H. Thimbleby, “Sharing HyperCard Stacks”, Proceedings 7th Annual Apple European University Consortium Conference, pp. 68–71, Paris (1991).

H. Thimbleby & G. S. Macfarlane, “The TIN: An Approach to Powerful and Cheap User Interfaces”, Proceedings 8th. International Conference on Computer Communication, ICCC’86, P. J. Kuehn (editor), pp. 238–241, North-Holland, Munich (1986).

3. Programming — Invited publications: not refereed

3.1. Forewords and keynotes

H. Thimbleby, “Cowboy digital undermines safety-critical systems”, Safer Systems: The Next 30 Years, Proceedings of the 30th Safety-Critical Systems Symposium, vol. SCSC-161, pp. 203–226, Safety-Critical Systems Club (2022).

H. Thimbleby, “The pivotal pandemic: Why we urgently need to fix IT”, Systems and Covid-19, Proceedings of the 29th Safety-Critical Systems Symposium, vol. SCSC-161, pp. 413–427, Safety-Critical Systems Club (2021).

H. Thimbleby, “Computers and AI in hospitals: Criminal proceedings against nursing staff”, Artificial Intelligence and the Criminal Justice System, Rome (2019).

3.2. Articles in other journals

H. Thimbleby, “How Reliable are Pandemic Models?”, Safety Systems (2020).

H. Thimbleby, “Reaching to the Stars with IT Projects”, Public Service Review: UK Science & Technology, vol. 5, pp. 20–21 (2012). PDF

H. Thimbleby, “The Millenium Bug”, The Brewer, vol. 85, no. 1010, pp. 17–19 & 27 (1999).

H. Thimbleby, “Making a Program Faster”, Program Now, vol. 7, no. 5, pp. 40–41 (1993).

H. Thimbleby, “Ptrace Smarts”, DECUS UK Unix Special Interest Group, no. 8, pp. 32–37 (1981).

4. Programming — Other publications

4.1. Correspondence and other communications

H. Thimbleby, “Data is easy, it’s the modelling that’s hard”, Letter, Engineering & Technology, vol. 15, no. 5, p. 18 (14 May, 2020).

H. Thimbleby, “A Simple Criticism”, Letter, Java Report, vol. 2, no. 9, p. 6 (1997).

5. Programming — Presentations, exhibitions, debates, workshops

5.1. Gresham College lectures and videos

H. Thimbleby, “Better Programming”, Gresham College (13 May, 2004). Video PDF

H. Thimbleby, “Computer Circles”, Gresham College (26 February, 2004). URL Video PDF

H. Thimbleby, “From Lego, Java and Mathematica to feature interaction”, Gresham College (13 March, 2003). Video PDF

H. Thimbleby, “Plugging Computers In”, Gresham College (27 November, 2003). Video

5.2. Invited conference presentations

H. Thimbleby, “Lecture series: TATA Excellence in Computer Science Week”, Pune, India (2008).

H. Thimbleby, “Commentary on P. Ladkin’s “Ursachenanalyse von Unglücksfällen in Luftverkehr””, Natur, Gesetz, Naturgesetz: Historiche und Zeitgenössische Perspektiven (Conference on Natural Law: Historical and Contemporary Perspectives), Max Planck Institut für Wissenschaftsgeschichte (Max Plank Institute for the History of Science), Bad Homburg (1999).

H. Thimbleby, “HyperCard: An Object-Oriented Disappointment”, Joint meeting of BCS HCI and OOPS Specialist Groups, Glasgow (1991).

H. Thimbleby, “Bugs in HyperCard”, Joint Research Council Summer School, Edinburgh (1990).

H. Thimbleby, “Bugs”, Edinburgh International Science Festival (1989).

H. Thimbleby, “User vs Designer: The Case of Bugs”, Computers—Visions for the Future, Canon Research Europe (1989).

H. Thimbleby, “SIRUP: A SIR Utility Program”, Elliott Computer Users’ Group Annual Meeting (1976).

5.3. Invited lectures, webinars and seminars

H. Thimbleby, “Welsh Computer Science”, Wales Science Advisory Committee (2012).

H. Thimbleby, “Computer Science”, Cadbury College, Birmingham (2011).

H. Thimbleby, “Interactive numbers”, City University (2011).

H. Thimbleby, “Rules for dependable number entry”, UCL (2011).

H. Thimbleby, “How CS is science”, Royal Society (2009).

H. Thimbleby, “The Cargo Cult of Scientific Computing (And a Cure)”, St. Andrews University, Scotland (2006).

H. Thimbleby, “Cargo Cult Computer Science”, Open University (2004).

H. Thimbleby, “Computer Programming”, Hampstead Scientific Society, London (2004).

H. Thimbleby, “Doing computer science better”, Birkbeck College (2003).

H. Thimbleby, “How and why to make computer science better”, Brunel University (2003).

H. Thimbleby, “Java: A Critique”, Melbourne University, Victoria, Australia (1998).

H. Thimbleby, “Java”, Calgary University (1997).

H. Thimbleby, “Statecharts”, Heriot-Watt University (1993).

H. Thimbleby, “The Medieval State of Computing and How to Get Beyond It”, Arthur Andersen & Co., Oslo, Norway (1993).

H. Thimbleby, “Users as Programmers”, Sussex University (Cognitive Science) (1992).

H. Thimbleby, “Users as Programmers”, Open University ‘distinguished lecture’ (Human Computer Research Laboratory) (1992).

H. Thimbleby, “Where Computer Science Fails Us”, Aston University (1991).

5.4. Workshops (refereed, published & unpublished)

H. Thimbleby, “Software Standards”, Dundee University Students’ Society (1989).


All subject categories

Google profile

AutostereogramsBooksCalculatorsCybersecurity & virusesDevice designEthics & cultureFavouritesFormal Methods in HCIGeneral InterestHIT: Health IT & devicesHCIHuman ErrorLawInternetPost Office Horizon scandalLiterate ProgrammingProgrammingResearch, teaching & lecturingReading & digital librariesReviewsVideosComputer virusesWorld Wide WebWriting, editing & publishingSoftware EngineeringEverything.