VSJ
Visual Studio 2010 available now - click for details
The independent source for software developers
Home
Email Newswire
.NET Zone
Java Zone
XML & Web Services Zone
Database Development Zone
Architecture Zone
BlackBerry Zone
News
Articles
Free Downloads
Training Courses
Books
Institution of Analysts & Programmers
Code Bin
DevWeek & SQL Server DevCon
About VSJ
Advertising Information
Contacts
Follow VSJ on Twitter
Articles

Article Archive

The following articles were all published more than 12 months ago.

Ruby and IronRuby are fashionable at the moment, which raises the question of what makes them so interesting. Mike James paints a picture of the essential Ruby.
It can be difficult to appreciate alien technology even if it’s doing exactly the same job as something familiar and well understood. Sing Li makes it easy for .NET enthusiasts to comprehend JSP by comparing it with ASP.NET.
Have you ever wanted to open a console in the middle of an application that doesn’t usually support one? Harry Fairhead explains exactly how to master the console.
Is it a dead parrot or does it fly? Mike James looks at IronPython and asks if it really is something completely different.
Who designs the interface? Dave Wheeler explains that the task can easily be split between a designer and a developer using the parts and states model.
Ian Elliot clarifies the confusion surrounding objects in JavaScript.
Testing should be an integral part of your design, and Kevin Jones explains just how to make it so.
Joydip Kanjilal looks at the problems caused by concurrency when accessing data, both online and offline, and how to overcome them.
Mike James discusses pointers, and concludes that they are often unsafe and generally best avoided.
If you need to create an application that fully exploits the facilities of a BlackBerry handheld device you need to move to creating Java ME applications from scratch. Mike James describes just how easy it can be.
Testing web applications is a problem, but Sing Li thinks the solution might be easier than you think with Selenium.
Kevin Jones explains how ActiveRecord works in Rails, and in a standalone Ruby application.
Of course you want to document your code, but how many of us do? Mike James thinks that coding and documenting can go hand-in-hand.
How do you keep a history when using Silverlight? Dave Wheeler demonstrates just how it’s done and plays a little Tic-Tac-Toe along the way.
Kevin Jones explores unit testing in Ruby, and shows how Rails offers extra features.
If you think regular expressions are trivial and boring, Mike James reveals that in .NET they are amazing powerful and not to be missed.
Is C# in danger of too much change? Mike James ponders the implications of dynamic types in C#.
Kevin Jones thinks that the key idea in Rails is routing. See how this fits in with the MVC pattern and find out more about Rails by reading on.
Kay Ewbank looks at DataDirect’s Data Integration Suite, which aims to deliver on XML’s promise to make things simpler.
Mike James explores the perils of multi-threading and explores ways of staying safe in a multi-core environment.
Sing Li shows how to add compression to your Java code when accessing files, networks or databases.
Ever wondered what “Rails” is all about? Kevin Jones explains what it is and why it’s important.
Neal Ford shares some ideas about improving developer productivity by automating wherever possible.
Kay Ewbank looks at a real-time BI solution that is designed to be embedded into transactional applications.
What exactly is functional programming, and why is it so important? Mike James explains the functional ideas embodied in F#, and provides some help with getting to grips with the language.
Ian Elliot continues to mine for hidden information relating to JavaScript.
XML, which is all about tree structures, and LINQ, which is all about querying collections, might not seem to fit together, but Mike James explains that they work together just fine.
Sing Li explores the advantages of Jython, a Python implementation created in Java.
Migration isn’t just about the simple line-by-line translation, you need to plan at a higher level. Danijel Arsenovski explains how to refactor a design for .NET.
Ian Elliot reveals another gem in the JavaScript collection.
Use SQLAlchemy to ease the creation, testing, and maintenance of database code – with objects.
Mike James explains that LINQ isn’t just for SQL programmers but is usable by every .NET developer.
Isolated Storage is a solution to a very common problem, but if you don’t understand it then it becomes a problem in its own right.
Build more concise, elegant JavaScript code.
Developing connected applications with InterSystems Ensemble.
Do you want to create web applications incorporating compelling charts and graphs? Cewolf provides a quick route.
Routed events are new in .NET 3.5 – Mike James explains exactly what the “routing” means.
DotNetNuke is a silly name, but the software is anything but. Chris Cant explains how DNN can be an easy way to create ASP.NET applications.
Use templates and properties to take full control of the user interface.
While the majority of attention in the media focuses on traditional relational databases, the MultiValue market continues to thrive.
Persisting objects is all about SLOB, or so says Dave Wheeler who explains how it’s now all so much easier.
Delegates are at the core of a number of different .NET facilities, events in particular.
Implementing a game using Silverlight is a good way to learn its more advanced aspects. Dave Wheeler shows us how, and has some fun on the way.
Threading is a big and important topic. Mike James explains how the many forms of Invoke make it easier.
Ben Hall introduces a new way to query your data using the .NET platform.
Do we really need another approach to properties? Dave Wheeler thinks we do, and argues that WPF’s new dependency properties are a really good idea.
Redirection may be a magician’s main trick, but Ian Stevenson explains that it’s also useful when building a web site.
The role of custom attributes in C# can be confusing. Mike James gets to grips with them and provides some examples.
Taking full advantage of multiple-core CPU architectures is becoming an essential step for new applications. How do you automate the process?
What exactly is XAML all about? Is it a replacement for HTML? Not according to Ian Elliot, who explains exactly what it does.
A key strength of Windows Presentation Foundation is its ability to divorce information from display, using data binding. But you can’t simply shovel data in and hope it will stick – it helps to know how to “shape” it.
This year sees the arrival of SQL Server 2008. What are the key features?
Are you ready for LINQ? Jon Skeet thinks that the time is right to find out how it works and how to use it.
Delivering on the mobile data access promise with the iPhone/iPod Touch.
Knowing how to send and receive Windows messages is essential if you want to work with the Skype API.
There’s no need to be scared of the mouse if you’re working with Silverlight, but as Dave Wheeler explains, it’s not quite as straightforward as it could be.
Mobile applications are generally regarded as difficult. Sing Li describes a mobile architecture that is highly generalisable.
Data binding in WPF is relatively straightforward, but it’s even easier with the help of Ed Blankenship’s example.
Dave Wheeler continues his series of articles on Microsoft’s new Silverlight technology.
Going beyond dynamic GUI and responsive interactions for web applications, GWT provides an easy-to-use remote procedure mechanism that your AJAX application can use to fetch data from a remote server. Sing Li shows how to extend a GWT application to access data across a network via RPC.
Most of the emphasis with AJAX is on how to perform an asynchronous update at the client. Dino Esposito considers the other end of the connection – how exactly does the server provide the data that the client needs?
Are generics useful or are they just syntactic fluff? Mike James shows how they can be used to create complicated dynamic data structures.
Is Silverlight the way to make your browser based applications as rich as a desktop application? Dave Wheeler thinks so and put the case for sophistication in Silverlight.
Last month, we looked at the combination of Jalapeño and Caché from InterSystems to see how well the two worked together for the Java developer. This month, it’s the turn of the web browser development feature in Caché, Zen.
Web 2.0 and AJAX are exciting, but writing production grade systems that utilize these technologies is far from easy. There existed no way for Java developers to break into AJAX ‘gently’ – until now! The Google Web Toolkit (GWT) lets you program AJAX in Java.
Ian Elliot shows how you can make cryptography so easy that you can build it into almost any application.
Introducing Microsoft’s new rival to Flash.
SQL Server’s Service Broker sounds mysterious, but it’s easy to use and effective, as Klaus Aschenbrenner demonstrates.
How do you manage the session state in a suitably modern way? Robert Faulkner has some suggestions for controlling the session object.
The unified approach to objects, data structures and programming.
.NET and ADO .NET in particular has lots of interesting facilities for working with database, but can they really be useful when no database is involved? Ian Elliot comes to the surprising conclusion that they can.
XML is at the heart of Office 2007, and Mike Ormond introduces its exciting possibilities.
Mike James explains how closure applies to anonymous methods, and why it’s useful.
Java SE 6 is no wimp when it comes to high performance interactive animations. Learn the tricks of the trade for Java animations and apply them in your next project.
If you think of XML as just being about static data storage, you need to see Windows Live Data in action. It uses XML as an active way of changing stored data, as Martin Parry explains.
Ian Stevenson makes Windows forms data binding seem easy and usable, and makes the connection with ASP.NET.
Metadata is the new solution to all our problems. If you have lost a file, then metadata helps you find it. However, not all is rosy in the metadata world, as Mike James explains.
If you hate creating documentation you will love Sandcastle. Ian Stevenson thinks it’s the solution to a task we all try to avoid.
Martin Parry asks us to consider why managed code is so great, and whether we really need it.
The Virtual Earth map control is a study in Spartan AJAX techniques. Mike James examines how it works and how you can extend it.
If you work with XML, you already know the limitations of DOM and SAX parsers. Overcome these limitations with the new Streaming API for XML – StAX.
The GDI+ makes working with bitmaps easy, but there are still good ways and less good ways of achieving the same result. David Conrad explores image transformations.
Keeping up with C# 3.0 isn’t too difficult, as Granville Barnett demonstrates by exploring LINQ to SQL, LINQ to XML and the strange sounding lambda expression
What do you do if you want to form the sum of a generic list or collection? It sounds easy, but you can’t just do the obvious and add them up. Mike James offers some clever solutions.
Structured Storage is used by many applications to create compound documents, but .NET doesn’t offer any way of working with it. Harry Fairhead demonstrates that with some help it can be done.
Are variables or temporary tables better in SQL? Kay Ewbank offers us the answer.
Ian Elliot thinks that Vista Gadgets could be the new gold rush. Has the “active desktop” finally made good?
Just as you’re getting grips with C# 2 and VB 9, along comes the next version. Granville Barnett explains how LINQ is set to make working with data so much easier.
The Firefox browser uses a clever system to control its user interface, which has wide applicability. See how it works with Sing Li’s easy starter project.
SQL Server can provide the procedural logic as well as data. Samuel Aina shows how by adding an ASP.NET web interface to his Sudoku solver.
The Spartan Ajax motto is “no more HTML” – can this approach to creating web pages be serious? Mike James explains the idea and the inner workings.
Hands-on component development with the Spring 2 framework.
Using Reporting Services with SQL Server 2005 Express and Visual Studio 2005.
Is U3 the revolutionary platform that Harry Fairhead thinks it is? Find out by implementing his simple example application.
Posting across pages sounds like something you shouldn’t do, but as Ian Stevenson explains, it’s very useful and easy.
Atlas is Microsoft’s approach to AJAX. Vikram Srivatsa explains what it’s all about, and demonstrates it in use.
At first sight, USB device control can seem like a dark art only practised by initiated gurus, but in this article, Ashley Deakin hopes to show you the light.
The Windows Presentation Foundation, part of .NET 3.0, isn’t just about buttons and textboxes, you can also create fully rendered 3D models. Mike James takes a cube for a spin.
Windows Workflow provides some interesting alternatives to traditional approaches to modelling business logic. Dino Esposito provides us with an introduction.
Developer Express’s component and tool library
ASP.NET security made good
How do you keep a software project on schedule? It’s all a matter of good management of course, but this is sometimes easier said than done.
How InterSystems’ Jalapeño Technology benefits data storage through object technology
Working with Strong Name Keys in .NET
Profile acquisition and management is essential if you want to provide a personalised web experience. Dino Esposito looks at ASP.NET’s mechanisms for implementing user profiles.
Take control of your code with Perforce SCM.
DevPartner Studio Professional Edition 8.1.
Covering .NET, ASP, ActiveX, Mobile tools, Ajax techniques and more, is Component One’s latest tools suite the answer to everything?
Strong names in the .NET environment
Moving beyond the relational model.
Precompilation isn’t always about speed, as Dino Esposito explains
If you need a fine control over the build process in .NET, MSBuild might be what you are looking for. Simon Horrell explains what this well-hidden tool does.
Do you need to understand Intermediate Language to write good .NET code? Harry Fairhead thinks that you do, and explains that it isn’t difficult.
Mike James explores the DIY approach to using COM objects in .NET
If you miss the Drive ComboBox control that used to be in VB6, the good news is that it’s easy to create your own in VB 2005
How do you replicate an Access 2003 database? Kay Ewbank explains how to solve this tricky problem.
FarPoint Spread for Windows and Web.
How Intersystems’ technology enables business intelligence solutions.
Ruby on Rails is the unlikely sounding latest web development sensation. Sing Li examines what this new language and framework has to offer.
Windows Presentation Foundation makes it possible to add animation to the user interface. Patrick Long considers the why and the how.
Enforcing code correctness with the Visual Studio 2005 code analyser.
Accepting payment within a web application is often a difficult technical challenge if you want it to be easy to use and secure. Ian Stevenson thinks that the service offered by PayPal might be the answer.
Inheritance is core to object-oriented programming, but just because VB 2005 is 100% object-oriented, don’t assume that VB does it in the same way as (say) C#.
If you thought Sudoku was a challenge, then consider the more interesting challenge of writing a program to solve it. Samuel Aina shows how in T-SQL.
Late binding – the accepted wisdom is that it’s complicated, advanced and VB does it better than C#. Mike James sets out to explain that it’s easy, and C# and VB are equally good at it.
The ability to run ‘invisible’ services outside of user control is a powerful aspect of Windows, providing the environment for IIS and a host of mainstream tools.
Developing SQL Server 2005 OLAP applications with ADO MD.NET.
Animation is a key feature of WPF, and as Dave Wheeler explains, it’s not difficult to build into your designs.
Don’t ignore the way that records are locked by your database – choosing the right lock can result in much improved performance from your applications.
Creating and controlling ‘invisible applications’ which appear in the Windows system tray is key to enriched user experiences.
New features and enhancements in SQL Server 2005 automate several previously laborious ranking and windowing functions.
The Common Language Runtime within SQL Server 2005 frees programmers to create powerful procedures to manipulate stored data.
Migrating from VB6 to Visual Basic 2005.
Mike James takes a detailed look at the new enhancements to the C# and Visual Basic programming languages.
Several of the new classes in .NET 2.0 will ease difficult tasks and inspire the creation of more effective code.
With XML as an integral part, SQL Server 2005 has enhanced its status as a natural platform for web-based applications.
Put this 100% Java Enterprise Service Bus to work for you today.
Sustainable web development is at last a reality with ASP.NET 2.0.
Smart Clients and Visual Studio 2005.
New features and tools in SQL Server 2005 – an overview.
JScript is a language with lots of potential, as Ian Elliot discovers as he investigates new ways of doing old things.
Writing cutting-edge user interfaces is partly down to mastering data binding.
As structs are aggregates of any other data type you care to invent, learning how to work with them is important, and provides an excellent grounding in tackling wider problems.
Run all your J2EE applications on this open source server the easy way.
Layout isn’t just for DTP or web pages any more – it’s about to become fundamental to forms. Dave Wheeler explains more about the road to Avalon…
Controlling layout using ASP.NET 1.x and 2.0’s super templates is a better way to work, claims Dino Esposito.
How to give existing software systems a new life by exposing their functionality through a web service.
How does the latest ASP.NET deal with data access and data binding?
Everything is about to change, as Windows Presentation Foundation (‘Avalon’) makes its entrance as part of Windows Vista.
Casting is one of the most confusing aspects of any modern language, and it often makes beginners think hard. But there is logic in it, as Mike James endeavours to prove.
Satisfy your secret literary urges with a little help from the Apache Lucene search engine.
Dino Esposito, a regular speaker at Bearpark’s annual DevWeek conference, discusses how ASP.NET 2.0 makes the messy subject of client-side scripting modern and sophisticated.
Derby is a 100% Java open source relational database, and you can’t afford to ignore it.
Should you plan to use VBA for Access development, or one of the .NET languages?
If you think that PHP is just a simple scripting language, perhaps Harry Fairhead’s account of it as an object-oriented language will make you think again.
Best practices for advanced data persistence in enterprise .NET applications.
The Model-View-Controller design has a long history, but as Kevin Jones points out, it is still relevant to newer technologies such as ASP.NET.
Learn to work with Java threads and try out JDK 1.5’s new semaphores.
MIDP 2.0’s built-in game API is ready for action.
The new SQL Server 2005 Express Edition is aimed at developers – is it up to the job?
If you have never heard of WMI, you might be surprised at just how much this COM library has to offer. You can use it to find out about the status and configuration of a remote machine, and even remotely administer it.
Introducing the new ASP.NET grid – the GridView control.
Compuware’s DevPartner SecurityChecker.
Java 1.5 – or ‘Tiger’ to use its original code name – has lots of new features, but some of the best are well hidden. We take a look a how iterators are a thing of the past.
It is commonly thought that automated testing is the panacea for all quality assurance woes. But is that always the case?
It’s unlikely that you think of C# as a scripting language, but it can be used as one, as DevWeek speaker Dino Esposito explains.
If you’ve always wanted to challenge Google, Jon Vote shows you how to build an ASP.NET search engine.
ActiveDirectory is an important part of any Windows Server based network, and there are new facilities in the .NET Framework 2.0 to write programs that make use of it.
Harness the power of .NET and the WebCrawler class to crack a common problem, with instant potential in commercial web applications.
If you want to do anything even slightly advanced with JSP then you need to use custom tags. Sing Li shows how easy it really is.
Exception handling is a wonderful invention, but it only gives you the tools to deal with runtime errors – it doesn’t solve the problem of what you should do when one occurs.
If you’re not frightened of spiders, Jon Vote wants you to meet Charlotte – a general purpose web crawler class.
We put TestTrack Pro 7 through its paces, and find an error tracking system to reckon with.
Darren Fuller discusses the need for database change management and problems with current approaches, and examines an automated methodology, the requirements to implement such an approach and describes the benefits that can be realised.
Ian Elliot has a long-standing problem with email – finding the best way to send it from within a program. See if his latest method works for you.
If you want to access raw HTML, you need a container class, and Jon Vote thinks his is much better than Microsoft’s
How IT process methodologies and change management solutions can help your IT organization be audit ready.
DB Ghost should be of interest to anyone involved in managing changes to SQL Server databases.
If you want to extend use of the FileSystemWatcher class to ASP.NET applications, Ian Stephenson explains how to go about it.
How does the new version of Crystal Reports stack up, now that it is under new ownership?
With all the fuss about making things even more secure, you might wonder why you would ever need weaker cryptographic methods.
How to create, edit, read and integrate XML files into your programs, and implement data-driven programs using XML-defined commands.
There are lots of reasons for wanting to control your PC’s sound hardware, but Sing Li just wants to sing-along with his favourite tracks.
If you’ve ever wanted to build code based on changes in the filesystem, then all you need in most cases is a good working knowledge of the .NET FileSystemWatcher class.
Are you sure you know exactly how C# works? Mike James examines some fundamental ideas, and discovers that things are not always as they appear.
How well does InstallShield X cope with the increasingly knotty problems of a multi-platform world?
Application security starts with the developer, but building secure applications isn’t easy.
Developing in Java is becoming easier, thanks to an evolving philosophy at Sun and new features in Java 1.5
You’ve just realised that you don’t know what your email password is. What do you do? Admit to the system administrator that a programmer is fallible? No, of course not – you write a program to recover it!
How to avoid recreating a .NET ‘about’ box.
Three steps for better performing and more scalable database access.
The DataSet is a widely used and valuable element of .NET programming – but are you sure you know how your DataSet serializes?
Sing Li thinks that the time is right to use the versatile Tomcat 5 server in your applications.
The Debug Interface Access (DIA) SDK is a handy tool to get to the heart of program debugging information.
Not everything you could possibly want is already part of .NET, but it’s easy to add to it.
SQLX, sometimes refered to as SQL/XML, is an emerging standard that specifies a syntax for returning result sets from relational databases as XML.
Harry Flora has got some advice for you about how to deal with the unknown forces that can wreck your database’s performance.
Solving the problem of creating a web-accessible calendar using ASP.NET and ADO.NET.
You might have heard the promise before, but Sing Li thinks that RMI, CORBA and NetBeans are the real solution.
We demonstrate how rapid the development of a web application can be – as long as you're using NetBeans
Memory problems can still plague .NET code – where can they be found, and what can you do about them?
How to manage complex Java projects with the power of a fully-fledged Open Source IDE
If you want to know exactly what it's like using COM from a .NET language, we have a story for you.
The VSJ World Wide Messenger makes IM over JXTA a piece of cake
The core of the kernel debugger needn't be a mystery, as we discover in this investigation of its interaction with remote debuggers
Keep track of exactly where your VB programs are, with the help of a GPS.
The Role of the ADO.NET DataAdapter – Part 2: when user meets data.
The hash algorithm is a building block of cryptography, but it has more than one use – including the ability to overcome a real-world business problem.
The role of the ADO.NET DataAdapter.
We explain how to write a simple .NET program that displays information about running processes.
In the March 2003 issue of VSJ, James Winters showed us how to implement a web service using JAX-RPC. In this article, we look at the other side of the equation – the client.
The Agile Role of the Modern GUI, Part II.
.NET makes creating or using a web service easy, but it's not always exactly as described in the documentation.
SQL Server's user-defined functions open up a new realm of possibilities, but there are pitfalls for the unwary.
We continue our introduction to JustNuff, a Java Swing-based GUI library.
XML allows information to be coded in such a way that it's easy to extract, but this is only the case if you use one of the supplied APIs. We take a look at SAX, and in particular how to use it with VB 6.0.
As Microsoft strides on with its .NET vision, developers who don't feel like tagging along are finding their range of options fairly limited. PowerBuilder 9 offers one escape route.
You might think that Java already has enough GUI options, but Sing Li gives us another…
Kicking off a two-part introduction to TDD, we explain what it is, how it works, and how to get started with building a test framework.
If you want to know exactly what it's like using COM from a .NET language, then Ian Elliot has a story for you.
You may already know that Ant is a Java "build" tool, but it can be so much more.
With the official release of Visual Studio.NET 2003, has the technology behind .NET reached maturity?
Calling native code from your .NET application has performance implications. We explain how to use the right method to call your native code, and how to measure its performance.
In March we showed you how to create a dynamic menu with Visual Basic 6.0. Now we approach the same task using the .NET framework, covering basic OO on the way.
A potential solution to the thorny problem of USB interfacing
Java's been slow to acquire a 'make' facility, but now it's finally got one in the shape of Ant
How to use Sun's latest toolkit to implement a JAX-RPC Web Service in a J2EE container
Menus are things that we tend to take for granted until we need to do something a little different, and then we discover that there's more to them than the menu editor. But it's easy to create dynamic menus in VB 6 – or any language – using the menu API.
How can you decide between MCSD and MCAD certification?
In many ways the textbox is VB's main input and output device. Find out some clever ways of using it as Ian Elliot gets advanced with textboxes, and finds out how to drag his words and add pictures.
If you’ve ever wondered about the ‘other’ meaning of XP, welcome to the world of Extreme Programming.
There's more than one type of table in MySQL, so Kay Ewbank explains the range of possibilities, and gives us a practical introduction to transactions.
NetAdvantage complete toolbox for Silverlight 3 - Click for details