Tue Oct 21 12:39:48 EDT 2014

Maybe this blog is dead

Yeah, maybe this is a dead blog. But I'm still here.

Posted by Douglas Webb | Permalink

Thu Sep 5 10:12:59 EDT 2013

This blog is not dead

It may look like it, but this blog is not dead. Well, I'm not dead, at any rate, and this is still my blog. Yeah, I know it's been three years since my last post. I thought that was a pretty good one though. I definitely need to start writing more, but I've been kind of busy the past few years. I'll try to write at least one entry a year, and see how that goes. (This one won't count.) -----

Posted by Douglas Webb | Permalink | Categories: General

Tue Oct 19 10:29:00 EDT 2010

Big Design Up Front can't work

There are a couple of different approaches to designing software. One popular approach in big companies is to try and emulate the way design is done in engineering and construction, starting with lots of planning and design by 'experts' who then give the plans to 'laborers' to go build. In software circles this is often called Big Design Up Front, and generally speaking it never works well. To get good results costs far too much time and money for most software companies to bear.

There's a good reason why BDUF works for making physical things but doesn't work for software, and it's not something that can be changed. With physical things, at some level details don't matter anymore, but with software the details matter all the way down to the hardware.

Let me give an example: if you're designing a bridge, you can draw blueprints on paper which shows girders. The girders are described by giving their dimensions (accurate to 1/16th of an inch, say) and the particular alloy the girder is made from. This is sufficient to accurately model how that girder will behave under all kinds of different stress loads which is important for ensuring the bridge will be safe, and also to model how the girders will fit together like a puzzle which is important for allowing the steelworkers to build the bridge correctly, on-time, and on-budget.

The key to all of this is the fact that you don't need to create a real girder in order to test the design and make sure it's correct. A few easily described properties of the girder are sufficient; it doesn't matter where every atom goes, it doesn't matter if the surface isn't perfectly uniform, it doesn't matter if there is some rust, etc. Lots of the details just don't matter at design time, and most of them don't matter at construction time either.

Software just doesn't work this way. Software development languages are extremely detail-sensitive: get one letter wrong, one punctuation character in the wrong place or left out, and the software won't work right. There is no way to accurately model something this sensitive to detail without building it first, and if you have to build it first you lose the biggest benefit of doing design up-front: the ability to test and iterate on your design cheaply before committing to a full build of it.

Some modeling does happen in software design, of course. The models are typically imprecise diagrams and textual descriptions of what the software needs to do, lacking most of the detail of exactly how the software will actually do those things. These aren't the equivalent of blueprints, they're more like conceptual drawings that architects create of buildings and bridges before the engineering designs start. You can't jump from a conceptual drawing to construction on a bridge, but that's what most software firms doing BDUF expect to be able to do with their software designs.

The reality is that software is ultimately designed by the laborer, the programmer who is typing in the source code. That programmer has to make all of the detailed decisions about how the software will work, which requires an understanding of the overall design and purpose of the software. The programmer is assisted by a software architect and technical lead who produce the higher level designs to provide a general direction, but in the grand scheme of things their role is ultimately secondary to the programmer. They teach and guide, while the programmer creates.

-----

Posted by Douglas Webb | Permalink | Categories: Software Development

Sun May 9 23:53:15 EDT 2010

Advertising

Way back in March 2006, I added Google AdSense to this blog. Since that time, I've had a grand total of 4592 page impressions, 23 ad clicks, and $3.40 in earnings. I just thought you'd like to know, and thank you for your support. -----

Posted by Douglas Webb | Permalink

Tue Sep 8 18:52:36 EDT 2009

Greek Creation Myth

Very interesting. I just learned a bit about ancient Greek creation mythology, and it really struck a chord.

According to Hesiod in his Theogony, creation started with Chaos, or nothingness. Out of Chaos came Eurynome, Gaia, Eros, the Abyss, and Erebus.

Ok, so what in the world does that mean? Here are some quick definitions:

  • Chaos: emptyness, dark void, original state of existence, god of the air.
  • Eurynome: not clear... "far-wandering".
  • Gaia: the Earth.
  • Eros: Love
  • the Abyss: bottomless pit, underworld, hell
  • Erebus: deep darkness or shadow, son of Chaos, personification of darkness and shadow

According to the mythology described by Edgar Cayce, the original primordial god created everything there is. This god is Chaos. The purpose of the original act of creation was to produce beings with free will; I believe this fits the possible meaning of Eurynome, because a being with free will can wander from the creator in ways the creator cannot forsee. Also created was the essence of existence, Eros. Chaos' plan was for beings to use their free will to become perfect and to love all creation as Chaos does. Among the beings who were created was the first son, who challenged Chaos' power and position; this is Erebus, who was cast down into the newly created Abyss as punishment. (In the modern day we call Erebus Satan.) Also created at the same time was the Earth, Gaia, so that the beings (us) would have a place to exist and learn without the god-like trappings of power that led Erebus astray.

Change the words around a bit, and this mythology also matches the Hindu tradition, as well as many others around the world. It's not so different from Christian mythology either, as far as creation is concerned.

-----

Posted by Doug | Permalink | Categories: Ancient History

Thu Nov 13 01:04:29 EST 2008

I'm not president

Ok, so I didn't run for president, and, obviously, I didn't become president. I'm very happy that Barak Obama won, and I'm proud of my country for electing him.

I do want to point something out though: my idea, just over two years ago, was to have an open community website where I'd post all of my policies and platform positions, and work with the community of my followers to improve those policies and form a platform for all Americans. Starting about two years ago, Barak Obama did pretty much exactly what I described. He's also gone and created change.gov, which is the same sort of thing, but focused on the actual presidency rather than the campaign. I guess I was on the right track. Oh well. He's a much better speaker than I am, at least.

Actually, my only real beef with Obama is his wishy-washy stance on nuclear energy. I don't see the point of investing all of our money into researching alternative fuel technologies like solar and wind, which are unlikely to produce really useful amounts of energy for decades at best, when we already have nuclear power plant designs that can produce all of the power we need while producing much less waste and less dangerous waste than our current plants, and we could build these reactors in as little as 4-5 years for a cost that is trivial in comparison to the bank bailout. Take a look at strongforce.org for more details.

-----

Posted by Douglas Webb | Permalink | Categories: Politics

Mon May 28 23:42:41 EDT 2007

Thoughts on Religion

I was thinking about beliefs and religion the other day.

TRUTH

Truth is what actually is, the way things really are. Truth is independent of knowledge, belief, awareness, ideology, and so on. Truth Is.

REALITY

Reality is a subset of Truth. Reality is the world we exist in, where we spend our everyday lives. There might be more to Truth than just Reality, but there is certainly not more to Reality than Truth.

PERCEIVED REALITY

Perceived Reality is the part of Reality we're aware of. We perceive it through our senses. It is not the same as Reality because our senses are limited in time, space, and capability, they're error-prone, and they're imprecise. Perceived Reality is not a subset of Reality, because sometimes we perceive things that are not real, due to our faulty senses and our misinterpretation of what we've sensed.

BELIEF

Belief is what we think is Truth. People believe things. Some things that people believe are actually Truth. Other things are not. It's very difficult to tell the difference, because we base our beliefs on our Perceived Reality, which is two steps away from Truth.

IDEOLOGY

Ideology is a system of Beliefs, generally held in common by a group of people who agree to believe the same things. Religions are ideologies. Science, the belief system built upon the scientific method, is also an ideology. Many people don't think they have an ideology, but if they're not spending every moment of every day questioning what their senses are telling them, then they believe in some kind of perceived reality, and that counts as an ideology.

I think a lot of the problems people have occur when their ideology includes two beliefs: that their ideology is Truth, and that anyone who doesn't agree with their ideology must be converted or eliminated. The latter requires the former; no one would believe that they must forcibly convert non-believers if they're not sure of the truth of their own beliefs. Conversely, if you can accept that your own beliefs are based on a distorted and inaccurate perception of reality, and that the things you believe may not be Truth, then you'll be much more tolerant of the beliefs of others... they might have something to teach you, afterall.

Therefore, tolerance of others is the best policy; seek to understand their beliefs, so that you might find your way closer to Truth.

-----

Posted by Douglas Webb | Permalink | Categories: General

Fri Oct 27 09:15:02 EDT 2006

I'm thinking about being president

Well, running for president, at least. Or maybe just creating a website about it.

Here's the idea: I create a website, perhaps DougWebbForPrez.org, and put on the main page a list of topics and policies that I think really need to be addressed. These would include the war in Iraq, foreign policy in general, our dependency on oil, environmental policy, taxation and the overwhelming cost of the federal government, and so on.

I would write about my thoughts on each of these topics, and develop a platform and a plan for how I would address each topic as president. Then, I would invite the public to join in the discussion, using a combination of blogging and wiki-based collaborative writing, to refine the policies into something that makes sense for as many people as possible. That's the platform that I would run on, with the promise that I would do my best to implement the policies as written.

I think this would be very inclusive, and would give the public a real voice and role in the governing of our country... something we've lacked for far too long.

Actually getting elected might be a problem; I've got no money to run a traditional presidential campaign, and I'm opposed to the kind of fund-raising that would allow me to collect that kind of money. I would have to run a word-of-mouth viral marketing sort of campaign, trying to get as much publicity for the website as I can, and from there maybe getting invited onto TV shows like The Daily Show, David Letterman, and eventually maybe even a real news program or even a presidential debate. (Yeah, right.)

Getting on the ballots nationwide would be too much work, and probably useless anyway since so many counties have switched to the completely untrustworthy electronic voting machines. (See How to steal an election by hacking the vote"). Maybe someone would use the machines to steal the vote and put me into office; I think I'd be popular with the hacker set. What I'd prefer, though, is for everyone to write my name in. Even with the electronic voting machines, I'm pretty certain that every district is required to accomodate write-in candidates, and those ballots must be counted manually. This is the only way to defeat the use of electronic voting machines, as far as I can tell.

So a big portion of the website would include directions on how to write-in my name as a candidate for president. I'd like to allow visitors to the site to be able to enter their home address, and get a page that describes the kind of voting machines that will be used in their district, along with printable instructions on how to write me in. If necessary, those instructions should also carry any information that would be needed to convince the people running the election to allow the write in and handle it properly, so that the write-in votes are not lost.

Maybe I still couldn't get enough votes to win this way, but at least the write-in votes would have to be counted and reported, which might reveal statistical anomalies in the electronically-cast votes that prove they were manipulated and the election was stolen.

-----

Posted by Douglas Webb | Permalink | Categories: Politics

Fri Apr 14 11:34:39 EDT 2006

I'd like to be an archeologist

I figured I should add something to my 'Ancient History' category, since I went to the trouble of creating it.

I've been interested in ancient history, and ancient civilizations in particular, ever since I was a kid. Originally, I was fascinated with Egypt, but as I got older I learned about Sumer, and Babylon, and Chichen Itza, and other ancient cities around the globe.

Then a funny thing happened... it started to seem obvious to me that the civilizations that built these cities seemed to have a lot in common, both in their architecture and mythology. I started looking into that, and I found out that we really don't know how they built the things they built, and that we couldn't duplicate their structures with modern equipment, let alone the kind of technology we suspect they had to work with. Furthermore, when they wrote about how they built stuff, especially the really big stuff, they just said that the gods helped them.

The Sumerians, considered to be the first of the ancient civilizations, just popped up out of nowhere. One day they were nomads living in tents, and the next day they were building huge and sophisticated cities, with complex plumbing and drainage systems, surrounded by huge irrigated farms. How this transition happened seems like a big mystery, except that the Sumerians are pretty clear about it: they wrote that the gods showed up one day and showed them how to build cities.

This is what really fascinates me about ancient civilizations: they all seem to stem from more ancient, and not generally recognized, civilizations. Yes, I'm talking about Atlantis, but there were two others as well.

I won't get into all of the details, but from everything I've read it seems that during the last ice age, around 10000 years ago, there were three large and advanced civilizations in the world. Atlantis, either in the Atlantic ocean or possibly the northernmost pennisula of Antarctica, Mu, in the south Pacific, and the ancient Rama Empire civilization in India, which wrote the Vedas.

The Vedas talk about these civilizations, and wars between them; echos of those stories appear in mythology around the world. So does the 'Flood' story, which seems like it relates to the end of the ice age, when sea levels rose, the Mediterranean plains became the Mediterranean sea, and any large cities, which would have been mostly on coastlines, would have been destroyed.

Why don't we have more physical evidence of these civilizations? We have a lot actually, but it's not generally recognized by scholars. But the really good stuff, the big cities, would all be underwater now, on the edges of the contenental shelves. A lot of that has probably been lost due to landslides from the shelf edges into the adjoining rifts, but there should still be something left to discover.

So that's why I want to be an archeologist: I think there are major discoveries just sitting out there, waiting for someone to come looking. If I pursued this, I would get myself a nice boat, some side-scanning sonar equipment, scuba gear, maybe an ROV, and go searching around the northern Carribean and Bahamas area. At the very least, it'd be a nice lifestyle down there.

Or maybe I should just try to build a Vimana.

-----

Posted by Douglas Webb | Permalink | Categories: Ancient History

Sun Apr 9 20:24:38 EDT 2006

I need better vacations

I'm on vacation this weekend... in theory.

I live in New Jersey, my mom lives in Brooklyn NY, and my brother lives in West Virginia. My mom and I have come down for the weekend to visit my brother, and also for my first chance to meet my new niece, and to get to know my nephew a bit better now that he's talking.

Here's the thing: every time I visit, my brother has a project for us to work on. First, we built a 1000 square foot deck around two sides of his house. The next several visits were spent renovating his basement: cleaning it, demolition, framing, electical, plumbing, ceiling installation, and installing bathroom and kitchen floors.

This time, I'm only here for a couple of days, so all we built was a new signpost for the end of his driveway, and a big wooden playset... you know, the kind with a platform five feet up, and ladders, and a slide.

I ache. Why can't I just visit and hang out? Before he moved to this house, all I had to do was some computer maintenance, and I was good for a week.

To be honest, he's come to my house for projects too. He helped build a very solid fence around my back yard, and he's on the hook for at least one week of basement renovation, if I make enough progress to reach a point where I really need his help.

Besides, I actually do enjoy this sort of work. I'm a creative person, and being creative with software can be rewarding, but no one really gets to see what I've created... even the few folks at work who review my code don't really experience it, and appreciate the effort, the way I do. But build a deck, a playset, or a basement, and everyone can appreciate that, and they can do so for many years.

I just hope I don't hurt my fingers to the point where I can't type anymore, like I did when wiring a hundred outlets in his basement.

-----

Posted by Douglas Webb | Permalink | Categories: General