The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.
In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.
The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.
The book covers the classical problems, including "Readers-writers", "Producer-consumer", and "Dining Philosophers". In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
AjaxToaster is built on XMLToaster and inspired by the "guerrilla SOA" philosphy. It gives you the power to easily create JSON & XML based CRUD services for your web applications. It runs as a servlet in an app-server or with its own standalone server.
The goal of this project is to provide a small and cohesive set of powerful UI components that allow creating modern applications that provide visual functionality similar to or superseding that of Vista Explorer and Office 2007. The components provide consistent visuals under the existing core and third-party look-and-feels, respect the DPI settings of the user desktop and follow the core Swing guidelines in the external APIs and the internal implementation details.The component suite includes:
* Layer for defining and using resizable icons
* Command button component
* Command button panel component
* File viewer panel component
* Breadcrumb bar component
* Ribbon component
The project is licensed under BSD license and requires JDK 6.0
I. Podgorny, M. Cannon, and T. Goodyear. Proceedings of the 18th ACM Conference Companion on Computer Supported Cooperative Work and Social Computing (CSCW '15 Companion), Vancouver, Canada, page 143--146. New York, ACM, (2015)