Archive for February 2009

Article: Measuring Web application response time: Meet the client

Measuring Web application response time: Meet the client by Srijeeb Roy

Plenty of Web applications rely on JavaScript or some other client-side scripting, yet most developers only measure server-side execution time. Client-side execution time is just as important. In fact, if you're measuring from the end-user perspective, you should also be looking at network time. In this article Srijeeb Roy introduces a lightweight approach to capturing the end user's experience of application response time. He also shows you how to send and log client-side response times on a server for future analysis. Level: Intermediate

Comments

Article: JavaScript Test Driven Development with JsUnit and JSMock

JavaScript Test Driven Development with JsUnit and JSMock by Dennis Byrne

This article is a crash course in writing maintainable JavaScript. We'll add features to a running example by iteratively following a simple principle: write a unit test, make it pass. Each test will serve as a quality feedback loop, creating both a safety net and an executable form of documentation for anyone who wants to change the production code. By starting each feature with a simple failing test we ensure that all features are tested. We avoid the cost of rewriting code to test it later. This is particularly valuable given the fact that JavaScript developers have so much rope to hang themselves with – consider how much global mutable state there is between the DOM API and the language itself.

Comments

Article: Simplifying SWT with Scala

Simplifying SWT with Scala by Dave Orme

Previously, I promised to show how to radically simplify SWT user interface development using Scala. In this article, we will examine how to do just that.

Our approach will be as follows:

1.
I will present a Java class designed to plug into the Scala RCP application we created previously.
2.
We will translate that Java class into Scala using as close to a 1:1 representation as is reasonable.
3.
We will repeatedly ask, “Can we make the Scala code nicer?” and incrementally improve our example.

Our first steps will use features of the Scala language itself to make our code clearer. The last step will use a new domain-specific language (DSL) written in Scala called XScalaWT, which is a successor to the XML-based XSWT project.

Comments

Article: Using Scala to Create Eclipse RCP Application

Using Scala to Create Eclipse RCP Application by Dave Orme

Here, we will describe a pragmatic approach for developing real-world RCP applications using the current Scala and PDE tooling. We will see that if we follow some common-sense coding guidelines that incorporating Scala code into an RCP application is not very different from creating our plug-ins in Jav

Comments

Article: The Unoffical Ruby Usage Guide

The Unoffical Ruby Usage Guide by Ian Macdonald

Over the last few years, Ruby has struck a chord with programmers as an excellent tool for — amongst other things — system administration. With that as our perspective, this document will suggest some guidelines for writing Ruby code in such a way that a common stylistic vocabulary may emerge, thereby increasing the ease with which source code may be read and shared.

Comments

Article: 9 Common Usability Mistakes In Web Design

9 Common Usability Mistakes In Web Design by Dmitry Fadeyev

By now, all good designers and developers realize the importance of usability for their work. Usable websites offer great user experiences, and great user experiences lead to happy customers. Delight and satisfy your visitors, rather than frustrate and annoy them, with smart design decisions. Here are 9 usability problems that websites commonly face, and some recommended solutions for each of them.

Comments

Article: Programming Sucks! Or At Least, It Ought To

Programming Sucks! Or At Least, It Ought To by Alex Papadimoulis

Programming is not fun. It’s boring, it’s tedious, and it’s certainly not challenging. And no matter how much you stretch it, programming is most definitely not sexy.

I know what you’re thinking. Anyone who says that – let alone blogs it – should immediately be stripped of his software development license, have his keyboard taken away, and be permitted to only use only to CP/M on 8″ floppies with a 1200 baud modem.

Obviously, a lot of us – me included – enjoy writing code. But should we?

Comments

Article: Performance Anti-Patterns in Database-Driven Applications

Performance Anti-Patterns in Database-Driven Applications by Alois Reitbauer

Nearly every modern application relies on databases for data persistence. The database access layer is very often responsible for serious performance problems. In the case of database problems most people start searching in the database itself. Appropriate indices and database structures are vital for achieving adequate performance. Often, however, the application layer is responsible for poor performance or scalability

Comments

Article: A Distributed OSGi Powered AJAX WebApp

A Distributed OSGi Powered AJAX WebApp by David Bosschaert

A pretty cool new way of using Distributed OSGi services is from a non-OSGi environment. In the previous post I used an OSGi AuctionService from an OSGi AuctionConsumer in a different VM.
This posting is about using that OSGi service from a non-OSGi consumer. From an AJAX-powered web application that's running in the browser!

Comments

Article: Interop Between Java and Scala

Interop Between Java and Scala by Daniel Spiewak

Sometimes, the simplest things are the most difficult to explain. Scala’s interoperability with Java is completely unparalleled, even including languages like Groovy which tout their tight integration with the JVM’s venerable standard-bearer. However, despite this fact, there is almost no documentation (aside from chapter 29 in Programming in Scala) which shows how this Scala/Java integration works and where it can be used. So while it may not be the most exciting or theoretically interesting topic, I have taken it upon myself to fill the gap.

Comments

« Previous Entries