The title of this website changes daily!
 
Our new website is here
 
The Programming Language Myth

You're on a flight from L.A. to Sydney and you're sitting next to a member of the International Socialist Party. He's just started a rant with two pugnacious passengers about the decadence of Western Capitalism and it's going to continue for hours. What could be worse? Answer: sitting next to two programmers arguing about the relative merits of Visual Basic, or perhaps PHP or maybe even Eiffel.

Arguments about the ‘best' programming language seem to create more debate than you'll find at an anti-globalisation demonstration. And it's mostly for no good reason. Chances are that the success of your next IT project will have very little to do with the language you've chosen to write it in.

Read On...

Yider 0.5 - An ASP Spider/Search system

Used throughout the world in numerous langauges, the Yider is an open source VBScript spider that allows you to quickly add a search system to your site like the one at the top of this page. It stores data in a Microsoft Access or SQL 2000 database with full text searching. The Yider does not require DLLs or COM components to run. It works for all languages. Guaged by typical usage, it seems there are 2-3 new Yider users a day in the world!

The Yider is very easy to use and requires little coding experience. It comes with full instructions and several detailed tutorials to get you up and running fast. If there's one philopsphy guiding the Yider's development, it's to make the process of adding search functionality to a web site with Microsoft tools as simple, quick and easy as possible.

As of August 2005, I no longer offer support on the Yider. Please do not email me any queries as they wont be answered! Having said that, the Yider is quite stable and I still use it myself. If the first tutorial works for you then you should not have any problems.

Read On...

Page Rank - Google and Your Site

One of the main reasons that Google is the most popular search engine on the Internet is it's page ranking system. Everybody now wants their site to rank highly on Google and there are some great tools like RankMeter for doing just that. The algorithm it uses has become so famous that it is now known simply as "PageRank". PageRank has been so widely hailed that it seems that any search system without it is deemed to be immature, behind the times or just plain useless.

Brilliant as Google is, the funny thing about PageRank is that unless you are writing an Internet search engine (come on, are you really going to be doing that?), it is probably the worst possible way to sort search results. In fact you should never use the PageRank algorithm when returning results from a single site.

Note: This article first appeared at kuro5hin. The algorithm's used have been slightly modified from that article.

Read On...

How Long Will It Take To Write My Code?

Once you've written a design specification, the next logical step in the software development process is to determine how long it will take to code. Why? Because presumably your client will actually want a price for the software you develop. Since price is directly proportional to time, your estimate is crucial to keeping your software company profitable. Of course, you may work for an unprofitable company. One that is only interested in writing source code that is as beautiful as the perfectly formed stalactites in an underground limestone cave. But even these purists may still want a methodology for predicting how long their next foolhardy exploits will take, if only because their anally retentive personality disorder requires it.

Read On...

If XML Is The Answer, Then What Is The Question - Part 3

XML Solves Problems You Never Knew Existed (And They Probably Don't)

This is the third and final installment of my three part series on XML. In Part 1, I showed you how XML and its associated tools can be used in web applications. In Part 2, I examined XML as a technology and attempted to demonstrate how excruciatingly difficult it can be to use. My conclusion was that most of the time, XML was only useful when you needed to render data in multiple ways from a single data source e.g. a help system that you wanted formatted into HTML as well as text and a pdf. The other time you might like to use XML is always, because XML has the unusual effect of turning relational databases into object-relational databases. This is the story of how I came across this strange phenomenon.

Read On...

If XML Is The Answer, Then What Is The Question - Part 2

You Won't Like XML If You're A Dog

Fido doesn't like XML because he’s lazy. He doesn’t need to learn XML, XSLT, the XML DOM, SAX or some new span-dangled SQL query syntax in order to write his new distributed web site that helps other dogs buy, swap and sell bones over the Internet. And you know what, I don't blame him.

How could you, with a face like that?

Read On...

What Is The Best Way To Make Your Site Searchable?

If you enter some text in the search box below (try 'XML') and press Go, you'll notice that it jumps to a Google search results page.

Search:    Search the site

Pretty fab - huh? The whole of this site gets searched by the Google free site search system. And it doesn't require an ounce of programming. Since Google is the best search engine around, this seems like a trouble-free way to add searchability to any site you design. Unfortunately, the free site search comes with a whole host of problems. So many, in fact, that I am developing an alternative solution.

Read On...

Which Tool Should You Use To Program Windows?

This article first appeared in my diary at www.kuro5hin.org.

Windows programs can be written with many tools. You can use the c-based Win32 API directly; or you can turn to Microsoft's MFC or Visual Basic; or perhaps even Borland's Delphi or C++ Builder. In addition, if you haven't been living in a cave for the last year, you'll be aware that Microsoft has released a new tool for programming Windows called .NET, so perhaps that's the way to go?

Read On...

Our Work

I design Windows programs, distributed applications, intranets and web sites. Unfortunately, you can't see most of my work as it's not on the internet. I've listed some of the public web sites I've designed below so you get an idea of some of the work I do.

After the listing I've discussed two of the jobs in some more detail. Rather than extolling the virtues and supremacy of my designs ad nauseum (like every other IT company), I've discussed the jobs from four perspectives - the client's perspective, the technology perspective and how the jobs have both succeeded and failed (I know, you are not supposed to discuss failure, but it really does make a more interesting topic than success).

Read On...

If XML Is The Answer, Then What Is The Question - Part 1

XML As The Scribes Would Have It

Don't you just love new technology? Just when you thought you've mastered the latest objected-oriented, web-enabled, polymorphic, synergistic, goobledy-gooking development environment with an overhead, rip-snorting, centralized debugging environment, along come a bunch of fanatics who are adamant that everything you've been doing until now is flawed - and they're convincing. Their weapon is a bunch of intimidating jargon that you barely even reconginise let alone understand. This, of course, has the predictable affect of making you feel hopelessly inadequate. After all, if everyone's talking the talk and you can't walk the walk, how are you going to survive? So you decide to shell out a few big bickies for the latest IDE a-go-go and promptly subject yourself to the mental torture of abandoning everything you know in order to learn the new gospel (did you abandon C for C++, C++ for Visual Basic, Visual Basic for ASP, ASP for C#?)

Read On...

Abstractions And The Danger-Strewn Road Of Software Development

Now we all know how to develop extensible, reliable, stable software that meets our customers requirements, don't we? All you need to do is to pick up a book on software engineering and it will tell you that you need:

a) An up to date specification.
b) The client to understand your specifications.
c) Usability design.
d) Project estimation.
e) Risk control.
f) Feature set control.
g) A development schedule.
h) A testing procedure.
i) A bug tracking system.
j) Developer motivation.
k) Language and in-house API Standards.
l) Use of existing software libraries.
m) Modular design.
n) Productivity tools.
o) Daily builds.
p) The right staff.

Actually, it will probably tell you a whole lot more things than this. And if you're a paranoid developer like me, no doubt you take notice of some of them. But 'some of them' is usually not enough as Steve McConnell points out in his oft quoted book Rapid Development. In fact, Steve says that if there are 50 best practice techniques for developing quality software and you've only adopted 49, the 50th has every chance of completely ruining the success of your project. Of course the probability that the 50th will rear its ugly head is low, 1/50 in fact, but if it does and it's relevant to you, your project could be doomed.

Read On...

The Client Really Does Know What They Want

In my former life as a structural engineer, I had the privilege of working with some of Melbourne's best avant-guard architects. One in particular, was a genius. I often wondered whether he would have been more successful as a sculptor than a building practitioner. His designs were miraculous and completely unconventional. They often employed curved walls, warped roofs and dome shaped ceilings that broke every convention one could imagine. Belying this genius was one fault - every design he created was born from his own idea of what the client wanted. In fact, the client was to be ignored at all costs - what would they know after all? This led to some strange results. Often he created houses that were visual masterpieces but completely impractical to live in. Sometimes, the budget was too restrictive for the design he wanted, so he ended up using cheap materials that made the house look 20 years old after the first rain (have you seen the results of cheap render on cement sheeting after a decent rain - yuk!).

Read On...

Why Great Programmers Are Like Great Pianists

Why are great programmers like great pianists? Is it because they both press down keys all day? No it isn't. Is it because they listen to music all day (have a look round your office and tell me half your developers aren't listening to CD's on their PC's)? No it isn't. Is it because they both let their fingers do the talking? No, wrong again. They both like pizzas and drink coke? Nope. So what do great pianists have in common with great programmers?

Photo courtesy of WerbeLINIE AG Photo courtesy of Sam Ogden
What does Maurizio Pollini have in common with Richard Stallman?
Their barber perhaps??

Read On...

I Had Trouble Getting To C#, Not To Mention Python, Haskell And Eiffel

Have you ever read the book 'I Had Trouble In Getting To Solla Sollew' by the wonderful Dr Seuss?

Read On...

How To Write Specifications Part 2

Now that we all know what a Functional Specification is and why you need one, it's time to describe what a Design Specification is. You do know what a Functional Specification is, don't you? If not, it's because you haven't read Part 1 of this series. So if that's the case I suggest you go and do so now. We'll wait right here.

Read On...

Joke-A-Day Web Site - A Sample Design Specification

Status: Chocolate-Froggable
Version: 1.1

Motto: Everyone should be able to understand this document. If you can't, please contact the author and tell him so - he will give you a chocolate frog
(if the status of this document is Chocolate-Froggable)

Read On...

How To Write Specifications Part 1

Every diatribe on software engineering I've ever read contains a dissertation on why you should write specifications. And every programmer I've ever talked to agrees that his life would be a lot easier if he had a specification, or could find the specification, or the specification wouldn't keep changing, or the specification was more detailed, or the specification wasn't out of date, or the project manager would understand that you just couldn't whack in a new feature without modifying the specification. Not to mention the poor old client who's praying that his one hour meeting with the fast talking sales person and the $10,000 he's parting with will come to resemble what the company actually needs - it didn't the last time! Yep, it's a real problem. It's such an obvious problem that I won't spend one second more arguing that we all need specifications in order to go home at night to play a friendly game of Doom with our next-door neighbour.

Read On...

What Is Yart?

Yart is a programming company established by me, Petras Surna, and this web site consists of essays about programming, managing software projects, life in the IT industry and one or two free software packages. The philosophy behind this site is to show you how I go about creating IT solutions from a number of perspectives: project management; establishing client requirements; usability design; graphic design; software modeling; programming; testing and quality control. The essays range from general topics to technical programming issues that cover the gamut of an IT professional's life.

Sir Les Patterson, Minister for the Yarts (that's 'Arts' with an Australian accent - get the pun?), inspired our much-vaunted slogan. Sir Les is played by the famous Australian comedian Barry Humphries. And since I am as irrepressible, irresistible and irredeemable as he his, what better slogan could I have for this company?

Read On...

HTML Standard

Ok folks, this is the Yart HTML standard for hand-written HTML (not HTML produced by a WYSIWYG or even XSLT for that matter). And if you don't follow this standard, you're going to be sorry. You'll be taken into that dark cupboard underneath the stairs, stripped naked and whipped by Max. And let me tell you, he's not even going to ask you what you really want.

Max doesn't like unreadable HTML
Do you blame him?

Read On...

Top | Home | What Is Yart? | Mailing List | Yart Work | Contact Us