February 24th, 2010
A new approach to generating truly random numbers could lead to improved Internet security and better weather forecasts, according to researchers writing in the International Journal of Critical Computer-Based Systems.
Random numbers are a critical part of computer and Internet security. They allow websites and browsers to encrypt the data sent between them using a session key. Weather forecasters, climate scientists, economists, and epidemiologists also use random numbers to generate simulated data for their predictive models. Such simulations can test theories of hurricane formation, climate change, and the spread of disease epidemics, for instance.
http://www.drdobbs.com/security/223100204
201002 programming research
Posted in News | Comments Off
February 1st, 2010
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.
http://projecteuler.net/
201002 algorithms mathematics programming puzzles
Posted in Website | Comments Off
January 22nd, 2010
Until the 1980s, using a computer program meant memorizing a lot of commands and typing them in a line at a time, only to get lines of text back. The graphical user interface, or GUI, changed that. By representing programs, program functions, and data as two-dimensional images — like icons, buttons and windows — the GUI made intuitive and spatial what had been memory intensive and laborious.
But while the GUI made things easier for computer users, it didn’t make them any easier for computer programmers. Underlying GUI components is a lot of computer code, and usually, building or customizing a program, or getting different programs to work together, still means manipulating that code. Researchers in MIT’s Computer Science and Artificial Intelligence Lab hope to change that, with a system that allows people to write programs using screen shots of GUIs. Ultimately, the system could allow casual computer users to create their own programs without having to master a programming language.
http://sikuli.csail.mit.edu/
201001 gui programming
Posted in Product | Comments Off
December 21st, 2009
I had to work late and my manager supported by staying late with me. If he was somewhat technical, he could have asked relevant questions or maybe even offered helpful suggestions. But he hadn’t written code in years – and never in the language I was using. He just slowed me down.
I’m now a manager for a team of developers. It’s getting late one afternoon and a customer calls me up and starts yelling in my ear. Some system we sold them was down and they had to produce reports by the following morning or there would be hell to pay.
Of course I stayed late with my developer to solve this customers’ problem. And guess what? Yep, I hadn’t coded in years and never in the language he had to work with. So I could offer very little in the way of technical guidance.
When a manager tells his developers to work late, should he stay late too?
Eric Spiegel
http://itmanagement.earthweb.com/article.php/3854421/When-Developers-Work-Late-Should-Manager-Stay-or-Go.htm
200912 management productivity programming
Posted in Article | Comments Off
November 19th, 2009
If you’re a developer who uses JavaScript or if you know one who does, Bryan Sullivan’s got some advice for you. Take a few moments to acquaint yourself with the dangers of eval and its related functions, and learn to better secure your applications from attackers. In this article, he compares the command to other major security issues like buffer overflows, SQL injection, and cross-site scripting.
Bryan Sullivan
http://www.stickyminds.com/s.asp?F=S15558_COL_2
200911 javascript programming security
Posted in Article | Comments Off
October 30th, 2009
A finite state machine (FSM) models a predefined number of application states, which are changed (transitioned) according to actions that occur when triggered by runtime events. The FSM serves as a control point for validating state transitions and initiating callbacks.
A typical application will go through multiple states during a runtime session, e.g., RUNNING → PAUSED → RESTARTED, or (in the case of a data entry form) ENTER → VALIDATE → SAVE. The state transitions are initiated by runtime events, such as when a user presses an PAUSE button or hits the ENTER key after entering data in a field. The FSM determines what actions occur when an event is received, and the resulting state. The transition to a new state will invoke a change in the immediate or subsequent behavior of an application.
The article demonstrates how Java enums and EnumSets can be used as a basis to define and validate application states and state transitions
Jeff Lowery
http://today.java.net/article/2009/09/06/finite-state-machine-supporting-concurrent-states
200910 java programming
Posted in Article | Comments Off
October 30th, 2009
Discover how to call stored procedures and functions in MySQL from PHP using three database extensions: MySQL, MySQLi, and PDO.
Stored procedures and functions are a new feature of MySQL 5.0. A stored procedure is a pre-built procedure containing one or more SQL statements stored in the database server.
This article shows how to create a few basic stored procedure and function examples, and call MySQL stored procedures and functions from PHP with the help of some database extensions.
Octavia Andreea Anghel
http://www.devx.com/webdev/Article/42887
200910 php programming windows
Posted in News | Comments Off
October 30th, 2009
To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.
AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad’s best-selling first edition. It’s a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You’ll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you’ll apply AOP to common problems encountered in enterprise applications.
This book requires no previous experience in AOP and AspectJ, but it assumes you’re familiar with OOP, Java, and the basics of Spring.
Ramnivas Laddad
http://www.manning.com/laddad2/
200910 java programming
Posted in Book | Comments Off
September 11th, 2009
Based on nearly eighty hours of interviews with fifteen all-time great programmers and computer scientists, Coders at Work provides a multifaceted view into how great programmers learn to program, how they practice their craft, and what they think about the future of programming.
Peter Seibel
http://codersatwork.com/
200909 craftsmanship learning programming
Posted in Book | Comments Off
September 11th, 2009
The 97 Things Every Programmer Should Know project collects pearls of wisdom for programmers from leading practitioners. There is no overarching narrative: The collection is intended simply to contain multiple and varied perspectives on what it is that contributors to the project feel programmers should know. This can be anything from code-focused advice to culture, from algorithm usage to agile thinking, from implementation know-how to professionalism, from style to substance, etc.
Sometime around November, 97 contributions will be picked from the Edited Contributions and published in O’Reilly’s 97 Things series, which already includes 97 Things Every Software Architect Should Know and 97 Things Every Project Manager Should Know.
The 97 chosen for the book will be the ones considered not only to be the best individually, but also the ones that fit best together. Every contributor whose contribution goes into the book will be fully acknowledged in the book and will get a complementary copy of the book when it is published.
Kevlin Henney
http://programmer.97things.oreilly.com/
200909 advice programming
Posted in Website | Comments Off
August 11th, 2009
So you want to design, write and refactor code like a seasoned pro but are unsure of what direction to take and how to navigate around pitfalls and obstacles to get the best results? It would be great if there was a design compass that showed the way to a code shangrila where inversion of control, loose coupling, testability, reuse and more are bountiful.
A design compass does exist and this article will show you how to obtain and use the compass to achieve code that leaves you with time to do other things or just enjoy the tranquility and confidence that comes from having great code that does more. Seasoned professionals may also put the compass to use in finding hidden gems of functionality and dependencies that can be inverted or to help direct design or testing efforts towards a more fruitful result, but whatever your level, a compass can certainly come in handy in getting from place A to B.
James Ladd
http://jamesladdcode.com/?p=12
200908 programming software quality
Posted in Article | Comments Off
June 23rd, 2009
Do you think it’s a coincidence that 80% of the best Java talent have a moderate to considerable understanding of either Python, Smalltalk, Scala, Lisp, to a lesser extent Erlang, and most recently Clojure? If you answered ‘No coincidence’, perhaps you are in that top tier of talent. If you answered ‘What a coincidence!’, please consider reading on. If you answered ‘What are Python/Scala/etc.?’, definitely read on.
Dave Fecak
http://www.javaworld.com/javaworld/jw-06-2009/061909-better-java-programmer.html
200906 java programming programming languages
Posted in Article | Comments Off
June 23rd, 2009
Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), James Gosling (Java), Bjarne Stroustrup (C++), and others whose vision and hard work helped shape the computer industry. You’ll find advice you can apply to systems you’re developing, even if you don’t use the specific languages being discussed.
http://oreilly.com/catalog/9780596515171/
200906 books programming
Posted in Book | Comments Off
March 23rd, 2009
Most programmers agree that another pair of eyes on your code will uncover bugs and disseminate knowledge across development teams. But many also recognize that peer review can waste a lot of time.
So how do you get started in such a way that you 1) don’t waste time, 2) match the process to your team and your goals, and 3) have a clear way to evaluate results? So many code review techniques exist, and each with pros and cons, so which are right for your team? Even if you’re unwilling to spend the time to review all your code, perhaps spending a little time reviewing a specific subset would be worthwhile.
The only way to know is to try it for yourself. Use these tips to simplify, expedite, and measure the process.
Jason Cohen
http://www.ddj.com/architect/215800147
200903 productivity programming quality
Posted in Article | Comments Off
March 23rd, 2009
Despite the fact that FP languages have been around for just about forever in terms of the history of electronic computing - John Mc-Carthy invented Lisp in the late 1950s, for example - they’ve never shared the popularity or usage levels of their imperative counterparts. For years, the majority of industry-oriented developers considered functional languages to be inefficient and suitable only for academic exercises, and the fact that functional language syntax and idioms differed so widely from what practicing programmers were accustomed to did nothing to help these languages gain popularity.
Fortunately, however, FP languages appear to be gaining in popularity for a variety of reasons, most of them centered on different facets of the perpetual themes of performance and efficiency.
Steve Vinoski
http://www2.computer.org/portal/c/document_library/get_file?uuid=2c7ec47f-a29c-4873-b721-88cec5e5646d&groupId=53319
200903 functional programming programming programming languages
Posted in Article | Comments Off