Domain: goingware.com
Stories and comments across the archive that link to goingware.com.
Comments · 613
-
Very proud to have done my small partI used analog earlier this evening to check my server logs to see how people were finding Is This the America I Love?. I've had the page up for over a year, but since the election I have felt a renewed sense of urgency to get people to read it.
One of the referring pages I found listed in my log is I've held it in too long: I am no longer Proud to be an American. wherein the poster says:
America just makes me sick now. The worst part is nobody seems to see the Injustice of it all. Are you all Blind? Have you not seen the greatly exaggerated and proposterous veil that has been strewn upon America?
and so on.Something is indeed wrong. I've sensed it, and to this day haven't been able to find the words to describe what it was, but I have to say something. Why? Because I have a fucking voice, and I will fucking spread it, because that's what America USED to be all about. Now? Now it's nothing, not even a shadow of it's former self. I'd literally rather live in Canada right now, because despite what people thing of Canada, it's pretty cool.
Look at the bottom of the guy's post where he gives a link with the text "This is what inspired me to finally say something".
I've worried about the potential for backlash by saying what I did in such a public way, and further to be making such an effort to get people to read it.
But if I was able to get even one person to speak out as this fellow said I did, well that makes it all worthwhile.
There's lots of people who posted to the K5 discussion who don't agree with what I said, but that doesn't bother me so much. I'm very pleased to have opened up so much debate. People are talking about these issues that might not have otherwise.
People need to talk about this stuff, or we will end up in a great deal more trouble than we are already in.
And there were some fairly intelligent points raised at K5 that seem to poke holes in my argument. That's OK too, because I have answers to their objections, and will be able to make some small revisions to my original piece that should ultimately make it stronger and more convincing. So in the end those who found fault with my essay have done me a favor.
Finally, in the little while between posting the above and being just about to post this, my copy of the essay has received 102 page views referred from this slashdot discussion.
I'm very glad of that - prior to posting at K5, the essay was getting about 300 page views a month. So far this month (just a few days into the month) my copy has got 594 page views, and I imagine the K5 post got many times that.
-
Please Read "Is This the America I Love?"The original of "Is This the America I Love?" is at http://www.goingware.com/notes/america.html
But I wanted it to be read more widely than was happening with it on my own little homepage so I posted a copy at Kuro5hin. An advantage of the K5 version is that it enabled followup discussion.
Here's the intro:
I just feel the need to write right now. Something has gone terribly wrong with the country I was raised to love. The good things that America stands for are being trampled into the dirt by those charged with the burden of protecting them.
Thank you for your attention.I was raised to be a patriotic American. I grew up a military brat - my father was a proud officer of the United States Navy, who served in the Vietnam War. When I was young, I was always told that my father was fighting to preserve the freedoms that were guaranteed us by the United States Constitution.
In the first grade, I attended a school run by the U.S. Navy in Gaeta, Italy, where my father was stationed aboard the U.S.S. Springfield. Each day when we started school we sang patriotic songs and said the Pledge of Allegiance. We were told that America stood for freedom and democracy and justice.
I loved America for what it stood for.
-
FlashPix & Live Picture multiresolution gfx foThe Live Picture graphics file format stores a tiled multi-resolution version of the original tiff file.
FlashPix is similar with OLE Structured Storage thrown in to get Microsoft to participate (much to the agony of anyone who's ever tried to write a FlashPix file parser). PhotoCD is similar except I think it might not be tiled - Kodak was a major partner to Live Picture and even though the original LP format would have worked fine, Kodak wanted something proprietary
:-/It stores the original resolution, only in tiles whose size are about what would fit on a typical monitor. Then it stores half that resolution, tiled again, and so on. I think there are six levels of decimation. The total file size is about twice the normal full-resolution file.
The advantage of this is that you can pan and zoom to any portion of the image quickly. Only a modest amount of scaling would be needed to get to the view the user selected.
The really sexy thing about Live Picture (a high-end grahics editor) is that it never applied time-consuming graphics operations to the full image. Instead it would only render what was necessary to show the results to the user on the screen.
All of the edit commands were saved in a display list, and re-rendered every time you changed the view or edited in some way. You could save your display list in a file that linked to the graphics, and in effect have infinite undo that could be continued across launches of the program.
Each kind of operation you could do to an LP image was a layer - there were monochrome paint layers, multicolor paint layes, distortion layers and so on. You could composite images with image insertion layers. I understand Adobe got the idea for putting layers into Photoshop from Live Picture.
The final rendering to a TIFF file was time consuming, yes, but could be left until the end of the day and ran as a batch job overnight, or offloaded to a separate machine.
This made Live Picture a very complex program to work on. It had about 70 MB of really arcane C++ source code at the time I worked there in 1997.
But it made Photoshop look like a kids toy, because it could easily and very responsively handle the compositing of a half-dozen 200 MB images on a 150 Mhz PowerPC 604 Mac 8500 with 32 MB of RAM - I had machines like that both for my main development machine at the office, and coincidentally I had an identical machine at home (which I'm typing on now, although it's been upgraded several times).
While Live Picture as a company had great technology, unfortunately it failed to compete as a business against Adobe. Read more about it in:
After its bankrupcy, Live Picture was acquired by MGI Software of Canada. Later MGI was acquired by Roxio, the Adaptec spin-off that publishes toast and easy cd creator. Roxio publishes a bundle of inexpensive graphics utilities, but I don't think Live Picture is included. That is a sad end for a powerful graphics application that once retailed for $4000. -
My "Important Note to Recruiters"In which I tell them all to get bent: Headhunters and contract brokers are a large part of the problems we have, expecially with older workers not being valued for their experience - they only want the latest buzzword.
I'm a software consultant, I deal exclusively with the end client, because I feel that brokers don't serve my needs, or (in my honest opinion) the needs of my clients.
Headhunters are a pestilence on the face of high-tech. Join me in boycotting them.
What can you do if you're looking for a perm job? Apply directly to the company. Most open positions are never advertised. Just send your cover letter and resume to companies you think you might want to work for, regardless of whether a position is advertised.
This page has some tips on job hunting, it's most useful to people from Santa Cruz but the methods are helpful to anyone.
The "dot.com downturn" has been challenging for me as well as everyone else - but I have continued to work and be able to support myself and my wife throughout it. An I have done so without the help of headhunters.
-
My "Important Note to Recruiters"In which I tell them all to get bent: Headhunters and contract brokers are a large part of the problems we have, expecially with older workers not being valued for their experience - they only want the latest buzzword.
I'm a software consultant, I deal exclusively with the end client, because I feel that brokers don't serve my needs, or (in my honest opinion) the needs of my clients.
Headhunters are a pestilence on the face of high-tech. Join me in boycotting them.
What can you do if you're looking for a perm job? Apply directly to the company. Most open positions are never advertised. Just send your cover letter and resume to companies you think you might want to work for, regardless of whether a position is advertised.
This page has some tips on job hunting, it's most useful to people from Santa Cruz but the methods are helpful to anyone.
The "dot.com downturn" has been challenging for me as well as everyone else - but I have continued to work and be able to support myself and my wife throughout it. An I have done so without the help of headhunters.
-
Why I writeI've been programming for a long time. I'm good at it, and I suppose if I really put some time into coding for a Free Software project, I could do a lot of good.
But most of my contribution to Free Software has really been in the form of writing. I have also written a lot of stuff which is not copylefted, but posted publicly on the web. here some more as well as this.
I have contributed some to zoolib, but that's mostly in the form of qa, project management (for the initial open source release) and marketing.
One reason I prefer to contribute by writing is that my normal programming work is so hard, that when I get time to take a break from it, it's difficult to work up much enthusiasm to write more code, no matter how fun the project might be. I imagine that's a common problem.
Another reason is that I feel that any contribution I could make to Free Software, at least in the limited time I have, would be small. I could fix some bugs, add some features, do some testing. But how many people would benefit from my personal contribution? I don't think that many would, at least not until I had the time to develop a really serious package, and I just don't have the energy for that. I have lots of ideas, but no time.
But I feel that passing on my experience by writing can benefit others far out of proportion to the effort I put in. That is because I aim my writing to enable others to do better. By writing well, I enable many other developers to code a little better, and many users to do better testing and bug reporting.
I could lead by example by writing good code, but how many people would learn by reading it? When's the last time you studied the source for some package you weren't really actively involved with? Prose is much more accessible.
This is all the more important because so few engineers of any sort are good writers. When my father was a civilian electrical engineer for the Navy, the shipyard sent him to a writing class so he could write better test plans! The man has a master's degree! But the Navy put lots of people through that class because so many of their engineers didn't know how to write.
What is funny is that I find writing much more difficult than programming. With software, you know when you're wrong. It's not always so clear with writing. The main reason I write so well is because most of my effort is put into editing - and I still find lots of mistakes later.
Even more ironic is that I used to hate writing with a passion. One major reason is that I have terrible handwriting - I can't read my own handwriting, and can't imagine how anyone else could. But the schools always used to require handwritten essays. They used to send me to remedial handwriting classes, which I really hated because they made my hand hurt. It's painful for me to write much by hand.
What did it for me was two things - a composition class I took at the community college during the summer when I was sixteen, that was just really well taught, and being able to type. I type really fast now, and there's no pain.
My senior year Advanced Placement English Teacher asked me to drop the class because of my poor handwriting. He was quite taken aback when I started screaming at him. I'd had enough of teachers criticizing my handwriting, I didn't need to hear it again when I was seventeen years old.
He was concerned that I couldn't pass the exam (which could get me college credit) because the judges wouldn't be able to read my essays.
He proposed a compromise. He suggested that I block print.
I had no problem with that. And at the exam at the end of the year, I turned in my exam neatly block-printed in all capital letters. I just used bigger capitals for where a capital was really required.
I was the only student in my school that year to get a 5 on the english AP exam (a perfect score).
-
Well thank youAfter reading a few too many comments like this one it is nice to hear someone say they like what I write.
I work hard to write good articles. Some are very difficult to write, and take a lot of time. But I believe in doing well by doing good.
PS. I meant to post the LinuxQuality links as MichaelCrawford, but I used a different computer that still had a cookie that logged me in as goingware. I want to be known online by my own name now.
-
My Mac was my Apple Employee Loan-to-OwnDespite the fact that I've had some public disagreements with Apple, I still bleed in six colors.
Apple employees used to get a once-in-a-lifetime free macintosh under their loan-to-own program.
I got my Power Macintosh 8500/150 while I was a senior engineer in the OS Integration team of the traditional OS department.
Some amount of the quality of Mac OS Systems version 7.5.2 and 7.5.3 came from my efforts to debug them and tune their performance in my role as debugmeister.
Check out other work I've done on the Mac.
Despite what you may think of it, my 8500 is six years old and still works great. I've never had any trouble with it. I leave it on day in and day out as my main desktop machine & internet gateway.
So yes, I am in fact stupid enough to buy a fucking Mac.
OS X doesn't work so well on such an old machine (although Linux works great). For my OS X work I bought an iBook a few months ago.
-
My Mac was my Apple Employee Loan-to-OwnDespite the fact that I've had some public disagreements with Apple, I still bleed in six colors.
Apple employees used to get a once-in-a-lifetime free macintosh under their loan-to-own program.
I got my Power Macintosh 8500/150 while I was a senior engineer in the OS Integration team of the traditional OS department.
Some amount of the quality of Mac OS Systems version 7.5.2 and 7.5.3 came from my efforts to debug them and tune their performance in my role as debugmeister.
Check out other work I've done on the Mac.
Despite what you may think of it, my 8500 is six years old and still works great. I've never had any trouble with it. I leave it on day in and day out as my main desktop machine & internet gateway.
So yes, I am in fact stupid enough to buy a fucking Mac.
OS X doesn't work so well on such an old machine (although Linux works great). For my OS X work I bought an iBook a few months ago.
-
Thinking about copylefting my articles this way.Check out the entry in my Advogato diary where I discuss whether I should copyleft an article I wrote on C++.
On the one hand, I think I would do a lot of good to the community if I copylefted my article. A lot of people might read it who otherwise would never come across it. On the other hand, allowing the only copy to be on my website generates a lot of valuable traffic that helps to advertise my consulting business. But on still another hand, maybe having the copylefted version in the wild would do even more to publicize my business.
John Levon suggested that that particular article is probably best where it is. I'm thinking now that he's probably right.
But I have other articles that I am thinking of copylefting. I have started writing a column on cross-platform software development. My thought now is that I will copyleft my articles, say, six months after they are published. The one article I have posted so far is older than that, so if I decide to do this I will copyleft it right away.
That way there will be traffic to my cross-platform site from people looking for new articles, but ultimately they will have the most positive effect if they are picked up by linux distros, for example.
I'm still undecided about it, I probably won't make a decision right away. Yes, I want to help people. But I'm sorry to say that it's been challenging to be a self-employed software consultant since the dot-com crash. My articles take a lot of work to write, and I don't get paid for writing them, in fact I take a lot of time off to write that I could spend doing billable work for my clients. They are an effective advertising medium. The decision of whether to copyleft them is going to have to be based in large part on what I think would be best for my business.
-
Re:Yes, you're right
All spout and no water.
Really? Have a look at my resume. -
ZooLib C++ Cross-Platform Application FrameworkMy friend Andy Green spent nearly ten years developing the ZooLib cross-platform application framework before placing it into Open Source under the MIT License.
I've worked with it quite a bit and I must say it is wonderful.
Presently it supports Windows, Mac OS, Linux, and BeOS. A little work would be required for Solaris and Irix - it has a small amount of assembly to do atomic arithmetic, that's used by the reference counted smart pointers, but that should not be hard to do.
I have started writing a tutorial called The ZooLib Cookbook.
-
There's no dress code when you're self employedI have been working out of my home since April 1, 1998, when I began consulting full-time.
By consulting, I mean running my own business as a software consultant - not a temp worker, I deal directly with the client and don't deal with brokers.
If I have a face-to-face meeting with a client, I will wear a nice shirt, but otherwise I could do my work naked if I cared to.
However, I have found that I can't get it together to work unless I do dress. I can't program in a bathrobe for some reason. But right at the moment (taking a break from my current contract to post here), I am in fact wearing blue jeans and a t-shirt.
-
Get a job writing the TCPA bios for trusted linuxI applied for this last night before I fully realized what I was submitting my resume for:
JOB DESCRIPTION Do you want to change the way people see, hear and play? Our client is looking for a Boot-Level Programmer for their San Jose offices. Music, motion picture, television, computer entertainment, and online businesses make our client one of the most comprehensive entertainment companies in the world.
I figured TCPA was just some buzzword I could pick up out of a book if I got the job. I do that all the time. But no:As the Boot-Level Programmer, you will modify the boot code of an embedded Linux platform to incorporate communications to a new hardware chip (TCPA
/TPM) and check the system integrity. You will have to take the source code for an existing boot ROM and integrate calls to a TPM chip to check the system integrity as consistent with TCPA. You must understand TCPA and embedded devices.Trusted
The blurb about "changing the way people see, hear and play" just didn't register.
Computing
Platform
AallianceI hope they do call me though. I'll give them a piece of my mind, followed by the URL of my DeCSS mirror.
Now I ask you this: if they're verifying the "system integrity" of a linux box with the TCPA, are they complying with the GPL?
-
Get a job writing the TCPA bios for trusted linuxI applied for this last night before I fully realized what I was submitting my resume for:
JOB DESCRIPTION Do you want to change the way people see, hear and play? Our client is looking for a Boot-Level Programmer for their San Jose offices. Music, motion picture, television, computer entertainment, and online businesses make our client one of the most comprehensive entertainment companies in the world.
I figured TCPA was just some buzzword I could pick up out of a book if I got the job. I do that all the time. But no:As the Boot-Level Programmer, you will modify the boot code of an embedded Linux platform to incorporate communications to a new hardware chip (TCPA
/TPM) and check the system integrity. You will have to take the source code for an existing boot ROM and integrate calls to a TPM chip to check the system integrity as consistent with TCPA. You must understand TCPA and embedded devices.Trusted
The blurb about "changing the way people see, hear and play" just didn't register.
Computing
Platform
AallianceI hope they do call me though. I'll give them a piece of my mind, followed by the URL of my DeCSS mirror.
Now I ask you this: if they're verifying the "system integrity" of a linux box with the TCPA, are they complying with the GPL?
-
Use ZooLib for Mac OS X and other platformsZooLib is a multithreaded C++ cross-platform application framework. It supports classic Mac OS (even 68k), and Carbon in CFM and has just gotten Mach-o executable format support.
You will want to get the code from CVS because there hasn't been a release in a long time. (Real Soon Now.)
If you code for ZooLib it is almost trivial to port your applications to Windows or the BeOS. ZooLib for Linux works for server applications but the GUI support is not complete (but would not be hard to do).
It also includes TCP networking and two choices of database support with a C++ API (but not SQL).
You can learn a little about ZooLib from my first draft of The ZooLib Cookbook I also wrote an article called Writing Cross-Platform Software - Getting Started.
-
Use Cross-Platform FrameworksYou should use cross-platform frameworks as much as you can.
There are a great variety of cross-platform libraries and frameworks that you would find useful. For example, for a humble JPEG coded, the Independent JPEG Group's JPEG library works really well and runs on everything from DOS to a Cray. It is portable beyond belief. For a lossless graphics format there is libtiff. (I don't know what's available for cross-platform video format software, but I'm sure there is some.)
If you're going to write in in C++, my favorite framework for GUI, file API's, TCP networking, multithreading and database is ZooLib. (But note that presently the best code to use is what's in CVS because it hasn't had a release in a long time (Real Soon Now, really!).
I've started writing a book about ZooLib that is released under the GNU Free Documentation License.
But if you don't like ZooLib, it's important to use some cross-platform framework. There are many to choose from.
Another important framework is the Simple DirectMedia Layer. You will want this for your rendered scenes and for sound (ZooLib does 2-D graphics, it's not a 3-D API).
If you write in C++, do as much as you can with the Standard Template Library. There are some excellent books that teach how to use it.
For a long time, the STL has got a bad rap, in part because the template definitions in the header files are hard to read, and in part because of poor compiler implementations of the C++ ISO standard, or poor implementations of the library itself. But by now there are excellent implementations for every OS that is in common use. For example, on Windows, don't bother with Visual C++ - use Metrowerks CodeWarrior or Comeau C/C++.
Even if you choose to work with a broken compiler, the STLPort library provides a compliant standard library that will work almost anywhere.
I was rather intimidated by the STL when I first encountered it but once I got a good book and learned how to use it, I thought it was the best thing since sliced bread.
Boost has many portable C++ libraries that are of excellent quality.
Finally, I am (slowly) building a website devoted to educating developers in cross-platform and portable programming called ByteSwap.net. Read my first article there Writing Cross-Platform Software - Getting Started. More articles will appear when I get more free time!
-
I'm posting this from a Mac I bought in '96I used to be an Apple employee, and Apple used to have this program called "Loan to Own". It started in the days when most people couldn't afford to own their own home computers, so Apple would give a once-in-a-lifetime tremendous discount for the purchase of a computer by its employees, so they and their families could use them at home.
When I got my Mac 8500/150 in 1996, it was nearly the fastest personal computer money could buy. I used to say widely that it was about half the speed of a Cray 1 supercomputer that cost something like a $million back in 1980. I think the retail price at the time was like $3k.
For the longest time the only upgrade I put in Pishi was 64 MB of RAM, added to the original 32. There are 8 memory slots in here, it will take 1 GB. It is still possible to buy RAM for this box, although it's a little more expensive than today's PC memory.
I used it to bring work home, and later for consulting, for quite a long time. The last paid consulting work I did on her was in the spring of 2001.
In the middle of that job, I finally upgraded, and got a PowerLogix PowerPC G4 CPU upgrade card, as well as some more RAM.
I still have the original 2 MB of video RAM, but I'm thinking of upgrading to the maximum of 4 MB. I could put in a video card, but there are only three PCI slots.
Finally, I bought an Adaptec 29160N Ultra160 SCSI host bus adapter.
I put Mac OS X on it using Ryan Rempel's XPostFacto, and it works OK but is not really fast enough for production work. When I got a contract to do some OS X work I got a 700 Mhz G3 iBook which is really sweet.
The only reason I would want a G4 laptop is so I can do AltiVec programming, but for that I can use my old Mac, it's just not that fast. I'd also like a dual G4 machine to do SMP kernel coding.
What has given Pishi new life, though, was to install Linux on it. It's my main desktop machine, where I do all my web browsing and email. I have a much faster PC that runs Windows 2000 and Slackware, but I have been doing a lot of windows programming this last year so I can't leave it in Linux.
Pishi is running Debian 3.0 (woody) with kernel 2.4.19. And it works just fine.
Besides the increased video ram (so I can run 32-bit at the resolution I use) I'd also like to get an Ultra160 hard drive. The Adaptec card is running a SCSI-II hard drive I've had for years, which has my linux installation. There's only 2 GB on the drive, so I can't really use it for a fileserver, and it gets unresponsive if there's a lot of swapping. If I got a 40 GB Ultra160 drive and maybe some more ram, I could easily get five more years out of this machine.
My Mac is named after my cat Pishi. I say in the above web page about the machine that my parents are looking after her. They eventually brought her to me in Maine, and she was with me for a few months, but sadly she passed away from cancer. I named the machine Pishi because she used to like to sit on top of my monitor a lot back when I was doing a lot of BeOS programming.
Oh, one more thing - the BeOS won't boot with the PowerLogix card. But I understand it will boot with a Newer Technology G3 card. I'm hoping it will also boot with a Newer G4 card. Newer Tech is out of business but it's still possible to buy their cards, even brand new.
-
Where to find books that are Free as in FreedomYou can find quite a few books that are published under a variety of licenses such as the GNU Free Documentation License at The Assayer.
The most popular subjects there are "Science, Math and Computing" with 289 titles. There are quite a few other subjects covered there too.
The Assayer is more than just a list of books though - it has reader-contributed reviews. For example, here is the entry for DocBook: The Definitive Guide by Norman Walsh (available at www.docbook.org). There is a review at the bottom of the entry page.
I'm writing a Free book, although it is at a very early draft stage. The ZooLib Cookbook is a tutorial for the ZooLib cross-platform application framework.
I'm also slowly creating a copylefted collection of articles on software quality at the Linux Quality Database.
-
John Lakos: Large Scale C++ Software DesignI strongly recommend John Lakos' Large Scale C++ Software Design to any programmer, not just C++ programmers. Here are the Amazon and Association of C and C++ Users Book Review pages about it.
While of course much of it is C++ specific, there is a great deal of information that applies to nearly any language. Most notable are his discussions of analyzing dependencies, and extensive discussion on resolving circular dependencies, and software "Design for Testability" (Unit Testing discussed much earlier than eXtreme Programming came along, as well as "White Box" testing.)
Lakos used to work for Mentor Graphics, an electronic CAD software vendor. Mentor was one of the first companies to adopt C++ for the development of large production systems back in the 80's, and their first attempts were collosal disasters. But surprisingly they didn't give up, instead they worked out a detailed methodology for doing successful and productive C++ development.
It has helped me immensely in my work, and I am on a quiet campaign to get all of my client's programmers to read it.
My page Avoiding Unnecessary Header File Inclusion is based on the ideas in Lakos book, if you want a detailed example of why this is worthwhile reading. (That part is C++ specific, though.)
About dependencies:
A well-designed program will have a "dependency graph" that has no cycles in it. This allows components of the programs to stand on their own, depending on at most a few other modules. This aids comprehension by developers, and also aids testing.
What this means is that many components of a program will depend either on nothing else at all, or at most on standard libraries. Then at the next level up, there will be some components that depend only on the components at the first level or the zeroth level (the standard libraries). You can continue up this way, with components depending only on levels below them.
This aids both reusability and unit testing. Reusability because a component can be taken elsewhere and only requires the few components it depends on to work, and unit testing because you can build test executables by linking in only a few dependencies. It also aids testing because you can be sure a component is tested if you have a test for the component directly, and tests for each of its dependencies.
Poorly designed (and all-too-common) programs have dependency cycles. That is, the graph of module dependencies is not acycling, and you cannot link a module in its own test harness without taking a lot of junk with it. Maybe it even requires the entire program. Really bad programs will have a great many cycles in their dependency graphs.
There are quite a few techniques for managing these dependencies, a few C++ specific but many of them language-independent. Lakos catalogs many of them.
About unit testing:
Probably most people here are at least passingly familiar with unit testing. But Lakos has a strategy for making the effort to write tests manageble while still getting good test coverage.
First, you "levelize" your program (that is, create an acyclic dependency graph for your program).
Then, for each module, you make the assumption that the dependencies are already tested, and write the test for the module itself so that it only intentionally tests the code which is actually part of the module under test. You don't try to test the dependencies "through" a module that is at a layer above them.
This makes the amount of test code scale linearly with the number of modules, and also moderates the requirements for the effort a test must make.
While complete test coverage requires a unit test for each module, it is not really necessary to write the tests for the lowest levels first (although that is probably the best strategy).
In an automated test run, though, one should generally run the lowest level tests first.
Finally, Lakos discusses how one could write automated tools for doing dependency analysis. One can do this for C++ by basing it on Open Source tools like mkdep.
-
Relative Demand of C++ and JavaWell I don't have an answer to your question, but I can relate some relevant information.
Someone posted on the accu-general@accu.org list a few weeks ago (the Association of C and C++ Users) that he'd been studying the demand for various job skills at employment websites in the U.K.
Suprisingly he found that the demand for C++ programmers was dramatically higher than that for Java programmers, and further that the pay scales offerred for Java programmers were very low.
This is in sharp contrast to the situation at the height of Tulipomania. Sometime in 2000 someone lamented on a post to a C++ newsgroup or list or something that it appeared that the hourly rates available to Java consultants was twice as much as those available to C++ consultants - as much as $250/hour. This despite the fact that C++ is a much more difficult language to master.
I think one thing this indicates is that the market for web server programming has fallen off the edge of the earth. But I'm not sure what all those C++ programmers are being hired for.
News of this study came as a relief to me because I've been doing mostly C++ the last few years, and although I know Java I haven't really put much effort into it. At some points I wondered if I had made a big mistake. But I've gotten very good at programming in C++, and enjoy it a great deal now, and in fact I'm finding demand for my consulting work is starting to pick up noticably.
I don't know how the U.K. results could apply to other countries, but you could check it for the U.S. by searching for various job skills at DICE and counting the number of hits you get for each.
You could do this more systematically by having a robot browse each of the job descriptions on DICE and scraping keywords and payrates out of each of them.
I can't post a link to the ACCU archive because the archives are only available to ACCU members and I'm afraid I let my membership lapse.
:-/ -
Now with valid HTML and correct linksA helpful reader named Jon Doyle wrote in to tell me I had a big HTML error in Why You Should use Encryption that caused half the page to be one big link. I hadn't noticed that because it didn't occur in the browsers I'd tried it with.
I ran it through the W3C HTML validator and found quite a few problems with the HTML, and have fixed them. The page now validates as HTML 4.01 transitional.
Also I have long had a bad link to a page called "Email Encryption Made Simple", and several people have written in over the last couple years to give me an updated URL, but I never got around to fixing it. Now the link works.
Finally, I urge the use of PGP on the page. But Network Associates no longer supports PGP. I thought it would be helpful to mention GNU Privacy Guard, which is actually what I use these days. I added links to it and will try to elaborate on it in the discussion sometime in the next week or so.
-
Anyone have Colleen Rowley's Email Address?If anyone knows how to email Colleen Rowley (the FBI agent who wrote the letter whose URL appears above), please send her the following URL:
Make a Bonfire of Your Reputations
What the heck, I'll just post the speech here, it's not that long:
http://www.goingware.com/reputation/When I was asked to make this address I wondered what I had to say to you boys who are graduating. And I think I have one thing to say. If you wish to be useful, never take a course that will silence you. Refuse to learn anything that implies collusion, whether it be a clerkship or a curacy, a legal fee or a post in a university. Retain the power of speech no matter what other power you may lose. If you can take this course, and in so far as you take it, you will bless this country. In so far as you depart from this course, you become dampers, mutes, and hooded executioners.
I found Chapman's speech quoted in the printed edition of The Cluetrain Manifesto, and from the moment I read it, I was unable to rest until I had up on my website at the above URL.As a practical matter, a mere failure to speak out upon occassions where no statement is asked or expect from you, and when the utterance of an uncalled for suspicion is odious, will often hold you to a concurrence in palpable iniquity. Try to raise a voice that will be heard from here to Albany and watch what comes forward to shut off the sound. It is not a German sergeant, nor a Russian officer of the precinct. It is a note from a friend of your father's, offering you a place at his office. This is your warning from the secret police. Why, if you any of young gentleman have a mind to make himself heard a mile off, you must make a bonfire of your reputations, and a close enemy of most men who would wish you well.
I have seen ten years of young men who rush out into the world with their messages, and when they find how deaf the world is, they think they must save their strength and wait. They believe that after a while they will be able to get up on some little eminence from which they can make themselves heard. "In a few years," reasons one of them, "I shall have gained a standing, and then I shall use my powers for good." Next year comes and with it a strange discovery. The man has lost his horizon of thought, his ambition has evaporated; he has nothing to say. I give you this one rule of conduct. Do what you will, but speak out always. Be shunned, be hated, be ridiculed, be scared, be in doubt, but don't be gagged. The time of trial is always. Now is the appointed time.
John J. Chapman
Commencement Address to the Graduating Class of Hobart College, 1900It's not easy to speak out about what you believe in, but if more people did, the world would be a better place.
-
Article: Why You Should Use EncryptionIf you aren't concerned that others may be reading may email, please take a moment to read my article: You would be suprised how easy it is to get access to the data you transmit over the Internet, and how many people are in a position to easily access it.
When you're done with that, consider also reading Is This the America I Love?
Thank you for your attention.
-
Article: Why You Should Use EncryptionIf you aren't concerned that others may be reading may email, please take a moment to read my article: You would be suprised how easy it is to get access to the data you transmit over the Internet, and how many people are in a position to easily access it.
When you're done with that, consider also reading Is This the America I Love?
Thank you for your attention.
-
The importance of speaking your mindI believe the best treatment for hate speech (on the Internet or otherwise) is more speech. Here's a couple of pieces, one that I wrote, the other a quote of a speech made 102 years ago that's as valid today as the day it was written:
-
The importance of speaking your mindI believe the best treatment for hate speech (on the Internet or otherwise) is more speech. Here's a couple of pieces, one that I wrote, the other a quote of a speech made 102 years ago that's as valid today as the day it was written:
-
Why You Should Use EncryptionPlease read my (somewhat dated) article, Why You Should Use Encryption as well as Is This the America I Love?.
Thank you for your attention.
-
Why You Should Use EncryptionPlease read my (somewhat dated) article, Why You Should Use Encryption as well as Is This the America I Love?.
Thank you for your attention.
-
My articles on software qualityI have great ambitions for the Linux Quality Database which are so far mostly unfulfilled, but for now I have some articles which you may find worthwhile reading:
- Why We Should All Test the New Linux Kernel
- Using Test Suites to Validate the Linux Kernel
- Use Validators and Load Generators to Test Your Web Applications
- Pointers, References and Values
- Properly Managing Memory Returned by transcode() in the Xerces XML Library (really about refactoring)
-
My articles on software qualityI have great ambitions for the Linux Quality Database which are so far mostly unfulfilled, but for now I have some articles which you may find worthwhile reading:
- Why We Should All Test the New Linux Kernel
- Using Test Suites to Validate the Linux Kernel
- Use Validators and Load Generators to Test Your Web Applications
- Pointers, References and Values
- Properly Managing Memory Returned by transcode() in the Xerces XML Library (really about refactoring)
-
Re:Why doesn't stuff like this get on slashdot?Hey thanks... it's good to know people appreciate what I wrote.
There are some relative links in the original, which in your post will appear to reside at slashdot, which will 404. The pages are:
Please read Please read this speech on the importance of speaking your mind.
Please read my page Why You Should Use Encryption as well as my letter Protect Your Rights with Encryption.
I'll go make them absolute URL's in the original now.
Let me also mention my DeCSS mirror and my Free Dmitry! page.
-
Re:Why doesn't stuff like this get on slashdot?Hey thanks... it's good to know people appreciate what I wrote.
There are some relative links in the original, which in your post will appear to reside at slashdot, which will 404. The pages are:
Please read Please read this speech on the importance of speaking your mind.
Please read my page Why You Should Use Encryption as well as my letter Protect Your Rights with Encryption.
I'll go make them absolute URL's in the original now.
Let me also mention my DeCSS mirror and my Free Dmitry! page.
-
Re:Why doesn't stuff like this get on slashdot?Hey thanks... it's good to know people appreciate what I wrote.
There are some relative links in the original, which in your post will appear to reside at slashdot, which will 404. The pages are:
Please read Please read this speech on the importance of speaking your mind.
Please read my page Why You Should Use Encryption as well as my letter Protect Your Rights with Encryption.
I'll go make them absolute URL's in the original now.
Let me also mention my DeCSS mirror and my Free Dmitry! page.
-
Re:Why doesn't stuff like this get on slashdot?Hey thanks... it's good to know people appreciate what I wrote.
There are some relative links in the original, which in your post will appear to reside at slashdot, which will 404. The pages are:
Please read Please read this speech on the importance of speaking your mind.
Please read my page Why You Should Use Encryption as well as my letter Protect Your Rights with Encryption.
I'll go make them absolute URL's in the original now.
Let me also mention my DeCSS mirror and my Free Dmitry! page.
-
Re:Why doesn't stuff like this get on slashdot?Hey thanks... it's good to know people appreciate what I wrote.
There are some relative links in the original, which in your post will appear to reside at slashdot, which will 404. The pages are:
Please read Please read this speech on the importance of speaking your mind.
Please read my page Why You Should Use Encryption as well as my letter Protect Your Rights with Encryption.
I'll go make them absolute URL's in the original now.
Let me also mention my DeCSS mirror and my Free Dmitry! page.
-
Why doesn't stuff like this get on slashdot?Is This the America I Love?
Copyright © 2001 Michael D. Crawford. Permission is granted to reproduce this document provided it is copied verbatim, in its entirety and that this copyright statement is preserved.
I just feel the need to write right now. Something has gone terribly wrong with the country I was raised to love. The good things that America stands for are being trampled into the dirt by those charged with the burden of protecting them.
I was raised to be a patriotic American. I grew up a military brat - my father was a proud officer of the United States Navy, who served in the Vietnam War. When I was young, I was always told that my father was fighting to preserve the freedoms that were guaranteed us by the United States Constitution.
In the first grade, I attended a school run by the U.S. Navy in Gaeta, Italy, where my father was stationed aboard the U.S.S. Springfield. Each day when we started school we sang patriotic songs and said the Pledge of Allegiance. We were told that America stood for freedom and democracy and justice.
I loved America for what it stood for.
I was told that things like political persecution, detainment without trial, and beating of prisoners were things that happened in other countries, that they would never happen in America. I was told that we fought the American Revolution and wrote the Constitution specifically to ensure such things would never again happen in America.
But today I see the ugly face of repression rising in America. And it is brought to you by the United States Government.
I am not proud to be an American today. I understand well why people in many other countries hate America. I love America, but I despise what it is rapidly becoming.
Something must be done about this.
There are many things that move me to write this, but what moved to me write this right now is that a member of a registered political party was singled out for harassment, first by American Airlines and then by the United States National Guard because of the opinions she holds.
Nancy Oden, one of the U.S. Green Party's top officials, was traveling to a Green Party national meeting from her hometown airport in Bangor, Maine. She had published a statement that calls for Universal Health Care, limitations on free trade, and a stop to the bombing of Afghanistan.
When she got to the American Airlines ticket counter she was told that there was a record in AA's computer indicating that she should be searched anytime she tried to fly.
During the search, she tried to help the security agent with a stuck zipper. The agent grabbed her arm and she pulled it away. The National Guard instructed the airline not to let her fly. The airline told all the other airlines not to let her fly. She was unable to attend the Green Party meeting.
So an official of a registered political party in the supposedly democratic United States was prevented from participating in the political process because her name had been recorded in a computer as someone who should be treated with suspicion.
I fear what America has become.
Also upsetting to me is the recent decision of the U.S. Bureau of Prisons to allow eavesdropping on attorney-client conversations as well as opening of their mail. Read the ACLU press release opposing this.
From the Washington Post article U.S. Will Monitor Calls to Lawyers:
Attorney General John D. Ashcroft approved the eavesdropping rule on an emergency basis last week, without the usual waiting period for public comment. It went into effect immediately, permitting the government to monitor conversations and intercept mail between people in custody and their attorneys for up to a year at a time.
The right to a vigorous legal defense is one of the cornerstones of our democracy. It is one of the bulwarks that comes between official repression and those who are repressed, underprivileged, despised, outcast, or working for legitimate political change. You can read about the guarantee of legal representation in our Constitution:
In all criminal prosecutions, the accused shall enjoy the right to a speedy and public trial, by an impartial jury of the state and district wherein the crime shall have been committed, which district shall have been previously ascertained by law, and to be informed of the nature and cause of the accusation; to be confronted with the witnesses against him; to have compulsory process for obtaining witnesses in his favor, and to have the assistance of counsel for his defense.
I don't have a URL to link you to ( mail me one), but I read that among the hundreds of "suspects" and "material witnesses" rounded up in the days after September 11, many were held without charge and some were beaten by their jailers. Also some were held without being given access to attorneys or their families. I thought that could not happen here...
The recently signed USA PATRIOT act is an assault on our civil liberties the likes of which have not been seen in decades.
Read the Electronic Frontier Foundation's Analysis of USA PATRIOT Act, which largely discusses the law's impact on online activities - did you know that the government can now spy on the key words you search for at search engines like Google and AltaVista? Because computer cracking is now considered terrorism, searching for exploitz can result in your lengthy imprisonment.
The truth is the first victim of war.
Shortly after the September 11th attacks, President Bush said something to the effect that the reason the U.S. was attacked was because the terrorists hated our freedom, and that we must fight the terrorists in order to preserve it.
But Osama bin Laden does not care either way about our freedom. He has made it very clear why he hates the U.S., and none of this has been acknowledged by any official statements that I have heard. What bin Laden objects to are the stationing of U.S. troops in Saudi Arabia, the land of the holy city of Mecca, U.S. support for Israel's repression of the Palestinians, and the continued U.S. bombing of Iraq. More than anything, he feels that the presence of U.S. troops in the Islamic Holy Land is a sacrilege.
Whatever your position is on bin Laden's objections to the U.S., you must agree that it is wrong for our President to lie to us. Get informed, and work to understand the complexities behind the enmity between the Islamic and Western world. It's not as simple as our government would have us believe.
You might be interested to know what the Pentagon is doing to improve the United States' image in the Islamic world. Well, I'll tell you. It has taken out a $400,000 contract with Madison Avenue public relations firm The Rendon Group in an effort to help it "orient to the challenge of communication to a wide range of groups around the world". In addition, former advertising executive Charlotte Beers has been apointed to the post of Undersecretary of State for Public Diplomacy, a position she qualifies for because of her previous work promoting such products as Head & Shoulders shampoo.
Read about it in Propaganda Wars.
Well, its comforting to know that we'll be winning friends in Central Asia by showing professionally produced TV commercials depicting friendly Americans in between the news reports of mutilated and starving Afghani children.
What You Can DoIf you, like myself, feel that something is wrong with America these days, or with whatever country you find yourself in, speak out about it.
In this troubled times, speaking openly to inform others of injustice or to protest may result in a backlash against you from government officials or others. Please read this speech on the importance of speaking your mind. Have courage - it is only by having the courage to speak and to work against injustice that we can prevent it from getting a lot worse.
Among the ways you can speak out
- Participate in online communities
- Send email to people you know
- Write web pages like this one and post the URL around
- Write letters to the editors of your local newspapers
- Staple leaflets to bulletin boards in your community
- Pass out leaflets in public places
- Call in to talk radio shows
Secondly, participate in what we have left of the democratic process. Our government has at least the appearance of having been elected, and the easiest way to make a change is to vote out the ones who have brought this upon us.
- Volunteer for political candidates you believe in
- Get a bunch of voter registration cards and stand in a public place to register voters
- Donate money to political candidates and parties who respect civil liberties
- Vote
- Write letters to your elected representatives. While you can send email, Congress gets so much spam that they pretty much ignore email these days. Instead, you can find your Congressperson's postal address at www.congress.org - write them a paper letter.
Use encryption to protect your privacy. Please read my page Why You Should Use Encryption as well as my letter Protect Your Rights with Encryption.
You can get encryption software for free - you can use either Pretty Good Privacy or The GNU Privacy Guard. Both offer excellent, military strength protection of your data, and the source code to each is freely available so that programmers are able to inspect it for security defects and back doors.
Teach the people you correspond with to use encryption.
Teach people who work for political change to use encryption. If you don't think political candidates and their staff need to use encryption, you're too young to remember Nixon's Plumbers getting caught breaking into the Watergate Hotel to wiretap the Democratic National Committe.
Join organizations that work to protect civil liberties. Among these are:
- The American Civil Liberties Union - Join Here
- The Electronic Frontier Foundation - Join Here - the EFF works to protect our civil liberties in the online world, including working to ensure that the work of computer programmers is protected as free speech under the First Amendment, thereby ensuring you access to software that guards your security and privacy.
- The Center for Democracy and Technology - Get Involved - working "to promote democratic values and constitutional liberties in the digital age"
- The Electronic Privacy Information Center - Donate Here - "established in 1994 to focus public attention on emerging civil liberties issues and to protect privacy, the First Amendment, and constitutional values.
One might think, and one certainly hopes, that the ultimate safeguard against these threats to our civil liberties lies with the Supreme Court of the United States. But I am not so certain myself. The Supreme Court has ruled against the dictates of law and the Constitution during other troubled periods in our nation's history.
And we should remember that the current President received a minority of the popular vote and was only declared to have a majority of the Electoral Vote after an obviously politically motivated ruling by the Supreme Court, a decision that has few pretenses of being based on the rule of law. Even had all the ballots been counted, enough Black Florida citizens were prevented from going to the polls that the election would clearly have gone for Gore had they been allowed to exercise their right to vote.
As said in the dissenting opinion by Justices Stevens, Ginsberg and Breyer in Bush v. Gore (note - this is an Adobe Acrobat document):
What must underlie petitioners' (nb. - George W. Bush') entire federal assault on the Florida election procedures is an unstated lack of confidence in the impartiality and capacity of the state judges who would make critical decisions if the vote count were to proceed. Otherwise, their position is wholly without merit. The endorsement of that position by the majority of this Court can only lend credence to the most cynical appraisal of the work of judges throughout the land. It is confidence in the men and women who administer the judicial system that is the true backbone of the rule of law. Time will one day heal the wound to that confidence that will be inflicted by today's decision. One thing, however, is certain. Although we may never know with complete certainty the identity of the winner of this year's Presidential election, the identity of the loser is perfectly clear. It is the Nation's confidence in the judge as an impartial guardian of the rule of law.
We must work together to restore the rule of law in our country - or we shall surely suffer for it. If you do not agree that Fascism can arise in the United States, take heed of the fact that Adolf Hitler was elected as the leader of his country too.
November 12, 2001
-
A Topical EssayIs This the America I Love?.
I loved America for what it stood for.
I was told that things like political persecution, detainment without trial, and beating of prisoners were things that happened in other countries, that they would never happen in America. I was told that we fought the American Revolution and wrote the Constitution specifically to ensure such things would never again happen in America.
-
Is This the America I Love?I fear what America is becoming. But there are things that you and I can both do. Read about it here.
Suggestions appreciated.
-
Is This the America I Love?"I loved America for what it stood for.
I was told that things like political persecution, detainment without trial, and beating of prisoners were things that happened in other countries, that they would never happen in America. I was told that we fought the American Revolution and wrote the Constitution specifically to ensure such things would never again happen in America. "
Read it here
-
Why You Should Use EncryptionC'mon, even my Aunt Peggy understands that gentleman don't read each other's mail.
-
Why You Should Use EncryptionWell, if you don't yet, maybe this will convince you.
For what I feel is a cogent argument as to why everyone, even your mother, should use encryption, please read:
-
Re:win32 (nt) build observationsI got the same warnings you did, but it seems to work OK for me.
Interestingly there is a mention in the nt/INSTALL file that the version of make that comes in my version of Cygwin (pretty recent) won't build, but it seems to be OK. make --version shows 3.79.1 for me.
I worked with it for a few minutes then left it idle in the background. Nothing happened. I just tried C-u 12 M-x hanoi and it seemed to run OK.
What is your configuration? I'm using this machine only with NT4 SP6 and the memory upgraded to 512 MB.
-
Emacs Turned Me Into a Real ProgrammerEarly in my career I programmed because I was able to get a job doing it and it paid the rent. I didn't like doing it, I didn't make all that much money off of it, and I didn't write particularly good code either.
Then a consultant visited my employer and installed Emacs on our Suns. He gave me a little introductory lecture about Free Software and showed me a couple demos, but I didn't use it much right away.
Then my friend Jeff Keller, who was an ardent user of GNU Emacs and personally acquainted with RMS from his time at MIT, spent an evening driving around in my car with me singing the praises of Emacs. I decided to give it a try.
It wasn't too long before I discovered that it was extensible, but it wasn't too clear how one did it. For some reason I got hooked on the idea of writing my own native C functions callable from elisp - there are a lot of such functions built in - as well as calling lisp from C.
I started reading the source code.
I kind of dropped out of site as far as my employer was concerned for quite some time, diving headlong into both learning to use emacs proficiently and to program in it, but in the end I had a profound realization:
There was something worth a damn someone can create by programming.
I decided it would be worth the effort to program for real, in hopes that someday I could make a program as great as Richard Stallman's Emacs. Previously I had had the idea that software was more of a curiousity and not something to be taken seriously.My education was in Physics and Astronomy and back then I hadn't even completed my degree so I had a lot of work ahead of me.
For most of my career I have usually selected the jobs I took based on what there was to learn in them. So I got my education in programming on the job, and in a very practical way. But I also spent a lot of time with basic texts, learning the fundamentals.
It's been about 14 years since then - I learned about Free Software before Linus even started at the University, let alone wrote Linux - and I've learned a lot and written quite a lot of software.
I still haven't written my Great Program but I have various thoughts as to what it might be.
With mixed feelings I say now that my favorite development environment is the Metrowerks CodeWarrior IDE. I don't have the Linux version yet so often when programming on Linux I mount my source code directory via samba or netatalk on a Mac or Windoze box and edit my files using codewarrior, doing my compiles and testing via X over the net.
If I'm just programming within Linux I use whatever calls itself "vi" on my box, whether that is Vim or Elvis or whatnot.
Every now and then I do pull out emacs though. When I need the power. Usually these days I just want something quick and simple.
-
My Page on Why You Should Use EncryptionI hope development continues of PGP freeware.
I admit I haven't tried out GPG yet but I probably will soon.
In any case, if you don't use either PGP or GPG then please read my article Why You Should Use Encryption
Yes I know the link to the canadian article I mention is busted and someday I will even fix it. Not right now though.
-
How to cheat in Sim CityEarly on in my programming career I figured out how to cheat in sim city, the original one for the Mac.
Wait until the amount of money left was some unusual number.
Then press the debugger switch and search for that number in memory. I think it was the "F" command. Here are some macsbug tips.
Likely that number will be found in several places in memory (so keep pressing F to find them all). Now press "g" to continue and play a little while until the money changes.
Now search again. Notice what locations are the same between each of the two values you searched for. Use SL or SW or something to set the money to a high number.
Once I showed my housemates this I never had any peace anymore. They always wanted me to cheat for them. Once I'd done it a couple times myself I never cheated on my own games, it took all the fun out.
I'm not claiming this is an original cheat but I thought I was pretty clever.
-
Martin Luther King's take on the DMCAOne has a moral obligation to disobey unjust laws..
-- Martin Luther KingIn more detail - the Supreme Court does not render advisory opinions. That is, you cannot simply ask the court to judge whether a law is constitutional or not. To have a law declared unconstitutional, one must actually violate the law and pursue one's defense to the highest court in the land.
The benefit of having unjust laws struck down by the Supreme Court comes at the cost of risking one's freedom if one's attempt proves unsuccessful - or even one's life, in the event the law in question provides for capital punishment.
-
I think I've seen one at Burning ManI recall some kind of rocket or jet powered go-kart at Burning Man. I don't think it was the same guy. The first year I was there I heard, but could not see (because of the crowd), the cart going around The Man just before he was ignited. The next year I saw the guy cruising around the desert in it.
-
Re:General XML question from a newbie.Look for the XML solutions at the Apache XML Project - Xerces and the like.
Some are available for both Java and C++.
Sorry I don't have a more detailed answer to your question but I'm sure something can be built from the Apache XML stuff.
-
My Letter to Friends, Family and Adobe HRI have quite a few friends and family who use computers, but are quite far removed from what's going on. They are probably only peripherally aware of Dmitry's plight, so I'm emailing them all this letter.
Also, I recently applied for a position as a software engineering manager at Adobe, which would be a good job for me and for which I feel I am qualified. Times have been tough for me and my little family and for quite some time I thought I might not speak out in a public way on this matter.
But long ago I decided that staying quiet was the wrong thing to do, so after quaking in fear for a while I decided I'd copy the following letter to the nice lady in the Adobe HR department who has been considering my application.
Subject: Free Dmitry
Friends,
I have long held the belief that computer programs are constitutionally protected free speech. They are, after all, how us programmers communicate with each other. This is also the opinion of at least one federal court, although it is yet to be tested by the Supreme Court.
However, on July 16, Russian computer programmer Dmitry Sklarov was arrested by the FBI for writing a computer program and presenting a paper on it at a security conference in Las Vegas.
His paper, "eBooks Security: Theory and Practice", exposed the woefully inadequate security schemes used to copy protect Adobe eBooks ("secure" electronic publications, basically encrypted PDF files).
If you have PowerPoint, you can get his presentation here:
http://www.download.ru/defcon.ppt
You can purchase, and download a free trial version of Advanced eBook Processor here:
http://www.elcomsoft.com/aebpr.html
Rather thank thanking him for revealing their engineering flaws, Adobe made a complaint to the FBI, and the FBI arrested him under the Digital Millenium Copyright Act. He is being held without bail, out of communication with his wife and children, in a foreign country, facing a $500,000 fine and five years in federal prison.
The digital millenium copyright act is clearly unconstitutional, not just in that it violates free speech for programmers, but that it violates fair use - the right of citizens to make limited copies of copyrighted materials for certain uses such as backup and academic research.
If you want to know more about Dmitry's case, please visit:
You'll find pictures there of Dmitry, and of his wife and children, who I am sure miss him greatly.
And please consider joining the Electronic Frontier Foundation, which is pressing two other court cases to try to have the DMCA ruled unconstitutional and will lend his support to Dmitry once the U.S. Marshalls tell them where he is, you can do so here:
Please pass this mail on to anyone who might be interested to hear it.
Ever Faithful,
Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com/
crawford@goingware.comTilting at Windmills for a Better Tomorrow.
Mike