Building the Back-End

If no one has read the Ask the Wizard blog, don’t worry – I subscribed only yesterday. Although this is mainly a business post focussing on how building the back end of a service gives you more flexibility in the products that go live, I see a great many parellels with software development.

Much more simple to understand the FeedBurner example. We didn’t spend the first five months building those two services we rolled out in February. We spent the first five months building out the architecture for feed filtering and feed processing such that we could quickly deploy any new feed service we decided to build, and then we spent about a week building out those first two services. Yes, it was true that somebody could have built a competitor to what we launched in a weekend. However, we would be able to quickly iterate and innovate on top of our release, whereas the built-in-a-weekend competitor would have to keep building one-off services that would eventually either become untenable or require an incredibly long period of underlying architecture refactoring while we continued to innovate.

In software development, you can get right in there and do your bit. But thats all that your software does. If you spend the time creating a framework that supports the code that you later write, then its so much easier to add features and services becuase the framework has already been build and all the really complex stuff goes on under the bonnet. I supose it comes down to the adage: build it right the first time.

Up Like an Escalator and Down Like an Elevator

Former Secretary of Labour Robert Riech makes this analysis of the stock market:

As of right now (11:15 am Pacific time, Wednesday), it looks like Wall Street is putting a the best face possible on yesterday’s “correction.” (A “correction” is a Wall Street euphemism for “holy shit!”)

He also said:

The wake-up call this time was Alan Greenspan, the Oracle of Ayn Rand, whose visage had been beamed by satellite to a group in Hong Kong on Monday (New York time). Greenspan warned the gathering of excess liquidity in global financial markets, leading to over-optimism, and he predicted a recession later this year.

Boom!

Too early yet to tell how big this explosion will be.

If you read his post you’ll see he mentions China. Anything that has an impact on the chinese economy, is of immideiate interest. The reason is right before you.

Fortunatly, I have no stocks to check 🙂

Programming Languages: Thinking in Code

What precicely do we need out of a programming language? Steve Yegge has a list:

Here’s a short list of programming-language features that have become ad-hoc standards that everyone expects:

  1. Object-literal syntax for arrays and hashes
  2. Array slicing and other intelligent collection operators
  3. Perl 5 compatible regular expression literals
  4. Destructuring bind (e.g. x, y = returnTwoValues())
  5. Function literals and first-class, non-broken closures
  6. Standard OOP with classes, instances, interfaces, polymorphism, etc.
  7. Visibility quantifiers (public/private/protected)
  8. Iterators and generators
  9. List comprehensions
  10. Namespaces and packages
  11. Cross-platform GUI
  12. Operator overloading
  13. Keyword and rest parameters
  14. First-class parser and AST support
  15. Static typing and duck typing
  16. Type expressions and statically checkable semantics
  17. Solid string and collection libraries
  18. Strings and streams act like collections

Visual Studio missed the cross platform bit (Unless there’s a way for writing Linux readable C++ that no one has told me about). 

A language is not simply a series of sematic rules that work together to produce meaningful output ( written or spoken), but also the way we think. When I speak english, I think english. When I’m speaking itallian, I think itallian.

A programming language is the same. Progammers need to be able to think in a given language and also anticipate the reaction of the complier. A well thought out subroutine, is far better than one riddled with badly, though workable, code.

Thinking in code is important. (Its also a valid reason to say your’re working). When one thinks in code, the output becomes automatic. The trick is learning your chosen language(s) thoughly enough.

 Which brings me to the subject of switching languages. Do we want a new porgamming language to learn every 18-24 months? Can we even sustain that sort of learning curve?

At the end of the day, the Next Big Language (NBL as steve says) will have to be worth the effort to switch. BEcuase choosing the right programming language is crucial to programmers – if you can’t think it….

A wonderful, related, podcast here from OpenSource Conversations on Scott Rosenburg’s new book, Dreaming in Code:

The Big Bang – Part2

This is the third part of that article ( Im responding to Scott adams post):

‘Something Is Missing’—What?

AFTER gazing at the stars on a clear, dark night, we come inside, chilly and blinking, our minds spinning with vast beauty and a multitude of queries. Why is the universe here? Where did it come from? Where is it going? These are the questions that many try to answer.

After five years of research into cosmology, which carried him to scientific conferences and research centers all over the globe, science writer Dennis Overbye described a conversation with world-famous physicist Stephen Hawking: “In the end what I wanted to know from Hawking is what I have always wanted to know from Hawking: Where we go when we die.”

Although tinged with irony, these words reveal much about our age. The queries are not so much on the stars themselves and the theories and conflicting views of the cosmologists that study them. People today still hunger for answers to the basic questions that have haunted mankind for millenniums: Why are we here? Is there a God? Where do we go when we die? Where are the answers to these questions? Are they to be found in the stars?

Another science writer, John Boslough, observed that as people have left religion, scientists such as cosmologists have become “the perfect priesthood for a secular age. They, not religious leaders, were the ones who would now reveal all the secrets of the universe bit by precious bit, not in the guise of spiritual epiphany but in the form of equations obscure to all but the anointed.” But will they reveal all the secrets of the universe and answer all the questions that have haunted mankind for ages?

What are the cosmologists revealing now? Most espouse some version of the big bang “theology,” which has become the secular religion of our time, even as they quibble incessantly over the details. “Yet,” Boslough noted, “in the context of new and contradictory observations, the big bang theory begins to appear more and more like an overly simplistic model in search of a creation event. By the early 1990s the big bang model was . . . increasingly unable to answer the most fundamental questions.” He added that “more than a few theorists have expressed the opinion that it would not even last out the 1990s.”

Perhaps some of the current cosmological guesswork will turn out to be correct, perhaps not—just as perhaps there really are planets coalescing in the ghostly glow of Orion’s nebula, perhaps not. The undeniable fact is that no one on this earth really knows for sure. Theories abound, but honest observers echo Margaret Geller’s astute observation that despite the glib talk, something fundamental seems to be missing in science’s current understanding of the cosmos.

Missing—The Willingness to Face Unpalatable Facts

Most scientists—and this includes most cosmologists—subscribe to the theory of evolution. They find talk unpalatable that gives intelligence and purpose a role in creation, and they shudder at the mere mention of God as Creator. They refuse even to consider such heresy. Psalm 10:4 speaks disparagingly of the supercilious person who “makes no search; all his ideas are: ‘There is no God.'” His creative deity is Chance. But as knowledge increases and chance and also coincidence collapse under the growing load, the scientist begins to turn more and more to such no-no’s as intelligence and design. Consider the following examples:

“A component has evidently been missing from cosmological studies. The origin of the Universe, like the solution of the Rubik cube, requires an intelligence,” wrote astrophysicist Fred Hoyle in his book The Intelligent Universe, page 189.

“The more I examine the universe and study the details of its architecture, the more evidence I find that the universe in some sense must have known that we were coming.”—Disturbing the Universe, by Freeman Dyson, page 250.

“What features of the Universe were essential for the emergence of creatures such as ourselves, and is it through coincidence, or for some deeper reason, that our Universe has these features? . . . Is there some deeper plan that ensures that the Universe is tailor-made for humankind?”—Cosmic Coincidences, by John Gribbin and Martin Rees, pages xiv, 4.

Fred Hoyle also comments on these properties, on page 220 of his book quoted above: “Such properties seem to run through the fabric of the natural world like a thread of happy accidents. But there are so many of these odd coincidences essential to life that some explanation seems required to account for them.”

“It is not only that man is adapted to the universe. The universe is adapted to man. Imagine a universe in which one or another of the fundamental dimensionless constants of physics is altered by a few percent one way or the other? Man could never come into being in such a universe. That is the central point of the anthropic principle. According to this principle, a life-giving factor lies at the centre of the whole machinery and design of the world.”—The Anthropic Cosmological Principle,” by John Barrow and Frank Tipler, page vii.

A Listing of Some of the Physical Constants Necessary for Life to Exist

The charges of electron and proton must be equal and opposite; the neutron must outweigh the proton by a tiny percent; a matching must exist between temperature of the sun and the absorptive properties of chlorophyll before photosynthesis can occur; if the strong force were a little weaker, the sun could not generate energy by nuclear reactions, but if it were a little stronger, the fuel needed to generate energy would be violently unstable; without two separate remarkable resonances between nuclei in the cores of red giant stars, no element beyond helium could have been formed; had space been less than three dimensions, the interconnections for blood flow and the nervous system would be impossible; and if space had been more than three dimensions, planets could not orbit the sun stably.—The Symbiotic Universe, pages 256-7.

A Natural Human Need

None of this is to disparage the hard work of sincere scientists, including cosmologists. Especially do Jehovah’s Witnesses appreciate their many discoveries concerning creation that reveal the power and the wisdom and the love of the true God, Jehovah. Romans 1:20 declares: “His invisible qualities are clearly seen from the world’s creation onward, because they are perceived by the things made, even his eternal power and Godship, so that they are inexcusable.”

The inquiries and labors of scientists are the natural human response to a need that is as basic to mankind as the need for food, shelter, and clothing. It is the need to know answers to certain questions concerning the future and the purpose of life. God has “set eternity in the hearts of men; yet they cannot fathom what God has done from beginning to end.”—Ecclesiastes 3:11, The Holy Bible—New International Version.

This is not such bad news. It means that mankind will never know it all, but neither will they ever run out of new things to learn: “I saw all the work of the true God, how mankind are not able to find out the work that has been done under the sun; however much mankind keep working hard to seek, yet they do not find out. And even if they should say they are wise enough to know, they would be unable to find out.”—Ecclesiastes 8:17.

Some scientists object that making God the “solution” to a problem kills the incentive for further research. However, a person who recognizes God as the Creator of the heavens and the earth has an abundance of further fascinating details to discover and intriguing mysteries to probe. It’s as though he has a green light to move on into a delightful adventure of discovery and learning!

Who can resist the invitation of Isaiah 40:26? “Raise your eyes high up and see.” We have raised our eyes high up in these few pages, and what we have seen is the ‘something missing’ that has eluded the cosmologists. We have also located the fundamental answers to those recurring questions that have nagged the mind of man throughout the ages.

The Answers Are Found in a Book

The answers have always been there, but like the religionists of Jesus’ day, many people have blinded their eyes, shut their ears, and hardened their hearts to answers that did not match their human theories or their chosen life-style. (Matthew 13:14, 15) Jehovah has told us where the universe came from, how the earth got here, and who will live on it. He has told us that earth’s human inhabitants must cultivate it and lovingly care for the plants and animals that share it with them. He has also told us what happens when people die, that they can come back to life, and what they must do to live upon the earth forever.

If you are interested in having the answers given to you in the language of God’s inspired Word, the Bible, please read the following scriptures: Genesis 1:1, 26-28; 2:15; Proverbs 12:10; Matthew 10:29; Isaiah 11:6-9; 45:18; Genesis 3:19; Psalm 146:4; Ecclesiastes 9:5; Acts 24:15; John 5:28, 29; 17:3; Psalm 37:10, 11; Revelation 21:3-5.

Why not read these scriptures with your family or with a neighbor or with a group of friends in your home some evening? Be assured it will make for an informative and lively discussion!

Are you intrigued by the mysteries of the universe and moved by its beauty? Why not get to know better the One who created it? Our curiosity and wonder mean nothing to the inanimate heavens, but Jehovah God, their Creator, is also our Creator, and he cares for those meek ones who are interested in learning about him and his creations. The invitation is now being given throughout the earth: “‘Come!’ And let anyone hearing say: ‘Come!’ And let anyone thirsting come; let anyone that wishes take life’s water free.”—Revelation 22:17.

What a heartwarming invitation this is from Jehovah! Rather than by a mindless, purposeless explosion, the universe was created by a God of infinite intelligence and definite purpose who had you in mind from the beginning. His reserves of unlimited energy are carefully controlled and always available to sustain his servants. (Isaiah 40:28-31) Your reward for getting to know him will be as endless as the majestic universe itself!

“The heavens are declaring the glory of God; and of the work of his hands the expanse is telling.”—Psalm 19:1.

 

Scott Adams and the Big Bang – Part 1

I found this article that pretty much reinforces his post (Be sure to hit the link for part 2 at the bottom):

What the Big Bang Explains—
What It Doesn’t

EVERY morning is a miracle. Deep inside the morning sun, hydrogen is being fused into helium at temperatures of millions of degrees. X rays and gamma rays of incredible violence are pouring out of the core into the surrounding layers of the sun. If the sun were transparent, these rays would blast their way to the surface in a few searing seconds. Instead, they begin to bounce from tightly packed atom to atom of solar “insulation,” gradually losing energy. Days, weeks, centuries, pass. Thousands of years later, that once deadly radiation finally emerges from the sun’s surface as a gentle shower of yellow light—no longer a menace but just right for bathing earth with its warmth.

Every night is a miracle too. Other suns twinkle at us across the vast expanse of our galaxy. They are a riot of colors, sizes, temperatures, and densities. Some are supergiants so large that if one were centered in the position of our sun, what remained of our planet would be inside the surface of that superstar. Other suns are tiny, white dwarfs—smaller than our earth, yet as heavy as our sun. Some will peacefully drone along for billions of years. Others are poised on the brink of supernova explosions that will obliterate them, briefly outshining entire galaxies.

Primitive peoples spoke of sea monsters and battling gods, of dragons and turtles and elephants, of lotus flowers and dreaming gods. Later, during the so-called Age of Reason, the gods were swept aside by the newfound “magic” of calculus and Newton’s laws. Now we live in an age bereft of the old poetry and legend. The children of today’s atomic age have chosen as their paradigm for creation, not the ancient sea monster, not Newton’s “machine,” but that overarching symbol of the 20th century—the bomb. Their “creator” is an explosion. They call their cosmic fireball the big bang.

What the Big Bang “Explains”

The most popular version of this generation’s view of creation states that some 15 to 20 billion years ago, the universe did not exist, nor did empty space. There was no time, no matter—nothing except an infinitely dense, infinitely small point called a singularity, which exploded into the present universe. That explosion included a brief period during the first tiny fraction of a second when the infant universe inflated, or expanded, much faster than the speed of light.

During the first few minutes of the big bang, nuclear fusion took place on a universal scale, giving rise to the currently measured concentrations of hydrogen and helium and at least part of the lithium in interstellar space. After perhaps 300,000 years, the universewide fireball dropped to a little below the temperature of the surface of the sun, allowing electrons to settle into orbits around atoms and releasing a flash of photons, or light. That primordial flash can be measured today, although greatly cooled off, as universal background radiation at microwave frequencies corresponding to a temperature of 2.7 Kelvin.* In fact, it was the discovery of this background radiation in 1964-65 that convinced most scientists that there was something to the big bang theory. The theory also claims to explain why the universe appears to be expanding in all directions, with distant galaxies apparently racing away from us and from each other at high speed.

Since the big bang theory appears to explain so much, why doubt it? Because there is also much that it does not explain. To illustrate: The ancient astronomer Ptolemy had a theory that the sun and planets went around the earth in large circles, making small circles, called epicycles, at the same time. The theory appeared to explain the motion of the planets. For centuries as astronomers gathered more data, the Ptolemaic cosmologists could always add extra epicycles onto their other epicycles and “explain” the new data. But that did not mean the theory was correct. Ultimately there was just too much data to account for, and other theories, such as Copernicus’ idea that the earth went around the sun, explained things better and more simply. Today it is hard to find a Ptolemaic astronomer!

Professor Fred Hoyle likened the efforts of the Ptolemaic cosmologists at patching up their failing theory in the face of new discoveries to the endeavors of big bang believers today to keep their theory afloat. He wrote in his book The Intelligent Universe: “The main efforts of investigators have been in papering over contradictions in the big bang theory, to build up an idea which has become ever more complex and cumbersome.” After referring to Ptolemy’s futile use of epicycles to rescue his theory, Hoyle continued: “I have little hesitation in saying that as a result a sickly pall now hangs over the big bang theory. As I have mentioned earlier, when a pattern of facts becomes set against a theory, experience shows that it rarely recovers.”—Page 186.

The New Scientist magazine of December 22/29, 1990, echoed similar thoughts: “The Ptolemaic method has been lavishly applied to . . . the big bang cosmological model.” It then asks: “How can we achieve real progress in particle physics and cosmology? . . . We must be more honest and forthright about the purely speculative nature of some of our most cherished assumptions.” New observations are now pouring in.

Questions the Big Bang Does Not Answer

A major challenge to the big bang has come from observers using the corrected optics of the Hubble Space Telescope to measure distances to other galaxies. The new data is giving the theorists fits!

Astronomer Wendy Freedman and others recently used the Hubble Space Telescope to measure the distance to a galaxy in the constellation of Virgo, and her measurement suggests that the universe is expanding faster, and therefore is younger, than previously thought. In fact, it “implies a cosmic age as little as eight billion years,” reported Scientific American magazine just last June. While eight billion years sounds like a very long time, it is only about half the currently estimated age of the universe. This creates a special problem, since, as the report goes on to note, “other data indicate that certain stars are at least 14 billion years old.” If Freedman’s numbers hold up, those elderly stars would turn out to be older than the big bang itself!

Still another problem for the big bang has come from steadily mounting evidence of “bubbles” in the universe that are 100 million light-years in size, with galaxies on the outside and voids inside. Margaret Geller, John Huchra, and others at the Harvard-Smithsonian Center for Astrophysics have found what they call a great wall of galaxies some 500 million light-years in length across the northern sky. Another group of astronomers, who became known as the Seven Samurai, have found evidence of a different cosmic conglomeration, which they call the Great Attractor, located near the southern constellations of Hydra and Centaurus. Astronomers Marc Postman and Tod Lauer believe something even bigger must lie beyond the constellation Orion, causing hundreds of galaxies, including ours, to stream in that direction like rafts on a sort of “river in space.”

All this structure is baffling. Cosmologists say the blast from the big bang was extremely smooth and uniform, according to the background radiation it allegedly left behind. How could such a smooth start have led to such massive and complex structures? “The latest crop of walls and attractors intensifies the mystery of how so much structure could have formed within the 15-billion-year age of the universe,” admits Scientific American—a problem that only gets worse as Freedman and others roll back the estimated age of the cosmos still more.

The Light-Year—A Cosmic Yardstick

The universe is so big that measuring it in miles or kilometers is like measuring the distance from London to Tokyo with a micrometer. A more convenient unit of measurement is the light-year, the distance that light travels in a year, or about 5,880,000,000,000 miles [9,460,000,000,000 km]. Since light is the fastest thing in the universe and requires only 1.3 seconds to travel to the moon and about 8 minutes to the sun, a light-year would seem to be truly enormous!

“We Are Missing Some Fundamental Element”

Geller’s three-dimensional maps of thousands of clumped, tangled, and bubbled galactic agglomerations have transformed the way scientists picture the universe. She does not pretend to understand what she sees. Gravity alone appears unable to account for her great wall. “I often feel we are missing some fundamental element in our attempts to understand this structure,” she admits.

Geller enlarged on her misgivings: “We clearly do not know how to make large structure in the context of the Big Bang.” Interpretations of cosmic structure on the basis of current mapping of the heavens are far from definitive—more like trying to picture the whole world from a survey of Rhode Island, U.S.A. Geller continued: “Someday we may find that we haven’t been putting the pieces together in the right way, and when we do, it will seem so obvious that we’ll wonder why we hadn’t thought of it much sooner.”

That leads to the biggest question of all: What is supposed to have caused the big bang itself? No less an authority than Andrei Linde, one of the originators of the very popular inflationary version of the big bang theory, frankly admits that the standard theory does not address this fundamental question. “The first, and main, problem is the very existence of the big bang,” he says. “One may wonder, What came before? If space-time did not exist then, how could everything appear from nothing? . . . Explaining this initial singularity—where and when it all began—still remains the most intractable problem of modern cosmology.”

An article in Discover magazine recently concluded that “no reasonable cosmologist would claim that the Big Bang is the ultimate theory.”

Let us now go outdoors and contemplate the beauty and the mystery of the starry vault.

* A kelvin is the unit of a temperature scale whose degree is the same as the degree on the Celsius temperature scale, except that the Kelvin scale begins at absolute zero, that is 0 K.—the equivalent of -273.16 degrees Celsius. Water freezes at 273.16 K. and boils at 373.16 K.

ET iPhone Home

 I’ve been wondering exactly what Apple have been thinking. Yep, another smart phone to look at. I’ve no doubt that people will look due to the  iPod halo around Apple. And I’ve no doubt when it comes to quality owing, to the reputation of his Steveness.

There are however a few disturbing things about it. Robert Scoble:

I was much more excited about the iPhone yesterday than I am today. Why? Cause reality is setting in. This thing is not as good as it seems. Paul Kedrosky has the details. He forgot a few things (he lists five):

6) Battery is only two hours up to five hours and is not replaceable (if you play video). UPDATE: sorry for getting that wrong, but tons of people, including some Mac journalists told me it’d only get two hours in video playback mode. Watch a video and your battery is dead. Now your cell phone is dead too. So, you won’t want to watch a video on a plane flight with this thing like you would with your iPod.
7) It’s Cingular only and GSM. That automatically keeps more than half of Americans from considering this and for the rest of the world? They are laughing about the iPhone now.
8) The camera sucks. It’s a 2megapixel device without flash, without zoom. Nokia’s newest cameras blow this one away.
9) No GPS. For a $600 device that really, really, really sucks.

Scobe is right about the Nokia phones being way better. I just got a Nokia N73. And it really rocks. Its tons better than the iPhone, from what I’ve heard about it.  The touchpad? Please. I mean I’d rather have keys that you can actually touch rather than a touchpad any day of the week.

Steve’s joy might be premature after Cisco sued Apple for trademark infringment.  Yep, another blog to add to my blogroll. The issue is one of principle. Not that principle is a very common thing in business.  It seems that what apple did is the business version of pie in the face, except that nobody is laughing. Can Apple shrug this one off? Possibly. Trademark cases can take quite a while.

One gets the impression that Apple is trying to  cash in as much as possible on the popularity of the iPod. Cue European Competition Comission  involvment and 600 million euro fines.

Free Will

I just read an interesting post from Scott Adams on Free Will. Its interesting enough reading the post, but the 800 odd comments are even more interesting.

I personally belive in free will. Why? Becuase i see it every day. My decisions have repercussions that i can see and mesure. And i know that those repercussions would have been different if i chose differently.

But besides that, my point is this. If we say that there is no free will, that effectivly relives us of any responsibility. That means that we can go around do what ever we want and put the blame on pre-destination. It effectlvly invalidates the centuries old belief of law and order ( but this I mean that law and order is the manifestation of the public’s social concience).  So if Scott says, i didn’t really mean to do that, it was the cemical mixture in his brain, what are we suppost to do? Sentance his brain? Or what if George bush said that in his trial? What are we supposed to do? Can you see what i mean. the question of free will is really tha question of the fabric of society. If nobody takes responsibility for their actions, then we’re really in deep crap.

If we say, “Yes, i take responsibility for X, Y and Z” we have the logical structure of a society. This means that we take responisbility for out actions and we remember that in our decision making procces. The onus is on ourselves to make our bit of society work. If eveyone does thier bit, we shouldn’t have a problem. The best way I can describe it is that we have the opposite of Ancrchy.  

In addition to denying free will, scott does not belive in God. Again, haveing a higher sourse of right and wrong is essential to man. Thousands of years of human history prove that man in incapable of making the right decisions. Yes, we have free will. And yes we can choose to implemet His wisdom in our desicions.

And we can also choose not to belive in free will. The choice is ours.

Software Engineering

My lecture this morning was on project management. Specifically how it applies within the games industry. So I was pleasntly surprised to find an almost identical post over at Coding Horror.

The name “software engineering” is apt enough. Computer Science is about creating pretty little algorthims ( don’t get me wrong, I use BubbleSort all the time).

Software engineering is about getting a given piece of software to work, no matter what the code looks like. 

Jeff says:

But software projects truly aren’t like other engineering projects. I don’t say this out of a sense of entitlement, or out of some misguided attempt to obtain special treatment for software developers. I say it because the only kind of software we ever build is unproven, experimental software. Sam Guckenheimer explains:

To overcome the gap, you must recognize that software engineering is not like other engineering. When you build a bridge, road, or house, for example, you can safely study hundreds of very similar examples. Indeed, most of the time, economics dictate that you build the current one almost exactly like the last to take the risk out of the project.  

I agree. Let me explain.

It has “engineering” in the title for a reason. You don’t need a fully qualified engineer to fix the gas boiler ( though thats what they’re called in the UK). You do need an engineer to build the world’s longest rail tunnel. Thats why its engineering. Thats the semantics

Also, like engineers, we tweak things constantly. My lecturer gave the example of the motorway just down the road. They built it in a marsh. But the thing is that you can’t build in a marsh. So they froze, yes froze, the ground with freon and built on top of that. Thats engineering.  

Thats why its like real, civil enginering. 

As far as unproven, experimental software goes, I’d like to give an example. I get project management software, a trial version. I test it to see if i’d be willing to shell out for the full version. I don’t like the program. So i take the basic idea ( “keeping track of development schedules”) and build a better project mangment software tool, with the all the cluncky bits stripped out. Both programs will work and do the job of keeping track of development schdules. One will be better than the other becuase end user input has been taken into account.  

My point is that. Most of what we as software developers do comes from the real work. Surely Pharaoh must have had project management in his time? The challenge is create something better than the previous iteration. So we port proven tasks, in this case project mangement, to the computer, while still being ready to improve on the product. Engineers build a bridge once and have to wait till the next bridge comes along to apply what they learnt on the last one. We write software that evolves, yes evolves. Snapshots of the  same bit of software take in the middle and the end, will be completely unrecodnizable. So in this sense, we do write experimental programs.

So, in response Jeff, it depends on your point of view.  

Programming Rules of Thumb – On Comments

Duncan Merrion, the original author of the seven rules, left a comment on my previous post :

The secret to investing is “buy low, sell high”. (Also, the secret to carpentry is “measure twice, cut once” ) – this doesn’t mean if you only do this you will be a successful investor (or carpenter) but rather that if you are a successful investor (or carpenter) you will do this as a habit.

This is what i was aiming for with the 7 secrets article – although much subsequent reading (it was written about 5 years ago) has convinced me that hungarian notation is not a good thing at all, and the comment often, comment well paragraph needs to be rewritten but I still stand by the article as a whole.

Ok. I’m sure we can all find somthing to trash about  someone else’s philisophy, specially when it comes to programming. I myself prefer doing the user interface first. That gives me a clear idea of how my how my data structures will work.Not that ialwyas do that. The UI and the data classes usually evolve at the some time. I find a probelem i one that requires a twaek in the other. Not everyone would agree with that. Some would have it that as a process: one does the data, the other does the UI and still another ties it all together.  So esentially we al have our own philosphy. This can and oes change moving programming language. Visual Basic 2005 is nearly english. All you have to do is pick the right variable and function names and you’re most of the way to self documenting code. C/C++ and even C# to an extent have different syntax to Vb2005 and require more commenting. But on the whole, comments are extremely useful. There are times when a function or a procedure is simply too complex. This is especially the prblem in C/C++ as the amount of things you can do on a simgle line is far greater than VB. In VB you van have a series of function calls that return data to the next function

i.e x= Function1(function2(function3())).

Not that that is the best way of doing it. But that is what sometimes happens. If you change it to sothing more readable. I’ll take Pythagoras as an example :

 a = calculatedistance(Squarepoints(getpointsBC()))

And viola: readable code. And to an extent, self documenting. What are the points being retunrned. What distance is it getting. Why? All this can be put into the comments. The code surrounding this line might well explin it. so its a 50/50 solution that changes from programmer to programmer. It might be helpful siomply to add comments once the program is completed for others to read ( or for you to read come maintanence time).

Duncan metions some of this in his post that he reffered me to. So, as he puts all the above:

Additionally the source code is only self-documenting to someone who has a good knowledge of the programming language that the source code is written in. However it is often the case that the person who has the best understanding of the problem space (be they a business analyst, end client or whatever) does not have sufficient developer experience to be able to read the code itself.

A good comment states the intent of the code to which it applies in the language of the problem domain but does not describe the computation operations being performed.

I completely forgot the other reason he gives for comments. The fact that the expert in the problem sapce, as he puts it, needs tro be able to understand what the code is doing, rather than the code itself. A Mathematitian would express Pythagoras as a(squared) = b(squared)+ c(squared). Although the function names above are descriptive ( since the function names are there to remind us of the job they are doing, rather than their internal workings), the above mentioned math geek would have to be told that htta’s what this line of code is doing- commets. Thus a mathematitiance would undersand Pythagoras as:

a^2 + b^2 = c^2. \, 

The math geek is happy becuase he knows whats going on and can make sure the function works .

All the seven Rules needs is a title change and a change of perspective: they are tips, not royal decrees (or NFL rules). The article highlights seven areas that programmers find helpful in certain situations. We could go into enormous detail about the ins and outs of progrgramming and turning out good code. But, with alittle updataing ( the article is five years old), it’ll do the article a world of a difference.

YouTube or GoogleTube?

Saw this yesterday on CNN. Again Google is expanding, trying to justify such a high shareprice. And I like the idea. Google, worlds most powerful seach engine and No.1 adsite buys YouTube worlds mostwatched video site. google needs ads, Youtube needs funding etc – an alliance of convinience unified by a common goal and purpose. Both of which are to do with Web 2.0. Scoble has a good write up here. He has an interesting analisis why Youtube is more popular than Blinkxs ( and I too had to triple check my spelliong of the name):

Also, the home page is WAY overbearing. Too many moving things. And one design principle I learned in college: pick ONE thing and make that twice as big as anything else on the page. YouTube wins here. Why? Because your eye needs something to enter the page with. If everything is the same size, as it is on Blinkx, your eye feels uncomfortable. Doesn’t know where to look.

He also make this interesting point. Coming from him as a student and connisour of new age media ( blogs, podcast vblogs and the like), its interesting:

Blinkx has lots of big-name videocontent. Movies. TV shows. Etc. YouTube has lots of “small-name” videocontent. Kittens. Goofy videos. We’re all looking for different kinds of content. Stuff to impress our friends with that they probably won’t have seen. Here’s a hint: your friends and family have probably already seen the latest Lost. But they haven’t seen the latest cute kitten video. Microsoft makes this mistake too (remember IE 4 with ActiveDesktop? What was there? Big name media companies. No small guys. I wonder if Microsoft will learn that it’s the small guys that make an experience different and interesting?)

Never thought about that. Again this is how the market regulats itself. Both ends of the market need satisfying. Youtube gets it nearly right with its mix of videos from the crowd. Those that dont get the mix right end up in the cold.

 Microsoft is too big to end up right out there becuase its product range is so broad so s to ward off blows easily but the effect will show on individual products (examples, anyone?). Microsoft also has the money to throw at the problem. Youtube didn’t have that then yet did a great job. my compsrison is unfair due to different business models and operating enviroments (you too, scobe), but its valid nonetheless. 

With google behind Youtube, I’m looking foawrd to hearing of new features ( purely to shake my head in amazement at thier

Â