My First C Compiler

I accidentally googled into this short page on History of PC based C-compilers which made me think about my first C compiler: Aztec C on Apple II.  I was among the first wave of programmers who cut their teeth on PCs instead of minicomputers and state-of-the-art in PC software has risen high enough to make programming in assembly tedious.

So I just bought a copy of wonderfully thin K&R book which took only an hour to read and started writing in C.  I really liked it but I wasn't comfortable with the idea of using it for production code yet because size and speed still reign supreme then.  But it was fine for writing tools.

I think the first program I wrote with Aztec C was a double-hires image editor because that was when Apple IIc was about to be released and there were no tools to edit double-hires images.  It was sweet not having to worry about registers and being able to write almost English like code (well, it does when compared to assembly code).

Oh boy, time sure flies.

Mad About Colors

Marc's post about Behr Paint's wonderful Lazlo-based color picker application reminded me that I needed a color picker myself so I went shopping for one this afternoon.

I have a healthy respect for the power of colors but my color-sense is one-directional: I can go from colors to judgement but not the other way.  That is, I can't say “I want some nice professional set of colors for these set of web pages” and then come up with one.  Thankfully, there are programs to help me.  Most of them are appropriately priced pathetic sharewares, but I found a couple that looked good: ColorImpact 2 and Color Wheel Pro 2.

After trying both, I found Color Wheel Pro 2 to be the better of the two.  Lucky for me, it even costs less than the other one.  Nice.

Update:

Found another nice website that explains colors in a pleasant way: handprint.

Kids on Piracy

In response to Nick Bradbury's post on piracy, Aaron Swartz writes:

Nick has no innate right to have people pay for his software, just as I have no right to ask people to pay for use of my name.

Even if he did, most people who pirate his software probably would never use it anyway, so they aren't costing him any money and they're providing him with free advertising.

And of course it makes sense that lots of people who see some interesting new program available for free from a site they're already at will download it and try it out once, just as more people will read an article I wrote in the New York Times than on my weblog.

And what's this nonsense about warez sites only having shareware stuff and not stuff from Microsoft. In my experience with the biggest, easiest-to-use things, the opposite is true (tons of BigCo software, very little shareware).

And while it's true that EXEs can often do anything (because modern OSes don't have basic security protections like chroot, which has been in UNIX for decades), this is true of all software not just warez.

Yes, piracy probably does take some sales away from Nick, but I doubt it's very many. If Nick wants to sell more software, maybe he should start by not screaming at his potential customers. What's next? Yelling at people who use his software on friends computers? Or at the library?

Aaron then wrote these series of comments in response to Schoolblog's post that agrees with Nick's view:

Chris is arguing what’s known as the sweat-of-the-brow theory of intellectual monopolies: someone who puts work into something deserves to control how it is used.

Taken to its extreme, this probably results in things you disagree with. (Michael Jackson has put a lot of money and work into his face. Can he charge people who distribute pictures of it? A newspaper reporter puts a lot of work into discovering a story. Can he charge people who repeat it.) And certainly, in the specific case of copyright, if Chris’s world was in place we’d have no libraries or video stores, and all the books at bookstores would be shrink-wrapped or behind glass.

By Nick’s reasoning, everyone who rents a movie from a video store or takes a book out of the library is a pirate, because they cost the author one potential sale (in the US, authors don’t get paid anything for library or video store rentals).

Chris, do you feel authors have a right to keep their book out of libraries? They worked hard on their book, shouldn’t they get to make the terms of use? If you don’t, how do you distinguish libraries from downloads? (It’s true that libraries don’t usually involve copies, but this is a practical distinction — quibbles like that don’t see like they’d interfere with a strong right.)

I spend months researching an important story. Finally, after great lengths, I confirm that Nixon’s team funded Watergate break-in, and I provide a chain of evidence to prove it. You run a rival newspaper and you verify all the evidence with your own eyes. Can you publish the story as well? I put a lot of work into that story, I don’t want you to copy it, even if you give me credit.

The fact that video rental stores are legal while peer-to-peer systems aren’t is an accident of law and technology. The law regulated copying while the computer systems required copies to do everything. If we had built our networks with superfast pnuematic tubes instead of wires, we could whisk CDs across them to share with others without violating the law at all. It’s hard to believe one system could be moral and the other not, simply because of this technological accident.

The fact is that there is no such morality behind copyright. Copyright is a recent invention, which originally only touched commercial publishers (of which there aren’t very many). This idea of their being some moral reason for it is even more recent. You won’t find it in any religion, or any old culture. It’s a silly idea, and it goes against our nature to share and build upon each other’s work.

What’s the moral problem with me downloading Nick’s software when there was no chance of me buying it? I get the software, Nick doesn’t lose any money and possibly gets some free advertising. It seems everyone is better off; how could this be immoral?

Yup.  That's how smart kids of 21st century thinks.  What a shame.

Aside from the lost profit and firmness of the moral ground piracy stands on, piracy undermines the soul of our young.  When you do something others consider bad, you start a ball of self-justification rolling so you can sleep at night.  So what if I burnt a house down?  No one got hurt!

Let this bullshit go on and, before you know it, the only acceptable answer to “Why can't I drive your car when you are not using it?“ will be an Uzi.

IE6 SP1 Small Image Loading Bug

Ever since I installed IE6 SP1, I started seeing web pages with missing images.  Usually missing images were small in size but used multiple times in a page like the XML icon you see in my blogroll.  Well, I am seeing it now somewhat consistently after changing blog software.  I used to see it with permalink icon and day icon which is why I removed them yesterday.  Looks like I'll have to replace the XML icon with text.  Urgh.

Update:

I replaced the XML feed icon with CSS-based text anchor as Richard Soderberg suggested.  I did reduced the font size to 6px and adjusted the border colors because larger version was causing too much distraction.  It's still distracting but this will do until I replace the blogroll with something that takes up less space.  Thanks Richard.

Wiki as MOO

Wiki is a MOO.  A wiki page is a MOO room.  WikiWords are doors.  Some changes to a wiki page are like conversations within a room, others are like writings on the wall or part of the room's description. 

Is it helpful to divide a wiki page into two sections (i.e. moderated top half and unmoderated bottom half)?  What about using passage of time to distinguish conversations from yesterday and today.  Will a calendar on a side like blogs help?  At least sense of time seem more intuitive than versions.

Outage

The new server was inaccessible for at least half an hour just now.  The domain's primary nameserver was inaccessible too and my local nameserver was acting weird too (it was pointing to the old server).  Anyway, everything is working again mysteriously.  Server itself was running so it must have been some network problem.  Weird.

BTW, you can send me e-mail by click on my face.  I'll see about restoring the mail icon.

Picture Bubbles, Wiki Toons, Stage Page

Picture Bubbles

Take a picture on the web, any picture will do as long as its accessible by a URL, and attach a comment to all or parts of the picture which is displayed in a cartoon bubble.  The bubble can also be set to pop-up on mouseover or mouseclick.

Wiki Toons

Start with a large picture or a series of related pictures placed on a wiki page in a row, a column, or a grid.  Allow people to change or comment on all or parts of the pictures using tools on the web page.  Put four in a row and let people create a toon by filling in the bubbles.

Stage Page

Fill top half of a page with a large image.  That's the stage.  Fill the bottom half with images of characters and props.  Let people play with the characters and props and share the experience with other players and spectators.  Record positions in time and let people replay one scene at a time.  For kids and adults only.

Pruning Blogroll

I am cleaning up my blogroll just now, self-discovering blog feeds one by one.  Esther Dyson and Halley Suitt's blogs at Blogspot are apparently gone so I have removed them for now.  This feels too much like housecleaning.  Urgh.

Just finished N.  Choo-choo!  Are we there yet?  Choo-choo!  This is how a highly paid, amazingly creative, and supposedly well-respected consultant/visionary/guru spends the last day of a year.  My wife and I are not going anywhere tonight which leaves us wondering what we are going to eat for dinner.  I don't really care what I eat — I hardly eat much of anything — but my wife defines her life by what she ate and where she went.  So I care by proxy.