-
Who's the worst programmer on your team? How can you tell? -
You could point to the weakest software developer in your department with little hesitation. But if asked to identify your
criteria, it's unlikely that "metrics" would play any part in that judgment.
-
Methods & Tools -
a FREE global software development magazine with practical knowledge, information and resources
on software development and software engineering: UML, Agile (eXtreme Programming XP, Scrum, Test Driven TDD),
Software Testing, Configuration Management, Databases, RUP, Software Project Management, Programming
(Java, .NET, Ruby on Rails, Ajax), Software Analysis and Design, Quality Assurance,
Software Process Improvement (CMMI), Software Development Tools, User Interface, Risk, etc.
-
8 Reasons Why CIOs Think Their Application Developers Are Clueless
-
Australia 2008 Daylight Saving Planning Guide
(to help prepare Microsoft solutions for DST changes). From April 2008, daylight saving will end
on the first Sunday in April and recommence on the first Sunday in October in all Australian states.
-
The Anatomy of Interoperability - an excellent article (by Rob Weir)
-
CrossBrowserTesting.com -
Allows website designers see what their website looks like in various different browsers and in different operating systems.
-
Most popular free/open source IDEs and Editors
-
Microsoft Windows Loses Ground With Developers, Survey Says (03 July 2007) - Microsoft's Windows platform
is losing traction as a target for application developers in North America but still is the dominant platform, according to a new survey.
-
ADT - Application Development Trends -
"ADT provides the latest enterprise application news, trends and best practices to help readers
tackle the broad range of issues that enterprises must cope with every day ...
to enhance their organizations' efficiency, productivity and competitiveness."
-
The Free Country -
FREE programmers', webmasters' and security resources (tools and utilities)
-
Free Text Search and Replace Utilities
-
Free Debuggers, Static Source Code Analysis Utilities, Source Checkers (Lint), Bug Trackers
-
Free Compiler Construction Tools (Lexical Analyzers, Parser Generators, etc)
-
Free Programming Language Grammars
-
Free Disassemblers, Binary and Hex Editors, Hex Viewers
-
Free DOS Extenders (Protected Mode)
-
Free Executable Compressors - shrink your EXEs and Binaries
-
Free GUI Builders / Application Builders
-
Free Help Authoring Tools
-
Free Java IDE and Editors
-
Free Java Resources and Tools
-
Free Program Maintenance Utilities (Make)
-
Free Programmers' Editors, ASCII Text Editors and IDEs
-
Free Windows Resource Compilers, Resource Editors, Resource Hackers, Icon Editors
-
Free Setup / Installers / Uninstallers
-
Free Source Code Beautifiers
-
Free Text and Binary Comparison / Merging Utilities (Diff/Merge)
-
Free Version Control Software
-
Miscellaneous Free Programming Tools and Utilities
-
DEVFYI - Developer Resource FYI ...
Are you a developer looking for information about your career?
- Developer Job Interview Questions and Answers -
Need to prepare for a job interview? DEVFYI have selected a big collection of interview questions and answers
in many technical areas: Java, JSP, ASP, C++,C#,.NET,ORACLE, PL/SQL,Perl, struts, XML....more.
-
TIOBE - specialists in assessing and tracking the quality of software
23 Programming Languages compared through their Amazon book sales
Developers' Choice -
IDE ScoreCard
(November 2005) - FREE REPORT -- an Evans Data Corporation survey of over 700 developers,
asked to rate the features of IDEs that they use. Nine of the most popular IDEs were evaluated by their
users based on toolset and performance features. See how users rated these nine IDEs in various categories.
- IDEs: JBuilder, Eclipse, Visual Studio.NET, IBM Websphere Studio, BEA Weblogic Studio, IBM Rational Application Developer,
Macromedia Studio MX, Sun Java Studio, Oracle Developer Suite.
- Categories: Compiler/Interpreter, Debugger, Editor, Modeling and Design Tools, Sample Apps, Ease of Use, Compiler performance,
Performance of resulting Apps, Libraries/Frameworks, Profiler/Optimizer, Help/Documentation, Ability to integrate 3rd Party Tools.
Five Habits of Highly Profitable Software Developers -
"Software developers who have the ability to create and maintain quality software in a team environment are in high demand in
today's technology-driven economy. The number one challenge facing developers working in a team environment is reading
and understanding software written by another developer. This article strives to help software development teams
overcome this challenge."
The Poka-Yoke principle and how to write better software
A Brief Tutorial on
Mistake-proofing, Poka-Yoke, and ZQC
Designing for Deployability
How to develop software like commanding a tank
How to Write Good Unit Tests
How to do Root Cause Analysis
Examples of Root Cause Analysis
How to Make Time for the Important
The Reuse Trap in Software Design
Top Five Essential Practices for Developing Software
Are You Doing Enough Coding?
How Much Do You Code?
Blinded by the user interface
Developers vs. Programmers -
about the culture clash that often comes up between executives in technology-oriented companies and the people who actually develop the software.
Scott Hanselman's 2005
Ultimate Developer and Power Users Tool List
Tim Berners-Lee's blog
IT Conversations -
"a network of high-end tech talk-radio interviews, discussions and presentations
from major conferences delivered live and on-demand via the Internet."
DDJ - Dr. Dobb's Journal - a computer press leader since 1976 in covering practical technology.
-
Dobbscasts (podcasts) - Audio clips, tech tips, and interviews with industry experts.
"Test" Drive Your Software ... From 0 to 60 in 6 steps -
Testing can make or break an application depending on the importance you give it. This concise Dr. Dobb's article
asks what's the "Right" testing methodology and explains how the Software Testing Life Cycle (STLC)
relates to the Software Development Life Cycle (SDLC).
The original VisiCalc spreadsheet executable
for the IBM PC. (You can download it and try it out under DOS or Windows.)
LEGO Difference Engine -
Building a Calculating Machine using LEGO
ConsortiumInfo.org - a "comprehensive source of information on the Internet regarding standards, standard setting,
and open source software, and on the role that these essential tools play in business and society.
QuickRef.org -
serves as a search engine to some of the best freely available programming documentation.
Includes: C, C++, CSS, HTML, HTML DOM, Java, JavaScript, MySQL, Perl, PHP, and Ruby.
Why Programming Is Fun ...
"Because I was having so much fun in the Fortran class, I went to the head of the Computer Science Department,
who told me that computers were going to be everywhere and that I would always have a job. I was set on a course
for 37 years (and counting) of continuous fun."
Coding4Fun ... for people worldwide write software
for fun –
not because they are being paid, but because they love to code (part of the Microsoft MSDN site).
lesscode.org - "a place to advocate, discuss, and practice the art of
using less code to get more done."
Security Protocols -
catching security bugs in software products
Secure Habits - 8 Simple Rules For Developing More Secure Code
An Applications View on Security
the only completely protected machine is one that's disconnected from the network and preferably turned off. ...
Two factors intensify the hazards facing enterprise development professionals. First, the growing dominance of Web-enabled applications
exposes developers' finished products to a vastly larger army of attackers. Second, the rapid development cycles of customer-facing
or supply-chain-partnering software mean that most new code is never really finished at all.
How Safe Are Your Application Designs?
Here are the questions your company needs to ask when designing, or even using, application software:
- Who should be concerned with application security?
- What are the inherent security risks in the application design process?
- What are some of the most common vulnerabilities in enterprise applications?
- When do vulnerabilities find their way into the application design process?
- How can developers address security from the beginning of application development and design?
- What is involved in the testing phase for vulnerability identification?
- What are other threats and countermeasures for mitigating application security risks?
- What are common information leaks and how can hackers use information for malicious purposes?
- What are some best practices for application development?
- Do organizations need third-party validation for security of applications?
Variations on Three Systems Themes - should (or can) systems be made idiot-proof?
IASA - International Association of Software Architects -
"a non-profit organization dedicated to the advancement and sharing of issues related to
software architecture in the enterprise, product, education and government sectors."
Software Development’s second annual Readers' Choice Awards 2004:
- Best Developers' News Source: developerWorks (IBM)
- Most Robust Tool: JBuilder (Borland)
- Best Value: Eclipse (Eclipse.org)
- Best Technical Support: developerWorks (IBM)
- Most Improved Tool: Eclipse (Eclipse.org)
- Most Innovative Tool: Visual Studio .NET (Microsoft)
- Best Open Source Tool: Eclipse (Eclipse.org)
- Most Tried and True: Visual Studio .NET (Microsoft)

- The Open Group -
"a vendor-neutral and technology-neutral consortium, whose vision of Boundaryless Information Flow™ will enable access
to integrated information within and between enterprises based on open standards and global interoperability."
(Open standards, not necessarily open source.)
>> Press release
Open Source Middleware ...
Breaking the rules with open source and
Open source's next frontier -
Open source software, increasingly popular with budget-conscious companies, is beginning to expand into a
new area: The lucrative infrastructure-software market dominated by industry giants such as Microsoft. Individual open-source database
and other applications are already popular. Now two open-source projects have launched efforts to assemble "stacks" of software applications that
offer an open-source equivalent to commercial software from Microsoft, IBM, Oracle, BEA Systems and others. ... Though it's too soon to tell
just how much these new stacks will shake up the multibillion-dollar market for back-end software, it's clear there's a growing number of open-source
alternatives to commercial software makers' most profitable products.
Suites, Open Source Shake Up Application Server Market
WHATWG - Web Hypertext Application Technology Working Group -
a loose unofficial collaboration of Web browser manufacturers and interested parties who wish to develop new technologies
designed to allow authors to write and deploy Applications over the World Wide Web. ...
The term "Web Application" in this context refers to applications accessed over the World Wide Web
by using a Web browser. (This group is not attempting to describe APIs for writing high-end sophisticated programs
such as office productivity suites, graphics manipulation packages, or 3D games.) This working group
aims to make their development easier, and hopes to specify new technologies that make it possible to make
much prettier and more usable interfaces with less dependence on complex scripts, less dependence on server-generated pages,
and a more seamless user experience.
-
Web Applications 1.0 - Working Draft -
"The main area that has not been adequately addressed by HTML is a vague subject referred to as Web Applications. This specification
attempts to rectify this, while at the same time updating the HTML specifications to address issues raised in the past few years."
The Economics of Programming Languages -
the author hopes "to give language users some insight into selecting a language that best suits their needs."
and to "also help language designers and advocates to better market their products by giving them a common language,
that of economics, to discuss the challenges and opportunities inherent in the market for computer programming languages."
COBOL ... El lenguaje Inmortal -
COBOL is far from dead! This Argentinian community site has many COBOL resource links, together with some online demonstrations.
Michael Yuan's Java Blog: "Is Ruby Replacing Java? – Not So Fast" --
This kind of talk has some serious logical problems. First of all, as the short history of high technology has proven again and again,
the "superior" solution does not always win over "inferior" ones. ... The reason, in economics terms, is that the choice of
a technically "better" programming language does not bring you competitive advantage in terms of overall cost and productivity. ...
for rich UI application developers, the dominant languages are still C / C++ / VB. Even heavily marketed languages like C# and VB.Net have little traction --
let alone Java. ... One language does NOT replace another one. The rise of a new programming language always comes with the opening of a new application area
and an influx of new developers who are willing to try out a new language -- since there is simply no incumbent language in this brand new area.
Source Code Indemnity -
You and your insurance company had better share a common understanding of what protection you've bought,
against what hazards, for any source code on which your organization depends. ...
"If you have multiple copies of your code that you lose in separate events and even one of those
events is not your insurer's problem, then you might be completely out of luck—if it's found
that you suffered no harm at all until the last, uninsured copy was lost."
Survey suggests new computers will drive up software costs -
major changes in how computers are designed and used (such as multi-core processors and shared on-demand usage) are underway and few software makers
are preparing for it. The fact that all four are happening at the same time is a recipe for
software pricing mayhem.
Re-negotiate software license deals now -
Emerging trends in IT hardware could force software licensing costs up by more than 50 percent over the next year,
unless businesses renegotiate existing contracts now. Gartner claims the move to
multicore-chip architectures,
virtualized hardware and
utility computing threatens existing capacity-based, or CPU-based, licensing agreements offered by the major software vendors.
The EUSES Consortium -
"End Users Shaping Effective Software" - They state: "Errors are pervasive in software created by end
users and the resulting impact is sometimes enormous. ... We do not propose to transform end users into engineers.
Rather, our plan is to enable systems to create software to collaborate with those users,
in a software development paradigm that combines traditionally separate functions -- blending
specification, design, implementation, component integration, debugging, testing, and maintenance
into tightly integrated, highly interactive environments."
Elbrus - a provider of custom
test automation solutions
for development, manufacturing and service stages of the product life-cycle....
Debugging For Dummies -
Computer bugs can mess up just about anything and be costly to the economy ...
But they're difficult pests to eliminate, because doing so requires programmers to perform
"an elaborate detective investigation."
Learn the essentials of debugging -
Systematically take on mysterious errors with confidence ... Debugging software is challenging.
Without a process to follow, resolving problems can seem impossible. Most inexperienced programmers
find themselves in precisely that situation when confronted with a bug. In this article, walk through
a sample problem-solving session to learn the art of debugging and highlight
six essential elements of the debugging process.
A Guide to DEBUG (the Microsoft DEBUG.EXE program)
The first rule of debugging -
"The mistake is in failing to be sure that the program that they are trying to debug is actually the program that they are running."
and then there's
The zeroth rule of debugging
Introduction to Power Debugging -
"If you know how to use them, even the simplest of debugging tools can be powerful."
[
Back to Top ]
-
Put Your Apps to the Test -
"As smart as the people are who design the code and the systems,
the systems are complex enough that if you don't get to see how they all interact before you field the code,
you're usually in for a horrible embarrassment." ... That sort of commentary points to the need for
application performance testing software-along with the expertise to apply it correctly. Rapidly increasing user loads,
wildly complex software and distributed development that includes worldwide outsourcing all ratchet up the need
for more and better application testing processes and tools. ... Purchasing a performance testing package, creating tests,
running them and interpreting the results is one way to beef up your software application testing process. However ...
a good software performance testing strategy requires a degree of expertise that many companies lack.
-
Compliance-driven development: the
IBM Compliance Resource Kit -
can help teams adopt a proactively prepare for an audit of their software development environment.
IBMM created this Compliance Resource Kit to help project managers and testers improve the functionality,
usability, reliability and scalability of their software applications.
-
Software Crashes Deserve a Closer Look -
An airplane crash triggers a painstaking investigation. But when software fails, the user is told to hope
that it works the next time. "Is this any way to run an airline?"
-
Software Testing Shouldn't Be Rocket Science -
"Good testing is about attitude, where a developer takes pride not just in the elegance or volume of his or her code, but in
whether it meets the user's requirements and performs reliably in its first incarnation."
64-bit Computing with Intel EM64T and AMD AMD64 -
There are now three 64-bit implementations in the “Intel® compatible processor” marketplace
-- Intel IA64 (as implemented on the Itanium 2 processor), Intel EM64T(as implemented on the Xeon DP “Nocona” and future Xeon
MP processors), and AMD AMD64 (as implemented on the Opteron processor).
There is some uncertainty as to what a 64-bit processor is and even
more importantly, what the benefit of 64-bit computing is. This document introduces the EM64T and AMD64 architectures
and explains where 64-bit processing is useful and relevant for customers in this marketplace.
GripeLog -
"a place where customers of technology products can air their beefs with vendors
and read about the problems and issues other customers are raising."
This Is Broken -
places, things, and websites that are just "broken"
Annoyances.org
Systems Must Be Designed to Doubt -
What about building systems that don't take the normal routine for granted? What about building systems that don't merely repeat what
they've been told, but that ask semi-intelligent questions about what's going on around them? And that know an unbelievable answer when they hear it? ...
In the long run, technology has to improve service to the highest level that still leaves room
to earn a reasonable rate of return while offering services at a competitive price.
... When online systems lie to customers, or when errors in those systems waste the time of both customers and
employees, then the negative good will that results is expensive.
Web services enable a wealth of customer-facing systems, but they also raise the bar
for the level of reliability and self-knowledge that those systems must possess.
Using Threat Analysis to
Design More Secure Systems -
See how to design and build more secure systems by evaluating threats and selecting technologies to counter those threats.
The i-Technology Right Stuff -
Searching for the Twenty Top Software People in the World
and Sung and Unsung i-Technology Heroes
and
Who's Missing From
the i-Technology Top Twenty?
Sticks and Stones:
Who Needs "Hardship Programming"? -
It's time we all got beyond such rites of passage.
"Things I Wish I Learned in Engineering School"
(book by Rick Cattell) -
about "pitfalls that engineers should be aware of in their careers, e.g. to
avoid spending years working on projects that don’t succeed as products." ...
and the associated university talk, covering the most important rules from the book: online at
Carnegie-Mellon University
and the University of Illinois.
The slides for the talk can be found
here.
The Things I Wish I Learned in Engineering School - a conversation with Sun Microsystems Distinguished Engineer Rick Cattell
What makes a good Programmer? -
"All programmers should be Analyst/Programmers; they might have a 'big A' and a 'little p' -
the emphasis being more on the analysis side – or a 'small a' and a 'big P' with the emphasis on the programming side."
Top 5 Attributes of Highly Effective Programmers
The Next Move in Programming - a conversation with Sun's Victoria Livschitz -
"Here's what's really sad -- the overwhelming majority of so-called successful development projects produce mediocre software." ...
The parallel between chess and programming is rather obvious. Programming is also about knowledge,
creativity, and technique. Good programmers must have a vast body of knowledge at their fingertips:
the programming syntax of one or more languages, standard and special-purpose data structures,
typical (as well as advanced) coding techniques, many kinds of libraries and APIs,
a multitude of design patterns, and so on. Good programmers use their creative vision to recognize
many patterns that may be relevant to the solution of the specific design problem at hand, and correctly
choose the best approach. Finally, no matter how good the architecture and design are, to deliver bug-free
software with optimal performance and reliability, the implementation technique must be flawless."
Confessions of a Used Programming Language Salesman (Getting the Masses Hooked on Haskell)
- Erik Meijer writes: "After a long journey through theoretical computer science, database theory,
functional programming, and scripting, abstract concepts such a monoids, lambda-expression, and comprehensions
have finally reached the day-to-day world of ordinary programmers. The LINQ framework effectively introduces
monads, monad comprehensions, and lambda expressions into the upcoming versions of C#
3.0 and Visual Basic 9. ... This paper is a personal account of my journey to democratize the three-tier distributed programming problem.
It starts with my attempt to use Haskell as the language to write threetier distributed data intensive applications,
then continues with my brief flirtation with the Internet Scripting Language Mondrian, the C! language, the LINQ framework
and C# 3.0 and Visual Basic 9, and ultimately comes to a happy end with my devotion to Visual Basic."
The Serious Games Initiative -
is focused on uses for games in exploring management and leadership challenges facing the public sector.
-
PROGRAMMING FOR KIDS ...
-
Tomorrow's programmers, tools and e-learning -
Interactive games and simulations may make online learning fun
but they add significant cost and production time. But this will not always be the case.
- Game Maker -
"Did you always want to design computer games? But you don't want to spend a lot of time learning how to become a programmer?
Then you came to the right place. Game Maker is a program that allows you
to make exciting computer games without the need to write a single line of code.
Making games with Game Maker is great fun. Using easy to learn drag-and-drop actions
you can create professional looking games in little time. ...
What is best, Game Maker can be used free of charge. And you can use the games
you produced in any way you like. You can even sell them!"
-
Kid’s Programming Language (KPL) ...
"designed and developed based on the principle that programming is fun."
-- KPL is available as a freeware download from:
www.kidsprogramminglanguage.com and here's an
Overview of KPL for parents
-
Scratch -
a programming language (for Windows and Mac) that makes it easy to create your own interactive stories,
animations, games, music, and art -- and share your creations on the web. Scratch is designed to help young people
(ages 8 and up) develop 21st century learning skills.
[ Back to Top ] |