August 8, 2000 fun

DM in the Wall Street Journal

DM in the Wall Street Journal

Portland, OR, August 8, 2000 According to an article appearing in tomorrow’s Wall Street Journal, DevelopMentor has developed a new technology for creating software applications. Attached is a photo of this technology in beta test at DevelopMentor’s Portland Satellite office. DevelopMentor’s device is attached to a user and using the latest LFM technology it auto-generates complete software applications. Evil Genius, Chris Sells, DevelopMentor’s Senior Programmer, co-invented the technology with their Security Guru, the Prince of Darkness Keith Brown. Says Sells; [our] new technology holds great promise for future generations of code warriors.”

Cal Caldwell
Private Email

June 26, 2000 tools

UrlRun

Mon, 26 Jun 2000

To deal w/ the number of wrapped URLs I get in my email box, I built UrlRun. It checks the clipboard for an URL, no matter how broken, strips spaces, newlines and greater thans out of it and runs IE. To handle an URL as show above, select it, copy it to the clipboard and launch UrlRun.exe. I keep it on my QuickStart toolbar.

If you happen to be using Outlook 2000 or Outlook XP, Tim Tabor has built an UrlRun add-in that does the magic by simply right-clicking on a mangled URL that’s you’ve selected. It’s pure sex.

March 13, 2000 fun

Signs that you may be taking COM too seriously…

  • The family pet dies. The best explanation you can give the children is Fluffy’s reference count finally reached zero.”
  • You’ve mailed more than three written petitions to the city council of Enumclaw, Washington requesting that the town prefix its name with an I’.
  • Your wife has a rather irritating habit of QI’ing you for IMowsTheLawn, despite the fact that for years you’ve been returning everything from E_NOINTERFACE to RPC_S_SERVER_TOO_BUSY.
  • The best thing about the new generation of wireless internet devices is that you will be able to receive the DCOM and ATL mailing lists from almost anywhere.
  • Part of your IPO research strategy involves calling the company’s engineering manager on the phone and demanding a detailed explanation of apartments and threading.
  • The party you threw to celebrate the introduction of asynchronous RPC calls in Windows 2000 was significantly more expensive than your wedding reception.
  • Last Summer’s family vacation to Redmond, Washington.
  • All those emails you’ve sent to Chris Sells trying to convince him that ATL Internals” would make a really great movie.
  • Although it is humorous, there are a couple of items in the Signs you’ve hired the wrong COM developer…” list that you can’t help but view as personally insulting.
  • On your laptop there exists a half-completed manuscript entitled The Tao of COM.
  • You refer to your Social Security Number as your GUID.

Tony Toivonen
DCOM Mailing List

February 10, 2000 fun

ATL Borg

ATL Borg

Jeff Smith
Thu 2/10/2000 12:07 AM
Private Mail

January 20, 2000 fun

In defense of the VB Programmer

> ––-Original Message––-
> From: Russ Huffman [mailto:russ@DEVAUTHORITY.COM]
> Sent: Thursday, January 20, 2000 8:39 AM
> To: ATL@DISCUSS.MICROSOFT.COM
>
> Don’t we already have a bunch of programmers who have no
> idea about how the underlying systems work”? I think they
> are called VB programmers… ;)

I hate to break this to you, but I’ve met a lot of VB programmers trapped in the body of a C++ programmer. Unfortunately, many development shops place a lot of peer pressure on people to reject their yearnings to stop using semicolons and memory allocators. It’s sad, but VB programmers today are where US Blacks were in the 30′s and gays were in the 50′s. We have yet to see the Rosa Parks” or Stonewall Riots” for VB programmers.

BTW, I have been preparing a keynote address in case I am ever asked to keynote a VB-friendly conference. If you want to look at a draft, go to http://www.develop.com/dbox/dream.htm [ed: MLKs I have a dream” set to VB music]

…I have been to VB7. I’ve seen the promised land. I may not get there with you…

DB

PS: Last time I checked, all programmers have selective ignorance. I know nothing about 3D graphics. I know a lot about COM. VB gets under people’s skin because one can be ignorant of computer architecture and ASM and still
get a lot done.


Don Box
ATL Mailing List

December 1, 1999 fun

Abort, Retry, Ignore

Once upon a midnight dreary, fingers cramped and vision bleary,
System manuals piled high and wasted paper on the floor,
Longing for the warmth of bed sheets,
Still I sat there, doing spreadsheets:
Having reached the bottom line,
I took a floppy from the drawer.
Typing with a steady hand, I then invoked the SAVE command
But got instead a reprimand: it read Abort, Retry, Ignore.”

Was this some occult illusion? Some maniacal intrusion?
These were choices Solomon himself had never faced before.
Carefully, I weighed my options.
These three seemed to be the top ones.
Clearly, I must now adopt one:
Choose Abort, Retry, Ignore.

With my fingers pale and trembling,
Slowly toward the keyboard bending,
Longing for a happy ending, hoping all would be restored,
Praying for some guarantee
Finally I pressed a key — 
But on the screen what did I see?
Again: Abort, Retry, Ignore.”

I tried to catch the chips off-guard — 
I pressed again, but twice as hard.
Luck was just not in the cards.
I saw what I had seen before.
Now I typed in desperation
Trying random combinations
Still there came the incantation:
Choose: Abort, Retry, Ignore.

There I sat, distraught, exhausted, by my own machine accosted
Getting up I turned away and paced across the office floor.
And then I saw an awful sight:
A bold and blinding flash of light — 
A lightning bolt had cut the night and shook me to my very core. I
saw the screen collapse and die Oh no — my database”, I cried I
thought I heard a voice reply, You’ll see your data Nevermore.”

To this day I do not know
The place to which lost data goes
I bet it goes to heaven where the angels have it stored.
But as for productivity, well
I fear that it goes straight to hell
And that’s the tale I have to tell
Your choice: Abort, Retry, Ignore.

Anon

November 1, 1999 tools

Welcome to Attila!

Welcome to Attila!

Attila GDI sample
(Jim Murphy likes Attila and GDI a little too much…)

Welcome to Attila

Attila stands for ATL for Applications.” Attila is a set of extensions built on top of ATL to provide application-level services in the same flavor as MFC. Towards that end, Attila uses a lot of the same notions as ATL, e.g. heavy use of templates, static binding and reliance on the compiler and the linker doing their job.  Also, in the flavor of ATL, Attila is under-documented and requires a lot of user investment to make use of it. However, once you do, we think you’ll find the flexibility and efficiency worth it. If you don’t, you haven’t lost much, cuz Attila is free. Enjoy.

Disclaimer

Attila isn’t a class library. Some of the headers depend on some of the others. Some are stand-alone. You are free to pull in the pieces of Attila that you need and leave the rest alone. Most of the headers were built by different folks and while every effort was made to keep things consistent by choosing ATL design techniques, everyone does things there own way.

This work is the work of the individuals involved and does not represent any contribution of their respective employers. You are under no obligation to use any of Attila at any time, but if you do, please abide by the License.

License

Attila is copyright (c) 1999-2000 by its contributors.
All rights reserved.
No warrantees extended.
Use at your own risk.

You may use Attila in your product in compiled form without royalty.
You may not distribute Attila in source code form without the express written consent of the contributors.

The official home of Attila is http://www.sellsbrothers.com.

Installation

The current Attila bits are located at attila.zip. Download and unzip them into the folder of your choice (making sure to preserve path names). Make sure to add the Attila include directory to your compilers include path. For example, if you unzipped Attila into the c:\attila directory, add c:\attila\include to your compiler’s include path. You can check to make sure you did this right by building any of the samples in the samples folder.

Support

Please do not send Chris Sells or any of the other contributors personal email complaining about Attila. Also please do not post Attila bug reports to any other mailing list, e.g. DCOM or ATL. If you like, you can submit bugs to the Attila Hit Squad mailing list (but only if you’re a member). Nobody there is under any responsibility to fix anything in Attila, but you might shame someone into it. A much better way to contribute to the life of Attila is to submit the fix along with the bug report. Or even better, join the Attila Hit Squad mailing list and fix bugs submitted by others.

Official Attila Contributors

Who Did What

  • Chris did a lot of the initial framework.
  • Justin did CMsgTranslator.
  • Ed did CRegPreferences and CRegWindowSerializer.
  • Curt did the common dialogs and restructured and added AX support to property pages.
  • Matt and Shawn did work on the coolmenus and coolbars.
  • Simon did the multi-SDI stuff.
  • Joe did the command UI routing support.
  • Anthony did the command routing.
  • Rodrigo and Jim did the GDI wrappers.
  • Jorge did the Doc/View stuff.
  • Brad did the DDX/DDV support.
  • Shawn did CSimpleList.

Documentation

You might find some implementation notes for Attila in the docs folder, but you probably won’t. If you have any documentation you’d like to submit, we’d love to have it.

Samples

Check the samples.htm file in the samples folder of the Attila distribution. You can build all of the samples from the command line using the buildall.cmd batch file in the samples folder.

CComSingleInstanceModule

  • Uses Single_Instance_App as the DDE application name, preventing more than one single instance ATL application from running at a time. DDE application name should be based on something unique to the application, e.g. the module name.

SdiDocView

  • No MRU.

MdiDocView

  • None of the MDI accelerators work, e.g. ctrl-tab.
  • There seems to be a lot of glue code in CMainWindow that could be hoisted to a base class.
  • No MRU.

LookOut

  • Left pane needs work.

History

  • 8/14/00, Various property sheet enhancements.
  • 1/28/00, Simulated PSN_APPLY for Wizards and PSN_APPLY for modeless propsheets bug fix.
  • 12/8/99, CSimpleList and bug fixes.
  • 11/29/99, Bug fixes.
  • 11/25/99, Bug fixes.
  • 11/10/99, DDX/DDV and bug fixes.
  • 11/1/99, Bug fixes.
  • 11/1/99, Beta release.
October 25, 1999 fun

Still_Life_with_Aggregate

Still_Life_with_Aggregate

Still Life with Aggregate

Built using online Lite-Brite.

Jason Whittington
Private DevelopMentor Mailing List


← Newer Entries Older Entries →