|
|
|
|
|
|
 |
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.
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...
|
 |
|
 |
|
|
|
|
 |
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?
 |
 |
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...
|
 |
|
 |
|
|
|
|
 |
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...
|
 |
|
 |
|
|
|
|
 |
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...
|
 |
|
 |
|
|
|
|