September 30, 1999:
Creating simple Linux programs in assembly turns out to be easier than I had thought. It helps that the C calling conventions are used pretty rigorously by the standard C library. All parameters are passed on the stack, and no item passed on the stack is other than 32 bits in size. Anything that won't fit in 32 bits is passed by reference.
One sneaky trick I've been using is writing C programs that call library functions, and then using a complicated invocation of GCC that spits out a merged file of C source and assembly language source. (The gcc compiler actually generates assembly source first, which it then pipes to gas, the GNU assembler, for object code generation.) Then I just pick the listing apart and look to see what line of source cooks down to what sequence of assembly instructions. They're in that stupid ATT mnemonic format, but if you know the x86 pretty well you can work it out to an Intel equivalent. Here's the command line for that trick:
gcc -c -g -Wa,-alh,-L source.cThis just sends the merged file to stdout, so you have to redirect it to a disk file.
September 29, 1999:
bought a copy of NetObjects Fusion 4.0, and so far it has been extremely
disappointing. First of all, there's a problem with Visio 5.0 (which I also
own and use) in that Visio registers the name of its Help file in the registry,
and it conflicts with the name of the Help file that Fusion uses. Why this
should be so is obscure; apparently the registry entry that Visio plants
overrides the fact that Fusion is looking for its help file in its local
directory. I don't blame Visio but Microsoft, who set up the stupid registry
machinery anyway, which seems to be mostly trouble. But worse, the publishing
mechanism for Fusion (which transfers generated HTML and other content assets
to the server site) is FTP only and simply doesn't work for me. So I have
to generate the site and use O'Reilly's free utility UpLink to transfer
the HTML etc. to my server directory. Arrgh.
September 28, 1999:
official: Borland has announced that all of their RAD products are being
ported to Linux. JBuilder will be first (supposedly in Q1 2000), followed
by Delphi and C++Builder midyear. Because all components are intended to
be identical to their Windows counterparts, applications that do no under-the-table
platform-specific stuff (like direct Win32API calls) will drop in and recompile.
The product suite's code name is Kylix, and not much else is currently known.
Needless to say, I'll report anything that I hear!
September 27, 1999:
In researching how to write assembly language programs for Linux (as part of updating my book Assembly Language Step by Step) I was unprepared for the hostility many Unix people have to the idea itself. Most of the people I've asked about it respond with that time-honored weasel-question, "Why would you want to do that?" The psychology is a little hard to figure, unless they're petrified of becoming too tied to a single hardware architecture.It's doubly ironic because a significant chunk of Linux is written in x86 assembly. The int $80 gate for system calls is little-known and discouragedyou're supposed to make all calls through the standard C library. It makes me wonder if, just as the entrance of AOL subscribers to the Internet changed the whole psychology of the Internet, will the entrance of DOS/Windows people to Linux en masse change the psychology of Linux? Say what you will about the AOL throngs, the Unix culture is in many respects fundamentally wrong ("Ease of use is for lusers!") and needs to be turned inside out for the sake of its own survival.
September 24, 1999:
since I installed DynIP on my Chicago machine (which as a side benefit synchronizes
your system clock to one of the many time servers connecting to the Net)
I've been meaning to find (or build) a utility that will do the time synch
thing without the IP redirection. Found a good one: Dimension4 from Thinking
Man Software. It's free, simple, and does one thing well, which is the mark
of a good utility. It installs as a tray applet and can be set to check
for time at startup or at whatever interval you require. Love it! http://www.thinkman.com/~thinkman/dimension4/index.htm
September 23, 1999:
I downloaded and installed the DOS version of FreePascal 32 when I first
heard of it, I didn't have a lot of time to play at the time and didn't
print anything but the user manual to help me install it. Well, last night
I printed out the full documentation set from the downloadable PDFs and
cruised through itand was so thrown back in my chair I went back,
downloaded the Red Hat RPM binaries and installed them. This is an incredible
piece of work, coming as it does with a WinSock library, clones of virtually
all BP7 standard units (including Turbo Vision, egad) and the beginnings
of a Delphi-style component architecture. I drug out a few of my ancient
BP7 programs and recompiled them, with so little tinkering required that
I have to say it's as close to drop-in portability as I ever expected to
find across two operating systems as different as DOS and Linux. If you're
a Pascal guy and haven't given Linux a shot because you think it's inescapably
a C world, well, think again. FreePascal is truly free, covered by the GPL
and LGPL: http://gd.tuwien.ac.at/languages/pascal/fpc/www/
September 22, 1999:
has posted the results of their Delphi for Linux survey, which was intended
to familiarize the company with the potential audience for a Linux port
of Delphi. It's a must-read for anybody who (likes me) cherishes Pascal
and likes to create software as quickly as possible. http://www.borland.com/linux/survey/
Note well that the responses depart radically from the longstanding conventional
wisdom about Unix programmers and programming. The guys don't want to screw
around with command lines, they don't hate Windows and don't intend to drop
development for Windows, and quite a few intend to sell their Linux products
through traditional commercial software channels. The Unix culture is changing.
Having Delphi for Linux would change it a lot. Let's watch, and cross our
September 21, 1999:
is a new Internet portal dedicated to hosting open-source project sites.
It's a collaboration with LinuxBox, which had earlier been the de facto
host of choice for open source projects. The projects hosted there comprise
quite a list; you should go over and poke around a little bit. The list
includes Bluefish, Ishmail, ICQnix, Xitami, Pyrite, Glacier, and many others.
The most interesting item I found was wxStudio, an IDE for development with
wxWindows, which is a cross-platform C++ GUI application framework for Windows
and Linux. http://wxstudio.linuxbox.com/
While just getting started, wxStudio looks like it has a lot of promise.
Then again, I said that about Megido, which doesn't seem to have changed
much in the last six months, and lives on a server that's down as much as
September 20, 1999:
a very neat idea that I'm itching to try: The Atomz search engine service.
What it is is a search engine that you can add to your own Web sites, be
they personal pages or titanic commercial enterprises. You add the Atomz
icon and a few lines of HTML to your site, and people can use the Atomz
engine hosted on the Atomz site to search the pages within your site. For
sites with fewer than 500 HTML pages and 5,000 searchers per month, the
service is free. Over that, you get chargedso for things on the scale
of what I might ever do, it's a free service. The fees start at $75 a year
and are graduated by number of pages and number of searches. www.atomz.com.
September 17, 1999:
established a set of personal guidelines for dealing with eBay. Actually,
it's more or less one single major guideline: Decide what you want to pay
for an item, and make that figure your maximum bid. Then assume, once you
get the email telling you that someone topped your bid, that you've lost
the item. Once you start to bid, you're no longer purchasing; you're gambling,
and you can only lose. There are a number of areas where you're unlikely
to get any kind of dealthe buying fever in collectibles, for example,
is insaneso look elsewhere. I never buy anything over $100. And I
decide what I want before I enter the site. It works for me. Maybe it'll
work for you.
September 16, 1999:
5 arrived today, and was installed in, oh, several nanoseconds. (Having
a Dell Dimension V400 helpsthat's the rippinest machine ever to grace
my desk.) Much of the new muscle this time lies in its Internet features,
primarily on the server side. Supposedly you can create a Delphi form (within
some modest limitations) and Delphi can convert it to something you can
post on the Web. This intrigues me and I hope to try it as soon as I figure
it out. (Sighdontcha miss paper documentation?) It would be very cool
to create the Aardmarks system in Delphi from top to bottom. I'll report
on other aspects of the new system as I use them.
September 15, 1999:
Microsoft just bought Visio for well over a billion dollars. This is interesting, because Visio is kind of an anomaly: It's a radically different piece of software that its creators got right the first time, and it's head and shoulders above nearly everything else I've ever used in terms of overall quality and reliability. (Visio is a graphics program that gives you a multitude of little vector-based symbols and lets you drag them to a drawing and connect them in many interesting ways.)It was great as V1.0 in 1993, and it's only gotten better since then. Microsoft intends to integrate it more tightly with Office. This wouldn't be bad, assuming MS doesn't give it some kind of spin that makes it harder to use Visio with other office suites (assuming there are any other office suites in a year or so) and things like PageMaker and Quark. But I remain slightly uncomfortable with the notion that all good things eventually end up getting owned by Microsoft. That way lies trouble. I wish I could clearly define just what kind of trouble.
September 14, 1999:
has apparently beat Dell to the punch with a Linux laptop. It's always puzzled
me why we haven't seen Linux on laps heretofore, but what it comes down
to is some very specialized hardware (battery management, PCMCIA, etc.)
that Linux hasn't traditionally had to deal with. IBM bit the bullet and
created its own drivers for its own hardware, and now you can get an IBM
system with Red Hat preinstalled. Dell's apparently hot on IBM's heels,
and all of this is a good thing. GNOME is catching up to KDE in a big way.
I'm going to be installing the newest Red Hat on my little Linux system
(a Compaq DeskPro small footprint desktop) shortly, and I'll be having more
to say on Linux's visual prospects at that time. Stay tuned.
September 13, 1999:
thought much about this, but you've probably encountered supermarkets that
give you discounts if you have a "club card" carrying a bar code that they
scan before your groceries. The chains are evidently accumulating vast databases
of customer preferences: Who bought Cheerios, who bought Cap'n Crunch, who
bought portobello mushrooms, who bought Ultra Brite, who bought Jim Beam,
who bought condoms…hmmm. I'm not one to get terribly upset about this sort
of thing, but then again, I'm happily monogamous, don't drink much, don't
read Soldier of Fortune magazineand have no desire whatsoever
to run for office or any position of public responsibility in the crosshairs
of our poisonous political system. Being dull has its advantages in the
privacy wars...but I'll go on record as not wanting one of those
September 10, 1999:
got past All Nines Day, as I heard someone call it, and if anything anywhere
failed, I didn't hear about it. This isn't keeping the freeze-dried food
companies from filling my mailbox with spam quoting FEMA's statement that
if the world doesn't in fact end on January 1, freeze dried food is still
a tasty snack and keeps for a long time.
September 9, 1999:
it's 9/9/99Baby Y2K, as the doomsayers have called it. (In Olden Tymes,
Ye Olde Hackerres would encode sentinel values, invalid values or uninitialized
values as "99," especially in FORTRANso a date containing nothing
but 9's might be construed as a bad value. But at least it's not dividing
by zero.) I've been monitoring the news this morning and haven't heard of
any national collapses or riots in the streets. I'll bet some old FORTRAN
code crashed somewhere, though it may be some days before the reports trickle
out into the news. Forgive me if I'm not chewing my nails.
September 8, 1999:
Red Hat's IPO, now only a few weeks old, has already made paper billionaires of two of its principalsand multimillionaires of several others. But the real winners, as always, are the institutional investors who grabbed all the shares. The stock currently sits at $129, up from the IPO price of $14. I tried to buy stock at the IPO, but didn't get anynor did any individual investor I've heard of outside the reserve block that Red Hat held back for Linux contributors. Institutions got all the restand I suspect some of them have begun to sell, recouping a great deal of "free money."This whole system seems wrong to me. I have often wondered why IPOs can't be auctions, with the runup occurring before the actual sale of the sharesthus giving the company itself the benefit of the runup, not the bored robber barons who buy IPOs from their privileged positions in the financial markets and then sell them a few days later. This sort of thing is what gives liberals support among the general public against big business. The deck is stacked against ordinary investors. Heavily. And this is yet another of a multitude of examples. Nobody but Red Hat and bankers got any Red Hat IPO shares. And that's simply not right.
September 7, 1999:
a new product here called Visual Capture, which may be the ultimate in screen
capture utilities. It eliminates the "checkerboard" artifacts (generally
on scroll bars) that I've struggled with from time to time, and can be configured
to capture the full screen, regions, windows, menus, and objects. Nice documentation,
and in nearly all respects it's beautifully done. Also interesting about
the product is its packaging, which appears to be adapted from the packaging
used for DVD's in the entertainment industry. It's a slim, hard black plastic
folder that opens up with the CD mounted on the right and a small booklet
on the left. It's very compact and it'll be interesting to see if software
retailers open up their shelves to the new form factors like this one. I'm
getting pretty tired of opening up monster cardboard boxes and finding nothing
more than a jewel case! Anyway: Visual Capture; $99 from Advanced Firmware
September 6, 1999:
in a bad spot. Canadians digging through the binaries of Windows found the
embedded string "NSA Key" and claimed that Microsoft had built a back door
into Windows allowing easy network access to US government spooks. Microsoft
says that's not what the string indicatesthat it's only there to verify
compliance with US export controls. I tend to agree with Microsoft: If such
a top-secret back door were real, would they hang a sign on it that says
(in plain English) "NSA Key?" That would be mighty dumb. The problem, of
course, is that Microsoft can't prove that the back door isn't there, and
enough people (rightly) distrust the US government sufficiently to believe
the worst. The only thing Microsoft can possibly do to disprove the back
door conspiracy theory is make the full source code of Windows available.
Windows doesn't have to be free as a consequence. Source code is protected
under copyright. And it's up to them to weigh whether whatever trade secrets
are present in Windows outweigh the redemption of a good reputation. Like
I said, a bad spotand it couldn't have happened to a nicer bunch of
September 3, 1999:
Not sure how I missed it, because it lives right here in my own back yard, but there it is: The Icon programming language. It's free, source code is available, and it's been implemented on all modern versions of Windows as well as Unix, including Linux. Icon (which is not an acronym) is a pseudocode compiler and interpreter, in the fashion of UCSD Pascal and Java. The interpreter is called the executor, and it's the equivalent of the Java virtual machine. There are two environments: A simple editor/workbench for writing code, and an interface builder for creating GUI forms.As a language it resembles Perl in what it does, but it's much more structured than Perl and looks a lot more like something partway between C and Pascal. It's heavy on string processing power, but also has mature libraries for graphics and many other things. An extension exists for OOP, but most people use it "straight." I find Icon code way easier to read than Perl, largely because it's not as condensed. (Perl at its worst begins to look like APL without the Greek.) If you're trained in Pascal or C and want to write X11 apps quickly for Linux, this might be worth looking at, as I think it's less of an intellectual stretch than moving from there to Perl/tk or TCL/tk. The home page at the University of Arizona in Tucson is http://www.cs.arizona.edu/icon/index.htm. Binaries, source, and some superb documentation in three forms (PS, PFD, and HTML) are available free for the downloading.
September 2, 1999:
software becomes more and more mature, I ponder whether there will ever
be a strong market in used software. I have often wanted to play around
with page layout-but not so much that I'm willing to pay for a brand new
copy of Adobe Pagemaker. On the other hand, I'd be happy to play with a
version two or three back, if I could find one that ran well under Windows
NT. I failed to find an organized market in used software on the Web, which
suggests that the big software companies have actively suppressed such a
market, which could definitely crimp the demand for new software. I see
used software at hamfests (now generalized technology fleamarkets and not
merely ham radio anymore) but that's about it. Don't suggest e-Bay. I would
only sell there. I don't buy there. Is there an online flea market specializing
in used software? Do drop a note and let me know.