The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘History’ Category

Want for birthday or X-mas: “The Lamp” and “BBS: The documentary”

Posted by jpluimers on 2017/02/13

Via KansasFest 2009 Keynote with Jason Scott | KansasFest [WayBack] I bumped into these documentaries by Jason Scott Sadofsky:

The BBS Documentary DVDs are No Longer for Sale [WayBack] though “There will be digital copies sold in the future!” and there is “BBS The.Documentary Part 1 – Baud – YouTube”

There are upcoming documentaries as well, including one on the 6502.

–jeroen

Posted in 6502, History | Leave a Comment »

Lots of new Apple related scans at BitSavers

Posted by jpluimers on 2017/01/22

New scans at BitSavers

Sun Remarketing MFM controller:

Sony disk drive OA-D34V-22 pictures

Service documentation:

 

–jeroen

Posted in Apple, Apple ][, Classic Macintosh, History, Power User | Leave a Comment »

The Chernobyl Story [Updated & Expanded] – Album on Imgur

Posted by jpluimers on 2017/01/16

From the author of [WayBack] The Chernobyl Story [Updated & Expanded] – Album on Imgur:

I’ve assembled this collection of images surrounding the Chernobyl nuclear disaster to help people gain a better understanding of what happened. It is a very brief, but complete(ish) retelling of what happened, using edited text from a book I’ve written called “Chernobyl 01:23:40”. The book can be bought from Amazon, if anyone’s interested.

The book is even more impressive: “Chernobyl 01:23:40”

–jeroen

via: [WayBack] #insightful The story of #Chernobyl in pictures. – Jan Wildeboer – Google+

Read the rest of this entry »

Posted in History | 2 Comments »

History on line: Client Access/400 API Planning Guide Document Number GG24-4422-00 October 1994

Posted by jpluimers on 2017/01/04

About 12 years ago, I did some Client Access/400 work. When cleaning up “the attic”, I bumped into a paper copy of the below manual. To my surprise that document is still available on-line: http://www.redbooks.ibm.com/redbooks/pdfs/gg244422.pdf

Client Access/400 API Planning Guide

Document Number GG24-4422-00 October 1994

International Technical Support Organization Rochester Center

Then there is ” This table lists the AS/400 Version 3, Release 7 books that are available in Portable Document Format (PDF).”: http://publib.boulder.ibm.com/html/as400/online/V3R7PDF.HTM which contains a link to SC41-3513-01 “AS/400 Client Access for Windows 95/NT API and Technical Reference V3” which I also used: http://publib.boulder.ibm.com/pubs/pdfs/as400/V3R7PDF/QBKACO01.PDF

These were (for me back then) the most important chapters of the first book:

12.2 Typical Usage of the API

An application using the Remote Command/Distributed Program Call function will make use of two objects. Each of these objects are identified to the application through a handle. The objects are:

  • System object – This represents the AS/400 system. Commands can be run and programs can be called on this object.
  • Program object – This represents the AS/400 program. Parameters can be added and the program sent to the system to run the program.

There is not a separate object for commands. The command string is sent directly to the system object.

Table 16 shows how these API functions would be typically used.

Table 16. Remote Command / Distributed Program Call – Typical Usage Examples

Action

Start the host server and program.

Create a program object.

Add parameter 1 (input) to the program object.

Add parameter 2 (input/output) to the program object.

Add parameter 3 (output) to the program object.

Call the program with parameters in the same order that they were added to the program object with the cwbRC_AddParameter() calls.

API Function Call an AS/400 program

cwbRC_StartSys(′′SYS01′′, &hSystemHandle)

cwbRC_CreatePgm(′′PROG01′′, ′′LIB01′′,

&hPgmHandle)

cwbRC_AddParm(hPgmHandle, CWBRC_INPUT ,

uParm1Length, pchBuffer1)

cwbRC_AddParm(hPgmHandle, CWBRC_INOUT,

uParm2Length, pchBuffer2)

cwbRC_AddParm(hPgmHandle, CWBRC_OUTPUT,

uParm3Length, pchBuffer3)

cwbRC_CallPgm(hSystemHandle, hPgmHandle,

&hMsgHandle)

Run a CL command on the AS/400

cwbRC_RunCmd(hSystemHandle, pszCommandString,

&hMsgHandle)

Clean up at the end

cwbRC_DeletePgm(hPgmHandle) cwbRC_StopSys(hSystemHandle)

Run a command.

Delete the program object.

Terminate the conversation with the AS/400 server.

12.3 Remote Command / Distributed Program Call API Functions

Table 17 lists the API functions. For a complete list with parameters see the Client Access/400 Optimized for OS/2 API and Technical Reference, SC41-3511.

Table 17. Remote Command / Distributed Program Call – List of API Functions

API Function

cwbRC_StartSys()

cwbRC_GetSysName()

cwbRC_StopSys()

cwbRC_RunCmd()

cwbRC_CreatePgm() cwbRC_AddParm()

cwbRC_CallPgm()

cwbRC_GetParmCount()

cwbRC_GetParm()

cwbRC_GetPgmName()

cwbRC_GetLibName()

cwbRC_DeletePgm()

Description Original API

Starts a conversation with the – specified system.

Gets the name of the system for this – conversation.

Stops the current conversation with EHNSRSTC() the AS/400 system.

Issues the command on the system EHNSRSBM() identified by the handle.

Creates a program object. –

Adds a parameter to the program – object identified by the handle.

Calls the program identified by the – handle.

Gets the number of parameters for – this program object.

Retrieves the parameter identified by – the index (index value for the first parameter is 1).

Gets the name of the program that – was used when creating this program object.

Gets the name of the library that was – used when creating this program
object.

Deletes the program object identified – by the supplied handle (the AS/400
program object is NOT deleted).

–jeroen

Posted in Development, History, Software Development | Leave a Comment »

Bye, bye ADSL…

Posted by jpluimers on 2016/12/27

As I got rid of some final hard coded IPv4 stuff, earlier this month I said good-bye to Ziggo cable internet.

Today, the xs4all ADSL line finally got disconnected as well:

My old trusty Fritz!Box 7340 showing ADSL got disconnected for good on 20161217

My old trusty Fritz!Box 7340 showing ADSL got disconnected for good on 20161217

Which means that the years of running an xs4all DSL connection over mxStream, KPN FAST ADSL and xs4all ONLY are over. Oh the days:

Read the rest of this entry »

Posted in ADSL, fiber, History, Internet, ISP, KPN, Power User, xs4all, Ziggo/UPC/A2000 | Leave a Comment »

Apple Tesseract 1992 prototype (not Tessaract)

Posted by jpluimers on 2016/12/23

A while ago that bitsavers published a picture of an Apple 1992 Tesseract Motherboard.

It’s from the 68k to PowerPC RISC transition Apple made in the second half of the 1980s and first half of the 1990s where several groups within Apple were working on new equipment.

More details of those are here:

Note this is not [Wayback] TesSeRact from the DOS TSR (Terminate and Stay Resident) days:

Via [Wayback] Ralf Brown’s Files

Downloadable files by Ralf Brown:x86/MS-DOS Interrupt List, RBcomm, SPAWNO, AMISLIB, DV-GLUE, RBdualVGA,RBkeyswap, RBspeed, PCICFG, CMU-EBMT. (20aug10)

 

–jeroen

Read the rest of this entry »

Posted in 68k, History, MS-DOS, Power User, PowerPC, Tesseract, TSR Terminate and Stay Resitent | Leave a Comment »

Kmart 1974 Kmart in-store christmas (neeeee, holiday season) music

Posted by jpluimers on 2016/12/20

Wow: what a sound quality those reel to reel tapes had even at 3 3/4 inch per second!

Recorded using an Akai GX-4000D: excellent equipment which lasts forever.

The original has more background informatio. It’s at Kmart December 1974 Reel To Reel : Tape-A-Thon : Free Download & Streaming : Internet Archive

The youtube location has the full playlist. Enjoy! https://www.youtube.com/watch?v=cgnaWbPLAks

Posted in History | Leave a Comment »

Delphi history – on the FINITEFLOAT compiler option that has no one-character shortcut

Posted by jpluimers on 2016/12/14

Back in the .NET days, Delphi had an FINITEFLOAT compile option that came without a single-character shortcut.

It was about the handling of infinite float and other special float values in cases like overflow and underflow (including +Inf, -Inf and  [Wayback] NaN).

At first – in the [Wayback] Delphi 8 (Octane) era of which few people want to be reminded off – it was the [Wayback] undocumented counterpart of the [Wayback] 8087 exception mask in x86 mode. Hallvard Vassbotn wrote an article about it and Chee Wee Chua documented it before it got documented in Delphi 2009 (that coincidentally dropped .NET support in the compiler – go figure):

Whereas the native Delphi compilers had exceptions turned on, Microsoft compilers (including .NET) had them turned off, hence the compiler option.

Like most new Delphi features in this century, FINITEFLOAT didn’t come without quirks. Often these are fleshed out in 2-3 product releases, but this one wasn’t:

The FINITEFLOAT compile option didn’t have a single-character shortcut. This made it impossible to use the {$IFOPT ...} construct as IFOPT only works for single-character compiler options.

Which means you get questions like [Wayback] Why doesn’t {$ifopt FINITEFLOAT ON} compile? – Stack Overflow (I actually got into writing this article because I found a {$DEFINE FINFINITEFLOAT_ENABLED} in some pretty old code) and compiler enhancement requests like [WayBackQualityCentral – Please enhance the IFOPT directive for long switch names. It’s easier to read (which will likely never bee fixed).

For completeness some more information about exception masks in the native compiler:

  1. In the past you could only set the exception mask as part of the full control word using [Wayback] Set8087CW, nowadays you can use [Wayback] SetExceptionMask.
  2. Next to a precision mask, there are five exception masks you can set, see for instance this table from the [Wayback] Simply FPU Chap.1 Control Word section:

PM (bit 5) or Precision Mask
UM (bit 4) or Underflow Mask
OM (bit 3) or Overflow Mask
ZM (bit 2) or Zero divide Mask
DM (bit 1) or Denormalized operand Mask
IM (bit 0) or Invalid operation Mask

–jeroen

Posted in 8087, Algorithms, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 8, Development, Floating point handling, History, QC, Software Development | 1 Comment »

HDDWatches site. HDD Watch created from a Microdrive HDD. – Kristian Köhntopp – Google+

Posted by jpluimers on 2016/12/12

[WayBackKristian Köhntopp – Google+ – Ist ja bald Weihnachten pointed me to http://www.hddwatches.com/.

If I could wear watches (that’s over since I had RSI in the 1990s), I’d ask one for X-mas.

Which reminds me I still should have a few of these microdrives around.

The manufacturer is based on an Indiegogo project. Here are the links:

–jeroen

Posted in History, LifeHacker, Power User | Leave a Comment »

xyzzy, Relay Conferencing before IRC even existed

Posted by jpluimers on 2016/11/28

A while ago, I remembered xyzzy by David Bolen: a VAX/VMS program for the BITNET Relay conference system on BITNET/EARN. Yes, relay chat before IRC. Even ELIZA did operate as a chatbot on BITNET Relay.

I was part of it from the late 80s until the early 90s and vividly remember the chat rooms where at one time you could have smart people from all around the world participating: Asia, Middle East, Europe, North America and other regions.

All people had one thing in common: an enthusiastic vibe as they had immediately recognised what the benefits of near instant feedback were. World Wide before you had the WWW. It was addictive too (:

The most important Dutch relay node was HEARN which was named unlike the HNYKUN patterns at the University in Nijmegen (now Radboud Universiteit, but previously known as Katholieke Universiteit Nijmegen hence the KUN in the HNYKUN pattern).

I had an account at HLERUL52 (chemistry department) at first, then later at HLERUL5 as well (computer technology department). Only later I got an SMTP email address [Wayback/Archive] jeroenp@rulfc1.leidenuniv.nl.

Anyway: based on the list of Bitnet/Earn links and connections below, you’d think you could plot a route. The example is between me and a cyber friends who – in 1992 – I finally met in real life:

  1. Jeroen Pluimers <PCHPAPL@HLERUL52> /  <PLUIMERS@HLERUL5> ([Wayback/Archive]  and [Wayback/Archive])
  2. Peter Sawatzki <FE617@DHAFEU11> / <IN307@DHAFEU11> ([Wayback/Archive] and [Wayback/Archive])

But that table is not the only one, the actual routing tables were generated from [Wayback/Archive/Google] LINKSWT files (see below), which means that HEARN and DEARN had a direct connection collapsing the (expensive) transatlantic steps 3..5 into one.

Read the rest of this entry »

Posted in BITNET Relay, Chat, History, IRC, SocialMedia | Leave a Comment »