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.
Penrose is a java-based virtual directory server. Virtual directory enables federating (aggregating) identity data from multiple heterogeneous sources like directory, databases, flat files, and web services - real-time - and makes it available to identity consumers via LDAP.
18 de março de 2007, 20:52 Web 2.0 é aproveitar a inteligência coletiva, colocar o usuário em primeiro lugar e no centro da estratégia da empresa. Não é colocar o usuário para produzir e a empresa ficar rica. Por Gilberto Alves Jr.
Up until about ten months ago, very few people would have considered javascript as a language in which one could build significant portions of the UI of an enterprise application. If, say, I needed to display a table of information with support for sortin
Agile Development, in particular, eXtreme Programming (XP), has been gaining a lot of momentum because it can effectively address the problems plaguing software development such as mis-understanding customers' requirements, missing deadlines, over-budget,
Rules in (and for) the Web have become a mainstream topic since inference rules were marked up for E-Commerce and were identified as a Design Issue of the Semantic Web, and since transformation rules were put to practice for document generation from a cen
Widgetbox is an online directory of web widgets for blogs and other web pages. We're in beta — try out our service and let us know where we need to improve!
The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries. By using the Google AJAX API Loader's google.load() method, your application has high speed, globaly available access
Genetic programming is a relatively new form of artificial intelligence, and is based on the ideas of Darwinian evolution and genetics. The foremost work in genetic programming is John Koza's Genetic Programming, which describes a set of LISP routines whi
Several years ago, a client asked me to come up with a prototype for a real-money online poker bot. That's right: a piece of software you park on your computer while it goes out to a site like PokerStars or Full Tilt and plays no-limit Holdem for you
The most complicated aspect of large software projects is not the implementation, it is the real world domain that the software serves. Domain Driven Design is a vision and approach for dealing with highly complex domains that is based on making the domai
A Programming Style That Automatically Detects Bugs in C Code by Jerry Jongerius / January 1995. This book describes an alternate class methodology that provides complete data hiding and fault-tolerant run-time type checking of objects in C programs. Wi
Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users.
For the sake of your (search engine) Quality Score, (human) Credibility and (financial) bottom line, there are exactly six pages your site must include.
Fog Creek Joel Spolsky has never been one to hide his opinions. Since 2000, he has developed a loyal following for his insightful, tell-it-like-it-is essays on software development and management on his popular Weblog "Joel on Software" (http://www.joelo
17 de maio de 2008, 22:42 Para iniciantes: para começar uma carreira na área de desenvolvimento de software, o ideal é esquecer que existem linguagens de programação e, antes de mais nada, aprender lógica. Por Renato Ucha
J. Abbate. MIT Press, Cambridge, MA, (1999)Provides a good overview over the history of the Internet.
Use of the Internet has grown tremendously in a very short time and we take much of it for granted. We shop online, bank online, purchase airline tickets and make hotel reservations online, all at the click of a mouse through the World Wide Web, a graphical application for using the Internet. But how did the Internet get its start?
In Inventing the Internet, Janet Abbate tells the tale of the creation and evolution of the Internet beginning in the late 1960s with the development of a revolutionary concept for transferring data called packet switching developed simultaneously by Paul Baran of the Rand Corporation in the U.S. and Donald Davies of the National Physics Laboratory in Great Britain.
Abbate discusses the challenges faced by the Advanced Research Projects Agency (ARPA) in creating ARPANET, the first wide-scale computer network. ARPA's challenges ranged from utilizing the new and unproven technique of packet switching to connecting a wide variety of incompatible computers to the fledgling network. Packet switching proved to be a success but as Abbate points out, it is hard to say if packet switching made ARPANET a success or if ARPANET made packet switching a success. Abbate explains the efforts of several organizations that went into developing international standards that were necessary for the Internet to become as successful as it has become.
Abbate also explores the social issues surrounding the creation and development of the Internet; issues such as the cooperation necessary between the builders and the users of ARPANET in the 1970s and 80s that made ARPANET more user friendly to how the users themselves saved the ARPANET and ultimately the Internet through the popularization of an unlikely application. Abbate states 'had the ARPANET's only value been as a tool for resource sharing, the network might be remembered today as a minor failure rather than a spectacular success. But the network users unexpectedly came up with a new focus for network activity: electronic mail.'
Abbate delves into the popularization of the Internet through such applications such as the World Wide Web and how private enterprises including Internet service providers such as America Online, CompuServe and Prodigy quickly transformed the Internet from a dull, text-only entity to a glitzy, graphically oriented medium. The World Wide Web exponentially added to this popularization by providing an application that was not only easy to use but also wildly entertaining to both expert and novice users alike.
Abbate presents this history of the Internet in an easy-to-read style that is both entertaining and informative. Inventing the Internet is well documented with extensive chapter notes and an excellent bibliography..
F. Abbattista, F. Calefato, D. Gendarmi, and F. Lanubile. Automated Software Engineering - Workshops, 2008. ASE Workshops 2008. 23rd IEEE/ACM International Conference on, (September 2008)
P. Abrahamsson, and J. Koskela. Empirical Software Engineering, 2004. ISESE '04. Proceedings. 2004 International Symposium on, page 73--82. (August 2004)