From mouse at Rodents-Montreal.ORG Sun Jan 1 01:59:20 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Sun, 1 Jan 2012 02:59:20 -0500 (EST) Subject: russian PDP-11 like K1801BM2 CPU Startup reading w/o address? In-Reply-To: <201112160012.TAA23067@Sparkle.Rodents-Montreal.ORG> References: <201112160012.TAA23067@Sparkle.Rodents-Montreal.ORG> Message-ID: <201201010759.CAA21019@Sparkle.Rodents-Montreal.ORG> Back on 2011-12-15, I (quoted and) wrote >> The name of this student was William Hewlett. The product was the >> model 200A audio oscillator. > Hm, I have some very old (steel case with, I think, brown speckle > finish, all-valve construction, land-anchor weight) HP electronics. > I should check model numbers; I might even have a 200A. The item I had in mind turns out to be a 202A. I can see corners of similar gear on a closet shelf, though; it's possible there's a 200A lurking there. I'll probably be reporting details here some one of these months - I want to get that stuff cleared out and either stashed or handed off to a good home. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From gerhard.kreuzer at liftoff.at Sun Jan 1 10:38:40 2012 From: gerhard.kreuzer at liftoff.at (Gerhard Kreuzer) Date: Sun, 1 Jan 2012 17:38:40 +0100 Subject: Nice starting price, isn't it? ((Remember its not the whole machine its only the front panel)) Message-ID: <6C906A05A09644CB877DE3795E8C088E@mars> Hi, is anybody out there, who have enough money for burning it? ebay Nr. 250964436666 could be a nice buy ..... With best whishes to all for 2012 Gerhard From bfranchuk at jetnet.ab.ca Sun Jan 1 12:03:30 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Sun, 01 Jan 2012 11:03:30 -0700 Subject: russian PDP-11 like K1801BM2 CPU Startup reading w/o address? In-Reply-To: <201201010759.CAA21019@Sparkle.Rodents-Montreal.ORG> References: <201112160012.TAA23067@Sparkle.Rodents-Montreal.ORG> <201201010759.CAA21019@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F009FF2.4000000@jetnet.ab.ca> On 1/1/2012 12:59 AM, Mouse wrote: > Back on 2011-12-15, I (quoted and) wrote > >>> The name of this student was William Hewlett. The product was the >>> model 200A audio oscillator. >> Hm, I have some very old (steel case with, I think, brown speckle >> finish, all-valve construction, land-anchor weight) HP electronics. >> I should check model numbers; I might even have a 200A. > > The item I had in mind turns out to be a 202A. > > I can see corners of similar gear on a closet shelf, though; it's > possible there's a 200A lurking there. I'll probably be reporting > details here some one of these months - I want to get that stuff > cleared out and either stashed or handed off to a good home. > "Go west young man." Out here looking for a audio osc and other older test equipment. Coil winder would be handy too. > /~\ The ASCII Mouse > \ / Ribbon Campaign > X Against HTML mouse at rodents-montreal.org > / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B > > Ben. From ard at p850ug1.demon.co.uk Sun Jan 1 12:49:24 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Sun, 1 Jan 2012 18:49:24 +0000 (GMT) Subject: (OT) New Years greetings In-Reply-To: <4EFF7DD8.3030307@mail.msu.edu> from "Josh Dersch" at Dec 31, 11 01:25:44 pm Message-ID: > > On 12/31/2011 12:25 PM, Tony Duell wrote: > >> > >> For those of you with HP59309 clocks, don't forget to flip the little > >> swithc to '366' for next year :-) > > Thanks for the reminder :). I have one on my desk at work... Now why am I not suprised that people here have these fine devices.... I noticesd that somebody made much the same ocmment on the MoHPC forum. I can assure you that I hadn't seen that before I posted... As an aside, has anyone ever seen the battery box for this clock? I think it was much te same size (a quarter-width module) and held a number of D cells (in series/parellel?) I am just curious as to what it looekd like, how many cells, how they were connected, etc. -tony From ard at p850ug1.demon.co.uk Sun Jan 1 12:53:47 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Sun, 1 Jan 2012 18:53:47 +0000 (GMT) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from "Liam Proven" at Dec 31, 11 11:04:14 pm Message-ID: [BASIC-09] > Never even heard of that one, but then, I've never seen or used OS/9 I'm my I am not suprised, It wasn't that common. > life. Never owned a Dragon or any other 6809 box. I ran it on my CoCos. In generla, the OS-9 languages were very nice for an 8-bit machine. FWIW, I will happily agree that BCC BASIC is a very nice langauge too, and certainly one of the better BASICS. But if you claim it's 'the best' you have to expect somebvody to challenge you ;-) [...] > to play with something unusual... And OS/9 is just too rare. Never come > across it. > Hey, this is classiccmp, right? We do 'rare' here :-) -tony From glen.slick at gmail.com Sun Jan 1 13:49:46 2012 From: glen.slick at gmail.com (Glen Slick) Date: Sun, 1 Jan 2012 11:49:46 -0800 Subject: SCSI replacements (was Re: Data General computer) In-Reply-To: References: <4ed6d0c4.a222320a.6b52.ffffccd7@mx.google.com> <4ED6D9CE.7070806@gmail.com> <4ed6fd4c.e36a320a.20c5.1a9e@mx.google.com> <4ED7DBAF.5000306@philpem.me.uk> Message-ID: I bought a SCM PCD-50B SCSI Card Reader from http://a4000t.com for $62 plus shipping. So far I have been unable to get it to work with either a DEC VS3100 M76 or an InfoServer 1000. I was able to get it to work with a CMD CQD-220/TM in a PDP-11/73 system with RT-11 and XXDP 2.5. Haven't tried RSTS/E or 2.11BSD yet. I have EPROM firmware versions F220Y1A8 / F220Y2A8 on my CMD CQD-220/TM. The device configuration menu allows you to specify the SCSI ID and LUN for each logical drive. For example you can specify LUN 1 for the Compact Flash slot of the SCM PCD-50B. With the CMD CQD-220/TM I found that I had to disable Synchronous mode for the SCM PCD-50B or I would get errors. The first example output below shows the CMD CQD-220/TM configuration with Synchronous mode enabled and an error that occurs when booting XXDP from RD45 configured as DU1: and attempting to copy files to the SCM PCD-50B Compact Flash slot configured as DU0: The second example output below shows the CMD CQD-220/TM configuration with Synchronous mode disabled. In this configuration no errors occur when booting XXDP from RD45 configured as DU1: and copying files to the SCM PCD-50B Compact Flash slot configured as DU0: I was then able to successfully boot from the Compact Flash slot of the SCM PCD-50B and successfully run XXDP 2.5 diagnostics. FAILURE: -------- SCANNING SCSI DEVICES ATTACHED ... DEV0: DU0 SCSI ID 0 LUN 1 SCSI Compact Flash 1.28 Disconnect ON,Sync Mode ON,Prevent Medium Removal ON,Write W/Verify OFF, DEV1: DU1 SCSI ID 1 LUN 0 DEC RRD45 (C) DEC 0436 Disconnect ON,Sync Mode ON,Prevent Medium Removal ON,Write W/Verify OFF, DEV2 NOT AVAILABLE DEV3 NOT AVAILABLE DEV4 NOT AVAILABLE DEV5 NOT AVAILABLE DEV6 NOT AVAILABLE DEV7 SCSI ID 7 HOST ADAPTER, SCSI Reset ON,Density Mode ON, CHANGE CONFIGURATION ? (Y/N) N BOOTING UP XXDP-XM EXTENDED MONITOR XXDP-XM EXTENDED MONITOR - XXDP V2.5 REVISION: F0 BOOTED FROM DU1 124KW OF MEMORY NON-UNIBUS SYSTEM RESTART ADDRESS: 152000 TYPE "H" FOR HELP ! .INITIALIZE DU0: USER DATA ON DU0 WILL BE DESTROYED ! PROCEED?(Y/N/CR=N)Y .COPY DU1:*.* DU0: XXDPXM.SYS XXDPSM.SYS DRSXM .SYS ?WT ERR SUCCESS: -------- SCANNING SCSI DEVICES ATTACHED ... DEV0: DU0 SCSI ID 0 LUN 1 SCSI Compact Flash 1.28 Disconnect ON,Sync Mode OFF,Prevent Medium Removal ON,Write W/Verify OFF, DEV1: DU1 SCSI ID 1 LUN 0 DEC RRD45 (C) DEC 0436 Disconnect ON,Sync Mode ON,Prevent Medium Removal ON,Write W/Verify OFF, DEV2 NOT AVAILABLE DEV3 NOT AVAILABLE DEV4 NOT AVAILABLE DEV5 NOT AVAILABLE DEV6 NOT AVAILABLE DEV7 SCSI ID 7 HOST ADAPTER, SCSI Reset ON,Density Mode ON, CHANGE CONFIGURATION ? (Y/N) N From ajp166 at verizon.net Sun Jan 1 14:06:05 2012 From: ajp166 at verizon.net (allison) Date: Sun, 01 Jan 2012 15:06:05 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F00BCAD.2070401@verizon.net> On 01/01/2012 01:53 PM, Tony Duell wrote: > [BASIC-09] > >> Never even heard of that one, but then, I've never seen or used OS/9 I'm my > I am not suprised, It wasn't that common. > >> life. Never owned a Dragon or any other 6809 box. > I ran it on my CoCos. In generla, the OS-9 languages were very nice for > an 8-bit machine. > The COCO was an oddity as the 6809 was a machine that was closest to PDP11 and maybe second to the 68000. With that kind of design in the hardware I was not surprised then and now with the performance of the software. My pence on BASIC. I hate it. With that said I also use it. If there is a favorite it would be QB45/dos (yes it's for PC). Wrote a lot of process control software using it and it was nicely structured. However, the PX8 basic runs an amazing close second. It's the extended M$ basic common to CP/M running boxes. the upside is there is both interpreted and compiled versions. Test with interpreter, run as compiled. The next used is Cbasic. I found some aspects slow and awkward but useful. I've run all the versions of basic from MITS (M$) 4K, 8k and extended (12k) and have ROM 8K for the Netronics box. The last one I played with as it took a while to get it into a machine is LLL 8K. That Lawernce Livermore labs 8K basic and the code is public then and still. It was published in Interface Age I believe and also in their compendium of The Best of Interface Age (basic for just about every machine both tine and LLL). The only reason I can imagine the thread starting with a hunt for 8080/z80 basic is to have a language, any and that was one of the first and favorite. To that I suggest looking up TINY BASIC, there were several and they are not big. The advantage is most the source your could see and the IO interface to use it was often in the clear. A good place to start. If you want a non BASIC language find a copy of TinyC. NO it's not real C but good enough for small system stuff. My pence again.. Get a rom based machine level monitor and get away from the front panel toggles as that is slow and painful. If you are going to launch CP/M on the system you'll need it anyway. Oh, and once you have CP/M the available software list expands considerably and takes on all the great published and free foundation software. Foundation software in my mind are the tools like editors, assemblers, spreadsheets, Database, communications, and the all important games. Allison From lproven at gmail.com Sun Jan 1 18:12:13 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 2 Jan 2012 00:12:13 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On 1 January 2012 18:53, Tony Duell wrote: > [BASIC-09] > >> Never even heard of that one, but then, I've never seen or used OS/9 I'm my > > I am not suprised, It wasn't that common. > >> life. Never owned a Dragon or any other 6809 box. > > I ran it on my CoCos. In generla, the OS-9 languages were very nice for > an 8-bit machine. > > FWIW, I will happily agree that BCC BASIC is a very nice langauge too, > and certainly one of the better BASICS. But if you claim it's 'the best' > you have to expect somebvody to challenge you ;-) Oh, no, that's entirely fair! I have been slightly curious about OS-9 for years. I wonder if I can get an emulator running it? >> to play with something unusual... And OS/9 is just too rare. Never come >> across it. >> > > Hey, this is classiccmp, right? We do 'rare' here :-) Absolutely! I've been Googling and reading up on BASIC09. It certainly does sound impressive, although a bit more primitive than BBC BASIC. Did it have any graphics or sound facilities? -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From bfranchuk at jetnet.ab.ca Sun Jan 1 18:39:16 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Sun, 01 Jan 2012 17:39:16 -0700 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F00FCB4.2060107@jetnet.ab.ca> On 1/1/2012 5:12 PM, Liam Proven wrote: > I've been Googling and reading up on BASIC09. It certainly does sound > impressive, although a bit more primitive than BBC BASIC. > > Did it have any graphics or sound facilities? > I am not sure that it did. What I do remember is that Basic and Pascal both could be compiled threaded or direct asm code. Ben. From IanK at vulcan.com Sun Jan 1 19:43:11 2012 From: IanK at vulcan.com (Ian King) Date: Mon, 2 Jan 2012 01:43:11 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: Message-ID: On 1/1/12 4:12 PM, "Liam Proven" wrote: [snip] >I have been slightly curious about OS-9 for years. I wonder if I can >get an emulator running it? I recall finding a 6809 emulator a couple of years ago that included runnable OS/9 images - but rather than Googling it, I'll leave that as an exercise for the student. :-) -- Ian From mcguire at neurotica.com Sun Jan 1 21:22:07 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Sun, 01 Jan 2012 22:22:07 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <4EFEF596.2070109@iais.fraunhofer.de> References: <4EFEAF09.8040604@mail.msu.edu> <4EFEF596.2070109@iais.fraunhofer.de> Message-ID: <4F0122DF.3040002@neurotica.com> On 12/31/2011 06:44 AM, Holger Veit wrote: > You might look at TDL 12K Zapple Basic, which has a small jump table at > the beginning to call the standard CON/RDR/PUN-Routines of CP/M. > Originally this talked to the Z80 Zapple monitor, but it can be easily > adapted to anything. There is IIRC no I/O handling scattered through the > code. Where might one find a copy of this BASIC? -Dave -- Dave McGuire New Kensington, PA From derschjo at mail.msu.edu Sun Jan 1 23:31:24 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Sun, 01 Jan 2012 21:31:24 -0800 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <4F00BCAD.2070401@verizon.net> References: <4F00BCAD.2070401@verizon.net> Message-ID: <4F01412C.2020507@mail.msu.edu> On 1/1/2012 12:06 PM, allison wrote: > > > The only reason I can imagine the thread starting with a hunt for > 8080/z80 basic > is to have a language, any and that was one of the first and favorite. Yeah, that's pretty much why I asked. I'm just getting the IMSAI going and I'm not to the point where I can get CP/M running (still working out the logistics for the floppy drive, but that shouldn't take long). I just thought it'd be a fun, short, weekend project to get a BASIC running on it just to see it work. (And now the weekend's gone, so I guess it'll have to wait :) ). > To that > I suggest looking up TINY BASIC, there were several and they are not big. > The advantage is most the source your could see and the IO interface > to use > it was often in the clear. A good place to start. If you want a non > BASIC language > find a copy of TinyC. NO it's not real C but good enough for small > system stuff. > > My pence again.. Get a rom based machine level monitor and get away from > the front panel toggles as that is slow and painful. If you are going > to launch > CP/M on the system you'll need it anyway. The Cromemco 64FDC I have has a ROM monitor and that's what I've (mostly) been playing with. It's looking like CP/M for the 16FDC should be compatible as well, something I'll be trying out in the near future. > > Oh, and once you have CP/M the available software list expands > considerably > and takes on all the great published and free foundation software. > > Foundation software in my mind are the tools like editors, assemblers, > spreadsheets, Database, communications, and the all important games. Understood. Thanks for the suggestions! - Josh > > > Allison > From james at attfield.co.uk Mon Jan 2 06:55:37 2012 From: james at attfield.co.uk (James Attfield) Date: Mon, 2 Jan 2012 12:55:37 -0000 Subject: Looking for 8080/Z80 BASIC (allison) In-Reply-To: References: Message-ID: <003001ccc94d$d2db3d70$7891b850$@co.uk> On 12/31/2011 01:43 AM, Josh Dersch wrote: > Anyone have any recommendations for a reasonably featured 8080 or Z80 > BASIC? > > What I've got running at the moment is a mongrel IMSAI 8080 with a > Z80, 48K of working memory and a serial port. My eventual goal is to > get CP/M running on it (I have a Cromemco 64FDC -- anyone know of > either an official CP/M for this or know of a BIOS that supports this > controller before I start writing my own?) but for the time being I > thought it would be fun to get a BASIC running on it. > If you have drives hooked up you will be able to run Cromemco CDOS with a 64-FDC and the obvious choices would be either Cromemco 16K Basic or 32K Structured Basic (although 64K might be a better bet for that one). You don't say what CPU board you have but I have run CDOS in an IMSAI with a ZPU, 16-FDC and 64K and it runs nicely - lovely blinkenlights! Moving to CP/M shouldn't be too hard but you will have to either find a pre-patched one or integrate the IO and disk routines yourself and, catch 22, that needs a working system to start with (chicken and egg of course). If you do move to CP/M expect that the Cromemco Basic's won't work without some patching as they typically use some CDOS calls not present in CP/M. James From LYNCHAJ at YAHOO.COM Mon Jan 2 08:50:17 2012 From: LYNCHAJ at YAHOO.COM (Andrew Lynch) Date: Mon, 2 Jan 2012 09:50:17 -0500 Subject: SCSI-1 to IDE/SD bridge project Message-ID: <000d01ccc95d$e62a5fe0$b27f1fa0$@YAHOO.COM> Hi I will be getting additional SCSI to IDE/SD PCBs in mid-January 2012 in case anyone would like some Douglas's working SCSI to IDE/SD board with a firmware release is here http://groups.google.com/group/n8vem/browse_thread/thread/5d5fb5bf2f197082# The KiCAD EDA files are also posted on the N8VEM wiki http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder¶m=MINI%20SCSI%20t o%20IDE%20prototypes It is not complete yet but a working Zapple debug monitor is *major progress* towards a working bridge converter. Am looking for additional development team members to finish out the firmware on this project. We are very close and just need some additional effort to complete the project. Serious responses only please. Andrew Lynch From dkelvey at hotmail.com Mon Jan 2 10:55:01 2012 From: dkelvey at hotmail.com (dwight elvey) Date: Mon, 2 Jan 2012 08:55:01 -0800 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <4EFF7D94.20309@mail.msu.edu> References: , , <4EFF7D94.20309@mail.msu.edu> Message-ID: Hi While BASIC is good for a starting language it is not the first language I'd bring up on a machine unless it had already been setup on that machine. I'd bring up Forth. One can get the console in and out running first. One can then easily experiment with the disk IO until it is working right. The source is available and easy to understand. Once one has a good understanding, bringing up other languages is trivial. Dwight > From: derschjo at mail.msu.edu > > > > On 12/31/2011 12:15 PM, MikeS wrote: > > > > ----- Reply: > > > > Just curious: > > Does your memory configuration support swapping out the RDOS > > boot/monitor ROM? > > Not at the moment, I haven't quite worked out if this can be made to > work properly with non-Cromemco memory boards. The 64FDC manual > suggests "Set[ting] the switches on the RAM board(s) so that memory from > 8000h to FFFFh is disabled..." which implies that the boards must > support some way of re-enabling the memory via software (for when the > FDC's ROM is disabled via a write to port 40h). > > I'm wondering if this board isn't really optimal for this setup -- it > seems very geared toward having a complete Cromemco setup, which I do > not have. > > I do have an IMSAI MIO and a Tarbell 1011D, which seem more > period-appropriate for the era. The MIO has got to be the most > difficult to configure board I have ever seen. I've modified wire-wrap > backplanes with less hassle than this thing. There must be 50 or more > (poorly labeled) jumpers on this board and the manual is not the most > friendly I've ever seen (it doesn't help that the PDF I have has the > pages in the wrong order). (Anyone out there have experience with this > board? I don't really care much about getting the Cassette I/O or > parallel I/O working, I just want a serial port for the time being...) > I just need to spend more time studying the manual, I'm sure :). > > > > And what drive(s) do you have connected? As you probably know, the FDC > > supports 5.25"DD as well as 8" and the 3.5 and 5.25" HD equivalents. > > None at the moment, but I'm planning on connecting a 5.25" drive in the > near future. > > > > > > I haven't seen any standalone BASIC versions for the FDC; there are at > > least two versions of BASIC for the Cromemco, but AFAIK they both > > require a bootable CDOS disk. However, unless they use any of the > > extra calls in CDOS I wouldn't be surprised if they worked just as > > well with CP/M. > > For right now, I was just planning on assembling a raw binary image and > using a PC (with a bit of hacked together software) to push the image > into the IMSAI's memory via the 64FDC's serial port, using the onboard > monitor commands. Just for fun :). > > > > > > In addition to Cromemco's CDOS CP/M equivalent AFAIK there were also > > at least two official third-party CP/M implementations for the FDC and > > one or two hacked BIOSes, but there may be compatibility issues among > > the three different versions of the FDC. > > If you know of a source for images of these third-party CP/Ms, let me > know. Dave Dunfield's site has a CP/M for the 16FDC, which as far as I > can tell (from a cursory glance at the manuals) has identical I/O port > behavior to the 64FDC so I may just be able to use that, assuming I can > write the 8" image to a 5.25" floppy. > > > > > Interesting though; I'll have to look around... > > > > > > Thanks! > Josh From emu at e-bbes.com Mon Jan 2 11:04:57 2012 From: emu at e-bbes.com (emanuel stiebler) Date: Mon, 02 Jan 2012 10:04:57 -0700 Subject: SCSI-1 to IDE/SD bridge project In-Reply-To: <000d01ccc95d$e62a5fe0$b27f1fa0$@YAHOO.COM> References: <000d01ccc95d$e62a5fe0$b27f1fa0$@YAHOO.COM> Message-ID: <4F01E3B9.5050606@e-bbes.com> On 2012-01-02 07:50, Andrew Lynch wrote: > Hi > > I will be getting additional SCSI to IDE/SD PCBs in mid-January 2012 in case > > The KiCAD EDA files are also posted on the N8VEM wiki > > http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder¶m=MINI%20SCSI%20t > o%20IDE%20prototypes SCSI termination is left out intentionally? From ard at p850ug1.demon.co.uk Mon Jan 2 13:44:30 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Mon, 2 Jan 2012 19:44:30 +0000 (GMT) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from "Liam Proven" at Jan 2, 12 00:12:13 am Message-ID: > I have been slightly curious about OS-9 for years. I wonder if I can It's a very nice OS given the sort of machines it ran on. It'smultitalksing and even multiuser, it's device-independant (like unix, oyu can direct progam output to any device or to a file), it has a directory tree structure (a lot of the OSes for 8 bit micros didn't have subdirectories at all), and it's very modular (you can load new modules, decvice drivers, etc even when the system is running). And that would run on a 1MHz 680 with 64K RAM. [..] > I've been Googling and reading up on BASIC09. It certainly does sound > impressive, although a bit more primitive than BBC BASIC. > > Did it have any graphics or sound facilities? THe simple answer is 'no', but there's rather more to it that that. Does C have grapgics or sound facilites? The only mentions of graphics I can find in K&R is defining structs for points, rectangles, etc. The only mention of sound I can fidn is that \a produces a bell character. But of course we all know you can write graphics and sound programs in C. There will generally be libraries of functions to perform particular operations (plot a point, draw a line, fill an area, etc). You call those from your C program. One advantage of languages like C is thst there are extendable. You can have libraries of extra functuions that cna be used like hte built-in functions of the language. The same applies to to many other languages (forth being an obvious example). In genral, BASICs were not extendable like that. It is very difficult to add new keywords ot a BASIC interpretter, and the way to do it is not often docuemnted. Suppose you took a typicval 8 bit micro (say a C64 or a Spectrum) and interfaced it to a high-resuloution grapgics unit. There's no easy way to add or rewrite commands line LINE or SET. BBC BASIC is a better. You can write soem PROGs to call machine language routines (if necessary) to talk to your hardware. Even so, you have to write some part of it in BASIC (the definitions of the PROCs), and the names of the added commadns all start with PROC. But it's certianly a lot nicer than most other BASICs. But BASIC-09 lets you call add-on routines. They're essentially OS-9 modules. You could write hte graphics routines in any language you like and call them from a BASIC-09 program. Adding graphics and sound routines is entirely possible, just as it is in C. -tony From lproven at gmail.com Mon Jan 2 14:04:09 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 2 Jan 2012 20:04:09 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On 2 January 2012 19:44, Tony Duell wrote: >> I have been slightly curious about OS-9 for years. I wonder if I can > > It's a very nice OS given the sort of machines it ran on. > It'smultitalksing and even multiuser, it's device-independant (like unix, > oyu can direct progam output to any device or to a file), it has a > directory tree structure (a lot of the OSes for 8 bit micros didn't have > subdirectories at all), and it's very modular (you can load new modules, > decvice drivers, etc even when the system is running). And that would run > on a 1MHz 680 with 64K RAM. > > [..] > >> I've been Googling and reading up on BASIC09. It certainly does sound >> impressive, although a bit more primitive than BBC BASIC. >> >> Did it have any graphics or sound facilities? > > THe simple answer is 'no', but there's rather more to it that that. > > Does C have grapgics or sound facilites? The only mentions of graphics I > can find in K&R is defining structs for points, rectangles, etc. The only > mention of sound I can fidn is that \a produces a bell character. > > But of course we all know you can write graphics and sound programs in C. > There will generally be libraries of functions to perform particular > operations (plot a point, draw a line, fill an area, etc). You call those > from your C program. > > One advantage of languages like C is thst there are extendable. You can > have libraries of extra functuions that cna be used like hte built-in > functions of the language. The same applies to to many other languages > (forth being an obvious example). > > In genral, BASICs were not extendable like that. It is very difficult to > add new keywords ot a BASIC interpretter, and the way to do it is not > often docuemnted. Suppose you took a typicval 8 bit micro (say a C64 or a > Spectrum) and interfaced it to a high-resuloution grapgics unit. There's > no easy way to add or rewrite commands line LINE or SET. > > BBC BASIC is a better. You can write soem PROGs to call machine language > routines (if necessary) to talk to your hardware. Even so, you have to > write some part of it in BASIC (the definitions of the PROCs), and the > names of the added commadns all start with PROC. But it's certianly a lot > nicer than most other BASICs. > > But BASIC-09 lets you call add-on routines. They're essentially OS-9 > modules. You could write hte graphics routines in any language you like > and call them from a BASIC-09 program. Adding graphics and sound routines > is entirely possible, just as it is in C. Fair enough. That aligns BASIC09 and perhaps all of OS-9 firmly with the minicomputer and multiuser end of the OS spectrum. BASIC's stronghold - at least in my lifetime - was on home micros and graphics and sound facilities were part of that remit. It was, for me, one of the greatest weaknesses of the Commodore line of home computers - the VIC-20, Commodore 64, C128 and so forth - that their BASIC was very primitive, had no commands for structured programming and, crucially, no commands for sound, graphics, colour or any of the media facilities of the underlying hardware. I don't know much about the Dragon and CoCo, but they certainly had competent graphics and sound, and as they were the first platforms I ever read of for OS-9, I thought that maybe the CoCo/Dragon versions of OS-9 and BASIC09 had media facilities. For myself, TBH, I was always mainly interested in graphics, and that is what I mostly did in BASIC. Trivial and childish it might be, but then, I /was/ a child at the time! Back then, a BASIC with no *built-in* graphics facilities would not have interested me at all. Now, well, yes, a little different, but it's mainly what I used to play with. One of the things that frustrates me with C21 OSs and languages is that the graphics facilities of machines are locked away behind the high walls of libraries and APIs designed for professional developers - which are simply too hard for an interested amateur such as myself. And yes, in programming terms, I am very much an amateur! -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From ard at p850ug1.demon.co.uk Mon Jan 2 14:35:31 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Mon, 2 Jan 2012 20:35:31 +0000 (GMT) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from "Liam Proven" at Jan 2, 12 08:04:09 pm Message-ID: > Fair enough. That aligns BASIC09 and perhaps all of OS-9 firmly with > the minicomputer and multiuser end of the OS spectrum. BASIC's I thin kthat's right. The other languages yo ucould easily get for OS-9 (read : Radio SHack sold them on CoCO-format disks) included PASCAL-09 (which was full ISO Pascal) and C (which iIRC followed the origial K&R). > > I don't know much about the Dragon and CoCo, but they certainly had > competent graphics and sound, and as they were the first platforms I No brillieant on either front! The Text mode was 32*16 characters, upper case only (porgamming C was 'entertaining, sicne lower-case was displayed as inverse video), The highest resolution graphics mode was 256*192 dots in 2 colours. Sounds was a 6 bit DAC, entirely software driven I seem to remember the OS-9 console driver accepted certain contrl sequecnests to sset graphics mode, plot a point, on the CoCo. You could certianyl do that from BASIC-09 (and fro many other language, I remember wriing programs in Pascal to plot various fucntions). With the CoCo3 (there was no Drago nequivalent), you had the same sound facility, but mcu better grpahgics (80*24 text, upper and lower case, 640*192 graphics, selectable colours, etc). I am pretty sure, again, you could access this from OS-9 probably by sendign the right control sequences ot the console driver. Of course, you could write routines to send said contor lsequenes (or get osmeboy else to write them) and then call them from your program. > ever read of for OS-9, I thought that maybe the CoCo/Dragon versions > of OS-9 and BASIC09 had media facilities. > > For myself, TBH, I was always mainly interested in graphics, and that > is what I mostly did in BASIC. Trivial and childish it might be, but > then, I /was/ a child at the time! Back then, a BASIC with no > *built-in* graphics facilities would not have interested me at all. > Now, well, yes, a little different, but it's mainly what I used to > play with. Yes, I understnad. Of course The COOC had a ROM BASIC too, which had grpahicvs and sound commands. But that wasn't multi-tasking, it didn't let you access an OS-9 filesystem, etc. > > One of the things that frustrates me with C21 OSs and languages is > that the graphics facilities of machines are locked away behind the > high walls of libraries and APIs designed for professional developers > - which are simply too hard for an interested amateur such as myself. Oh,I amsolutely agree. It seems that modern PCs are not intended to be programmed by the user (look at the adverts, they talk of storing music, photos, etc, nothing about programming). For all my comments about BASIC-09, I do thin the BBC Micro is oen of the all-time great machines, and that it was probably the best educational computer ever made. The BASIC was good, it was easy to get 'something to happen' but you could go further if you wanted to. The idea of the user prot got a lot of people trying simple interface that is now much arder to do. (Yes, I do know there are USB-parallel ICs available. It's a lot harder to wire one of those up, get the driver to behavem etc than to simply wire a pin o nthe user prot connector to a transistor and then to a relay and enter a simple memory-reference commant to turn on a light or something). > > And yes, in programming terms, I am very much an amateur! An amateur is somebody who does something because they love it (think Latin), it has nothing to do with ability. -tony From huw.davies at mail.vsm.com.au Sun Jan 1 00:33:24 2012 From: huw.davies at mail.vsm.com.au (Huw Davies) Date: Sun, 01 Jan 2012 17:33:24 +1100 Subject: Visiting Bristol UK Message-ID: I'm yet again visiting Bristol UK for most of January 2012. I guess during the week I'll have to attend the training course that work is sending me to, but I wondered if anyone had any classic computer recommendations for the weekend? Assuming the weather is OK, I'm happy to drive a reasonable distance but local stuff is easier. I did Bletchley Park last time I was in the UK (November 2010) and I've already promised myself that I'll visit the SS Great Britain and the Newport cable bridge, but wondered if there were other CC related things in the area. If anyone in the area wants to catch up for a beer, I'd happily shout a pint of the local bitter. Huw Davies | e-mail: Huw.Davies at kerberos.davies.net.au Melbourne | "If soccer was meant to be played in the Australia | air, the sky would be painted green" From et at arpanet.com Mon Jan 2 12:38:10 2012 From: et at arpanet.com (Ed Taussig) Date: Mon, 2 Jan 2012 13:38:10 -0500 Subject: Wanted - Boards for KS-10 (PDP-20 / DECSYSTEM 20) Message-ID: Wanted - Boards for KS-10: (PDP-20/DECSYSTEM-20) 40722 64K memory M8629 64k memory M8616 Console+Clock M8618 memory controller M8619 unibus adapter M8621 Data path memory M8620 Data path execute M8622 Control Ram Address M8623 Control Ram I have a KS-10 with a few boards, but hopeful I'll be able to complete it someday - getting it running after that is another story :-) (Any leads on where to find those boards would be greatly appreciated). Thanks, Ed Taussig From jonas at otter.se Mon Jan 2 13:30:06 2012 From: jonas at otter.se (Jonas Otter) Date: Mon, 02 Jan 2012 20:30:06 +0100 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F0205BE.5040901@otter.se> > [BASIC-09] > >> > Never even heard of that one, but then, I've never seen or used OS/9 I'm my > I am not suprised, It wasn't that common. > >> > life. Never owned a Dragon or any other 6809 box. > I ran it on my CoCos. In generla, the OS-9 languages were very nice for > an 8-bit machine. In the early 1980s I worked for a fork lift manufacturer, and we were two persons who wrote a simple ISAM file database and a warehouse stock control system for a Swedish 6809 machine from a company called Primal Data. I have no idea why they chose that name, but their machines were well made. They had MMUs so I think we had 1 MB of memory in them. We wrote the software in Pascal under OS-9, some of it in Microware Pascal, later we discovered another Pascal, the name of which escapes me at the moment. I remember it compiled to machine code instead of p-code, and had a lot of bells and whistles which we found useful, although slightly buggy as opposed to Microware's Pascal which was quite solid IIRC. We managed to work two or three people at the same time on one machine. Compiling was dreadfully slow with only 5 1/4" diskettes and the machines were much nicer when we had 10 MB hard disks (Rodime) put in them. /Jonas From lproven at gmail.com Mon Jan 2 14:57:42 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 2 Jan 2012 20:57:42 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On 2 January 2012 20:35, Tony Duell wrote: >> Fair enough. That aligns BASIC09 and perhaps all of OS-9 firmly with >> the minicomputer and multiuser end of the OS spectrum. BASIC's > > I thin kthat's right. The other languages yo ucould easily get for OS-9 > (read : Radio SHack sold them on CoCO-format disks) included PASCAL-09 > (which was full ISO Pascal) and C (which iIRC followed the origial K&R). > >> >> I don't know much about the Dragon and CoCo, but they certainly had >> competent graphics and sound, and as they were the first platforms I > > No brillieant on either front! The Text mode was 32*16 characters, upper > case only (porgamming C was 'entertaining, sicne lower-case was displayed > as inverse video), The highest resolution graphics mode was 256*192 dots > in 2 colours. Sounds was a 6 bit DAC, entirely software driven Wow. Worse than a Spectrum! Impressive, and not in a good way. > I seem to remember the OS-9 console driver accepted certain contrl > sequecnests to sset graphics mode, plot a point, on the CoCo. You could > certianyl do that from BASIC-09 (and fro many other language, I remember > wriing programs in Pascal to plot various fucntions). Way over my head, I suspect, then or now. > With the CoCo3 (there was no Drago nequivalent), you had the same sound > facility, but mcu better grpahgics (80*24 text, upper and lower case, > 640*192 graphics, selectable colours, etc). I am pretty sure, again, you > could access this from OS-9 probably by sendign the right control > sequences ot the console driver. > > Of course, you could write routines to send said contor lsequenes (or get > osmeboy else to write them) and then call them from your program. > >> ever read of for OS-9, I thought that maybe the CoCo/Dragon versions >> of OS-9 and BASIC09 had media facilities. >> >> For myself, TBH, I was always mainly interested in graphics, and that >> is what I mostly did in BASIC. Trivial and childish it might be, but >> then, I /was/ a child at the time! Back then, a BASIC with no >> *built-in* graphics facilities ?would not have interested me at all. >> Now, well, yes, a little different, but it's mainly what I used to >> play with. > > Yes, I understnad. Of course The COOC had a ROM BASIC too, which had > grpahicvs and sound commands. But that wasn't multi-tasking, it didn't > let you access an OS-9 filesystem, etc. [Nod] >> One of the things that frustrates me with C21 OSs and languages is >> that the graphics facilities of machines are locked away behind the >> high walls of libraries and APIs designed for professional developers >> - which are simply too hard for an interested amateur such as myself. > > Oh,I amsolutely agree. It seems that modern PCs are not intended to be > programmed by the user (look at the adverts, they talk of storing music, > photos, etc, nothing about programming). Indeed. That is what the Raspberry Pi is designed to rectify. Whether it succeeds remains to be seen. > For all my comments about BASIC-09, I do thin the BBC Micro is oen of the > all-time great machines, and that it was probably the best educational > computer ever made. The BASIC was good, it was easy to get 'something to > happen' but you could go further if you wanted to. The idea of the user > prot got a lot of people trying simple interface that is now much arder > to do. (Yes, I do know there are USB-parallel ICs available. It's a lot > harder to wire one of those up, get the driver to behavem etc than to > simply wire a pin o nthe user prot connector to a transistor and then to > a relay and enter a simple memory-reference commant to turn on a light or > something). :?) I never had a BBC. Only used them at University. I came into the Acorn fold with my Archimedes A305 - when I bought it, 2nd hand, for ?800, it was considerably faster than the quickest machine my employers sold: an IBM PS/2 Model 70-A21, a 25MHz 80386DX with SRAM cache, which came in at about ?10,500 minus monitor, keyboard or DOS - quite a lot over 10? the price. No user port or anything on an Archie, but I wasn't and am not really interested in stuff like that. I fitted an external floppy interface and used its serial and parallel ports, though. The combination of raw CPU horsepower, accessible from an excellent BASIC, and good graphics facilities - vastly better than an Atari ST or a PC with the affordable contemporary standards of CGA or EGA - swung it for me, and I was very happy with my choice for quite a few years. I moved from that to OS/2 on a Librex 386SX notebook (a freebie from work), followed by a 486DX/50 (not a DX2!) that I bought 2nd hand online - in about 1992! :?) >> And yes, in programming terms, I am very much an amateur! > > An amateur is somebody who does something because they love it (think > Latin), it has nothing to do with ability. True, and have a bonus point for pedantry. ;?) I did love it then, but when I started working in IT, I discovered that I had no professional aptitude for it whatsoever. I was quite dismal at it. So I left it behind and have never returned. 25y of support work and building and running networks has left me very jaded with IT, though. I want out. Playing with older kit is still fun, and occasionally using it to write on, but that's about it. Modern games are mostly boring, with intensely difficult but very derivative gameplay, stunning graphics but no originality. The OSs are so complex that dabblers can't get involved, the hardware is vastly powerful but locked away behind elaborate drivers and professionals-only-need-apply languages. It's all rather dull. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From ethan.dicks at gmail.com Mon Jan 2 15:00:10 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Mon, 2 Jan 2012 16:00:10 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On Mon, Jan 2, 2012 at 3:04 PM, Liam Proven wrote: > It was, for me, one of > the greatest weaknesses of the Commodore line of home computers - the > VIC-20, Commodore 64, C128 and so forth - that their BASIC was very > primitive, had no commands for structured programming and, crucially, > no commands for sound, graphics, colour or any of the media facilities > of the underlying hardware. Yep. It was pretty much 1970s Microsoft BASIC all the way through, starting with the PETs in 1977. > One of the things that frustrates me with C21 OSs and languages is > that the graphics facilities of machines are locked away behind the > high walls of libraries and APIs designed for professional developers > - which are simply too hard for an interested amateur such as myself. That's not a C21 issue... look back 20+ years and build something graphical on Amiga's Intuition API or for X... I never very far into the graphic aspects of either platform, and I'm way beyond the amateur developer stage. I dug in the other direction - systems programming and embedded programming - I haven't done much with graphics since I moved up from the Commodore 64 (where I did a _lot_ of it, but did all the graphics and sound stuff myself, at first in BASIC, then in assembler). -ethan From lproven at gmail.com Mon Jan 2 15:05:46 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 2 Jan 2012 21:05:46 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <8677c5fa22b346887d331f25085774c3@mdfs.net> References: <4EFEAF09.8040604@mail.msu.edu> <8677c5fa22b346887d331f25085774c3@mdfs.net> Message-ID: On 31 December 2011 19:25, J.G.Harston wrote: > Liam Proven wrote: > >> J.G.Harston wrote: >>> >>> BBC BASIC: http://mdfs.net/Software/BBCBasic/Z80/ >> >> >> Certainly that's what *I* was going to recommend, but I didn't >> know if source was available. > > > Why do you need the source? It does everything by calling the > standard CPM entry point at &0005. > > If you want a more fully-featured version, there's the BBC Tube > version that calls a jump block at &FFxx for the non-filing > functions, you just need to implement the code that jump block > jumps to. A fair question, which is indirectly answered by my comments to Tony. Personally, my interest was always mainly in graphics and to a much lesser extent sound (for their uses in games, mainly!) If the CP/M version of BBC BASIC is a "legal" CP/M app and only uses CP/M facilities, then AIUI that means that it more or less by definition has no graphics or sound support. In which case, there's nothing to port and you don't need the source! The only CP/M machine I ever owned have been a few Amstrad PCW 9512s. On them, I ran LEB - Lightning Extended BASIC. It was a toolkit that extended Locomotive's Mallard BASIC to give it graphics facilities, amongst other things. Sadly it seems completely forgotten by the Internet today. :?( I know there was GSX, but I found the documentation of the API completely impenetrable. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From lproven at gmail.com Mon Jan 2 15:59:06 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 2 Jan 2012 21:59:06 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On 2 January 2012 21:00, Ethan Dicks wrote: > On Mon, Jan 2, 2012 at 3:04 PM, Liam Proven wrote: >> It was, for me, one of >> the greatest weaknesses of the Commodore line of home computers - the >> VIC-20, Commodore 64, C128 and so forth - that their BASIC was very >> primitive, had no commands for structured programming and, crucially, >> no commands for sound, graphics, colour or any of the media facilities >> of the underlying hardware. > > Yep. ?It was pretty much 1970s Microsoft BASIC all the way through, > starting with the PETs in 1977. Yes indeed. The company spent lots of effort on improving its hardware and almost none on improving its software, which seemed foolish - but on the other hand, didn't do it any harm in the 8-bit days. (Although many of the toys in the Secret Weapons of Commodore* would have been /much/ better options than the C128 or indeed SX64!) >> One of the things that frustrates me with C21 OSs and languages is >> that the graphics facilities of machines are locked away behind the >> high walls of libraries and APIs designed for professional developers >> - which are simply too hard for an interested amateur such as myself. > > That's not a C21 issue... look back 20+ years and build something > graphical on Amiga's Intuition API or for X. True! Mind you, there were platforms that were more accessible than the Miggy. E.g. the Archimedes. :?) ----- * Another Cameron Kaiser production, I think... -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From ajp166 at verizon.net Mon Jan 2 15:59:33 2012 From: ajp166 at verizon.net (allison) Date: Mon, 02 Jan 2012 16:59:33 -0500 Subject: CP/M disk format: need help In-Reply-To: <4EFFA3D4.8030903@compsys.to> References: <009401ccc4c7$0e5095c0$2af1c140$@lazzerini@tiscali.it> <20111228113143.W16996@shell.lmi.net> <4EFFA3D4.8030903@compsys.to> Message-ID: <4F0228C5.6010100@verizon.net> On 12/31/2011 07:07 PM, Jerome H. Fine wrote: > >Fred Cisin wrote: > >> WHAT brand and model computer are you talking about? >> >> >> On Tue, 27 Dec 2011, Enrico Lazzerini wrote: >> >> >>> Well this is all i know: >>> 8" >>> STAT d:DSK: >>> 9600 r: 128 Byte Record Capacity >>> 1200 k: Kilobyte Drive Capacity >>> 128 d: 32 Byte Directory Entries >>> 128 c: Checked Directory Entries >>> 128 e: Records/ Extent >>> 16 b: Records/ Block >>> 64 s: Sectors/ Track >>> 2 t: Reserved Tracks >>> 2 SIDES >>> >> >> >> >>> This is that I calculate: >>> BEGIN SCO2 (1024 bytes/sector) - DSDD 8" >>> DENSITY MFM ,HIGH >>> >> >> 1200K disk capacity is close to maximum for an 8" diskette. >> It is what you expect from 8" DSDD. "High" would be incorrect usage, >> but >> from a 5.25" perspective, it fits. >> >> > The DEC RX02 8" SSDD floppy held 988 data blocks of 512 bytes or > 505,856 bytes. While DEC never supported the RX03, the extra code > was included in V04.00 of RT-11, but was removed in V05.00 of RT-11. > SSSD 8" was RX01, RX02 Drives could read and write it b ut RX02 format was M2FM and not compatable with anything else save for DSD and some Plessy cards. RX03 was Two sided RX01 but by time DEC arrived there they decide on the 5.25 80 track single sided (RX50) and later RX33(two sides 800kb and 1.2mb) and the RQDX controller. There was also RX05 (basically the PDT11 RX01 format but different logic based on FDC chip) and there was RX06 a single drive RX01 for VAX780. > The DSD 880/30 had a single functional RX03 floppy drive which could > be used as equivalent to the RX02 drive under RT-11. The RX03 drive > supported the use of a DSDD 8" floppy with 1976 data blocks of > 512 bytes or 1,011,712 bytes. > > Under DSDD, I believe that each sector was 256 bytes and that > 2 sectors were required for each block. The interleave was every > other sector to allow the silo in the controller to be unloaded into > the user buffer. Unfortunately, the DEC RX02 Qbus controller > never supported 22 bit user buffer addresses. However, it was > possible to have a bounce buffer available to the device driver > which could hold the contents of the silo after which the bounce > buffer could be transferred to the user buffer while the silo was > being filled again - during read operations of course. > The DSD880 did have a Q22 controller as did the DEC RX02(RXV21). They came later. > I presume that larger sectors with fewer inter sector gaps would > have allowed higher capacity. However, the DEC RX02 controllers > had silos of 256 bytes which required the sectors to be the same size. > Yep. It was designed far enough back that the 2900 based but slice CPU didn't have enough bits for addressing more and the rice of static ram was still a factor. I have a few Qbus DEC systems both PDP11 and VAX. Allison >> >> >>> CYLINDERS 77 SIDES 1 SECTORS 8,1024 >>> >> NO. >> You can not get 1200K disk capacity from single sided. >> >> >> >>> SIDE1 0 1,2,3,4,5,6,7,8,9 >>> SIDE2 0 1,2,3,4,5,6,7,8,9 >>> >> Those are 10 sectors per side. You said 8 >> Are you sure that that is the sector sequence? >> >> >> >>> Here what 22disk tell me: >>> http://elazzerini.interfree.it/Foto2982.jpg >>> Where I'm wrong? >>> >> >> 1) Instead of transcribing some text, you sent a URL to a picture >> that is >> more than 2 MEGAbytes. (a photograph of your screen?) >> THANK YOU for sending the URL instead of attaching it! >> A) Not everybody reads their mail in a web browser. Sending a URL >> requires cut and paste to get it TO the web browser. >> B) Believe it or not, some of us use dial-up! 2M takes too long. >> C) Surely that file could be MUCH smaller. Thats a kilobyte for >> each character on the screen. >> Was it an error message? That would only call for a few lines of text. >> Was it a scrambled display, such as non-ASCII characters in filenames? >> >> >> 2) You are posting asking for technical support for an unregistered copy >> of a program on a forum where the author is an active participant! >> If you >> REGISTER the program, then he will provide support, maybe even an >> updated >> copy of the program, etc. (It may have additional formats now!) >> >> >> You didn't tell us the name of the format. >> You didn't tell us the form of your calculations. Were they a wild >> guess? or did you look at sectors on the disk to determine them? >> What "side-pattern" is it? Does it alternate sides before incrementing >> cylinder, or does it increment cylinder first, and use the first side >> before starting on the second? Does it then go UP the second side, or >> DOWN? >> You didn't provide us with hex dumps of the directory sectors. NO, >> DO NOT >> SEND US MORE PHOTOGRAPHS! If the problem is in the directory, then >> let's see THAT! It's 32 bytes per directory entry/extent - >> depending on >> what the problem is, it might not take more than a few. >> > > From tingox at gmail.com Mon Jan 2 16:03:29 2012 From: tingox at gmail.com (Torfinn Ingolfsen) Date: Mon, 2 Jan 2012 23:03:29 +0100 Subject: DiscFerret: It just keeps getting better...! In-Reply-To: <4EFF8348.8050101@philpem.me.uk> References: <4EFF8348.8050101@philpem.me.uk> Message-ID: On Sat, Dec 31, 2011 at 10:48 PM, Philip Pemberton wrote: > Hello, folks! > > Hope you all had a very merry Christmas, happy Hanukkah, or whatever you > celebrated! Also, best wishes for the New Year, which will be... in > around two and a quarter hours in my neck of the woods :) > > It's been a while since I posted anything related to DiscFerret. Rest > assured, I have not been resting on my laurels (Balrog and Lord > Nightmare have made certain of that!). In fact, I've just released a > shiny new toy for all you DiscFerret owners... Well, two actually! Nice progress! A question: The Discferret store seems to be down for maintenance. Is this intentional? -- Regards, Torfinn Ingolfsen From mcguire at neurotica.com Mon Jan 2 16:57:48 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Mon, 02 Jan 2012 17:57:48 -0500 Subject: Wanted - Boards for KS-10 (PDP-20 / DECSYSTEM 20) In-Reply-To: References: Message-ID: <4F02366C.3070207@neurotica.com> On 01/02/2012 01:38 PM, Ed Taussig wrote: > Wanted - Boards for KS-10: (PDP-20/DECSYSTEM-20) > 40722 64K memory > M8629 64k memory > M8616 Console+Clock > M8618 memory controller > M8619 unibus adapter > M8621 Data path memory > M8620 Data path execute > M8622 Control Ram Address > M8623 Control Ram > I have a KS-10 with a few boards, but hopeful I'll be > able to complete it someday - getting it running after > that is another story :-) (Any leads on where to find > those boards would be greatly appreciated). Hello Ed! I have a number of spare KS-10 boards here, as well as a whole KS-10. The KS-10 itself is definitely not available, but I may be able to help you out with some boards. Where are you located, and which (by s/n) KS-10 do you have, if you don't mind my asking? -Dave -- Dave McGuire New Kensington, PA From cisin at xenosoft.com Mon Jan 2 16:59:58 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 14:59:58 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <20120102143007.E61599@shell.lmi.net> > Does C have grapgics or sound facilites? The only mentions of graphics I > can find in K&R is defining structs for points, rectangles, etc. The only > mention of sound I can fidn is that \a produces a bell character. > But of course we all know you can write graphics and sound programs in C. > There will generally be libraries of functions to perform particular > operations (plot a point, draw a line, fill an area, etc). You call those > from your C program. > One advantage of languages like C is thst there are extendable. You can > have libraries of extra functuions that cna be used like hte built-in > functions of the language. The same applies to to many other languages > (forth being an obvious example). C itself has NO I/O. That is corect. I/O is "ADDED" external functions, NOT part of the language. The compiler author will normally include some useful functions along with the compiler. Those are called the "Standard Library". Typically, those will include ones such as printf() to enable console output. Most of the ones described in K&R will be included. They are NOT part of the language, they are added functions. Market forces and competition have forced compiler authors to all include all of the functions described in K&R, and often many more, and besides the battles over interpretation of the holy scriptures (remember when not everybody included a newline in puts()?), they all end up with almost the same Standard Library functions. BUT, "Standard Library" means the same as "Standard Equipment" when you are buying a car. It means what is generally supplied. "Standard", inspite of it ending up that way, does NOT MEAN "standardized"! Floor-mats, spare tire, etc. are always included in the "Standard Equipment" when you buy a car, but that does NOT mean "standardized"! Remember, that a "standard" is just a ten foot pole with a flag on top. This is EXACTLY the situation where that matters. Graphics functions may often be included in the "Standard Library" for a given compiler, or included in one of the "standard" additional libraries of functions, that are supplied. The functions supplied with Microsoft and Borland ended up being virtually identical, but other compilers didn't feel that intensity of competition. DO NOT assume nor expect any standardization of graphics functions between different platforms. In many cases, such as PC, the supplied graphics functions are merely one-to-one mappings of direct calls to the BIOS functions, but they MAY supply very sophisticated APIs. > In genral, BASICs were not extendable like that. It is very difficult to > add new keywords ot a BASIC interpretter, and the way to do it is not > often docuemnted. MICROS~1 BASIC typically has a somewhat awkward DEFUSR function in the language to let you create and call machine language code. If you can find them, there are commercial packages of machine language functions for common tasks. Such as Brett Salter's "Peeks and Pokes". On platforms with appropriate hardware (such as Coco, and even 5150), MICROS~1 BASIC usually provided a usable set of graphics primitives, built into their BASIC!, consisting of set-a-pixel and read-a-pixel, with some minimal extensions, such as line draw. -- Grumpy Ol' Fred cisin at xenosoft.com From ajp166 at verizon.net Mon Jan 2 17:02:54 2012 From: ajp166 at verizon.net (allison) Date: Mon, 02 Jan 2012 18:02:54 -0500 Subject: CP/M FCB structure (was 22disk & CP/M's diskettes ) In-Reply-To: <00b501ccc80c$c11fef00$435fcd00$@it> References: <00b501ccc80c$c11fef00$435fcd00$@it> Message-ID: <4F02379E.3050408@verizon.net> On 12/31/2011 05:37 PM, Enrico Lazzerini wrote: > Hi all, > > Some days ago I posted a request to identify the FCB parameters to read > correctly a 8" disk CP/M. > I know that i was wrong in the subject so I would like to summarize and i > thank you for the suggestions and criticisms. > > > > The data obtained directly with the STAT command DSK: are the following: > > > > 9600: 128 Byte Record Capacity > > 1200: Kilobyte Drive Capacity > > 128: 32 Byte Directory Entries > > 128: Checked Directory Entries > > 128: Records / Extent > > 16: Records / Block > > 64: Sectors / Track Thats logical sectors per track, physical sector size is likely 1024 bytes. > 2: Reserved tracks > > 2 SIDES > > > > After further investigation the parameters for the correct reading would > appear as follows: > > BEGIN SCO2 (1024 bytes/sector) - 8 DSDD " > > MFM DENSITY, HIGH > > CYLINDERS 77 SIDES 2 SECTORS 8,1024 > > Side1 0 1,2,3,4,5,6,7,8 > > Side2 0 1,2,3,4,5,6,7,8 > from 0 to 8 is NINE sectors. Save for a few oddbals and some hard sector drives floppies do not have a sector zero(0). The standard is the first sector after the index home is sector 1 and is numbered 1. So for eight 1k sectors they would be 1 through 8. > ORDER CYLINDERS > > BSH 4 BLM 15 EXM 0 DSM 300 DRM 127 AL0 SFO 00H 11110000B AL1 2 > > END > > > > The following additional information which I hope can clarify or help: > > > > The inclusion of incorrect data was due to a misreading of my screen on the > console CP/M in the data down the email. The calculations were performed by > acquiring more information from the operating system CP/M manuals which > shows how to derive the parameters needed to compose and then subsequently > identified by extrapolating the FCB. The stat command dsk: when possible on > a working machine that is able to read the disk whose parameters are to be > identified can be useful, but if you can not read the disc seems to have > realized that the only way is to use anadisk and 22disk. > IN CP/M language the FCB is how you talk to the CP/M OS and has no direct connection to the on disk organization of data. FCB = File Control Block and is parameter passed to the BDOS (reference by pointer). and the BDOS grinds that in to a logical reference to the physical structure using tables and data blocks in the BIOS for that machine. > > > Anadisk reports: > > Tracks 0 and 1 = single density 26x128byte with OS CP/M that points to a > resident BIOS involved in F800H entry points; > > Tracks 2-76 = 8x1024byte double density with directory consists of 2 blocks > 2048Byte for a total of 128 entries and the remaining space for data > > > > SCO2 means disk2 SCOMAR machine (in Italy there was a PCB derived from the > Ferguson Bigboard I with a different 1797 FDC controller and BIOS and it has > been used to drive a knitting machine now discontinued and no longer > supported) > > > > The diskette was created from a friend using software IMD of Dave Dunfield > and myself played on floppy 3.5 "1.44MB respecting the original features (or > almost I hope) > > Logically it would seem you can substitute a HD 5.25 floppy for a 8" but in practice I've not seen it work yet. > With these parameters i was able to read and write to the disk even it > remains some doubt as for example by adding the file to disk MBASIC.COM this > does not seem to properly turn on the machine that uses this disk format > The system needs the reserved tracks filled with the right stuff to boot and run. CP/M does nto boot from the directory as it needs CP/M running to even read the directory. > > > Infact the main problem was that probabily the EXM value not make me able to > write files greater than 16KB and the picture visualized the 3 times the > same filename. > The way CP/M works is the EXM is the limit to the size of an individual entry and files larger use multiple directory entries to capture the whole file. That means a 56K file needs 4 directory entries and shows up in the directory 4 times and part of the physical directory entry tells the OS there are multiple and how they are used in sequence. > > > So any kind of suggestion to understand betfer the FCB structure and > parameters of CP/M will be welcome. > Please read the Digital Research CP/M Alteration Guide. The problem is if your trying to replicate the on disk format for a old machine you need the BIOS documentation for that machine or lacking that some serious code disassembly if you have a disk that works. If neither exists then your designing your own BIOS from the ground up and that may be more than most can take on. I've designed machines and the BIOS to match and it's a straight forward task. But doing it for a machine by someone else without documentation of what they did is far harder as that if forensic reconstruction. Allison > I would like to thank: > > > > - For suggestions > > > > allison for the valuable explanations and clarifications which go beyond the > simple description inherent in any textbook > > > Cisin Fred for the tip to detect the possible size of the FCB parameter BLS > analyzing the disk > > > > About received criticism may i ask for: > > - Could anybody give me the name of sw to reduce the size of a photo? > > - And what used to convert it into text easily? (I have not had a chance to > do a dump from the screen) > > - Where can I buy the registered version of 22disk or is no longer available > or supported? > > > > I apologize again for my poor English that puts me in trouble to fully > understand the criticism received. > > > > Have an happy new year 2012 to all. > > > > Enrico - Pisa - ITaly > > From cisin at xenosoft.com Mon Jan 2 17:33:52 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 15:33:52 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: , , <4EFF7D94.20309@mail.msu.edu> Message-ID: <20120102152629.M61599@shell.lmi.net> On Mon, 2 Jan 2012, dwight elvey wrote: > While BASIC is good for a starting language it is not the first > language I'd bring up on a machine unless it had already been > setup on that machine. > I'd bring up Forth. One can get the console in and out running > first. One can then easily experiment with the disk IO until > it is working right. > The source is available and easy to understand. > Once one has a good understanding, bringing up other > languages is trivial. Damn good points. I consider BASIC to be an excellent beginner's introduction to "what is a program?", etc., so long as they are exposed to other languages immediately after grasping the basic principles. C, for wxample, is the Systems Programming "language of choice", but as somebody's very first exposure to programming, it will teach them more about what their frustration tolerance level is than about programming. Once PAST that initial exposure stage, C is excellent. Although I don't speak a word of Forth, other than once having read Brodie's book ("Starting Forth"), it seems ideal for working with mastering the issues of getting a software structure to connect with the hardware. -- Grumpy Ol' Fred cisin at xenosoft.com From fraveydank at gmail.com Mon Jan 2 17:51:22 2012 From: fraveydank at gmail.com (David Riley) Date: Mon, 2 Jan 2012 18:51:22 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <20120102152629.M61599@shell.lmi.net> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> Message-ID: On Jan 2, 2012, at 6:33 PM, Fred Cisin wrote: > Although I don't speak a word of Forth, other than once having > read Brodie's book ("Starting Forth"), it seems ideal for working > with mastering the issues of getting a software structure to connect > with the hardware. Forth is great. I'm writing a small Forth engine right now to bring up an AVR board I designed; it only takes a day or so to dream up the inner workings of the kernel for a particular architecture, and then another few to code up the words necessary to do any real work. Of course, it's probably useless for the OP, who was looking for a premade solution to boot his machine. :-) - Dave From classiccmp at philpem.me.uk Mon Jan 2 18:32:24 2012 From: classiccmp at philpem.me.uk (Philip Pemberton) Date: Tue, 03 Jan 2012 00:32:24 +0000 Subject: DiscFerret: It just keeps getting better...! In-Reply-To: References: <4EFF8348.8050101@philpem.me.uk> Message-ID: <4F024C98.502@philpem.me.uk> On 02/01/12 22:03, Torfinn Ingolfsen wrote: > A question: > The Discferret store seems to be down for maintenance. Is this intentional? It is, for two reasons: 1) I don't have any DiscFerrets in stock to sell 2) Zen Cart and I don't get along. I need to replace it with something more... usable. Thanks. -- Phil. classiccmp at philpem.me.uk http://www.philpem.me.uk/ From geneb at deltasoft.com Mon Jan 2 19:06:49 2012 From: geneb at deltasoft.com (Gene Buckle) Date: Mon, 2 Jan 2012 17:06:49 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On Mon, 2 Jan 2012, Liam Proven wrote: > the greatest weaknesses of the Commodore line of home computers - the > VIC-20, Commodore 64, C128 and so forth - that their BASIC was very > primitive, had no commands for structured programming and, crucially, > no commands for sound, graphics, colour or any of the media facilities > of the underlying hardware. > BASIC 7 in the C128 corrected many of those issues. There were add-on tools and carts that would add graphics & sound commands to the C-64 - the most common was Simons Basic. g. -- Proud owner of F-15C 80-0007 http://www.f15sim.com - The only one of its kind. http://www.diy-cockpits.org/coll - Go Collimated or Go Home. Some people collect things for a hobby. Geeks collect hobbies. ScarletDME - The red hot Data Management Environment A Multi-Value database for the masses, not the classes. http://www.scarletdme.org - Get it _today_! Political correctness is a doctrine, fostered by a delusional, illogical minority, and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end. From lproven at gmail.com Mon Jan 2 19:17:51 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 01:17:51 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On 3 January 2012 01:06, Gene Buckle wrote: > On Mon, 2 Jan 2012, Liam Proven wrote: > >> the greatest weaknesses of the Commodore line of home computers - the >> VIC-20, Commodore 64, C128 and so forth - that their BASIC was very >> primitive, had no commands for structured programming and, crucially, >> no commands for sound, graphics, colour or any of the media facilities >> of the underlying hardware. >> > BASIC 7 in the C128 corrected many of those issues. ?There were add-on tools > and carts that would add graphics & sound commands to the C-64 - the most > common was Simons Basic. Ahh, thanks for the clarification. I think I once knew that, 20+y ago, and had forgotten. It was a very odd machine, though. I think the unreleased C65 would have been a much better upgrade. The 80col mode was good, but WTF was the Z80 and CP/M doing in there? It was completely inappropriate to the VIC/C64 market segment, added unnecessary cost and did not enhance the functionality of the CBM side of things at all. A truly bizarre addition. Mind you, the C16 and +4 were pretty bizarre aberrations, too. I really don't know what Commodore management was smoking, but it made for some epically bad decision-making. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From geneb at deltasoft.com Mon Jan 2 19:35:43 2012 From: geneb at deltasoft.com (Gene Buckle) Date: Mon, 2 Jan 2012 17:35:43 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On Tue, 3 Jan 2012, Liam Proven wrote: >>> >> BASIC 7 in the C128 corrected many of those issues. ?There were add-on tools >> and carts that would add graphics & sound commands to the C-64 - the most >> common was Simons Basic. > > Ahh, thanks for the clarification. I think I once knew that, 20+y ago, > and had forgotten. > > It was a very odd machine, though. I think the unreleased C65 would > have been a much better upgrade. The 80col mode was good, but WTF was > the Z80 and CP/M doing in there? It was completely inappropriate to > the VIC/C64 market segment, added unnecessary cost and did not enhance > the functionality of the CBM side of things at all. A truly bizarre > addition. > If you head over to http://www.c128.com you can email Bil Herd, the guy that designed the machine. I'm sure he'd be happy to tell you how the Z-80 managed to wedge its way into the design. > Mind you, the C16 and +4 were pretty bizarre aberrations, too. I > really don't know what Commodore management was smoking, but it made > for some epically bad decision-making. > Agreed. Bil posted a neat video about the C-116 last week that you might enjoy. g. -- Proud owner of F-15C 80-0007 http://www.f15sim.com - The only one of its kind. http://www.diy-cockpits.org/coll - Go Collimated or Go Home. Some people collect things for a hobby. Geeks collect hobbies. ScarletDME - The red hot Data Management Environment A Multi-Value database for the masses, not the classes. http://www.scarletdme.org - Get it _today_! Political correctness is a doctrine, fostered by a delusional, illogical minority, and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end. From toby at telegraphics.com.au Mon Jan 2 20:07:14 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Mon, 02 Jan 2012 21:07:14 -0500 Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F0262D2.6000401@telegraphics.com.au> On 02/01/12 8:17 PM, Liam Proven wrote: > On 3 January 2012 01:06, Gene Buckle wrote: >> On Mon, 2 Jan 2012, Liam Proven wrote: >> >>> the greatest weaknesses of the Commodore line of home computers - the >>> VIC-20, Commodore 64, C128 and so forth - that their BASIC was very >>> primitive, had no commands for structured programming and, crucially, >>> no commands for sound, graphics, colour or any of the media facilities >>> of the underlying hardware. >>> >> BASIC 7 in the C128 corrected many of those issues. There were add-on tools >> and carts that would add graphics& sound commands to the C-64 - the most >> common was Simons Basic. > > Ahh, thanks for the clarification. I think I once knew that, 20+y ago, > and had forgotten. > > It was a very odd machine, though. I think the unreleased C65 would > have been a much better upgrade. The 80col mode was good, but WTF was > the Z80 and CP/M doing in there? Well, you might ask the same of the BBC Micro Tube (which hooked up a coprocessor of various families including Z80, 68000, etc). One assumes it was a "crossover" attempt to appeal to small business (given that many small businesses used affordable home computers at the time): A way to get much more capability but relatively low cost compared to the dedicated business brands. In the case of the BBC Micro, the educational computer during the middle years of my high schooling, it meant that schools could have installations of CP/M business software to familiarise students with WordStar, Turbo Pascal, and other tools that they'd soon encounter after finishing high school. --Toby > It was completely inappropriate to > the VIC/C64 market segment, added unnecessary cost and did not enhance > the functionality of the CBM side of things at all. A truly bizarre > addition. > > Mind you, the C16 and +4 were pretty bizarre aberrations, too. I > really don't know what Commodore management was smoking, but it made > for some epically bad decision-making. > > From ethan.dicks at gmail.com Mon Jan 2 20:11:14 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Mon, 2 Jan 2012 21:11:14 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On Mon, Jan 2, 2012 at 4:59 PM, Liam Proven wrote: > Yes indeed. The company spent lots of effort on improving its hardware > and almost none on improving its software, which seemed foolish - but > on the other hand, didn't do it any harm in the 8-bit days. I'm sure it was a cost-based decision, and since they sold over 17 million C-64s, from a business standpoint, not a terrible one. Sure, it wasn't easy to program sound and graphics from BASIC, but I think if you analyze the customer base, far more purchasers were more interested in purchasing high-quality games written by professionals than writing their own code. Commodore owned their own fab line, so they leveraged that which they were good at - selling large quantities of hardware with a high profit margin (when the C-64 was retailing for $99 USD, manufacturing costs were running around $14 per unit). >> That's not a C21 issue... look back 20+ years and build something >> graphical on Amiga's Intuition API or for X. > > True! Mind you, there were platforms that were more accessible than > the Miggy. E.g. the Archimedes. :?) While I'd heard of the Archimedes in the mid-1980s, I didn't know a place to see one, but there were a couple of places close to home that sold Amigas. I didn't know a single Archimedes owner on this side of the pond. The Archimedes didn't sound like a terrible platform, but it just didn't have that much presence here (less than the BBC Micro, which I _did_ see here, including working at a place that wrote software for it). -ethan From mouse at Rodents-Montreal.ORG Mon Jan 2 20:11:04 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Mon, 2 Jan 2012 21:11:04 -0500 (EST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: <20120102143007.E61599@shell.lmi.net> References: <20120102143007.E61599@shell.lmi.net> Message-ID: <201201030211.VAA25318@Sparkle.Rodents-Montreal.ORG> > "Standard", inspite of it ending up that way, does NOT MEAN > "standardized"! Actually, in the case of C, much of the standard library _is_ standardized - and more is standardized if you include POSIX, which, while not properly part of C, is closely related. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From toby at telegraphics.com.au Mon Jan 2 20:11:50 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Mon, 02 Jan 2012 21:11:50 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120102152629.M61599@shell.lmi.net> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> Message-ID: <4F0263E6.4090706@telegraphics.com.au> On 02/01/12 6:33 PM, Fred Cisin wrote: > On Mon, 2 Jan 2012, dwight elvey wrote: >> While BASIC is good for a starting language it is not the first >> language I'd bring up on a machine unless it had already been >> setup on that machine. >> I'd bring up Forth. One can get the console in and out running >> first. One can then easily experiment with the disk IO until >> it is working right. >> The source is available and easy to understand. >> Once one has a good understanding, bringing up other >> languages is trivial. > > Damn good points. > > I consider BASIC to be an excellent beginner's introduction to > "what is a program?", etc., so long as they are exposed to other > languages immediately after grasping the basic principles. Well, there is the "small" problem that BASIC syntax, data types, and control structures relate poorly to modern languages and even less to powerful abstractions. There's not such a huge distance between Fortran and BASIC! What's wrong with Scheme? Or at worst, Python? At least the kids learning today might learn something that still serves them in 10, 20 years. It's not like the world is moving back towards BASIC... > C, > for wxample, is the Systems Programming "language of choice", > but as somebody's very first exposure to programming, it will > teach them more about what their frustration tolerance level is > than about programming. Once PAST that initial exposure stage, > C is excellent. As long as they drop it like a hot potato when they realise they're not doing "systems programming". --Toby > > Although I don't speak a word of Forth, other than once having > read Brodie's book ("Starting Forth"), it seems ideal for working > with mastering the issues of getting a software structure to connect > with the hardware. > > -- > Grumpy Ol' Fred cisin at xenosoft.com > From cisin at xenosoft.com Mon Jan 2 20:12:24 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 18:12:24 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <20120102180933.I61599@shell.lmi.net> On Tue, 3 Jan 2012, Liam Proven wrote: > It was a very odd machine, though. I think the unreleased C65 would > have been a much better upgrade. The 80col mode was good, but WTF was > the Z80 and CP/M doing in there? It was completely inappropriate to > the VIC/C64 market segment, added unnecessary cost and did not enhance > the functionality of the CBM side of things at all. A truly bizarre > addition. I always assumed that the 128 was a [futile] attempt to make a 64 that could also run some "office" software, thus giving people an excuse to buy a 64. "I can run Wordstar and Supercalc on it!" From toby at telegraphics.com.au Mon Jan 2 20:13:47 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Mon, 02 Jan 2012 21:13:47 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <20120102143007.E61599@shell.lmi.net> References: <20120102143007.E61599@shell.lmi.net> Message-ID: <4F02645B.40907@telegraphics.com.au> On 02/01/12 5:59 PM, Fred Cisin wrote: >... > MICROS~1 BASIC typically has a somewhat awkward DEFUSR function in the > language to let you create and call machine language code. If you can > find them, there are commercial packages of machine language functions > for common tasks. Such as Brett Salter's "Peeks and Pokes". > BBC BASIC has a powerful built-in assembler - with macro-ish facilities if you use its structured constructs. In general it makes MS BASIC look pretty mediocre. :) --Toby > On platforms with appropriate hardware (such as Coco, and even 5150), > MICROS~1 BASIC usually provided a usable set of graphics primitives, built > into their BASIC!, consisting of set-a-pixel and read-a-pixel, with some > minimal extensions, such as line draw. > > -- > Grumpy Ol' Fred cisin at xenosoft.com > From ethan.dicks at gmail.com Mon Jan 2 20:17:59 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Mon, 2 Jan 2012 21:17:59 -0500 Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0262D2.6000401@telegraphics.com.au> References: <4F0262D2.6000401@telegraphics.com.au> Message-ID: On Mon, Jan 2, 2012 at 9:07 PM, Toby Thain wrote: >>> There were add-on tools >>> and carts that would add graphics & sound commands to the C-64 - the most >>> common was Simons Basic. There was Simon's BASIC, but I only knew a few people who used it - in part because when you used the graphics/sound extensions, you couldn't share the results with a non-owner. You could make fun stuff for yourself, but unlike "plain" programs one could get through BBSes and User Groups, your efforts couldn't be universally enjoyed. I understand the sort of learning-curve frustration that line after line of PEEKs and POKEs can cause, but cartridge-enhanced BASICs were, IMO, an evolutionary dead-end for a platform. -ethan From cisin at xenosoft.com Mon Jan 2 20:33:02 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 18:33:02 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: <201201030211.VAA25318@Sparkle.Rodents-Montreal.ORG> References: <20120102143007.E61599@shell.lmi.net> <201201030211.VAA25318@Sparkle.Rodents-Montreal.ORG> Message-ID: <20120102182709.D61599@shell.lmi.net> > > "Standard", inspite of it ending up that way, does NOT MEAN > > "standardized"! On Mon, 2 Jan 2012, Mouse wrote: > Actually, in the case of C, much of the standard library _is_ > standardized - and more is standardized if you include POSIX, which, > while not properly part of C, is closely related. I should retract my statement. It was based entirely on K&R days, where any "standardization" was based on a mix of "we are more accurately K&R than they are" and competing for market share. "Standard Library" was derived from "standard equipment" (as opposed to "optional"), not "standardized library", even though there was a tendency towards that. If we include ANSI C, in addition to C, then there actually are standards, even in the standard library. From geneb at deltasoft.com Mon Jan 2 20:55:51 2012 From: geneb at deltasoft.com (Gene Buckle) Date: Mon, 2 Jan 2012 18:55:51 -0800 (PST) Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F0262D2.6000401@telegraphics.com.au> Message-ID: On Mon, 2 Jan 2012, Ethan Dicks wrote: > On Mon, Jan 2, 2012 at 9:07 PM, Toby Thain wrote: >>>> There were add-on tools >>>> and carts that would add graphics & sound commands to the C-64 - the most >>>> common was Simons Basic. > > There was Simon's BASIC, but I only knew a few people who used it - in > part because when you used the graphics/sound extensions, you couldn't > share the results with a non-owner. You could make fun stuff for > yourself, but unlike "plain" programs one could get through BBSes and > User Groups, your efforts couldn't be universally enjoyed. > Right. The mind blower is that David(?) Simons was 13 or 14 when he sold the software to Commodore. :) > I understand the sort of learning-curve frustration that line after > line of PEEKs and POKEs can cause, but cartridge-enhanced BASICs were, > IMO, an evolutionary dead-end for a platform. I suspect there were other non-cart BASIC enhancement packages. Adding new keywords to CBM BASIC was pretty well understood. g. -- Proud owner of F-15C 80-0007 http://www.f15sim.com - The only one of its kind. http://www.diy-cockpits.org/coll - Go Collimated or Go Home. Some people collect things for a hobby. Geeks collect hobbies. ScarletDME - The red hot Data Management Environment A Multi-Value database for the masses, not the classes. http://www.scarletdme.org - Get it _today_! Political correctness is a doctrine, fostered by a delusional, illogical minority, and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end. From mouse at Rodents-Montreal.ORG Mon Jan 2 21:00:02 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Mon, 2 Jan 2012 22:00:02 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0263E6.4090706@telegraphics.com.au> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> Message-ID: <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> >> I consider BASIC to be an excellent beginner's introduction to "what >> is a program?", etc., so long as they are exposed to other languages >> immediately after grasping the basic principles. > Well, there is the "small" problem that BASIC syntax, data types, and > control structures relate poorly to modern languages and even less to > powerful abstractions. I'm not convinced that's a problem. > What's wrong with Scheme? Or at worst, Python? The same thing that was wrong with the New Math: you don't dump the full load of theory on a beginner, not unless you want a very confused beginner, or you have the incredible luck to get a Ramanujan or Knuth as a student (and if so, honestly, the best thing anyone can do is to get the hell out of the way). Just as it takes a certain amount of mathematical sophistication to grasp, say, the difference between base ten and other bases, or the difference between a number and its representation in some base, it takes a certain amount of programming sophistication to grasp what, say, lexical scoping is and why it's important - and it helps to have some experience with non-lexically-scoped languages. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From cisin at xenosoft.com Mon Jan 2 21:02:06 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 19:02:06 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0263E6.4090706@telegraphics.com.au> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> Message-ID: <20120102185422.U61599@shell.lmi.net> > > Damn good points. > > I consider BASIC to be an excellent beginner's introduction to > > "what is a program?", etc., so long as they are exposed to other > > languages immediately after grasping the basic principles. On Mon, 2 Jan 2012, Toby Thain wrote: > Well, there is the "small" problem that BASIC syntax, data types, and > control structures relate poorly to modern languages and even less to > powerful abstractions. There's not such a huge distance between Fortran > and BASIC! Djikstra said, "It is virtually impossible to teach good programming prctices to students with a prior exposure to BASIC; they are mentally mutilated beyond any hope of regeneration." > What's wrong with Scheme? Pretty good. IFF they[1] would stop claiming that it is the ONLY language in which it is possible to solve the problem(s) (traversing a multi-dimensional array) [1] Clancy and Harvey, who were in charge of lower division undergrad CS at UC Berkeley, when they switched over; They also said, "NOBODY progams in assembly any more, nor ever will again." > > C, > > for example, is the Systems Programming "language of choice", > > but as somebody's very first exposure to programming, it will > > teach them more about what their frustration tolerance level is > > than about programming. Once PAST that initial exposure stage, > > C is excellent. > > As long as they drop it like a hot potato when they realise they're not > doing "systems programming". such heresy! "Use a language that is appropriate for they type of programming"?? -- Grumpy Ol' Fred cisin at xenosoft.com From ethan.dicks at gmail.com Mon Jan 2 21:19:05 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Mon, 2 Jan 2012 22:19:05 -0500 Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F0262D2.6000401@telegraphics.com.au> Message-ID: On Mon, Jan 2, 2012 at 9:55 PM, Gene Buckle wrote: > Right. ?The mind blower is that David(?) Simons was 13 or 14 when he sold > the software to Commodore. :) I do remember he was quite young - a proud achievement, to be sure. Those people that I knew who had it, loved it, but they were the sort to take BASIC to the limit and not explore any further (other languages, assembler, etc). They knew BASIC and wanted to write stuff on a shallower learning curve. It was perfect for them. > I suspect there were other non-cart BASIC enhancement packages. ?Adding new > keywords to CBM BASIC was pretty well understood. It certainly was well understood - I even wrote my own hacks, based on examples from some of my ROM expansions from my PET days. Much like the DOS Wedge, though, I didn't do it to extend BASIC programs as much as to extend command-line functionality. I can't remember adding anything that didn't make sense embedded in a running program. -ethan From toby at telegraphics.com.au Mon Jan 2 22:14:30 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Mon, 02 Jan 2012 23:14:30 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120102185422.U61599@shell.lmi.net> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <20120102185422.U61599@shell.lmi.net> Message-ID: <4F0280A6.5050706@telegraphics.com.au> On 02/01/12 10:02 PM, Fred Cisin wrote: >>> Damn good points. >>> I consider BASIC to be an excellent beginner's introduction to >>> "what is a program?", etc., so long as they are exposed to other >>> languages immediately after grasping the basic principles. > > On Mon, 2 Jan 2012, Toby Thain wrote: >> Well, there is the "small" problem that BASIC syntax, data types, and >> control structures relate poorly to modern languages and even less to >> powerful abstractions. There's not such a huge distance between Fortran >> and BASIC! > > Djikstra said, "It is virtually impossible to teach good programming > prctices to students with a prior exposure to BASIC; they are mentally > mutilated beyond any hope of regeneration." He had that lovely combination of clear sight and fearless expression. > >> What's wrong with Scheme? > > Pretty good. > IFF they[1] would stop claiming that it is the ONLY language in which it > is possible to solve the problem(s) (traversing a multi-dimensional array) > > > [1] Clancy and Harvey, who were in charge of lower division undergrad CS > at UC Berkeley, when they switched over; They also said, "NOBODY progams > in assembly any more, nor ever will again." With only a minor qualification, they were 100% correct. The necessary qualification is: "general and business applications programming". > > > >> > C, >>> for example, is the Systems Programming "language of choice", >>> but as somebody's very first exposure to programming, it will >>> teach them more about what their frustration tolerance level is >>> than about programming. Once PAST that initial exposure stage, >>> C is excellent. >> >> As long as they drop it like a hot potato when they realise they're not >> doing "systems programming". > > such heresy! > "Use a language that is appropriate for they type of programming"?? Looking around, it seems that yes, this principle hasn't quite penetrated sufficiently :) For completeness, there is another use for C/C++. "Maintaining programs written a decade ago when it seemed like a reasonable idea to use this language." But students don't need to be burdened with that. --Toby > > > -- > Grumpy Ol' Fred cisin at xenosoft.com > From toby at telegraphics.com.au Mon Jan 2 22:16:11 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Mon, 02 Jan 2012 23:16:11 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F02810B.9090504@telegraphics.com.au> On 02/01/12 10:00 PM, Mouse wrote: >>> I consider BASIC to be an excellent beginner's introduction to "what >>> is a program?", etc., so long as they are exposed to other languages >>> immediately after grasping the basic principles. >> Well, there is the "small" problem that BASIC syntax, data types, and >> control structures relate poorly to modern languages and even less to >> powerful abstractions. > > I'm not convinced that's a problem. > >> What's wrong with Scheme? Or at worst, Python? > > The same thing that was wrong with the New Math: you don't dump the > full load of theory on a beginner, not unless you want a very confused > beginner, or you have the incredible luck to get a Ramanujan or Knuth > as a student (and if so, honestly, the best thing anyone can do is to > get the hell out of the way). Scheme has no more theoretical load than BASIC. --Toby > > Just as it takes a certain amount of mathematical sophistication to > grasp, say, the difference between base ten and other bases, or the > difference between a number and its representation in some base, it > takes a certain amount of programming sophistication to grasp what, > say, lexical scoping is and why it's important - and it helps to have > some experience with non-lexically-scoped languages. > > /~\ The ASCII Mouse > \ / Ribbon Campaign > X Against HTML mouse at rodents-montreal.org > / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B > From derschjo at mail.msu.edu Mon Jan 2 22:22:55 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Mon, 02 Jan 2012 20:22:55 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0280A6.5050706@telegraphics.com.au> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <20120102185422.U61599@shell.lmi.net> <4F0280A6.5050706@telegraphics.com.au> Message-ID: <4F02829F.4090706@mail.msu.edu> On 1/2/2012 8:14 PM, Toby Thain wrote: > On 02/01/12 10:02 PM, Fred Cisin wrote: >>>> Damn good points. >>>> I consider BASIC to be an excellent beginner's introduction to >>>> "what is a program?", etc., so long as they are exposed to other >>>> languages immediately after grasping the basic principles. >> >> On Mon, 2 Jan 2012, Toby Thain wrote: >>> Well, there is the "small" problem that BASIC syntax, data types, and >>> control structures relate poorly to modern languages and even less to >>> powerful abstractions. There's not such a huge distance between Fortran >>> and BASIC! >> >> Djikstra said, "It is virtually impossible to teach good programming >> prctices to students with a prior exposure to BASIC; they are mentally >> mutilated beyond any hope of regeneration." > > He had that lovely combination of clear sight and fearless expression. If only that particular expression of his was even remotely true :). - Josh From spectre at floodgap.com Mon Jan 2 22:52:44 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Mon, 2 Jan 2012 20:52:44 -0800 (PST) Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: from Ethan Dicks at "Jan 2, 12 09:17:59 pm" Message-ID: <201201030452.q034qipE013426@floodgap.com> > There was Simon's BASIC, but I only knew a few people who used it - in > part because when you used the graphics/sound extensions, you couldn't > share the results with a non-owner. You could make fun stuff for > yourself, but unlike "plain" programs one could get through BBSes and > User Groups, your efforts couldn't be universally enjoyed. Epyx tried to get around this with Programmer's BASIC Toolkit where you could include a runtime. Unfortunately, PBT also really dorked around with the OS, so you were very much limited to the language and couldn't really expand from there. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Ah, the insight of hindsight. -- Thurston N. Davis ------------------------- From spectre at floodgap.com Mon Jan 2 22:54:14 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Mon, 2 Jan 2012 20:54:14 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: <20120102180933.I61599@shell.lmi.net> from Fred Cisin at "Jan 2, 12 06:12:24 pm" Message-ID: <201201030454.q034sEet013478@floodgap.com> > I always assumed that the 128 was a [futile] attempt to make a 64 > that could also run some "office" software, thus giving people an excuse > to buy a 64. "I can run Wordstar and Supercalc on it!" I'm pretty sure that was the intention, though Bil Herd "accidentally" designed the Z80 into the motherboard as a way of getting around having to make the 128 compatible with the CP/M 2.2 cartridge. That said, the C128 implementation of CP/M Plus was designed early in the 128's lifecycle. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Everything! Is my! Delusion! -- "Dead or Alive 2" -------------------------- From IanK at vulcan.com Mon Jan 2 23:02:43 2012 From: IanK at vulcan.com (Ian King) Date: Tue, 3 Jan 2012 05:02:43 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F02829F.4090706@mail.msu.edu> Message-ID: On 1/2/12 8:22 PM, "Josh Dersch" wrote: >On 1/2/2012 8:14 PM, Toby Thain wrote: >> On 02/01/12 10:02 PM, Fred Cisin wrote: >>>>> Damn good points. >>>>> I consider BASIC to be an excellent beginner's introduction to >>>>> "what is a program?", etc., so long as they are exposed to other >>>>> languages immediately after grasping the basic principles. >>> >>> On Mon, 2 Jan 2012, Toby Thain wrote: >>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>> control structures relate poorly to modern languages and even less to >>>> powerful abstractions. There's not such a huge distance between >>>>Fortran >>>> and BASIC! >>> >>> Djikstra said, "It is virtually impossible to teach good programming >>> prctices to students with a prior exposure to BASIC; they are mentally >>> mutilated beyond any hope of regeneration." >> >> He had that lovely combination of clear sight and fearless expression. > >If only that particular expression of his was even remotely true :). > >- Josh Quotation from "How do we tell truths that might hurt?", Edsger W.Dijkstra, 18 June 1975, as retrieved from http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html on 2-JAN-2012: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." Of course, there are people who think if it doesn't look like C/C++, it ain't programmin'. :-) (Of course, not talking about you, Josh - just say lambda!) My favorite has always been (ibid): "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." -- Ian From ethan.dicks at gmail.com Mon Jan 2 23:08:47 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Tue, 3 Jan 2012 00:08:47 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <201201030454.q034sEet013478@floodgap.com> References: <20120102180933.I61599@shell.lmi.net> <201201030454.q034sEet013478@floodgap.com> Message-ID: On Mon, Jan 2, 2012 at 11:54 PM, Cameron Kaiser wrote: > I'm pretty sure that was the intention, though Bil Herd "accidentally" > designed the Z80 into the motherboard as a way of getting around having > to make the 128 compatible with the CP/M 2.2 cartridge. I was never a C128 user, nor were there a lot of them in our local Commodore user group. In general, though, how common was CP/M usage among the C128 crowd? Was it too little, too late by then? I remember watching my boss in 1984 use a CP/M card in his Apple II for business apps (mostly spreadsheets), but I don't remember personally seeing anyone running CP/M after that summer - it was all DOS for business and random brands of native 8-bit machines for fun. One Mac - owned by our senior programmer at that same company - the first Mac I ever saw, and probably the only 128K Mac I ever saw in the wild because everyone gobbled up the 512K model when it came out. -ethan From ethan.dicks at gmail.com Mon Jan 2 23:12:40 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Tue, 3 Jan 2012 00:12:40 -0500 Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F0262D2.6000401@telegraphics.com.au> Message-ID: On Mon, Jan 2, 2012 at 10:19 PM, Ethan Dicks wrote: > ... I even wrote my own hacks, based on > examples from some of my ROM expansions from my PET days. ... > ?I can't remember adding > anything that didn't make sense embedded in a running program. That should be "did make sense". I didn't add new keywords or bizarre parsing except perhaps an experiment or two following instructions on calling machine code directly with SYS and grabbing a few bytes after the fact (like making "SYS 40960:1 2 3 4" do something useful); certainly nothing that I ever depended on in any "useful" program. -ethan From cclist at sydex.com Mon Jan 2 23:22:00 2012 From: cclist at sydex.com (Chuck Guzis) Date: Mon, 02 Jan 2012 21:22:00 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0263E6.4090706@telegraphics.com.au> References: , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au> Message-ID: <4F021FF8.6247.26D6D34@cclist.sydex.com> On 2 Jan 2012 at 21:11, Toby Thain wrote: > Well, there is the "small" problem that BASIC syntax, data types, and > control structures relate poorly to modern languages and even less to > powerful abstractions. There's not such a huge distance between > Fortran and BASIC! Oh? Well, it depends what version of FORTRAN (but not Fortran, if you see where I'm going). Start with USA BASIC FORTRAN subset of FORTRAN 66 (X3-10.1966). It was standard (FORTRAN was one of the only ANSI-standard languages before about 1974). Stripped down FORTRAN to the bare metal. Fewer statment bytes than BASIC. A good start; it's where many engineers learned to program. Before that, starting with machine language was a good place to start. Not assembly--machine language. Easy enough on decimal machines--there were quite a few books on this for the IBM 1620. If you've been exposed to machine langauge before an HLL, I suspect that you gain a deeper understanding of how langauges work. On the other hand, there was the B5500... You could always start kids out on a Turing machine. Can you teach calculus before arithmetic? (HLL = calculus; Turing machine = arithmetic). I'm not sure. --Chuck From cisin at xenosoft.com Mon Jan 2 23:26:29 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 21:26:29 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <20120102212036.F61599@shell.lmi.net> > >>> Djikstra said, "It is virtually impossible to teach good programming > >>> prctices to students with a prior exposure to BASIC; they are mentally > >>> mutilated beyond any hope of regeneration." On Tue, 3 Jan 2012, Ian King wrote: > Quotation from "How do we tell truths that might hurt?", Edsger > W.Dijkstra, 18 June 1975, as retrieved from > http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html on > 2-JAN-2012: > "It is practically impossible to teach good programming to students that > have had a prior exposure to BASIC: as potential programmers they are > mentally mutilated beyond hope of regeneration." I got it pretty close. Also, I was thinking of what he wrote in "Unpleasant Truths : GOTO considered Haemful", so, I'll know how far off I really was when I can find my source document. > "The use of COBOL cripples the mind; its teaching should, therefore, be > regarded as a criminal offense." -- Ian ONE semester, I had to teach COBOL! Somebody put that on the board before class. They can't prove it; lots of people had chalk. Can you find the time that he compared FORTRAN to Syphylis? From cisin at xenosoft.com Mon Jan 2 23:43:36 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Mon, 2 Jan 2012 21:43:36 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F021FF8.6247.26D6D34@cclist.sydex.com> References: , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au> <4F021FF8.6247.26D6D34@cclist.sydex.com> Message-ID: <20120102212957.V61599@shell.lmi.net> On Mon, 2 Jan 2012, Chuck Guzis wrote: > Before that, starting with machine language was a good place to > start. Not assembly--machine language. Easy enough on decimal > machines--there were quite a few books on this for the IBM 1620. In the 1960s, the college system that I'm now faculty in, did a sequence of EAM, machine language (1401, emulated on a 1620), assembly (141 SPS), HLL (PDQ FORTRAN on 1620). We had unfettered access to the 1620, and a tiny window into the room with the 1401. But, I had already been doing FORTRAN (360), and then that sequence, and then work using FORTRAN and APL (360s), before ever doing BASIC (TRS80) and then C (5150), and THEN 8086 assembly. > If you've been exposed to machine langauge before an HLL, I suspect > that you gain a deeper understanding of how langauges work. MAYBE. There are certainly some exceptions; different people learn differently. Certainly many people learned much more effectively than I did. (I don't remember ANYTHING about the 141 SPS class, but that could have been due to the LSD to get the epiphanies to get through the calculus classes) > Can you teach calculus before arithmetic? (HLL = calculus; Turing > machine = arithmetic). "New Math" was an attempt to deal with theoretical math, WITHOUT it only being as a followup to massive amounts of arithmentic. I wonder how well it would have done with teachers who understood it? From bfranchuk at jetnet.ab.ca Mon Jan 2 23:58:24 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Mon, 02 Jan 2012 22:58:24 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120102212036.F61599@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> Message-ID: <4F029900.70301@jetnet.ab.ca> On 1/2/2012 10:26 PM, Fred Cisin wrote: > > Can you find the time that he compared FORTRAN to Syphylis? > I'am glad I've learned programing from old Star Trek re-runs. " Kill the mains for 30 seconds and then wait till the lights start blinking. " Ben. From cclist at sydex.com Tue Jan 3 00:23:35 2012 From: cclist at sydex.com (Chuck Guzis) Date: Mon, 02 Jan 2012 22:23:35 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120102212957.V61599@shell.lmi.net> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <20120102212957.V61599@shell.lmi.net> Message-ID: <4F022E67.2097.2A5CFD6@cclist.sydex.com> On 2 Jan 2012 at 21:43, Fred Cisin wrote: > On Mon, 2 Jan 2012, Chuck Guzis wrote: > > Before that, starting with machine language was a good place to > > start. Not assembly--machine language. Easy enough on decimal > > machines--there were quite a few books on this for the IBM 1620. > > In the 1960s, the college system that I'm now faculty in, did a > sequence of EAM, machine language (1401, emulated on a 1620), assembly > (141 SPS), HLL (PDQ FORTRAN on 1620). We had unfettered access to the > 1620, and a tiny window into the room with the 1401. I taught myself S/360 machine language by sitting with dumps decoding instructions by hand and then figuring out what the code did. I learned about a few "undocumented" SVCs in DOS/360 that way. But, there's no one way to learn anything. Do you teach Smalltak or Logo first? Do you give someone a bag of marbles and three bowls and tell them to write program for that? Would a born-in-Montgomery Alabama native pass a bonehead English- language class in Bonn? (When I was a freshman in high school, we had what we thought was a "ringer" in Spanish class--a girl from Mexico who had little command of English. Since our class was taught entirely in Spanish, we figured her for an automatic "A". She flunked--she couldn't get her head around the structure of the language, such as case and verb tenses). So, could a whizbang script kiddie write a FORTRAN program to find square roots using Newton-Raphson? I don't know. I think the choice of programming language is largely irrelevant. You could probably use RPG as an effective teaching tool. I once tried to help a kindergarten teacher with her computer course-- programming in BASIC. I wound up with a bad headache for not being able to couch my teaching in her skillset. I've since left teaching to the professionals. --Chuck From michael.99.thompson at gmail.com Mon Jan 2 20:56:10 2012 From: michael.99.thompson at gmail.com (Michael Thompson) Date: Mon, 2 Jan 2012 21:56:10 -0500 Subject: The PDP-8/L at the RICM is running! Message-ID: After seven months of Saturdays the PDP-8/L at the Rhode Island Computer Museum is finally running. It had 22 broken flip-chips, almost 20% of the modules in the system. Without lots of help from Warren Stearns, suggestions from Vincent Slyngstad, and donated spare modules from Vince Pavlicek we never would gotten it running. See: https://sites.google.com/a/ricomputermuseum.org/home/Home/equipment/pdp-8-l for details on the system and the debug process. Does anyone know of a source for peripherals that we use with the 8/L? -- Michael Thompson From tdk.knight at gmail.com Tue Jan 3 01:08:21 2012 From: tdk.knight at gmail.com (Adrian Stoness) Date: Tue, 3 Jan 2012 01:08:21 -0600 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: Message-ID: congratz On Mon, Jan 2, 2012 at 8:56 PM, Michael Thompson < michael.99.thompson at gmail.com> wrote: > After seven months of Saturdays the PDP-8/L at the Rhode Island > Computer Museum is finally running. It had 22 broken flip-chips, > almost 20% of the modules in the system. > Without lots of help from Warren Stearns, suggestions from Vincent > Slyngstad, and donated spare modules from Vince Pavlicek we never > would gotten it running. > See: > https://sites.google.com/a/ricomputermuseum.org/home/Home/equipment/pdp-8-l > for details on the system and the debug process. > Does anyone know of a source for peripherals that we use with the 8/L? > -- > Michael Thompson > From IanK at vulcan.com Tue Jan 3 01:29:12 2012 From: IanK at vulcan.com (Ian King) Date: Tue, 3 Jan 2012 07:29:12 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120102212036.F61599@shell.lmi.net> Message-ID: On 1/2/12 9:26 PM, "Fred Cisin" wrote: >> >>> Djikstra said, "It is virtually impossible to teach good programming >> >>> prctices to students with a prior exposure to BASIC; they are >>mentally >> >>> mutilated beyond any hope of regeneration." > >On Tue, 3 Jan 2012, Ian King wrote: >> Quotation from "How do we tell truths that might hurt?", Edsger >> W.Dijkstra, 18 June 1975, as retrieved from >> http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html on >> 2-JAN-2012: >> "It is practically impossible to teach good programming to students that >> have had a prior exposure to BASIC: as potential programmers they are >> mentally mutilated beyond hope of regeneration." > >I got it pretty close. Also, I was thinking of what he wrote in >"Unpleasant Truths : GOTO considered Haemful", so, I'll know how far off >I really was when I can find my source document. > > >> "The use of COBOL cripples the mind; its teaching should, therefore, be >> regarded as a criminal offense." -- Ian > >ONE semester, I had to teach COBOL! Somebody put that on the board before >class. They can't prove it; lots of people had chalk. I worked in a COBOL shop for a time as an analyst, and found spurious bugs based on a lack of understanding of the idioms of COBOL. When I found a *real* bug, one that had tortured the cost accountants for a couple of years, it was a challenge to get them to admit it was legitimate, until our budget finally balanced. > > >Can you find the time that he compared FORTRAN to Syphylis? > The comment I seem to remember but can't find right now claimed that Forth requires the human programmer to serve as a preprocessor. Clever, and painfully true, but I still really like Forth-like languages. :-) My OS professor in my Masters program said he worked with Dijkstra for a time, and claimed that he really was a curmudgeon. Well, that wasn't the exact word my instructor used?. -- Ian From legalize at xmission.com Tue Jan 3 02:06:40 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 01:06:40 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: In article , Ian King writes: > Of course, there are people who think if it doesn't look like C/C++, it > ain't programmin'. :-) (Of course, not talking about you, Josh - just > say lambda!) C++11 has lambda expressions. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From legalize at xmission.com Tue Jan 3 02:11:50 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 01:11:50 -0700 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: Message-ID: In article , Michael Thompson writes: > After seven months of Saturdays the PDP-8/L at the Rhode Island > Computer Museum is finally running. Great news! I like the restoration blog you kept of your work. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From mouse at Rodents-Montreal.ORG Tue Jan 3 02:13:20 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Tue, 3 Jan 2012 03:13:20 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <201201030813.DAA00481@Sparkle.Rodents-Montreal.ORG> > The comment I seem to remember but can't find right now claimed that > Forth requires the human programmer to serve as a preprocessor. > Clever, and painfully true, [...] Indeed...but true of all other lanugages too (though I'm not convinced "_pre_processor" is actually accurate, even in FORTH's case). Converting a problem into a program to solve it is, after all, what programming _is_. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From cclist at sydex.com Tue Jan 3 03:18:42 2012 From: cclist at sydex.com (Chuck Guzis) Date: Tue, 03 Jan 2012 01:18:42 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, Message-ID: <4F025772.20312.3462474@cclist.sydex.com> On 3 Jan 2012 at 7:29, Ian King wrote: > I worked in a COBOL shop for a time as an analyst, and found spurious > bugs based on a lack of understanding of the idioms of COBOL. When I > found a *real* bug, one that had tortured the cost accountants for a > couple of years, it was a challenge to get them to admit it was > legitimate, until our budget finally balanced. My exposure to COBOL was from the inside-out. I worked on a translator between dialects. Knowing the spec of the source and then the CODASYL definition (the target) was essential. I probably didn't write my first test COBOL program for several months. It was surprising how many trouble reports were answered by a quote (chapter and verse) from the CODASYL standard. The rules of the MOVE verb were in particular not well understood. "I know how you expect this to work, but it doesn't work that way." COBOL is a very difficult language to *master*. Perhaps not as much as PL/I or Ada, but close. I can't imagine starting someone out with COBOL as a first programming language--unless the student was a lawyer specializing in contract law. By comparison, the ANSI standard for FORTRAN 66 was 39 pages; for the USA BASIC FORTRAN derived from that, perhaps 20--of big print. Can you even imagine an ANSI standard description of a "modern" language in 20 pages? --Chuck From legalize at xmission.com Tue Jan 3 03:28:38 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 02:28:38 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F025772.20312.3462474@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com> Message-ID: In article <4F025772.20312.3462474 at cclist.sydex.com>, "Chuck Guzis" writes: > By comparison, the ANSI standard for FORTRAN 66 was 39 pages; for the > USA BASIC FORTRAN derived from that, perhaps 20--of big print. > > Can you even imagine an ANSI standard description of a "modern" > language in 20 pages? It's not really a fair comparison as we expect a "modern" language to do much more than FORTRAN 66. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From vintagecoder at aol.com Tue Jan 3 03:49:39 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Tue, 3 Jan 2012 09:49:39 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net> , <4F025772.20312.3462474@cclist.sydex.com> Message-ID: <218421666-1325584172-cardhu_decombobulator_blackberry.rim.net-1238625546-@b15.c1.bise3.blackberry> More amazing than the size of the spec is how much got done with that language. -----Original Message----- From: Richard Sender: cctalk-bounces at classiccmp.org Date: Tue, 03 Jan 2012 02:28:38 To: cctalk Reply-To: "General Discussion: On-Topic and Off-Topic Posts" Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In article <4F025772.20312.3462474 at cclist.sydex.com>, "Chuck Guzis" writes: > By comparison, the ANSI standard for FORTRAN 66 was 39 pages; for the > USA BASIC FORTRAN derived from that, perhaps 20--of big print. > > Can you even imagine an ANSI standard description of a "modern" > language in 20 pages? It's not really a fair comparison as we expect a "modern" language to do much more than FORTRAN 66. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From cclist at sydex.com Tue Jan 3 03:53:22 2012 From: cclist at sydex.com (Chuck Guzis) Date: Tue, 03 Jan 2012 01:53:22 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com>, Message-ID: <4F025F92.15804.365E05A@cclist.sydex.com> On 3 Jan 2012 at 2:28, Richard wrote: > It's not really a fair comparison as we expect a "modern" language to > do much more than FORTRAN 66. Do what, exactly? Are you saying that simple languages can't "do" what more complicated ones do? Does the simplest---machine code, do less than, any HLL, modern or ancient? Is C less capable than Python? --Chuck From vintagecoder at aol.com Tue Jan 3 03:59:15 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Tue, 3 Jan 2012 09:59:15 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC Message-ID: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> Depends who you ask. I was told by a guy with 3 years of Java programming under his belt that Java is much more powerful than assembler, after all, Java is object oriented! ;-) Anyway this ought to be an interesting subthread. I'll make the popcorn! ------Original Message------ From: Chuck Guzis Sender: cctalk-bounces at classiccmp.org To: General Discussion: On-Topic and Off-Topic Posts ReplyTo: General Discussion: On-Topic and Off-Topic Posts Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC Sent: 3 Jan 2012 09:53 On 3 Jan 2012 at 2:28, Richard wrote: > It's not really a fair comparison as we expect a "modern" language to > do much more than FORTRAN 66. Do what, exactly? Are you saying that simple languages can't "do" what more complicated ones do? Does the simplest---machine code, do less than, any HLL, modern or ancient? Is C less capable than Python? --Chuck From dave.thearchivist at gmail.com Tue Jan 3 04:12:25 2012 From: dave.thearchivist at gmail.com (Dave Caroline) Date: Tue, 3 Jan 2012 10:12:25 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> Message-ID: On Tue, Jan 3, 2012 at 9:59 AM, Vintage Coder wrote: > Depends who you ask. I was told by a guy with 3 years of Java programming under his belt that Java is much more powerful than assembler, after all, Java is object oriented! ;-) > For fun show him the book title Object oriented assembly language L. Dirfman Windcrest 1990 and define powerful :) you can do anything in assembler that the processor allows ask him if he can write a hardware driver in a couple of k memory on a 6502 in Java. Dave Caroline From vintagecoder at aol.com Tue Jan 3 04:16:47 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Tue, 3 Jan 2012 10:16:47 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> Message-ID: <440260133-1325585801-cardhu_decombobulator_blackberry.rim.net-723863116-@b15.c1.bise3.blackberry> No argument from me. I've coded assembler for most of my life. This young guy just didn't get it. I couldn't even get him to understand the examples of things Java couldn't do on the platform we were talking about. My coworker turned to him and said "you do realize Java eventually gets translated to assembler in order for it to actually do anything, don't you?" Even that didn't work! "We give up." -----Original Message----- From: Dave Caroline Sender: cctalk-bounces at classiccmp.org Date: Tue, 3 Jan 2012 10:12:25 To: General Discussion: On-Topic and Off-Topic Posts Reply-To: "General Discussion: On-Topic and Off-Topic Posts" Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC On Tue, Jan 3, 2012 at 9:59 AM, Vintage Coder wrote: > Depends who you ask. I was told by a guy with 3 years of Java programming under his belt that Java is much more powerful than assembler, after all, Java is object oriented! ;-) > For fun show him the book title Object oriented assembly language L. Dirfman Windcrest 1990 and define powerful :) you can do anything in assembler that the processor allows ask him if he can write a hardware driver in a couple of k memory on a 6502 in Java. Dave Caroline From lproven at gmail.com Tue Jan 3 06:05:00 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 12:05:00 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102180933.I61599@shell.lmi.net> <201201030454.q034sEet013478@floodgap.com> Message-ID: On 3 January 2012 05:08, Ethan Dicks wrote: > On Mon, Jan 2, 2012 at 11:54 PM, Cameron Kaiser wrote: >> I'm pretty sure that was the intention, though Bil Herd "accidentally" >> designed the Z80 into the motherboard as a way of getting around having >> to make the 128 compatible with the CP/M 2.2 cartridge. Blimey. That seems like a lot of work! > I was never a C128 user, nor were there a lot of them in our local > Commodore user group. ?In general, though, how common was CP/M usage > among the C128 crowd? Not high, AIUI, from a little Googling. > Was it too little, too late by then? Yup! But also, I th ?I > remember watching my boss in 1984 use a CP/M card in his Apple II for > business apps (mostly spreadsheets), but I don't remember personally > seeing anyone running CP/M after that summer - it was all DOS for > business and random brands of native 8-bit machines for fun. ?One Mac > - owned by our senior programmer at that same company - the first Mac > I ever saw, and probably the only 128K Mac I ever saw in the wild > because everyone gobbled up the 512K model when it came out. > > -ethan -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From lproven at gmail.com Tue Jan 3 06:07:25 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 12:07:25 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102180933.I61599@shell.lmi.net> <201201030454.q034sEet013478@floodgap.com> Message-ID: On 3 January 2012 12:05, Liam Proven wrote: > But also, I th ... I think my damned laptop is malfunctioning! I was going to say, I think that CBM owners were keen on native CBM software. I have gauged much more interest in proper native software, such as GEOS, than non-native stuff such as CP/M. > ??I >> remember watching my boss in 1984 use a CP/M card in his Apple II for >> business apps (mostly spreadsheets), Huh? Wasn't Visicalc a native Apple II app? -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From lproven at gmail.com Tue Jan 3 06:14:32 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 12:14:32 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F02810B.9090504@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> Message-ID: On 3 January 2012 04:16, Toby Thain wrote: > On 02/01/12 10:00 PM, Mouse wrote: >>>> >>>> I consider BASIC to be an excellent beginner's introduction to "what >>>> is a program?", etc., so long as they are exposed to other languages >>>> immediately after grasping the basic principles. >>> >>> Well, there is the "small" problem that BASIC syntax, data types, and >>> control structures relate poorly to modern languages and even less to >>> powerful abstractions. >> >> >> I'm not convinced that's a problem. >> >>> What's wrong with Scheme? ?Or at worst, Python? >> >> >> The same thing that was wrong with the New Math: you don't dump the >> full load of theory on a beginner, not unless you want a very confused >> beginner, or you have the incredible luck to get a Ramanujan or Knuth >> as a student (and if so, honestly, the best thing anyone can do is to >> get the hell out of the way). > > > Scheme has no more theoretical load than BASIC. O_o So speaketh a *highly* intelligent, perhaps near-genius-level, natural programmer. I have only read a tiny little bit about Scheme but it is virtually impenetrable to me - and I have years of programming experiences, albeit poor quality programming, and have been competent in 4 or 5 languages: umpteen BASICs, Pascal, Fortran, C shell, and arguably rudimentary C. I have yet to find an explanation of the lambda calculus that is remotely comprehensible to me, as a smart, educated man with extremely rich and deep IT experience. Seriously, most people are not very smart. BASIC has a fairly low entry level - the learning curve is modest. The reason that most of the other "teaching languages" designed to replace it haven't worked out on anything like the same scale. (E.g. Logo, Scheme) Concepts such as local versus global variables, scope, recursion and so on are complex, difficult stuff unless someone is both very very smart and deeply embedded in computational and mathematical "culture". Any language which puts these front and centre is quite simply /too hard/ for mere mortals to learn. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From toby at telegraphics.com.au Tue Jan 3 07:33:02 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 08:33:02 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F03038E.9010306@telegraphics.com.au> On 03/01/12 12:02 AM, Ian King wrote: > On 1/2/12 8:22 PM, "Josh Dersch" wrote: > >> On 1/2/2012 8:14 PM, Toby Thain wrote: >>> On 02/01/12 10:02 PM, Fred Cisin wrote: >>>>>> Damn good points. >>>>>> I consider BASIC to be an excellent beginner's introduction to >>>>>> "what is a program?", etc., so long as they are exposed to other >>>>>> languages immediately after grasping the basic principles. >>>> >>>> On Mon, 2 Jan 2012, Toby Thain wrote: >>>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>>> control structures relate poorly to modern languages and even less to >>>>> powerful abstractions. There's not such a huge distance between >>>>> Fortran >>>>> and BASIC! >>>> >>>> Djikstra said, "It is virtually impossible to teach good programming >>>> prctices to students with a prior exposure to BASIC; they are mentally >>>> mutilated beyond any hope of regeneration." >>> >>> He had that lovely combination of clear sight and fearless expression. >> >> If only that particular expression of his was even remotely true :). >> >> - Josh > > Quotation from "How do we tell truths that might hurt?", Edsger > W.Dijkstra, 18 June 1975, as retrieved from > http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html on > 2-JAN-2012: > > "It is practically impossible to teach good programming to students that > have had a prior exposure to BASIC: as potential programmers they are > mentally mutilated beyond hope of regeneration." > > > Of course, there are people who think if it doesn't look like C/C++, it > ain't programmin'. :-) (Of course, not talking about you, Josh - just > say lambda!) Most long-time imperative programmers who seriously studies The Structure and Interpretation of Computer Programs will come face to face with the essential truth of Dijkstra's remark. The consequent un-learning is just as valuable as the learning... --T > > My favorite has always been (ibid): > > "The use of COBOL cripples the mind; its teaching should, therefore, be > regarded as a criminal offense." -- Ian > > > From toby at telegraphics.com.au Tue Jan 3 07:38:45 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 08:38:45 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F0304E5.3010500@telegraphics.com.au> On 03/01/12 3:06 AM, Richard wrote: > In article, > Ian King writes: > >> Of course, there are people who think if it doesn't look like C/C++, it >> ain't programmin'. :-) (Of course, not talking about you, Josh - just >> say lambda!) > > C++11 has lambda expressions. Well that's nice. I guess they can avoid learning Lisp for another few years then. Maybe. --Toby From toby at telegraphics.com.au Tue Jan 3 07:57:24 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 08:57:24 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> Message-ID: <4F030944.7010809@telegraphics.com.au> On 03/01/12 7:14 AM, Liam Proven wrote: > On 3 January 2012 04:16, Toby Thain wrote: >> On 02/01/12 10:00 PM, Mouse wrote: >>>>> >>>>> I consider BASIC to be an excellent beginner's introduction to "what >>>>> is a program?", etc., so long as they are exposed to other languages >>>>> immediately after grasping the basic principles. >>>> >>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>> control structures relate poorly to modern languages and even less to >>>> powerful abstractions. >>> >>> >>> I'm not convinced that's a problem. >>> >>>> What's wrong with Scheme? Or at worst, Python? >>> >>> >>> The same thing that was wrong with the New Math: you don't dump the >>> full load of theory on a beginner, not unless you want a very confused >>> beginner, or you have the incredible luck to get a Ramanujan or Knuth >>> as a student (and if so, honestly, the best thing anyone can do is to >>> get the hell out of the way). >> >> >> Scheme has no more theoretical load than BASIC. > > O_o So speaketh a *highly* intelligent, perhaps near-genius-level, > natural programmer. Of course, I meant to qualify this as: "for a beginner", which is the point here. Since modelling and abstraction are far more important parts of "programming" than syntax, BASIC fails completely: - full of irrelevant lexical bullshit and limitations (line numbers? what good is this to a beginner?); - numbers, strings, fixed length arrays? that's it? How do I build anything else? Oh right. I can't. - most BASICs lack structured programming primitives, so even as an IMPERATIVE language it fails to teach important patterns from the 1980s (which might explain some of the code I see around the place); - lacks named functions & procedures (yeah, some BASICs have a crippled hack for this; see lexical bullshit above) - a fundamental abstracting/factoring tool. - etc, etc. Now with Scheme, - you start with a syntax that is not pedagogically toxic; - you have the breath of a hope of constructing useful data structures without artificial limitations which can only frustrate; - there is the opportunity to introduce more theoretical load, which is good. The door is always unlocked to go beyond where one already is. There is nothing here that cannot be taught to a high school age student. > I have only read a tiny little bit about Scheme but it is virtually > impenetrable to me - and I have years of programming experiences, And that is EXACTLY what Dijkstra was on about. The conclusion YOU come to is that Scheme isn't relevant to programming. But in fact the opposite is true: A good part of what you have been indoctrinated with, from BASIC onwards, *obscures* what is really going on when you program. Programs are not "sequences of instructions" except at the absolute bottom-most level. We do not need *another* generation of programmers for whom recursion and higher-order functions are alien concepts. Worse: Not given proper tools, mental and literal, for modelling and abstraction. Abstraction, it can be argued, is the single most important idea to learn as a computer programmer. I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't really learn anything except how to navigate limitations. Ugh. If only I had picked up Scheme when I picked up C. > albeit poor quality programming, and have been competent in 4 or 5 > languages: umpteen BASICs, Pascal, Fortran, C shell, and arguably > rudimentary C. I have yet to find an explanation of the lambda > calculus that is remotely comprehensible to me, as a smart, educated > man with extremely rich and deep IT experience. > > Seriously, most people are not very smart. BASIC has a fairly low > entry level - the learning curve is modest. The reason that most of > the other "teaching languages" designed to replace it haven't worked > out on anything like the same scale. (E.g. Logo, Scheme) > > Concepts such as local versus global variables, scope, recursion and > so on are complex, difficult stuff unless someone is both very very Actually none of these are more difficult than the artificial hurdles BASIC puts in front of you. Once again you speak from your confessed "imperative place". Now imagine that you had learned Scheme first. Would you say recursion was hard? How will you program effectively in 2030 without dealing with higher order functions, continuations, immutable state? (How can one do it today, for that matter; only because in software Things Move So Damn Slowly.) Kids being educated for a career in software starting today deserve something better than BASIC. Things are bad enough already. --Toby > smart and deeply embedded in computational and mathematical "culture". > Any language which puts these front and centre is quite simply /too > hard/ for mere mortals to learn. > > From toby at telegraphics.com.au Tue Jan 3 07:59:49 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 08:59:49 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <440260133-1325585801-cardhu_decombobulator_blackberry.rim.net-723863116-@b15.c1.bise3.blackberry> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> <440260133-1325585801-cardhu_decombobulator_blackberry.rim.net-723863116-@b15.c1.bise3.blackberry> Message-ID: <4F0309D5.7070008@telegraphics.com.au> On 03/01/12 5:16 AM, Vintage Coder wrote: > No argument from me. I've coded assembler for most of my life. This young guy just didn't get it. I couldn't even get him to understand the examples of things Java couldn't do on the platform we were talking about. My coworker turned to him and said "you do realize Java eventually gets translated to assembler in order for it to actually do anything, don't you?" Even that didn't work! > > "We give up." > > Some people should be doing something else. From what I see around: Maybe 80% of the current industry. Why? They didn't learn and they won't learn. --Toby > -----Original Message----- > From: Dave Caroline > Sender: cctalk-bounces at classiccmp.org > Date: Tue, 3 Jan 2012 10:12:25 > To: General Discussion: On-Topic and Off-Topic Posts > Reply-To: "General Discussion: On-Topic and Off-Topic Posts" > > Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC > > On Tue, Jan 3, 2012 at 9:59 AM, Vintage Coder wrote: >> Depends who you ask. I was told by a guy with 3 years of Java programming under his belt that Java is much more powerful than assembler, after all, Java is object oriented! ;-) >> > > For fun show him the book title > Object oriented assembly language > L. Dirfman Windcrest 1990 > > and define powerful :) > you can do anything in assembler that the processor allows > ask him if he can write a hardware driver in a couple of k memory on a > 6502 in Java. > > Dave Caroline > > From toby at telegraphics.com.au Tue Jan 3 08:00:44 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 09:00:44 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> Message-ID: <4F030A0C.6090603@telegraphics.com.au> On 03/01/12 4:59 AM, Vintage Coder wrote: > Depends who you ask. I was told by a guy with 3 years of Java programming under his belt that Java is much more powerful than assembler, after all, Java is object oriented! ;-) > From the point of view of "abstraction", he is right. The abstractions in Java *are* much more powerful. --Toby > Anyway this ought to be an interesting subthread. I'll make the popcorn! > > ------Original Message------ > From: Chuck Guzis > Sender: cctalk-bounces at classiccmp.org > To: General Discussion: On-Topic and Off-Topic Posts > ReplyTo: General Discussion: On-Topic and Off-Topic Posts > Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC > Sent: 3 Jan 2012 09:53 > > On 3 Jan 2012 at 2:28, Richard wrote: > >> It's not really a fair comparison as we expect a "modern" language to >> do much more than FORTRAN 66. > > Do what, exactly? Are you saying that simple languages can't "do" > what more complicated ones do? Does the simplest---machine code, do > less than, any HLL, modern or ancient? Is C less capable than > Python? > > --Chuck > > > From toby at telegraphics.com.au Tue Jan 3 08:02:37 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 09:02:37 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F025F92.15804.365E05A@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com>, <4F025F92.15804.365E05A@cclist.sydex.com> Message-ID: <4F030A7D.1030808@telegraphics.com.au> On 03/01/12 4:53 AM, Chuck Guzis wrote: > On 3 Jan 2012 at 2:28, Richard wrote: > >> It's not really a fair comparison as we expect a "modern" language to >> do much more than FORTRAN 66. > > Do what, exactly? Are you saying that simple languages can't "do" > what more complicated ones do? Does the simplest---machine code, do > less than, any HLL, modern or ancient? Is C less capable than > Python? Yes, in one sense (the important one: how we get stuff done, in sensible and maintainable ways). Of course one can go far beyond Python in this direction as well. No, in another sense (theoretical Turing equivalence yadda yadda which isn't the topic here). --Toby > > --Chuck > > From toby at telegraphics.com.au Tue Jan 3 08:03:20 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 09:03:20 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com> Message-ID: <4F030AA8.8010906@telegraphics.com.au> On 03/01/12 4:28 AM, Richard wrote: > In article<4F025772.20312.3462474 at cclist.sydex.com>, > "Chuck Guzis" writes: > >> By comparison, the ANSI standard for FORTRAN 66 was 39 pages; for the >> USA BASIC FORTRAN derived from that, perhaps 20--of big print. >> >> Can you even imagine an ANSI standard description of a "modern" >> language in 20 pages? Yeah? Scheme has come in at around forty. And you don't get much more modern than that. --Toby > > It's not really a fair comparison as we expect a "modern" language to > do much more than FORTRAN 66. From derschjo at mail.msu.edu Tue Jan 3 08:14:34 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Tue, 03 Jan 2012 06:14:34 -0800 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F03038E.9010306@telegraphics.com.au> References: <4F03038E.9010306@telegraphics.com.au> Message-ID: <4F030D4A.2010704@mail.msu.edu> On 1/3/2012 5:33 AM, Toby Thain wrote: > On 03/01/12 12:02 AM, Ian King wrote: >> >> Quotation from "How do we tell truths that might hurt?", Edsger >> W.Dijkstra, 18 June 1975, as retrieved from >> http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html on >> 2-JAN-2012: >> >> "It is practically impossible to teach good programming to students that >> have had a prior exposure to BASIC: as potential programmers they are >> mentally mutilated beyond hope of regeneration." >> >> >> Of course, there are people who think if it doesn't look like C/C++, it >> ain't programmin'. :-) (Of course, not talking about you, Josh - just >> say lambda!) > > Most long-time imperative programmers who seriously studies The > Structure and Interpretation of Computer Programs will come face to > face with the essential truth of Dijkstra's remark. The consequent > un-learning is just as valuable as the learning... I know how to program in BASIC (and many other imperative programming languages). I also know how to program in Lisp. The learning of the latter did not require me to "un-learn" anything I had previously come across. Dijkstra's statement is snarky and amusing. It is not, however, an essential truism. - Josh From spectre at floodgap.com Tue Jan 3 08:14:45 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 06:14:45 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0309D5.7070008@telegraphics.com.au> from Toby Thain at "Jan 3, 12 08:59:49 am" Message-ID: <201201031414.q03EEjji011698@floodgap.com> > > No argument from me. I've coded assembler for most of my life. [...]My > > coworker turned to him and said "you do realize Java eventually gets > > translated to assembler in order for it to actually do anything, don't > > you?" Even that didn't work! > > Some people should be doing something else. From what I see around: > Maybe 80% of the current industry. > > Why? They didn't learn and they won't learn. Meanwhile, I'm sitting here with a debugger single stepping through PowerPC assembly language and I don't even work in the industry anymore. I'm toying with writing an SECD VM in 6502 assembly language, though. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Whatever it is, I'm against it. -- Groucho Marx ---------------------------- From vintagecoder at aol.com Tue Jan 3 08:17:19 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Tue, 3 Jan 2012 14:17:19 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F030A0C.6090603@telegraphics.com.au> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> <4F030A0C.6090603@telegraphics.com.au> Message-ID: <1344850034-1325600232-cardhu_decombobulator_blackberry.rim.net-132678525-@b15.c1.bise3.blackberry> I think this is the bone of contention. Some people view the power of a language based on expressiveness, conciseness (is that a word) etc. and others look at power from a standpoint of what can be accomplished with it. Both views have their place, depending on your orientation. -----Original Message----- From: Toby Thain Sender: cctalk-bounces at classiccmp.org Date: Tue, 03 Jan 2012 09:00:44 To: General Discussion On-Topic and Off-Topic Posts Reply-To: "General Discussion: On-Topic and Off-Topic Posts" Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC On 03/01/12 4:59 AM, Vintage Coder wrote: > Depends who you ask. I was told by a guy with 3 years of Java programming under his belt that Java is much more powerful than assembler, after all, Java is object oriented! ;-) > From the point of view of "abstraction", he is right. The abstractions in Java *are* much more powerful. --Toby > Anyway this ought to be an interesting subthread. I'll make the popcorn! > > ------Original Message------ > From: Chuck Guzis > Sender: cctalk-bounces at classiccmp.org > To: General Discussion: On-Topic and Off-Topic Posts > ReplyTo: General Discussion: On-Topic and Off-Topic Posts > Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC > Sent: 3 Jan 2012 09:53 > > On 3 Jan 2012 at 2:28, Richard wrote: > >> It's not really a fair comparison as we expect a "modern" language to >> do much more than FORTRAN 66. > > Do what, exactly? Are you saying that simple languages can't "do" > what more complicated ones do? Does the simplest---machine code, do > less than, any HLL, modern or ancient? Is C less capable than > Python? > > --Chuck > > > From jfoust at threedee.com Tue Jan 3 08:12:21 2012 From: jfoust at threedee.com (John Foust) Date: Tue, 03 Jan 2012 08:12:21 -0600 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102180933.I61599@shell.lmi.net> <201201030454.q034sEet013478@floodgap.com> Message-ID: <201201031418.q03EIp1S014022@billy.ezwind.net> At 11:08 PM 1/2/2012, Ethan Dicks wrote: >I was never a C128 user, nor were there a lot of them in our local >Commodore user group. In general, though, how common was CP/M usage >among the C128 crowd? Was it too little, too late by then? Certainly CBM was pretty good at "too little, too late." When I acquired my C-64 in 1984 or so, I spent too much for the CP/M cartridge, and I rarely used it. I, like CBM, thought it would widely expand what software I might run. Didn't turn out that way. - John From spectre at floodgap.com Tue Jan 3 08:28:39 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 06:28:39 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from Ethan Dicks at "Jan 3, 12 00:08:47 am" Message-ID: <201201031428.q03ESd8s011652@floodgap.com> > > I'm pretty sure that was the intention, though Bil Herd "accidentally" > > designed the Z80 into the motherboard as a way of getting around having > > to make the 128 compatible with the CP/M 2.2 cartridge. > > I was never a C128 user, nor were there a lot of them in our local > Commodore user group. In general, though, how common was CP/M usage > among the C128 crowd? Was it too little, too late by then? Not very common. The local Commodore user group I was a member of had a CP/M section in their newsletter, but it was never demoed much at meetings, and I think I used it a grand total of twice. It was fun to explore, though. C128 native mode, on the other hand, was awesome. Too bad not much exploited that either. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- The world is not enough. --------------------------------------------------- From lproven at gmail.com Tue Jan 3 08:50:13 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 14:50:13 +0000 Subject: An interesting job for someone in the UK? Message-ID: http://www.theregister.co.uk/2011/12/30/hawking_job/ Maintain & support the undocumented tech of Prof Stephen Hawking's wheelchair. Wow. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From lproven at gmail.com Tue Jan 3 09:09:37 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 15:09:37 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F030944.7010809@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> Message-ID: On 3 January 2012 13:57, Toby Thain wrote: > On 03/01/12 7:14 AM, Liam Proven wrote: >> >> On 3 January 2012 04:16, Toby Thain ?wrote: >>> >>> On 02/01/12 10:00 PM, Mouse wrote: >>>>>> >>>>>> >>>>>> I consider BASIC to be an excellent beginner's introduction to "what >>>>>> is a program?", etc., so long as they are exposed to other languages >>>>>> immediately after grasping the basic principles. >>>>> >>>>> >>>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>>> control structures relate poorly to modern languages and even less to >>>>> powerful abstractions. >>>> >>>> >>>> >>>> I'm not convinced that's a problem. >>>> >>>>> What's wrong with Scheme? ?Or at worst, Python? >>>> >>>> >>>> >>>> The same thing that was wrong with the New Math: you don't dump the >>>> full load of theory on a beginner, not unless you want a very confused >>>> beginner, or you have the incredible luck to get a Ramanujan or Knuth >>>> as a student (and if so, honestly, the best thing anyone can do is to >>>> get the hell out of the way). >>> >>> >>> >>> Scheme has no more theoretical load than BASIC. >> >> >> O_o So speaketh a *highly* intelligent, perhaps near-genius-level, >> natural programmer. > > > Of course, I meant to qualify this as: "for a beginner", which is the point > here. Even worse. There is a core question here which you seem to be skipping over. Do you want to teach people to write code, to be able to make a computer perform new tasks? *Or* do you want to train professional software engineers? These are not at /all/ the same thing. Indeed I'd submit that they are barely related. If you want the latter, then sure, yes, Scheme or Lisp or something clever and rather arcane. Start 'em on the hard stuff so they learn right, in the same way that I learned swordfighting with a foil, the feeblest weapon but the one controlled by the strictest rules. If you can fight foil, then you can move to the less-demanding sabre easily, and the relatively undemanding ep?e is straightforward; but start with ep?e and learning the formalities of foil will be much harder. > Since modelling and abstraction are far more important parts of > "programming" than syntax, BASIC fails completely: > ?- full of irrelevant lexical bullshit and limitations (line numbers? what > good is this to a beginner?); Oh come off it! Line numbers went out in 1985, man! Don't judge BASIC by the crappy implementations of the early 1980s when 8K of RAM was a lot! > ?- numbers, strings, fixed length arrays? that's it? No, not at all. I would expect at least integers, floats, variable length strings, multidimensional arrays of any other type, and quite possibly different lengths of integer and possibly signed and unsigned forms. Possibly booleans and things as well; maybe a complex type. But to be a programmer does not mandate being a mathematician. I have taught programming to people who did not know what a percentage was, who did not know how to multiply or divide by fractions and so on. Many people do not need fancy types. > How do I build anything > else? Oh right. I can't. Again, a limitation only of very primitive, early BASICs, although I have to say, I never found it a limitation. Have user-defined structured data types if you want, though. > ?- most BASICs lack structured programming primitives, so even as an > IMPERATIVE language it fails to teach important patterns from the 1980s > (which might explain some of the code I see around the place); Again, a limitation of the early 1980s. Not true of any decent BASIC from about 1983 onwards. > ?- lacks named functions & procedures (yeah, some BASICs have a crippled > hack for this; see lexical bullshit above) See above. Have you actually *seen* /any/ even 1990s BASIC, FFS? > - a fundamental > abstracting/factoring tool. You'll have to explain what that means. > Now with Scheme, > ?- you start with a syntax that is not pedagogically toxic; But is incomprehensible and uses bizarre postfix notation. > ?- you have the breath of a hope of constructing useful data structures > without artificial limitations which can only frustrate; Straw man. > ?- there is the opportunity to introduce more theoretical load, which is > good. The door is always unlocked to go beyond where one already is. If you can grasp the basics, pardon the pun, which I doubt most could. > There is nothing here that cannot be taught to a high school age student. You have no real experience of actual high-school students, then, I can see that. >> I have only read a tiny little bit about Scheme but it is virtually >> impenetrable to me - and I have years of programming experiences, > > And that is EXACTLY what Dijkstra was on about. Oh bollocks! Q.v. Dylan: http://en.wikipedia.org/wiki/Dylan_%28programming_language%29#Syntax Q.v. Lisp 2 and Elephant, discussed here /passim./ Even John McCarthy himself later conceded that Lisp's syntax was a major hindrance in teaching it. > The conclusion YOU come to is that Scheme isn't relevant to programming. That is not even remotely /like/ the conclusion that I came to. You are putting words in my mouth and I *object*, strenuously. I did not say it was not relevant. I did not say it was a bad thing to start with. I said it was /too hard/ for the average person, and I stand by that. > But > in fact the opposite is true: A good part of what you have been > indoctrinated with, from BASIC onwards, *obscures* what is really going on > when you program. Programs are not "sequences of instructions" except at the > absolute bottom-most level. You have no idea of what any BASIC from even 20y ago is like, as you have demonstrated, and you also seem to be very unfamiliar with the limitations of actual ordinary people. For nonspecialists, concepts such as loops are quite hard at first. Iterative thinking has to be learned. Starting off utter newbies with prefix notation, CAR and CADR, lists versus atoms, quoting and lambda calculus is like taking the play-blocks off a kindergarten class and asking them to build the cathedral of Notre Dame instead. > We do not need *another* generation of programmers for whom recursion and > higher-order functions are alien concepts. Worse: Not given proper tools, > mental and literal, for modelling and abstraction. Abstraction, it can be > argued, is the single most important idea to learn as a computer programmer. Actually, I am sure you're right. But this misses the strength of the old BASICs of the late 1980s and 1990s: that they brought programming to the common man. Sure, we need better developers, but we /also/ need easy, friendly, fun tools to reintroduce the ordinary Joe to writing programs at all. Python and so on are far too big and complex for this. > I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't > really learn anything except how to navigate limitations. Ugh. If only I had > picked up Scheme when I picked up C. So in fact BASIC did /not/ give you brain damage and stop you learning? > Actually none of these are more difficult than the artificial hurdles BASIC > puts in front of you. Once again you speak from your confessed "imperative > place". You have shown that you don't actually understand how much BASIC moved on from the crappy MS BASIC 4 days of 1980. > Now imagine that you had learned Scheme first. Would you say recursion was > hard? It isn't. I've written recursive programs. In BASIC. In a good BASIC: in BBC BASIC V, a very fast, 32-bit BASIC with full support for named procedures, local variables, passing by reference and value and so on. > How will you program effectively in 2030 without dealing with higher > order functions, continuations, immutable state? (How can one do it today, > for that matter; only because in software Things Move So Damn Slowly.) I don't, because I am not a programmer and I don't aim to be. > Kids being educated for a career in software starting today deserve > something better than BASIC. Things are bad enough already. They deserve something better than a 1970s BASIC, sure... But even a late 1980s BASIC would, I submit, be more use than Python or Ruby, which are too big, too complex and too abstract. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From bfranchuk at jetnet.ab.ca Tue Jan 3 09:26:34 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Tue, 03 Jan 2012 08:26:34 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F030AA8.8010906@telegraphics.com.au> References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com> <4F030AA8.8010906@telegraphics.com.au> Message-ID: <4F031E2A.2020103@jetnet.ab.ca> On 1/3/2012 7:03 AM, Toby Thain wrote: > Yeah? Scheme has come in at around forty. And you don't get much more > modern than that. > I thought scheme was written in C. > --Toby > >> >> It's not really a fair comparison as we expect a "modern" language to >> do much more than FORTRAN 66. > Well I can not think of anything major it is missing other than lower case letters. As for recursion simulated stacks and looping is much safer than doing it directly. Ben. From dm561 at torfree.net Tue Jan 3 09:23:17 2012 From: dm561 at torfree.net (MikeS) Date: Tue, 3 Jan 2012 10:23:17 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC References: Message-ID: ----- Original Message: Date: Tue, 03 Jan 2012 08:33:02 -0500 From: Toby Thain Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC > On 1/2/12 8:22 PM, "Josh Dersch" wrote: >>>> Djikstra said, "It is virtually impossible to teach good programming >>>> prctices to students with a prior exposure to BASIC; they are mentally >>>> mutilated beyond any hope of regeneration." >>> >>> He had that lovely combination of clear sight and fearless expression. >> >> If only that particular expression of his was even remotely true :). >> >> - Josh > Most long-time imperative programmers who seriously studies The Structure > and Interpretation of Computer Programs will come face to face with the > essential truth of Dijkstra's remark. The consequent un-learning is just > as valuable as the learning... --T ----- Reply: I don't think Josh was questioning whether Dijkstra said it, but whether it's actually *true*; since you (Toby) say elsewhere that "I too learned with assembler, BASIC, Pascal, C, and so on", then you must also be "mentally mutilated beyond any hope of regeneration". That would of course explain a lot... ;-) I think many if not most of the people on here discovered that they enjoyed and had a gift for programming by playing with BASIC on their C64 or equivalent and, far from being "mentally mutilated", have gone on to be quite competent programmers and/or analysts; I also suspect that had that C64 been equipped with a language that discouraged 'playing' and enforced rigid rules of structure etc., many of those folks would today be in a different and perhaps less satisfying career. m From spectre at floodgap.com Tue Jan 3 09:29:03 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 07:29:03 -0800 (PST) Subject: Commodore and CP/m was Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201031418.q03EIp1S014022@billy.ezwind.net> from John Foust at "Jan 3, 12 08:12:21 am" Message-ID: <201201031529.q03FT3ZE010486@floodgap.com> > > I was never a C128 user, nor were there a lot of them in our local > > Commodore user group. In general, though, how common was CP/M usage > > among the C128 crowd? Was it too little, too late by then? > > Certainly CBM was pretty good at "too little, too late." When I acquired > my C-64 in 1984 or so, I spent too much for the CP/M cartridge, and I rarely > used it. I, like CBM, thought it would widely expand what software > I might run. Didn't turn out that way. The CP/M 2.2 cartridge was sort of a microcosm of pointless, though. Paired with the GCR-only 1541 it was a wonderful CP/M machine that could run exactly zero existing software packages (without conversion), and the 2.2 cartridge was notably fussy about which hardware revisions it would work with (hence Bil's unconventional solution in the 128's design). At least the 128 had the 1571 that could read various MFM format disks directly, but as you say, too little, too late. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Never trust a computer you can't lift. ------------------------------------- From jfoust at threedee.com Tue Jan 3 09:45:48 2012 From: jfoust at threedee.com (John Foust) Date: Tue, 03 Jan 2012 09:45:48 -0600 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <201201031546.q03FjtKo016555@billy.ezwind.net> At 09:23 AM 1/3/2012, MikeS wrote: >I don't think Josh was questioning whether Dijkstra said it, but whether >it's actually *true*; since you (Toby) say elsewhere that "I too learned >with assembler, BASIC, Pascal, C, and so on", then you must also be >"mentally mutilated beyond any hope of regeneration". You could always become a Perl programmer. http://www.perl.com/pub/2007/12/06/soto-11.html My college buddy Tom Christiansen, co-author of the "camel" book, and I certainly ingested a lot of BASIC-Plus, too. - John From julianskidmore at yahoo.com Tue Jan 3 07:55:22 2012 From: julianskidmore at yahoo.com (Julian Skidmore) Date: Tue, 3 Jan 2012 05:55:22 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC Message-ID: <1325598922.34350.YahooMailNeo@web120206.mail.ne1.yahoo.com> Hi folks, > I'm writing a small Forth engine right now >>While BASIC is good for a starting language it is not the first >>>language I'd bring up on a machine unless it had already been >>>setup on that machine. >>>I'd bring up Forth. One can get the console in and out running >>>first. One can then easily experiment with the disk IO until >>>it is working right. >>>The source is available and easy to understand. >>>Once one has a good understanding, bringing up other >>>languages is trivial. When it comes to teaching programming to kids, simple computers like those in the 8-bit era surely have to be the best. You might want to check out FIGnition, my DIY educational computer, which although based on a modern AVR MCU, is designed to work like a retro 8-bit computer; is simple enough to be built by novices and small enough to be fairly easily understood. https://sites.google.com/site/libby8dev/fignition It works with PAL and NTSC video and around 80 have been sold to Universities, Colleges and Schools in the past 8 months since its release. -cheers from julz From jgh at mdfs.net Tue Jan 3 09:01:21 2012 From: jgh at mdfs.net (J.G.Harston) Date: Tue, 03 Jan 2012 15:01:21 +0000 Subject: Z80/6502 mashups, home computer coprocessors - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0262D2.6000401@telegraphics.com.au> References: <4F0262D2.6000401@telegraphics.com.au> Message-ID: <6c824527390fdcafbfd3cc95ee6949bd@mdfs.net> Toby Thain wrote: > In the case of the BBC Micro ... it meant that schools could have > installations of CP/M business software to familiarise students with > WordStar, Turbo Pascal, and other tools that they'd soon encounter And, the whole core principle of the Tube, you could use the BBC computer as a simple I/O system for non-6502 development. The initial development for the Archimedes line was done with an ARM coprocessor on a BBC. I did a lot of ZX Spectrum Z80 coding with my BBC Z80 CoPro. JGH From jgh at mdfs.net Tue Jan 3 09:17:56 2012 From: jgh at mdfs.net (J.G.Harston) Date: Tue, 03 Jan 2012 15:17:56 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFEAF09.8040604@mail.msu.edu> <8677c5fa22b346887d331f25085774c3@mdfs.net> Message-ID: <147765d82dbb19a8489abfe5a93040b9@mdfs.net> Liam Proven wrote: > Personally, my interest was always mainly in graphics and to a much > lesser extent sound (for their uses in games, mainly!) If the CP/M > version of BBC BASIC is a "legal" CP/M app and only uses CP/M > facilities, then AIUI that means that it more or less by definition > has no graphics or sound support. In which case, there's nothing to > port and you don't need the source! If you want sound and graphics, firstly, the *machine* you are running on must have sound and graphics. A language having sound and graphics won't magically create the hardware for it to function. Secondly, just use the BBC CPM version of Z80 BBC BASIC[1], which passes all non-filing calls to a jump block at &FFxx[2], and write the relevant code at the destination of the jump block. Just as CPM doesn't "know" what a 10*1024-sector disk is, it just passes calls on to the BIOS jump block, and it's the BIOS that understands what a 10*1024-sector disk is. [1]http://mdfs.net/Software/BBCBasic/CPMTube.zip [2]I have a patch program that lets you move the jumpblock as well. -- J.G.Harston - jgh at mdfs.net - mdfs.net/jgh From spectre at floodgap.com Tue Jan 3 10:01:53 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 08:01:53 -0800 (PST) Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: from MikeS at "Jan 3, 12 10:23:17 am" Message-ID: <201201031601.q03G1rmM012144@floodgap.com> > I think many if not most of the people on here discovered that they enjoyed > and had a gift for programming by playing with BASIC on their C64 I learned BASIC originally on the Tomy Tutor, which has a rather wacky BASIC that started with TI Extended BASIC and then modified it further (see http://www.floodgap.com/retrobits/tomy/prog.html ). From there I jumped to C64 BASIC and 6502 assembly, then Turbo Pascal, and now C/C++, Perl, and occasional PPC assembly and Modula-2 work. I don't think it's the programming language but rather the aptitude for tools and procedural design. If people can't conceive of an algorithm in one language, they probably can't conceive of it in any language (differences in relative expressivity notwithstanding). -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- yankee hotel foxtrot. yankee hotel foxtrot. yankee hotel foxtrot. konec. --- From spectre at floodgap.com Tue Jan 3 10:04:07 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 08:04:07 -0800 (PST) Subject: Forth as language bootstrap was Re: teaching programming to kids In-Reply-To: <1325598922.34350.YahooMailNeo@web120206.mail.ne1.yahoo.com> from Julian Skidmore at "Jan 3, 12 05:55:22 am" Message-ID: <201201031604.q03G47bK012226@floodgap.com> The discussion of Forth makes me ask: what other interpreters or languages have been written in Forth? Is there, say, a Lisp or Prolog written in Forth? Forth is easy to bootstrap on pretty much any machine, but its utility is enhanced if it can be a runtime for bigger things. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Logic is the art of going wrong with confidence. -- George Bernard Shaw ---- From IanK at vulcan.com Tue Jan 3 10:44:48 2012 From: IanK at vulcan.com (Ian King) Date: Tue, 3 Jan 2012 16:44:48 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: Message-ID: On 1/3/12 12:06 AM, "Richard" wrote: > >In article , > Ian King writes: > >> Of course, there are people who think if it doesn't look like C/C++, it >> ain't programmin'. :-) (Of course, not talking about you, Josh - just >> say lambda!) > >C++11 has lambda expressions. ISTR another 'stupid programming language tricks' page that opined there are almost always several ways to solve any given problem - and you'll find ALL of them in C++! I toyed with Lisp a number of years ago but, at the time, couldn't think of anything I wanted to do with it. Recently (the past year or two) I decided it was time to tackle it again. This time it made sense, I think in part because I was exposed to functional programming, which broke the hold of C/C++ on my thinking. (Don't underestimate how solidly one can become 'stuck' in a particular paradigm.) I find myself drawn to the Scheme dialect: IMHO (pull the pin and throw) 'Common Lisp' is bloated and bogged down with syntactic sugar-treats for those who fear recursion. Not only do I like Scheme/Lisp, but I don?t think it's that hard to teach it to beginners. For instance, recursion: to do something to a group of things, take one thing and apply the action, then do the same thing to the rest of the group until you run out of things. Easy! If you need to accumulate a solution from the multiple operations, just combine the return value of the first action with the return value of the action on the remainder. Turtles all the way down?. Looping constructs are syntactic wrapping for this idea. Further, I agree that they would begin their journey into computational thinking with a solid foundation on which to build an understanding of whatever other languages they might find that map well between a particular problem domain and the computing environment (which is one legitimate reason we have so many programming languages!). And as some have touched on within this thread, the greater good is to create computational literacy, not to just teach people how to write programs. -- Ian From mouse at Rodents-Montreal.ORG Tue Jan 3 11:12:29 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Tue, 3 Jan 2012 12:12:29 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> Message-ID: <201201031712.MAA08066@Sparkle.Rodents-Montreal.ORG> >>> It's not really a fair comparison as we expect a "modern" language >>> to do much more than FORTRAN 66. >> Do what, exactly? [...] Does the simplest---machine code, do less >> than, any HLL, modern or ancient? Is C less capable than Python? > Depends who you ask. I was told by a guy with 3 years of Java > programming under his belt that Java is much more powerful than > assembler, after all, Java is object oriented! ;-) Unless he also knew a half-dozen other languages and had at least a decade of programming experience (the ten-thousand-hour rule), I doubt he was competent to comment on the question. There are two meanings in which it makes sense to talk about the power of a programming language. One is what can be accomplished with it in theory. In this sense, practically all languages are equivalent; you'll have to look rather hard to find a language that's not Turing-complete. (The first example in serious use that comes to mind is the p-code used by BPF: it (deliberately) does not support any form of looping.) The other is how easy the language makes it for the programmer to express an algorithm, or a class of algorithms, of interest. In this sense languages vary widely, and have specializations. If I get to pick the language, then if I'm writing numerical code, it's FORTRAN. Matrix processing? APL. Device driver? C. Expert system? Lisp. Et cetera. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From geneb at deltasoft.com Tue Jan 3 11:12:58 2012 From: geneb at deltasoft.com (Gene Buckle) Date: Tue, 3 Jan 2012 09:12:58 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F02829F.4090706@mail.msu.edu> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <20120102185422.U61599@shell.lmi.net> <4F0280A6.5050706@telegraphics.com.au> <4F02829F.4090706@mail.msu.edu> Message-ID: On Mon, 2 Jan 2012, Josh Dersch wrote: > On 1/2/2012 8:14 PM, Toby Thain wrote: >> On 02/01/12 10:02 PM, Fred Cisin wrote: >>>>> Damn good points. >>>>> I consider BASIC to be an excellent beginner's introduction to >>>>> "what is a program?", etc., so long as they are exposed to other >>>>> languages immediately after grasping the basic principles. >>> >>> On Mon, 2 Jan 2012, Toby Thain wrote: >>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>> control structures relate poorly to modern languages and even less to >>>> powerful abstractions. There's not such a huge distance between Fortran >>>> and BASIC! >>> >>> Djikstra said, "It is virtually impossible to teach good programming >>> prctices to students with a prior exposure to BASIC; they are mentally >>> mutilated beyond any hope of regeneration." >> >> He had that lovely combination of clear sight and fearless expression. > > If only that particular expression of his was even remotely true :). > Well if the students in question were also MBA holders, then it IS true, but it's not the fault of BASIC, but the fault of the guy wielding the melon baller that was used to scoop out their frontal lobes when they got their MBA diplomas. :) g. -- Proud owner of F-15C 80-0007 http://www.f15sim.com - The only one of its kind. http://www.diy-cockpits.org/coll - Go Collimated or Go Home. Some people collect things for a hobby. Geeks collect hobbies. ScarletDME - The red hot Data Management Environment A Multi-Value database for the masses, not the classes. http://www.scarletdme.org - Get it _today_! Political correctness is a doctrine, fostered by a delusional, illogical minority, and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end. From mouse at Rodents-Montreal.ORG Tue Jan 3 11:27:00 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Tue, 3 Jan 2012 12:27:00 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F030944.7010809@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> Message-ID: <201201031727.MAA08287@Sparkle.Rodents-Montreal.ORG> > Since modelling and abstraction are far more important parts of > "programming" than syntax, BASIC fails completely: > [...] > - numbers, strings, fixed length arrays? that's it? How do I build > anything else? Oh right. I can't. If you think you can't, you need to learn to program. Just because the language doesn't help you do something doesn't mean it can't be done. >> I have only read a tiny little bit about Scheme but it is virtually >> impenetrable to me - and I have years of programming experiences, > And that is EXACTLY what Dijkstra was on about. > The conclusion YOU come to is that Scheme isn't relevant to > programming. [...] I didn't write the double-quoted text above. But the conclusion _I_ come to is that Scheme is not suitable for a beginner. (Well, most beginners.) > But in fact the opposite is true: A good part of what you have been > indoctrinated with, from BASIC onwards, *obscures* what is really > going on when you program. Sounds as though you've been so indoctrinated that you think it can't be programming if it isn't...I don't know, written in a Lisp dialect? Functional? Full of parentheses? Nobody really knows what is going on when someone programs; the process of converting a problem to a program to solve it is a very difficult one to understand, like most creative processes. To presume that _you_ know better than _someone else_ what is going on when that someone else programs is...ludicrous. Not to mention jaw-droppingly arrogant. > Programs are not "sequences of instructions" except at the absolute > bottom-most level. I've got news for you: programs in most language inherently are sequences of instructions at more than just the machine-code level. > We do not need *another* generation of programmers for whom recursion > and higher-order functions are alien concepts. You appear to think recursion and higher-order functions are somehow not sequences of instructions. If so, I think you're wrong. "(apply fn args)" is just as much an "instruction" as "a[i] = 0;" is. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From brain at jbrain.com Tue Jan 3 11:29:33 2012 From: brain at jbrain.com (Jim Brain) Date: Tue, 03 Jan 2012 11:29:33 -0600 Subject: Commodore and CP/m was Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201031529.q03FT3ZE010486@floodgap.com> References: <201201031529.q03FT3ZE010486@floodgap.com> Message-ID: <4F033AFD.2050702@jbrain.com> On 1/3/2012 9:29 AM, Cameron Kaiser wrote: >>> I was never a C128 user, nor were there a lot of them in our local >>> Commodore user group. In general, though, how common was CP/M usage >>> among the C128 crowd? Was it too little, too late by then? >> Certainly CBM was pretty good at "too little, too late." When I acquired >> my C-64 in 1984 or so, I spent too much for the CP/M cartridge, and I rarely >> used it. I, like CBM, thought it would widely expand what software >> I might run. Didn't turn out that way. > The CP/M 2.2 cartridge was sort of a microcosm of pointless, though. Paired > with the GCR-only 1541 it was a wonderful CP/M machine that could run exactly > zero existing software packages (without conversion), and the 2.2 cartridge > was notably fussy about which hardware revisions it would work with (hence > Bil's unconventional solution in the 128's design). At least the 128 had the > 1571 that could read various MFM format disks directly, but as you say, too > little, too late. > And it was a copy: http://www.softwolves.com/arkiv/cbm-hackers/2/2711.html My theory is that CBM Marketing wanted to tout business capabilities, and so the edict went out to design a CP/M cart. Given that the issue is somewhat esoteric, I won't fault the designer, but I suspect he/she did not think this was a useful product. Jim -- Jim Brain brain at jbrain.com www.jbrain.com From christian_liendo at yahoo.com Tue Jan 3 11:51:04 2012 From: christian_liendo at yahoo.com (Christian Liendo) Date: Tue, 3 Jan 2012 09:51:04 -0800 (PST) Subject: What happened to your site? In-Reply-To: <201201031604.q03G47bK012226@floodgap.com> References: <1325598922.34350.YahooMailNeo@web120206.mail.ne1.yahoo.com> from Julian Skidmore at "Jan 3, 12 05:55:22 am" <201201031604.q03G47bK012226@floodgap.com> Message-ID: <1325613064.31907.YahooMailNeo@web113508.mail.gq1.yahoo.com> What happened to your blog? From shadoooo at gmail.com Tue Jan 3 11:51:12 2012 From: shadoooo at gmail.com (shadoooo) Date: Tue, 03 Jan 2012 18:51:12 +0100 Subject: Connect Shugart SA850 to PC Message-ID: <4F034010.5040805@gmail.com> Hello. I have a Shugart SA850 I would connect to a PC, to read/write old diskettes using linux. I would need a suggestion on how to do connections and specially how to set the jumpers on the driver. Any advice? Andrea From vintagecoder at aol.com Tue Jan 3 11:58:48 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Tue, 3 Jan 2012 17:58:48 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201031712.MAA08066@Sparkle.Rodents-Montreal.ORG> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> <201201031712.MAA08066@Sparkle.Rodents-Montreal.ORG> Message-ID: <1035422392-1325613521-cardhu_decombobulator_blackberry.rim.net-660138505-@b15.c1.bise3.blackberry> Yeah, yeah, I know. ;-) -----Original Message----- From: Mouse Sender: cctalk-bounces at classiccmp.org Date: Tue, 3 Jan 2012 12:12:29 To: Reply-To: "General Discussion: On-Topic and Off-Topic Posts" Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC >>> It's not really a fair comparison as we expect a "modern" language >>> to do much more than FORTRAN 66. >> Do what, exactly? [...] Does the simplest---machine code, do less >> than, any HLL, modern or ancient? Is C less capable than Python? > Depends who you ask. I was told by a guy with 3 years of Java > programming under his belt that Java is much more powerful than > assembler, after all, Java is object oriented! ;-) Unless he also knew a half-dozen other languages and had at least a decade of programming experience (the ten-thousand-hour rule), I doubt he was competent to comment on the question. There are two meanings in which it makes sense to talk about the power of a programming language. One is what can be accomplished with it in theory. In this sense, practically all languages are equivalent; you'll have to look rather hard to find a language that's not Turing-complete. (The first example in serious use that comes to mind is the p-code used by BPF: it (deliberately) does not support any form of looping.) The other is how easy the language makes it for the programmer to express an algorithm, or a class of algorithms, of interest. In this sense languages vary widely, and have specializations. If I get to pick the language, then if I'm writing numerical code, it's FORTRAN. Matrix processing? APL. Device driver? C. Expert system? Lisp. Et cetera. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From cclist at sydex.com Tue Jan 3 12:21:07 2012 From: cclist at sydex.com (Chuck Guzis) Date: Tue, 03 Jan 2012 10:21:07 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> Message-ID: <4F02D693.2076.1EA083@cclist.sydex.com> On 3 Jan 2012 at 9:59, Vintage Coder wrote: > Depends who you ask. I was told by a guy with 3 years of Java > programming under his belt that Java is much more powerful than > assembler, after all, Java is object oriented! ;-) > > Anyway this ought to be an interesting subthread. I'll make the > popcorn! All computer languages, including assembly, are merely lexical conveniences for working with the machine language of any given computer. They serve two purposes: 1. They provide portability between architectures, to some extent, but very few languages actually reflect the architecture of the hardware they run on. Someone, at some time, has to make a decision as to what machine code a statement will generate. 2. They are inventions to relieve the human mind cope with the fragilities of its memory and the inability to keep track of many things, as well as the human inability to do accurate arithmetic. So go out and invent your own language! They're all just mind games-- .and it's pointless to argue about them. Institutions would like to standardize on one, but like all human language, that's not likely to happen. As far as teaching, no language that I'm aware of teaches the fundamentals of how a computer operates. --Chuck From cisin at xenosoft.com Tue Jan 3 12:27:47 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 10:27:47 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> Message-ID: <20120103100817.Y719@shell.lmi.net> On Tue, 3 Jan 2012, Liam Proven wrote: > There is a core question here which you seem to be skipping over. Do > you want to teach people to write code, to be able to make a computer > perform new tasks? *Or* do you want to train professional software > engineers? These are not at /all/ the same thing. Indeed I'd submit > that they are barely related. I want to teach them enough about what programming IS, that THEY can select what language they want to use. > If you want the latter, then sure, yes, Scheme or Lisp or something > clever and rather arcane. Start 'em on the hard stuff so they learn > right, Therefore, the very first time that they drive a car, it should be manual transmission, manual choke, manual spark advance?, hand crank? Sure, they should learn the hard stuff; but howzbout let them learn enough in the auto-everything car to drive around the block first, THEN get into it. > So in fact BASIC did /not/ give you brain damage and stop you learning? did for me I may NEVER be able to become a decent programmer. > You have shown that you don't actually understand how much BASIC moved > on from the crappy MS BASIC 4 days of 1980. That's about when MBASIC 5.1 replace 4.51. CBASIC (Gordon Eubanks) was going fast. By then almost everything had 64K of RAM. > > Kids being educated for a career in software starting today deserve > > something better than BASIC. Things are bad enough already. > They deserve something better than a 1970s BASIC, sure... But even a > late 1980s BASIC would, I submit, be more use than Python or Ruby, > which are too big, too complex and too abstract. A real programmer cana write a FORTRAN program in any language. I bet that, with only a few dozen lines of machine code (to call INT13h), that I could even write a disk format conversion program in 1981 BASICA! Without ANYthing outside the BASIC, thanks to the built-in sector I/O, I could write a program to read model 3 diskettes on a Coco. -- Grumpy Ol' Fred cisin at xenosoft.com From christian_liendo at yahoo.com Tue Jan 3 12:33:47 2012 From: christian_liendo at yahoo.com (Christian Liendo) Date: Tue, 3 Jan 2012 10:33:47 -0800 (PST) Subject: What happened to your site? In-Reply-To: <1325613064.31907.YahooMailNeo@web113508.mail.gq1.yahoo.com> References: <1325598922.34350.YahooMailNeo@web120206.mail.ne1.yahoo.com> from Julian Skidmore at "Jan 3, 12 05:55:22 am" <201201031604.q03G47bK012226@floodgap.com> <1325613064.31907.YahooMailNeo@web113508.mail.gq1.yahoo.com> Message-ID: <1325615627.96928.YahooMailNeo@web113518.mail.gq1.yahoo.com> please disregard.... I tried to send to someone else.. ----- Original Message ----- From: Christian Liendo To: General Discussion: On-Topic and Off-Topic Posts Cc: Sent: Tuesday, January 3, 2012 12:51 PM Subject: What happened to your site? What happened to your blog? From cisin at xenosoft.com Tue Jan 3 12:41:15 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 10:41:15 -0800 (PST) Subject: What happened to your site? In-Reply-To: <1325613064.31907.YahooMailNeo@web113508.mail.gq1.yahoo.com> References: <1325598922.34350.YahooMailNeo@web120206.mail.ne1.yahoo.com> from Julian Skidmore at "Jan 3, 12 05:55:22 am" <201201031604.q03G47bK012226@floodgap.com> <1325613064.31907.YahooMailNeo@web113508.mail.gq1.yahoo.com> Message-ID: <20120103104038.D719@shell.lmi.net> On Tue, 3 Jan 2012, Christian Liendo wrote: > What happened to your blog? My [cob]web-site is just fine. How's yours? From quad at symbo1ics.com Tue Jan 3 12:44:13 2012 From: quad at symbo1ics.com (quad) Date: Tue, 3 Jan 2012 11:44:13 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120103100817.Y719@shell.lmi.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <20120103100817.Y719@shell.lmi.net> Message-ID: On Tue, Jan 3, 2012 at 11:27 AM, Fred Cisin wrote: > I want to teach them enough about what programming IS, that THEY can > select what language they want to use. Interestingly, the book "The Structure and Interpretation of Computer Programs" by Abelson and Sussman is often cited as a book that actually conveys precisely what programming IS, and even more interestingly, how programs WORK. After writing a good number of programs, you begin to write programs to manipulate programs (Chapter 4), and programs to transform and execute programs (Chapter 5). And the book uses Scheme, a dialect of Lisp of course. And I can't think of a better choice for the task at hand. No syntactic baggage. Exceptionally clean semantics, even to the starter. The Scheme standard (dubbed "R5RS") is short enough to be read in an afternoon. Around 50-80 pages. See here: http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-2.html#%_toc_start The book, SICP, is even free! See here: http://mitpress.mit.edu/sicp/full-text/book/book.html From cisin at xenosoft.com Tue Jan 3 12:50:16 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 10:50:16 -0800 (PST) Subject: Connect Shugart SA850 to PC In-Reply-To: <4F034010.5040805@gmail.com> References: <4F034010.5040805@gmail.com> Message-ID: <20120103104412.Y719@shell.lmi.net> On Tue, 3 Jan 2012, shadoooo wrote: > Hello. > I have a Shugart SA850 I would connect to a PC, to read/write old > diskettes using linux. > I would need a suggestion on how to do connections and specially how to > set the > jumpers on the driver. > Any advice? Biggest problem is the cable. There are commercial ones available! Otherwise, start out with both pinouts, . . . Don't tell Tony, but for my first one, I used a "solderless bread-board". I was plaeasntly surprised to find that it was almost all 1-to-1. Once you've got it cabled, lie to the PC, and tell it that it's a 5.25" 1.2M drive; see if it will format, read, and write. One more gotcha: some FDCs will do single density, some won't. Some will do 128 byte double density, some won't. Dave Dunfield has done a great job of documenting which will work, and testing such. -- Grumpy Ol' Fred cisin at xenosoft.com From cisin at xenosoft.com Tue Jan 3 12:52:55 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 10:52:55 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: References: Message-ID: <20120103105159.P719@shell.lmi.net> > > Of course, there are people who think if it doesn't look like C/C++, it > > ain't programmin'. :-) (Of course, not talking about you, Josh - just > > say lambda!) On Tue, 3 Jan 2012, Richard wrote: > C++11 has lambda expressions. Would yu use that for teaching programming to first-time beginners? From cisin at xenosoft.com Tue Jan 3 12:57:36 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 10:57:36 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com> Message-ID: <20120103105550.B719@shell.lmi.net> On Tue, 3 Jan 2012, Richard wrote: > It's not really a fair comparison as we expect a "modern" language to > do much more than FORTRAN 66. Surely, even FORTRAN 66 could be coerced into making the API calls for the dancing kangaroos and yodelling jellyfish that are required for current commercial software. Or did you mean do much more USEFUL stuff? From RichA at vulcan.com Tue Jan 3 13:07:02 2012 From: RichA at vulcan.com (Rich Alderson) Date: Tue, 3 Jan 2012 19:07:02 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102180933.I61599@shell.lmi.net> <201201030454.q034sEet013478@floodgap.com> Message-ID: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EE60B@505MBX1.corp.vnw.com> From: Liam Proven Sent: Tuesday, January 03, 2012 4:07 AM On 3 January 2012 12:05, Liam Proven wrote: >> I >>> remember watching my boss in 1984 use a CP/M card in his Apple II for >>> business apps (mostly spreadsheets), > Huh? Wasn't Visicalc a native Apple II app? Indeed it was, and the first ever "killer app" in the microcomputer world. The market pressure of Fortune 500 employees purchasing Apple II systems to run Visicalc was what led to the creation of the IBM Personal Computer. There was far more business software written for CP/M at the time, and the creation of the Z-80 Softcard ("the CP/M card" in an Apple II) let the typical business user run both Visicalc and CP/M word processors, accounting packages, etc. I actually doubt that they were used to run many CP/M-based spreadsheet programs, but I'm prepared to be wrong on that. Rich Alderson Vintage Computing Sr. Server Engineer Vulcan, Inc. 505 5th Avenue S, Suite 900 Seattle, WA 98104 mailto:RichA at vulcan.com mailto:RichA at LivingComputerMuseum.org http://www.LivingComputerMuseum.org/ From cclist at sydex.com Tue Jan 3 13:17:44 2012 From: cclist at sydex.com (Chuck Guzis) Date: Tue, 03 Jan 2012 11:17:44 -0800 Subject: teaching programming to beginners In-Reply-To: <20120103105159.P719@shell.lmi.net> References: , , <20120103105159.P719@shell.lmi.net> Message-ID: <4F02E3D8.30138.5276D7@cclist.sydex.com> On 3 Jan 2012 at 10:52, Fred Cisin wrote: > Would yu use that for teaching programming to first-time beginners? Neil Lincoln once told me that he thought that APL was the perfect language to introduce one to programming. He said his kids took to it like ducks to water. One can readily see the popularity of this idea by the vast amount of APL code to be seen on the Web... --Chuck From cisin at xenosoft.com Tue Jan 3 13:20:48 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 11:20:48 -0800 (PST) Subject: teaching programming to kids - baby duck syndrome (why everybody thinks that everybody else needs to learn it their way) In-Reply-To: <4F030944.7010809@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> Message-ID: <20120103111159.E719@shell.lmi.net> On Tue, 3 Jan 2012, Toby Thain wrote: > Of course, I meant to qualify this as: "for a beginner", which is the > point here. It is, indeed. > Since modelling and abstraction are far more important parts of > "programming" than syntax, BASIC fails completely: > - full of irrelevant lexical bullshit and limitations (line numbers? > what good is this to a beginner?); > - numbers, strings, fixed length arrays? that's it? How do I build > anything else? Oh right. I can't. > - most BASICs lack structured programming primitives, so even as an > IMPERATIVE language it fails to teach important patterns from the 1980s > (which might explain some of the code I see around the place); > - lacks named functions & procedures (yeah, some BASICs have a > crippled hack for this; see lexical bullshit above) - a fundamental > abstracting/factoring tool. > - etc, etc. > > Now with Scheme, > - you start with a syntax that is not pedagogically toxic; > - you have the breath of a hope of constructing useful data structures > without artificial limitations which can only frustrate; > - there is the opportunity to introduce more theoretical load, which > is good. The door is always unlocked to go beyond where one already is. > > There is nothing here that cannot be taught to a high school age student. Just wait until you try teaching the same things to ADULTS! You need to get some of them to the point of understanding that they need to set the values of the variavbles BEFORE they do calculations based on them. Yes, I am talking about otherwise fully functional intelligent adults, not college administrators. > The conclusion YOU come to is that Scheme isn't relevant to programming. > But in fact the opposite is true: A good part of what you have been > indoctrinated with, from BASIC onwards, *obscures* what is really going > on when you program. Programs are not "sequences of instructions" except > at the absolute bottom-most level. "abstraction" > We do not need *another* generation of programmers for whom recursion > and higher-order functions are alien concepts. Worse: Not given proper > tools, mental and literal, for modelling and abstraction. Abstraction, > it can be argued, is the single most important idea to learn as a > computer programmer. baby duck syndrome. > I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't > really learn anything except how to navigate limitations. Ugh. If only I > had picked up Scheme when I picked up C. I think that it is just dandy as SECOND language. > > Seriously, most people are not very smart. BASIC has a fairly low > > entry level - the learning curve is modest. The reason that most of > > the other "teaching languages" designed to replace it haven't worked > > out on anything like the same scale. (E.g. Logo, Scheme) > > Concepts such as local versus global variables, scope, recursion and > > so on are complex, difficult stuff unless someone is both very very > Actually none of these are more difficult than the artificial hurdles > BASIC puts in front of you. Once again you speak from your confessed > "imperative place". all of the hurdles are important to learn. But NOT until one has had a successful experience of putting their own name on the screen. > Now imagine that you had learned Scheme first. Would you say recursion > was hard? How will you program effectively in 2030 without dealing with > higher order functions, continuations, immutable state? (How can one do > it today, for that matter; only because in software Things Move So Damn > Slowly.) baby duck syndrome > Kids being educated for a career in software starting today deserve > something better than BASIC. Things are bad enough already. "They should start with SOLDER!" From cisin at xenosoft.com Tue Jan 3 13:30:27 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 11:30:27 -0800 (PST) Subject: teaching programming to adults In-Reply-To: <4F0309D5.7070008@telegraphics.com.au> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> <440260133-1325585801-cardhu_decombobulator_blackberry.rim.net-723863116-@b15.c1.bise3.blackberry> <4F0309D5.7070008@telegraphics.com.au> Message-ID: <20120103112130.K719@shell.lmi.net> On Tue, 3 Jan 2012, Toby Thain wrote: > Some people should be doing something else. From what I see around: > Maybe 80% of the current industry. > Why? They didn't learn and they won't learn. 80% of EVERY industry! 30 years ago, a student couldn't handle remedial college arithmetic. His "counselor" suggested, that to handle his cognitive deficiencies, he should switch his major to "Computer Programming"! I talked to the student, and recommended another change; he is now a happy successful MBA. The "counselor" is now president of the college. . . . and people wonder why defenestration is necessary One must keep in mind the pace of a college class. Would you really want to do recursion in somebody's first day? OK, now scale that to a college class - recursion belongs in the second semester. -- Grumpy Ol' Fred cisin at xenosoft.com From cisin at xenosoft.com Tue Jan 3 13:42:23 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 11:42:23 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: <4F02E3D8.30138.5276D7@cclist.sydex.com> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> Message-ID: <20120103113409.U719@shell.lmi.net> On Tue, 3 Jan 2012, Chuck Guzis wrote: > Neil Lincoln once told me that he thought that APL was the perfect > language to introduce one to programming. He said his kids took to > it like ducks to water. It does have a few specific items that work for beginners, such as use of an arrow for the assignment operation leminates the beginner mistake of 3 = X (I think that for first day programmers (which actually translates to almost a semester!), that "LET . . . " helped convey the difference between assginemtn and equality.) All of the bizarre hieroglyphic characters in APL are FUN! > One can readily see the popularity of this idea by the vast amount of > APL code to be seen on the Web... I don't see much matrix manipulation software on the Web in ANY language. I think that the character set killed APL. Just the special type ball and pieces of tape on the keys. But, I've actually had students ask why there isn't a "plus or minus", or a "not equal" character for use in C if() statements. So, I pass a VT100 keyboard around the room. From dave.thearchivist at gmail.com Tue Jan 3 13:45:18 2012 From: dave.thearchivist at gmail.com (Dave Caroline) Date: Tue, 3 Jan 2012 19:45:18 +0000 Subject: teaching programming to adults In-Reply-To: <20120103112130.K719@shell.lmi.net> References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> <440260133-1325585801-cardhu_decombobulator_blackberry.rim.net-723863116-@b15.c1.bise3.blackberry> <4F0309D5.7070008@telegraphics.com.au> <20120103112130.K719@shell.lmi.net> Message-ID: On Tue, Jan 3, 2012 at 7:30 PM, Fred Cisin wrote: > On Tue, 3 Jan 2012, Toby Thain wrote: >> Some people should be doing something else. From what I see around: >> Maybe 80% of the current industry. >> Why? They didn't learn and they won't learn. > > 80% of EVERY industry! > > 30 years ago, a student couldn't handle remedial college arithmetic. ?His > "counselor" ?suggested, that to handle his cognitive deficiencies, he > should switch his major to "Computer Programming"! ?I talked to the > student, and recommended another change; he is now a happy successful MBA. > The "counselor" is now president of the college. ?. . . and people wonder > why defenestration is necessary > > > One must keep in mind the pace of a college class. ?Would you really want > to do recursion in somebody's first day? ?OK, now scale that to a college > class - recursion belongs in the second semester. > > to understand recursion, you need to understand recursion also see K&R 2nd ed(not first ed) lookup recursion in the index Dave Caroline From RichA at vulcan.com Tue Jan 3 13:50:28 2012 From: RichA at vulcan.com (Rich Alderson) Date: Tue, 3 Jan 2012 19:50:28 +0000 Subject: Scheme implementation [was RE: teaching programming to kids - Re: Looking for 8080/Z80 BASIC] Message-ID: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EE683@505MBX1.corp.vnw.com> From: ben Sent: Tuesday, January 03, 2012 7:27 AM > On 1/3/2012 7:03 AM, Toby Thain wrote: >> Yeah? Scheme has come in at around forty. And you don't get much more >> modern than that. > I thought scheme was written in C. SCHEME[1] was written in MACLISP under the ITS operating system running on a PDP-10. Who says Lisp isn't good for writing interesting software? ;-> [1] The name was really "Schemer", a follow-on to Conniver which was a response to Planner. Program names are represented in 6-bit packed 6 per word in ITS. Rich Alderson Vintage Computing Sr. Server Engineer Vulcan, Inc. 505 5th Avenue S, Suite 900 Seattle, WA 98104 mailto:RichA at vulcan.com mailto:RichA at LivingComputerMuseum.org http://www.LivingComputerMuseum.org/ From mouse at Rodents-Montreal.ORG Tue Jan 3 13:51:29 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Tue, 3 Jan 2012 14:51:29 -0500 (EST) Subject: teaching programming to kids - baby duck syndrome (why everybody thinks that everybody else needs to learn it their way) In-Reply-To: <20120103111159.E719@shell.lmi.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <20120103111159.E719@shell.lmi.net> Message-ID: <201201031951.OAA10761@Sparkle.Rodents-Montreal.ORG> > You need to get some of them to the point of understanding that they > need to set the values of the variavbles BEFORE they do calculations > based on them. Yes, I am talking about otherwise fully functional > intelligent adults, not college administrators. This is actually a very interesting point. There are a few languages (METAFONT comes to mind) which are sufficiently declarative that this isn't true, or at least isn't entirely true. I suspect that there is a tendency - doubtless stronger in some people than others - to think declaratively. This is reinforced by the way many languages use syntax for assignment that looks more like a declaration of fact than a statement of action to be taken; interpreted declaratively, it makes sense to think that order doesn't matter. Pascal kinda-sorta tries to deal with this by using := rather than =. APL gets it much righter with its left-arrow operator. From a psychological point of view, it's a pity more languages don't use <- for assignment, or put the value first and use ->, or some such. (This is one respect in which Lisp wins, with setq - of course, the mere existence of setq throws functional-programming wonks into a tizzy.) >> [...] > baby duck syndrome >> [...] > baby duck syndrome Indeed. I count myself lucky I had no clearly-defined first system; when I first started actually using computers, I learnt two or three, fairly drastically different, at more or less the same time. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From RichA at vulcan.com Tue Jan 3 14:01:37 2012 From: RichA at vulcan.com (Rich Alderson) Date: Tue, 3 Jan 2012 20:01:37 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <20120103100817.Y719@shell.lmi.net> Message-ID: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EE699@505MBX1.corp.vnw.com> From: quad Sent: Tuesday, January 03, 2012 10:44 AM > The Scheme standard (dubbed "R5RS") is short enough to be read in an > afternoon. Around 50-80 pages. See here: The current standard is R6RS (90 pages), and R7RS is under way at http://scheme-reports.org/ , where several generations of the Report may be seen. The short name folds in an exponent. It expands to "The Revised Revised Revised Revised Revised Revised Revised Report on the Algorithmic Language Scheme". I agree with the recommendation of _Structure and Interpretation of Computer Programs_ as an introductory text, though I do wish that Common Lisp had existed as more than a discussion mailing list at SAIL when the first edition was published, or they might have used the better language. (Hi, Ian! Shot across bows noted! :-) Rich Alderson Vintage Computing Sr. Server Engineer Vulcan, Inc. 505 5th Avenue S, Suite 900 Seattle, WA 98104 mailto:RichA at vulcan.com mailto:RichA at LivingComputerMuseum.org http://www.LivingComputerMuseum.org/ From spc at conman.org Tue Jan 3 14:02:57 2012 From: spc at conman.org (Sean Conner) Date: Tue, 3 Jan 2012 15:02:57 -0500 Subject: teaching programming to beginners In-Reply-To: <20120103105159.P719@shell.lmi.net> References: <20120103105159.P719@shell.lmi.net> Message-ID: <20120103200257.GB28340@brevard.conman.org> It was thus said that the Great Fred Cisin once stated: > > > Of course, there are people who think if it doesn't look like C/C++, it > > > ain't programmin'. :-) (Of course, not talking about you, Josh - just > > > say lambda!) > > On Tue, 3 Jan 2012, Richard wrote: > > C++11 has lambda expressions. > > Would yu use that for teaching programming to first-time beginners? Personally, I would use Lua. It's small and nearly consistent [1] and certainly one can write straight forward imperative code in it. But it also supports recursion, lambda functions, closures and does tail call optimizations. In fact, the Y combinator [2] can be written as: function Y(f) local function g(...) return f(g,...) end return g end Also, World of Warcraft and nmap use Lua as a scripting language, so those interested in gaming or network based exploits will learn a useful skill. -spc (It's also very portable, being written in strict C-89 code) [1] There's a bit of a mess with traditional arrays (besides being 1-based) in that: a = { "one" , "two" , "three" } has a length of 3, while b = { "one" , "two" , nil , "four" } is technically undefined. Such arrays can't have a nil value. It's easy to work around and generally, I've never found it to be much of an issue, but it does keep popping up on the Lua mailing list. [2] Those that care will know what this does [3]; those that don't, will probably never need to use this anyway. [3] Allow an anonymous function to call itself. From RichA at vulcan.com Tue Jan 3 14:11:52 2012 From: RichA at vulcan.com (Rich Alderson) Date: Tue, 3 Jan 2012 20:11:52 +0000 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EE6D8@505MBX1.corp.vnw.com> From: MikeS Sent: Tuesday, January 03, 2012 7:23 AM > I think many if not most of the people on here discovered that they > enjoyed and had a gift for programming by playing with BASIC on their > C64 or equivalent [snip] I think that many if not most of the people on here learned to program on something other than BASIC. I, for example, learned FORTRAN IV on an IBM 1401 6 years before the MITS Altair 8800 was introduced to the world. I did personally not encounter BASIC until I was in grad school, on an IBM 370/168 running Wylbur for interactive computing. I was much more taken with the DEC-20. Rich Alderson Vintage Computing Sr. Server Engineer Vulcan, Inc. 505 5th Avenue S, Suite 900 Seattle, WA 98104 mailto:RichA at vulcan.com mailto:RichA at LivingComputerMuseum.org http://www.LivingComputerMuseum.org/ From spectre at floodgap.com Tue Jan 3 14:16:14 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 12:16:14 -0800 (PST) Subject: teaching programming to kids - baby duck syndrome (why everybody thinks that everybody else needs to learn it their way) In-Reply-To: <201201031951.OAA10761@Sparkle.Rodents-Montreal.ORG> from Mouse at "Jan 3, 12 02:51:29 pm" Message-ID: <201201032016.q03KGEOb010498@floodgap.com> > I suspect that there is a tendency - doubtless stronger in some people > than others - to think declaratively. This is reinforced by the way > many languages use syntax for assignment that looks more like a > declaration of fact than a statement of action to be taken; I see your LET and raise you Prolog: predicate(X) :- .... X is X/2, ... but then, that technically *is* a declaration of fact (or a condition to be satisfied). -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Doesn't everyone cry when Vin Diesel tries to act? -- Impact Alberto, CAA -- From spectre at floodgap.com Tue Jan 3 14:17:34 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 12:17:34 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: <4F02E3D8.30138.5276D7@cclist.sydex.com> from Chuck Guzis at "Jan 3, 12 11:17:44 am" Message-ID: <201201032017.q03KHYkh012354@floodgap.com> > > Would yu use that for teaching programming to first-time beginners? > > Neil Lincoln once told me that he thought that APL was the perfect > language to introduce one to programming. He said his kids took to > it like ducks to water. > > One can readily see the popularity of this idea by the vast amount of > APL code to be seen on the Web... The same thing could be said about LOGO. However, I got a lot more code done in C64 BASIC than I ever did in C64 LOGO, and I don't think the interpreter overhead was the only reason. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Since we're all here, we must not be all there. -- Bob "Mountain" Beck ----- From cclist at sydex.com Tue Jan 3 14:17:58 2012 From: cclist at sydex.com (Chuck Guzis) Date: Tue, 03 Jan 2012 12:17:58 -0800 Subject: teaching programming to beginners In-Reply-To: <20120103113409.U719@shell.lmi.net> References: , <4F02E3D8.30138.5276D7@cclist.sydex.com>, <20120103113409.U719@shell.lmi.net> Message-ID: <4F02F1F6.4104.8999B5@cclist.sydex.com> On 3 Jan 2012 at 11:42, Fred Cisin wrote: > I don't see much matrix manipulation software on the Web in ANY > language. Most of the web seems to be database and graphics. Not much explicit math there at all (of course, there's a lot of math going on behind the scene in graphics, but few programmers ever get to see that). > I think that the character set killed APL. Just the special type ball > and pieces of tape on the keys. There were variants that used ASCII di-and-trigraphs to represent the special characters, but they made the nearly unreadable almost totally unreadable. In general, most "standard" computer character sets are not well thought out. > But, I've actually had students ask why there isn't a "plus or minus", > or a "not equal" character for use in C if() statements. So, I pass > a VT100 keyboard around the room. Algol suffered from similar issues. Yes, you had substitutions, but I think they impaired readability. The original 6-bit CDC Display Code set had many Algol characters, but that meant that others had to be dropped, such as quotation marks (both double and single) and question and exclamation marks, among others: http://en.wikipedia.org/wiki/CDC_display_code The colon was a horrible problem, being code 00, where 0000 in the low-order 12 bits of a word signified an end-of-line. Two colons in the wrong place in a line would end the line and elide both colons. Most print trains only had a single colon, so printing slowed down when there were too many of them. I seem to remember that a similar problem existed for character code 00 on even-parity 7-track mag tape. --Chuck From mcguire at neurotica.com Tue Jan 3 14:33:18 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Tue, 03 Jan 2012 15:33:18 -0500 Subject: CSS [was Re: 22disk & CP/M's diskettes] In-Reply-To: <201112250816.DAA28989@Sparkle.Rodents-Montreal.ORG> References: <006201ccc1a3$426977e0$c73c67a0$@it>, <4EF4AA63.23363.14F6748@cclist.sydex.com>, <4EF6C282.2050600@tx.rr.com> <4EF65C70.30077.2D3AB85@cclist.sydex.com> <201112250816.DAA28989@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F03660E.4070200@neurotica.com> On 12/25/2011 03:16 AM, Mouse wrote: > The _real_ problem with CSS, though, is that it's on the wrong end of > the HTTP link. Content providers should not be presentation imposers. [chiming in late here, I was on the road] This is 100% true of course, but just as with HTTP itself, the world of technologically-inept morons who can spot a potential marketing mechanism in ANYTHING have perverted it beyond all recognition. HTML5 is cleaning some of it up, but man, what a mess these kids have made of things. And to add insult to injury, when you try to teach them about any of this, they assume the "that's just your opinion!" attitude...which is pretty damn arrogant coming from people who have no idea of where this stuff came from or why it was brought into existence in the first place. People Who Weren't There, in other words, trying to tell People Who Were There about stuff. -Dave -- Dave McGuire New Kensington, PA From james at machineroom.info Tue Jan 3 12:34:33 2012 From: james at machineroom.info (James Wilson) Date: Tue, 03 Jan 2012 18:34:33 +0000 Subject: Visiting Bristol UK In-Reply-To: References: Message-ID: <4F034A39.4000408@machineroom.info> On 01/01/2012 06:33, Huw Davies wrote: > I'm yet again visiting Bristol UK for most of January 2012. I guess during the week I'll have to attend the training course that work is sending me to, but I wondered if anyone had any classic computer recommendations for the weekend? Assuming the weather is OK, I'm happy to drive a reasonable distance but local stuff is easier. > > I did Bletchley Park last time I was in the UK (November 2010) and I've already promised myself that I'll visit the SS Great Britain and the Newport cable bridge, but wondered if there were other CC related things in the area. If anyone in the area wants to catch up for a beer, I'd happily shout a pint of the local bitter. > > Huw Davies | e-mail: Huw.Davies at kerberos.davies.net.au > Melbourne | "If soccer was meant to be played in the > Australia | air, the sky would be painted green" > > Shame I don't live there any longer! There used to be a museum/collection in Swindon which isn't too far. Don't recall the details right now but shouldn't be hard to find. Jim Austins collection (http://www.computermuseum.org.uk/) is also really worth a visit but it's several hours from Bristol which in the UK we consider a long distance :-) Enjoy From mark.kahrs at gmail.com Tue Jan 3 14:30:50 2012 From: mark.kahrs at gmail.com (Mark Kahrs) Date: Tue, 3 Jan 2012 15:30:50 -0500 Subject: Visiting the Cryptologic museum Message-ID: Over the break I visited the NSA's museum (just a stone's throw from Ft. Meade). For those who like crypto machines, it is definitely, definitely worth a visit. The curators and staff are very enthusiastic (they even brought out a machine from the back vault) and of course you can buy an NSA t-shirt if your heart desires. They had a mix-up with the Y-MP processor board and memory board on display (I told them) but otherwise it's fun just to see a Cray I up-close-and-personal. They have the tape jukebox being run from a PC. And the CM is flashing lights, but that's about it. The modern crypto gear is shown but the commentary is sparse at best. (In case you're wondering, the boxes are empty -- so I was told). There is little mention of public key cryptosystems. Or controversial questions like key length or key escrow. But worth a detour? Definitely. From geneb at deltasoft.com Tue Jan 3 14:34:39 2012 From: geneb at deltasoft.com (Gene Buckle) Date: Tue, 3 Jan 2012 12:34:39 -0800 (PST) Subject: teaching programming to adults In-Reply-To: References: <969386054-1325584749-cardhu_decombobulator_blackberry.rim.net-767416537-@b15.c1.bise3.blackberry> <440260133-1325585801-cardhu_decombobulator_blackberry.rim.net-723863116-@b15.c1.bise3.blackberry> <4F0309D5.7070008@telegraphics.com.au> <20120103112130.K719@shell.lmi.net> Message-ID: On Tue, 3 Jan 2012, Dave Caroline wrote: > On Tue, Jan 3, 2012 at 7:30 PM, Fred Cisin wrote: >> On Tue, 3 Jan 2012, Toby Thain wrote: >>> Some people should be doing something else. From what I see around: >>> Maybe 80% of the current industry. >>> Why? They didn't learn and they won't learn. >> >> 80% of EVERY industry! >> >> 30 years ago, a student couldn't handle remedial college arithmetic. ?His >> "counselor" ?suggested, that to handle his cognitive deficiencies, he >> should switch his major to "Computer Programming"! ?I talked to the >> student, and recommended another change; he is now a happy successful MBA. >> The "counselor" is now president of the college. ?. . . and people wonder >> why defenestration is necessary >> >> >> One must keep in mind the pace of a college class. ?Would you really want >> to do recursion in somebody's first day? ?OK, now scale that to a college >> class - recursion belongs in the second semester. >> >> > > to understand recursion, you need to understand recursion > > also see K&R 2nd ed(not first ed) lookup recursion in the index > Brought to you by the Group To Stamp Out, Eliminate and Remove Redundancy Group. g. :) -- Proud owner of F-15C 80-0007 http://www.f15sim.com - The only one of its kind. http://www.diy-cockpits.org/coll - Go Collimated or Go Home. Some people collect things for a hobby. Geeks collect hobbies. ScarletDME - The red hot Data Management Environment A Multi-Value database for the masses, not the classes. http://www.scarletdme.org - Get it _today_! Political correctness is a doctrine, fostered by a delusional, illogical minority, and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end. From mcguire at neurotica.com Tue Jan 3 14:39:05 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Tue, 03 Jan 2012 15:39:05 -0500 Subject: teaching programming to beginners In-Reply-To: <20120103113409.U719@shell.lmi.net> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> Message-ID: <4F036769.9000908@neurotica.com> On 01/03/2012 02:42 PM, Fred Cisin wrote: >> Neil Lincoln once told me that he thought that APL was the perfect >> language to introduce one to programming. He said his kids took to >> it like ducks to water. > > It does have a few specific items that work for beginners, such as use of > an arrow for the assignment operation leminates the beginner mistake of > 3 = X > (I think that for first day programmers (which actually translates to > almost a semester!), that "LET . . . " helped convey the difference > between assginemtn and equality.) A very early memory of mine was reading a BASIC program for the first time. I saw a line like this: 40 A = A + 1 ...and I remember being very confused, saying "no, it isn't!!" Pascal's assignment operator does little to address this, and APL's does it well, but since all it took was reading like two sentences in a book to learn what was going on, it seems this isn't really a big problem in search of a solution. -Dave -- Dave McGuire New Kensington, PA From legalize at xmission.com Tue Jan 3 14:41:29 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 13:41:29 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F025F92.15804.365E05A@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025772.20312.3462474@cclist.sydex.com>, <4F025F92.15804.365E05A@cclist.sydex.com> Message-ID: In article <4F025F92.15804.365E05A at cclist.sydex.com>, "Chuck Guzis" writes: > On 3 Jan 2012 at 2:28, Richard wrote: > > > It's not really a fair comparison as we expect a "modern" language to > > do much more than FORTRAN 66. > > Do what, exactly? Are you saying that simple languages can't "do" > what more complicated ones do? They're all turing equivalent, so you could write the same thing in Brainfuck as you could in FORTRAN, but I'm pretty sure you would rather work in FORTAN 66. The same comparison works with modern languages to put FORTRAN 66 on the losing side. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From legalize at xmission.com Tue Jan 3 14:44:22 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 13:44:22 -0700 Subject: teaching programming to beginners In-Reply-To: <20120103200257.GB28340@brevard.conman.org> References: <20120103105159.P719@shell.lmi.net> <20120103200257.GB28340@brevard.conman.org> Message-ID: > It was thus said that the Great Fred Cisin once stated: > > > > Of course, there are people who think if it doesn't look like C/C++, it > > > > ain't programmin'. :-) (Of course, not talking about you, Josh - just > > > > say lambda!) > > > > On Tue, 3 Jan 2012, Richard wrote: > > > C++11 has lambda expressions. > > > > Would yu use that for teaching programming to first-time beginners? For the record, no, I don't recommend C++ for beginners, although some do and many have done that as their first programming course. I would probably start with Logo, then C#, then C++, then assembly. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From legalize at xmission.com Tue Jan 3 14:50:40 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 13:50:40 -0700 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F030D4A.2010704@mail.msu.edu> References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: In article <4F030D4A.2010704 at mail.msu.edu>, Josh Dersch writes: > I know how to program in BASIC (and many other imperative programming > languages). I also know how to program in Lisp. The learning of the > latter did not require me to "un-learn" anything I had previously come > across. > > Dijkstra's statement is snarky and amusing. It is not, however, an > essential truism. As someone who learned BASIC first and then a slew of other languages later, I would also disagree with Dijkstra's statement. It's a nice sound bite that gets people's attention, but it's neither a truism, nor is it even an essential statement about programming. It's just his bias showing through. The only programming language I never really bent my brain around was Prolog, but I admit to only having sampled it briefly in a programming languages survey course. I probably would have grokked it had I spent more time with it. LISP, functional programming (in fp, no less ), Modula-2, Algol (call by name, yay!), OO languages, symbolic programming in Mathemtica, etc., never gave me any problems. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From mcguire at neurotica.com Tue Jan 3 15:17:04 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Tue, 03 Jan 2012 16:17:04 -0500 Subject: Visiting the Cryptologic museum In-Reply-To: References: Message-ID: <4F037050.3030601@neurotica.com> On 01/03/2012 03:30 PM, Mark Kahrs wrote: > Over the break I visited the NSA's museum (just a stone's throw from Ft. > Meade). For those who like crypto machines, it is definitely, definitely > worth a visit. The curators and staff are very enthusiastic (they even > brought out a machine from the back vault) and of course you can buy an NSA > t-shirt if your heart desires. They had a mix-up with the Y-MP processor > board and memory board on display (I told them) but otherwise it's fun just > to see a Cray I up-close-and-personal. They have the tape jukebox being > run from a PC. And the CM is flashing lights, but that's about it. The > modern crypto gear is shown but the commentary is sparse at best. (In case > you're wondering, the boxes are empty -- so I was told). There is little > mention of public key cryptosystems. Or controversial questions like key > length or key escrow. > > But worth a detour? Definitely. I second this wholeheartedly. I used to go there regularly, when I lived just a few miles from there. I've had many a long talk with the staffers there. By far the best part of that place, IMO, is the Enigma exhibit. To walk up and operate a real Enigma is an awesome experience. The last time I was there, there was a PDP-11/70 on exhibit. Is it still there? Oh, and...I'm sorry to bust your bubble, but about the "Cray I"...it's not a "Cray I", it's just an SSD (Solid-State Disk) assembly that was possibly once attached to a Cray I. -Dave -- Dave McGuire New Kensington, PA From jplist2008 at kiwigeek.com Tue Jan 3 15:24:16 2012 From: jplist2008 at kiwigeek.com (JP Hindin) Date: Tue, 3 Jan 2012 15:24:16 -0600 (CST) Subject: Visiting the Cryptologic museum In-Reply-To: Message-ID: On Tue, 3 Jan 2012, Mark Kahrs wrote: > Over the break I visited the NSA's museum (just a stone's throw from Ft. > Meade). For those who like crypto machines, it is definitely, definitely > worth a visit. The curators and staff are very enthusiastic (they even > brought out a machine from the back vault) and of course you can buy an NSA > t-shirt if your heart desires. They had a mix-up with the Y-MP processor > board and memory board on display (I told them) but otherwise it's fun just > to see a Cray I up-close-and-personal. They have the tape jukebox being > run from a PC. And the CM is flashing lights, but that's about it. The > modern crypto gear is shown but the commentary is sparse at best. (In case > you're wondering, the boxes are empty -- so I was told). There is little > mention of public key cryptosystems. Or controversial questions like key > length or key escrow. I went about six years ago and while I was there I asked if I could take some of the skins off the CM5 and the Cray. The docent relayed my query to some guy behind a desk who shrugged and went 'Sure'. So I took them apart while other people wandered through the museum and took pictures of the insides. I liked the place. - JP From spectre at floodgap.com Tue Jan 3 15:23:38 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 13:23:38 -0800 (PST) Subject: CSS [was Re: 22disk & CP/M's diskettes] In-Reply-To: <4F03660E.4070200@neurotica.com> from Dave McGuire at "Jan 3, 12 03:33:18 pm" Message-ID: <201201032123.q03LNcDi005936@floodgap.com> > > The _real_ problem with CSS, though, is that it's on the wrong end of > > the HTTP link. Content providers should not be presentation imposers. > > This is 100% true of course, but just as with HTTP itself, the world > of technologically-inept morons who can spot a potential marketing > mechanism in ANYTHING have perverted it beyond all recognition. HTML5 > is cleaning some of it up, but man, what a mess these kids have made of > things. Hey, I was happy with Gopherspace. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- They told me I was gullible ... and I believed them. ----------------------- From lproven at gmail.com Tue Jan 3 15:23:44 2012 From: lproven at gmail.com (Liam Proven) Date: Tue, 3 Jan 2012 21:23:44 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EE60B@505MBX1.corp.vnw.com> References: <20120102180933.I61599@shell.lmi.net> <201201030454.q034sEet013478@floodgap.com> <539CFBE84C931A4E8516F3BBEA36C7AA4D7EE60B@505MBX1.corp.vnw.com> Message-ID: On 3 January 2012 19:07, Rich Alderson wrote: > From: Liam Proven > Sent: Tuesday, January 03, 2012 4:07 AM > > On 3 January 2012 12:05, Liam Proven wrote: > >>> ? I >>>> remember watching my boss in 1984 use a CP/M card in his Apple II for >>>> business apps (mostly spreadsheets), > >> Huh? Wasn't Visicalc a native Apple II app? > > Indeed it was, and the first ever "killer app" in > the microcomputer world. ?The market pressure of Fortune 500 employees > purchasing Apple II systems to run Visicalc was what led to the creation > of the IBM Personal Computer. > > There was far more business software written for CP/M at the time, and > the creation of the Z-80 Softcard ("the CP/M card" in an Apple II) let > the typical business user run both Visicalc and CP/M word processors, > accounting packages, etc. ?I actually doubt that they were used to run > many CP/M-based spreadsheet programs, but I'm prepared to be wrong on > that. That matches my recollections from my reading at the time. (Apple kit was expensive and very rare in the UK.) Similarly with CP/M. Visicalc was, as you say, the killer Apple app. If there were killer CP/M apps, they were probably dBase II or Wordstar, at a guess? -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From legalize at xmission.com Tue Jan 3 15:23:52 2012 From: legalize at xmission.com (Richard) Date: Tue, 03 Jan 2012 14:23:52 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: In article , Ian King writes: > ISTR another 'stupid programming language tricks' page that opined there > are almost always several ways to solve any given problem - and you'll > find ALL of them in C++! I'd say that's accurate. Some people find freedom uncomfortable. For those people, there is Java. > Not only do I like Scheme/Lisp, but I don?t think it's that hard to teach > it to beginners. LOGO is likened to be LISP without parenthesis, which is why it's what I tell people to play with when they say "what should I tell my kid to try if he wants to learn programming?". With turtle graphics built in, it's easy to get sucked into making pictures and forget that you're learning how to write recursive programs. Additionally, I think that interpretive environment's like LISP or LOGO are better for experimentation and rapid feedback. Compiling is great for speed, but not so good for reinforcing immediate positive feedback. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From ard at p850ug1.demon.co.uk Tue Jan 3 14:13:58 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Tue, 3 Jan 2012 20:13:58 +0000 (GMT) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from "J.G.Harston" at Dec 31, 11 10:51:12 pm Message-ID: > > ard wrote: > > BASIC-09 gains by having user-defined types, but not requiring line > > numbewrs > > You don't need line numbers in BBC BASIC either if you don't use > GOTO, GOSUB or RESTORE nnnn. Maybe not in the more recent (Archimedes, etc) versions, but the version I run on my Beebs (and the 6502 side of my ACW) certainly requires line numbers. -tony From ard at p850ug1.demon.co.uk Tue Jan 3 14:32:33 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Tue, 3 Jan 2012 20:32:33 +0000 (GMT) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from "Liam Proven" at Jan 2, 12 08:57:42 pm Message-ID: > >> I don't know much about the Dragon and CoCo, but they certainly had > >> competent graphics and sound, and as they were the first platforms I > > > > No brillieant on either front! The Text mode was 32*16 characters, uppe= > r > > case only (porgamming C was 'entertaining, sicne lower-case was display= > ed > > as inverse video), The highest resolution graphics mode was 256*192 dot= > s > > in 2 colours. Sounds was a 6 bit DAC, entirely software driven > > Wow. Worse than a Spectrum! Impressive, and not in a good way. I thought hte original Spectrumn had only single-bit sound, a DAC was certainly an improvement on that. I wouldn't be suprised if later vertsions of the Spectrum had AY3-8910 (or simialr) ICs, like the Amstrad CPCs. There were 2 Radio Shack sound cartridges for the CoCo that I know of. One was claled 'Orchestra 90' and was a pair of 8 bit DACs (stereo sound. The ROM in siad cartridge allowed you to play music, you defined the ratios of the harmoncs for each instrument (rather like the drawbars on a Hammod), entered the notes, it calcualted the wave tables nnd played it. The oterh was the 'Speech/Sound Pac'. This contains an SPO-256 speech syntheiser chip, a microcntorlelr to do text-to-speech and an AY-3-8910 (probbalby an 8913, actually, since it wouldn't need the I/O ports) for sound/ .That was quite nice, but very little software used it. As for the graphivcs, the machine was essentialy the Motorola application circuit for hte 6883 SAM and 6847 VDG, and thus you were limited to what those ICs could do. The COCO 3 replaced them with the GIME chip which did a lot more. > > > I seem to remember the OS-9 console driver accepted certain contrl > > sequecnests to sset graphics mode, plot a point, on the CoCo. You could > > certianyl do that from BASIC-09 (and fro many other language, I remembe= > r > > wriing programs in Pascal to plot various fucntions). > > Way over my head, I suspect, then or now. Actually, I mis-rememebred. I've just dug out my BASIC-09 manual for the CoCo 2 version and it appears you got a library called 'GFX' with it. This incldued funcitos toset the graphics mode (and go back to text mode), set/reset points, test pixels, draw lines and circles and (oddly) to rwad the joysticks. You coudl do thins like RUN GFX("line",0,0,24,65) to draw a line fron (0,0) to (24,65) > > Oh,I amsolutely agree. It seems that modern PCs are not intended to be > > programmed by the user (look at the adverts, they talk of storing music= > , > > photos, etc, nothing about programming). > > Indeed. That is what the Raspberry Pi is designed to rectify. Whether > it succeeds remains to be seen. Yes, 've heard about it. Personally I think the Beeb was a ratehr better educational machine because it encouraged you to try hardware too. I am not convinced that python is the best choice of lanuage either. > :=AC) I never had a BBC. Only used them at University. I came into the > Acorn fold with my Archimedes A305 - when I bought it, 2nd hand, for > =A3800, it was considerably faster than the quickest machine my > employers sold: an IBM PS/2 Model 70-A21, a 25MHz 80386DX with SRAM > cache, which came in at about =A310,500 minus monitor, keyboard or DOS - > quite a lot over 10=D7 the price. > > No user port or anything on an Archie, but I wasn't and am not really Actually I beelive there was a podule to add soemthing like that. There certainly was an internal expansion board for the A3000 to add a user port (I have it in mine). Of course there wsas an I2C bus on a cuuple of pins of the system bus (it was used for the intenral real time clock chip, but Acorn deecided to make it avaialble to hackers too). Adding a user prot to that is a matter of a PCF8574 chip. > >> And yes, in programming terms, I am very much an amateur! > > > > An amateur is somebody who does something because they love it (think > > Latin), it has nothing to do with ability. > > True, and have a bonus point for pedantry. ;=AC) Sorry. This is a pet hate of mine. I am an amateur when it comes to electronics, computing, etc. I do it because I like it, I am entirely self-taught. And even if I say so myself, I donm;t think this makes me totally clueless. But there are those who claim that because I don't have the right bit of paper I cna't possibly know how to do . > jaded with IT, though. I want out. Playing with older kit is still > fun, and occasionally using it to write on, but that's about it. > Modern games are mostly boring, with intensely difficult but very > derivative gameplay, stunning graphics but no originality. The OSs are I amsolutely agree with you there. I don't think I've found any game for the last 35 years or so to be enjoyable. OK, I'm strange, but I got a lot more enjoyment out of the HP67 games pac (a set of magnetic cards to run on an HP67 clacualtor, a amchine with no sound and jsut a 7 segment numberic dispaly) than I did when a friend convinced me to try Doom (or soemthing) on his PC. > so complex that dabblers can't get involved, the hardware is vastly > powerful but locked away behind elaborate drivers and > professionals-only-need-apply languages. It's all rather dull. That's why I stick to the older machines I can understand. They do all I want, I see no reaso nto replace them with somethign that can execute instructions many thousands of times faster, but it won't execute the isntructiosn I want. -tony From ard at p850ug1.demon.co.uk Tue Jan 3 14:39:49 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Tue, 3 Jan 2012 20:39:49 +0000 (GMT) Subject: Looking for 8080/Z80 BASIC In-Reply-To: <20120102143007.E61599@shell.lmi.net> from "Fred Cisin" at Jan 2, 12 02:59:58 pm Message-ID: > > In genral, BASICs were not extendable like that. It is very difficult to > > add new keywords ot a BASIC interpretter, and the way to do it is not > > often docuemnted. > > MICROS~1 BASIC typically has a somewhat awkward DEFUSR function in the > language to let you create and call machine language code. If you can Sure. Most BASICs had some way to call machine language routines. But doing so was totally differnet to using built-in fucntions (or using BASIC subroutines) and requried you gerneally to remember th rright addresses. Better tnan nothing, but a kludge. > find them, there are commercial packages of machine language functions > for common tasks. Such as Brett Salter's "Peeks and Pokes". > > On platforms with appropriate hardware (such as Coco, and even 5150), > MICROS~1 BASIC usually provided a usable set of graphics primitives, built > into their BASIC!, consisting of set-a-pixel and read-a-pixel, with some > minimal extensions, such as line draw. Of course. the problem comes when you ad/chnage this hardware. If I take my IBM5150 and interfce it to an I2S image proccessor/display system then there's no easy way to add functions to M$ BASIC to cotnrol it (OK, you cna use the USR function, but it's a kludge). But I could write a library of functions in C and clal them from my C progrmas without any difficulty. -tony From ard at p850ug1.demon.co.uk Tue Jan 3 15:36:20 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Tue, 3 Jan 2012 21:36:20 +0000 (GMT) Subject: teaching programming to adults In-Reply-To: from "Dave Caroline" at Jan 3, 12 07:45:18 pm Message-ID: > also see K&R 2nd ed(not first ed) lookup recursion in the index To my shame it toom me a second to spot it. The last page numebr given under 'recursion' is, of coruse ,the page numebr that that bit of the index appears on. -tony From fraveydank at gmail.com Tue Jan 3 15:42:05 2012 From: fraveydank at gmail.com (David Riley) Date: Tue, 3 Jan 2012 16:42:05 -0500 Subject: teaching programming to beginners In-Reply-To: <20120103113409.U719@shell.lmi.net> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> Message-ID: On Jan 3, 2012, at 2:42 PM, Fred Cisin wrote: > But, I've actually had students ask why there isn't a "plus or minus", or > a "not equal" character for use in C if() statements. So, I pass a VT100 > keyboard around the room. Shouldn't you pass around a teletype instead? - Dave From fraveydank at gmail.com Tue Jan 3 15:56:23 2012 From: fraveydank at gmail.com (David Riley) Date: Tue, 3 Jan 2012 16:56:23 -0500 Subject: teaching programming to beginners In-Reply-To: References: <20120103105159.P719@shell.lmi.net> <20120103200257.GB28340@brevard.conman.org> Message-ID: <5FE08257-D654-44A7-82DA-C5AC86142D28@gmail.com> On Jan 3, 2012, at 3:44 PM, Richard wrote: > For the record, no, I don't recommend C++ for beginners, although some > do and many have done that as their first programming course. I would > probably start with Logo, then C#, then C++, then assembly. At my university, we used to have CS 201 in C. CS 201 was intended to be the intro to CS for students who already had *some* programming experience (C, Javascript, BASIC, whatever), whereas 104 was intended to be the "remedial" course where folks with zero experience would learn the basics. Unfortunately, the advisors responsible for incoming student authorizations gave into the impatient students and started letting just anyone take CS 201. By the time I was a TA (13 years after the paradigm had been established), probably only about 20% of the class had had any programming experience (and were quite bored) while we struggled to guide the rest of them through first UNIX shells and then the code-compile-run-swear-repeat sequence. We switched to Python a few years ago, and the difference has been amazing. At least compared to C, it just gets out of the way of learning the principles of programming pretty well. I think what caused the most trouble was the bit about meaningful indentation, which is something I've never really been a fan of; I like my braces (or at least some form of explicit block boundary)! Of course, the students who never learned to pay attention to their indentation level were generally the sort that wound up as IT or English majors anyway. If nothing else, Python taught the students that neatness counts. :-) I, myself, learned BASIC first on my elementary school's Apple IIs. For a kid, it's a pretty good language. I transitioned to C when I discovered that I couldn't do much interesting with what BASICs were available to me, but I never understood pointers until I learned assembly (it was a major epiphany, especially since I learned on PowerPC, where pointer dereferencing was an entire different instruction, not just a different addressing mode). Currently, our students learn C concurrently with assembly further on in the program (it's a 300-level course), which I think is a great idea. All of the web designers who just want to learn Java and get a job are already shunted away on a different track at that point. I shudder at the fact that many of our high schools use Java as an introductory language. I really can't see the point of starting someone out saying, "Your program runs from a special method in a special class (we'll teach you what both of those are later) labelled 'public static void main()'. Just wave the chicken correctly, and maybe if you stick with it long enough, you'll find out what that magic incantation means." - Dave From ethan.dicks at gmail.com Tue Jan 3 16:28:13 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Tue, 3 Jan 2012 17:28:13 -0500 Subject: CSS [was Re: 22disk & CP/M's diskettes] In-Reply-To: <4F03660E.4070200@neurotica.com> References: <006201ccc1a3$426977e0$c73c67a0$@it> <4EF4AA63.23363.14F6748@cclist.sydex.com> <4EF6C282.2050600@tx.rr.com> <4EF65C70.30077.2D3AB85@cclist.sydex.com> <201112250816.DAA28989@Sparkle.Rodents-Montreal.ORG> <4F03660E.4070200@neurotica.com> Message-ID: On Tue, Jan 3, 2012 at 3:33 PM, Dave McGuire wrote: > On 12/25/2011 03:16 AM, Mouse wrote: >> The _real_ problem with CSS, though, is that it's on the wrong end of >> the HTTP link. ?Content providers should not be presentation imposers. One of the loudest laments I remember from traditional media producers (publishers, editors, graphic artists, writers, journalists, etc.) about the Web when it was new was "OMG! We can't control the exact user experience for all of our readers and they *need* us to do that for them!" They were used to the size, the color, the font, the look, everything about the finished product being exactly as it was when it left their hands. One of the features of settings in the browser was the ability for people with different sized screens, or different thicknesses of glasses or whatever to tweak the appearance for their preference or convenience. It's one of the reasons that PDFs exist - they de-abstracted delivered content back to a virtual rendering of a printed page that you could then print out. PDF features were built-in to lock users out of altering the rendered appearance, partially as DRM and partially to enforce the content producer's emissions as the be-all-end-all of the content. CSS to me is a footnote of that - it centralizes that enforcement so that it takes less labor to tweak or re-work a style, but it's just, IMO, a macro system for extracting formatting out of the primary document and centralizing it. What I can't stand is when, frequently, due to network congestion or load or whatever, when I get the HTML page but _not_ the CSS to go with it. I see raw spewage from one page or another several times a week because of this. They _could_ embed the style information inside the primary document, but that adds back in the labor savings of a single centrally-maintained style sheet, so I rarely see embedded style info these days. > ?This is 100% true of course, but just as with HTTP itself, the world of > technologically-inept morons who can spot a potential marketing mechanism in > ANYTHING have perverted it beyond all recognition. I'd call that the second wave... after the content producers were satisfied that they could once again maintain their control, they settled down and the marketing types moved in to exploit the landscape. > ?And to add insult to injury, when you try to teach them about any of this, > they assume the "that's just your opinion!" attitude...which is pretty damn > arrogant coming from people who have no idea of where this stuff came from > or why it was brought into existence in the first place. ?People Who Weren't > There, in other words, trying to tell People Who Were There about stuff. There's plenty of that to go around (like AOL "telling" Time-Warner how the business world and the Internet was going to be... we all know how well that ended up for AOL - Disclaimer: I used to work for AOL-Time-Warner and saw more than I care to remember of that while it was unfolding). -ethan From cclist at sydex.com Tue Jan 3 16:32:08 2012 From: cclist at sydex.com (Chuck Guzis) Date: Tue, 03 Jan 2012 14:32:08 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, Message-ID: <4F031168.27701.104708B@cclist.sydex.com> On 3 Jan 2012 at 13:41, Richard wrote: > They're all turing equivalent, so you could write the same thing in > Brainfuck as you could in FORTRAN, but I'm pretty sure you would > rather work in FORTAN 66. The same comparison works with modern > languages to put FORTRAN 66 on the losing side So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for I/O? How many languages were first written in FORTRAN? SNOBOL, for sure, as well as PL/M. Several FORTRAN compilers that I know of were written in FORTRAN for the most part. Quite a number of cross- assemblers were also written in FORTRAN. --Chuck From dm561 at torfree.net Tue Jan 3 16:32:23 2012 From: dm561 at torfree.net (MikeS) Date: Tue, 3 Jan 2012 17:32:23 -0500 Subject: Cromemco FDC (was: Looking for 8080/Z80 BASIC) References: Message-ID: Date: Sat, 31 Dec 2011 13:24:36 -0800 From: Josh Dersch Subject: Re: Looking for 8080/Z80 BASIC On 12/31/2011 12:15 PM, MikeS wrote: > > ----- Reply: > >> Just curious: >> Does your memory configuration support swapping out the RDOS boot/monitor >> ROM? > Not at the moment, I haven't quite worked out if this can be made to work > properly with non-Cromemco memory boards. The 64FDC manual suggests > "Set[ting] the switches on the RAM board(s) so that memory from 8000h to > FFFFh is disabled..." which implies that the boards must support some way > of re-enabling the memory via software (for when the FDC's ROM is disabled > via a write to port 40h). > I'm wondering if this board isn't really optimal for this setup -- it > seems very geared toward having a complete Cromemco setup, which I do not > have. ---------------- I don't see why it would be a problem; the RDOS boot/monitor ROM lives at C000 so it should work with 48K RAM even if you don't disable it; ISTR that some folks simply connected the ROM chip select to the Phantom line if they had non-bankable memory and wanted to switch it in and out. And of course the ROM can be completely disabled as well. It controls up to four total 5.25 and/or 8" drives with write precomp, has an RS-232 console port and a pretty good monitor with the usual memory and disk manipulation, some basic diagnostics, etc.; not a bad card IMO. And it's fairly well documented. ---------------- > For right now, I was just planning on assembling a raw binary image and > using a PC (with a bit of hacked together software) to push the image into > the IMSAI's memory via the 64FDC's serial port, using the onboard monitor > commands. Just for fun :). > If you know of a source for images of these third-party CP/Ms, let me > know. Dave Dunfield's site has a CP/M for the 16FDC, which as far as I > can tell (from a cursory glance at the manuals) has identical I/O port > behavior to the 64FDC so I may just be able to use that, assuming I can > write the 8" image to a 5.25" floppy. ---------------- As a matter of fact Dave also has a utility for the FDC that actually lets you create a bootable disk over the serial port. No big difference between the 16FDC and the 64 FDC; mostly just stuff added for later models of 8" drives (Tandon 848) and mods for the tape drives. mike From dm561 at torfree.net Tue Jan 3 16:32:27 2012 From: dm561 at torfree.net (MikeS) Date: Tue, 3 Jan 2012 17:32:27 -0500 Subject: Cromemco FDC (was: Looking for 8080/Z80 BASIC) References: Message-ID: <985D53AEF34A411AA018696DCE5C8B7A@vl420mt> Date: Sat, 31 Dec 2011 10:02:11 -0800 (PST) From: Jerry Wright Subject: Re: Looking for 8080/Z80 BASIC > Josh, I would love to get your 64FDC for my Cromemco 68020 machine that > is missing one. I have 16 FDC and other Croemeco Z-80 Boards to go along > with it. Which model 68020 Cromemco is it? I might be able to find a spare 64FDC... mike From ethan.dicks at gmail.com Tue Jan 3 16:43:23 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Tue, 3 Jan 2012 17:43:23 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: On Tue, Jan 3, 2012 at 3:50 PM, Richard wrote: > In article <4F030D4A.2010704 at mail.msu.edu>,?Josh Dersch writes: >> I know how to program in BASIC (and many other imperative programming >> languages). ?I also know how to program in Lisp. ?The learning of the >> latter did not require me to "un-learn" anything I had previously come >> across. >> >> Dijkstra's statement is snarky and amusing. ?It is not, however, an >> essential truism. > > As someone who learned BASIC first and then a slew of other languages > later, I would also disagree with Dijkstra's statement. ?It's a nice > sound bite that gets people's attention, but it's neither a truism, > nor is it even an essential statement about programming. ?It's just > his bias showing through. I would agree with you both. I learned BASIC first because what I could get my hands on when I was first learning was the trio of consumer machines: the Commodore PET, the Apple II and the TRS-80. I wrote BASIC on all three before moving up to 6502 on the PET and 1802 machine code on the Elf (yes, machine code - it was years later that I first touched an assembler). Like many others on this list, I have moved up from such humble beginnings to make a decent livelihood in the field. I suppose one could over-interpret Dijkstra's statement in its most literal form and say that those of us who self-learned BASIC first don't qualify as having been taught it (raising the possibility that the problem is in the pedagogy not the material). Here's the whole rant: http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html -ethan From mcguire at neurotica.com Tue Jan 3 16:46:27 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Tue, 03 Jan 2012 17:46:27 -0500 Subject: teaching programming to beginners In-Reply-To: References: <20120103105159.P719@shell.lmi.net> <20120103200257.GB28340@brevard.conman.org> Message-ID: <4F038543.2080305@neurotica.com> On 01/03/2012 03:44 PM, Richard wrote: >> It was thus said that the Great Fred Cisin once stated: >>>>> Of course, there are people who think if it doesn't look like C/C++, it >>>>> ain't programmin'. :-) (Of course, not talking about you, Josh - just >>>>> say lambda!) >>> >>> On Tue, 3 Jan 2012, Richard wrote: >>>> C++11 has lambda expressions. >>> >>> Would yu use that for teaching programming to first-time beginners? > > For the record, no, I don't recommend C++ for beginners, although some > do and many have done that as their first programming course. ...and the result is the horrid crop of morons who call themselves "programmers" today. C++ is perhaps the worst choice for a first language. What makes it even worse is how the object-oriented methodology is taught. > I would > probably start with Logo, then C#, then C++, then assembly. Logo is an interesting first choice...keeps things interesting and fun. I also agree with your last choice. But C#...teaching a proprietary single-platform commercial language designed with vendor lock-in as its first criteria, which came into being purely with the goal of unseating another language, isn't a good idea at all to present in academia, unless presented as a sidebar entitled "here's how perversely greedy the industry you're about to go into can get". Maybe C++ should be in that list, sure, but before assembly? Maybe switch those two around. Teach them how computers actually *work* first (which is pretty well accomplished by assembly, at least from the software perspective, how code is executed), that may go at least part way toward keeping them from abusing the true procedural/imperative nature of processors too much with the repugnant abstract-for-abstractions-sake-performance-be-damned-look-how-clever-I-am mess that is C++. -Dave -- Dave McGuire New Kensington, PA From quapla at xs4all.nl Wed Jan 4 08:02:59 2012 From: quapla at xs4all.nl (E. Groenenberg) Date: Wed, 4 Jan 2012 15:02:59 +0100 Subject: Latest find Message-ID: During a cleanup of stuff at our company, some interesting items popped up and which I could take home. A device which emulates 2 tu-58's but then as 2 3.5" floppies, 2 complete 11/34a board sets + operator console interface & 64KW mem one complete 11/24 (cpu. KT24, 128Kw mem) a test unit for SMD drives (for CDC & RM02/3/5), a spares kit for an LA-120/Decwriter III a box full with all kinds of DEC loop-back test connectors a crt testkit with 8 different tube connection boards. Ed -- Dit is een HTML vrije email / This is an HTML free email. From christian_liendo at yahoo.com Wed Jan 4 07:54:31 2012 From: christian_liendo at yahoo.com (Christian Liendo) Date: Wed, 4 Jan 2012 05:54:31 -0800 (PST) Subject: Guy claims to have re-badged VIC-1001 Message-ID: <1325685271.46749.YahooMailNeo@web113505.mail.gq1.yahoo.com> Ebay Item 320822744546 http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=320822744546 His title "VERY RARE: This Commodore VIC-20 is a Re-badged VIC-1001. Made In Japan." Am I crazy or wasn't all the VICs made in Japan?? From arcarlini at iee.org Wed Jan 4 02:16:11 2012 From: arcarlini at iee.org (arcarlini at iee.org) Date: Wed, 4 Jan 2012 08:16:11 -0000 Subject: CSS [was Re: 22disk & CP/M's diskettes] In-Reply-To: <4F03660E.4070200@neurotica.com> Message-ID: <2E54502045F24D8DADDE692F0E95E4CF@ANTONIOPC> Dave McGuire [mcguire at neurotica.com] wrote: > On 12/25/2011 03:16 AM, Mouse wrote: >> The _real_ problem with CSS, though, is that it's on the wrong end of >> the HTTP link. Content providers should not be presentation >> imposers. > > [chiming in late here, I was on the road] > > This is 100% true of course, I thought that with CSS, *you* could override the site's decisions and superimpoose your will? Without CSS I do (lots of times) and you don't get much choice. Although, if you're on lynx, does it make much difference either way? Antonio From holm at freibergnet.de Wed Jan 4 02:14:23 2012 From: holm at freibergnet.de (Holm Tiffe) Date: Wed, 4 Jan 2012 09:14:23 +0100 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: Message-ID: <20120104081423.GA50979@pegasus.freiberg-net.de> Richard wrote: > > In article , > Michael Thompson writes: > > > After seven months of Saturdays the PDP-8/L at the Rhode Island > > Computer Museum is finally running. > > Great news! I like the restoration blog you kept of your work. > -- > "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download > > > Legalize Adulthood! Like it too. I've repaired several old computers (no PDP8) and it is always fascinating to read such blogs. I know "mass dead effects" of several TTL chips too, specially russian chips in plastic case are the sources for failure. They like it to get to high impedance at the outputs. Nothing wrong with russian chips in ceramic housings... Regards, Holm -- Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 From ethan.dicks at gmail.com Wed Jan 4 01:12:53 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 02:12:53 -0500 Subject: Oscilloscope vector display driver... In-Reply-To: References: <1323701292.68413.YahooMailClassic@web45104.mail.sp1.yahoo.com> Message-ID: On Mon, Dec 12, 2011 at 2:30 PM, Glen Slick wrote: > It might be difficult to build something equivalent to the AVR Scope Clock > from scratch for less than $30 by the time you're all done, if this > hardware is suitable for your needs. > > http://www.sparkfun.com/products/9306 > > I don't have one of these myself yet but I should buy one to make use of my > Tek X-Y monitor. I have an older version of the hardware - binding posts for scope probes, no on-board amplifier to directly drive scope inputs via BNC cables, but otherwise similar. I had fun putting it together in 2008. -ethan From csquared3 at tx.rr.com Wed Jan 4 00:36:37 2012 From: csquared3 at tx.rr.com (Charlie Carothers) Date: Wed, 04 Jan 2012 00:36:37 -0600 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F03F375.3000204@tx.rr.com> On 1/2/2012 2:57 PM, Liam Proven wrote: > > 25y of support work and building and running networks has left me very > jaded with IT, though. I want out. Playing with older kit is still > fun, and occasionally using it to write on, but that's about it. > Modern games are mostly boring, with intensely difficult but very > derivative gameplay, stunning graphics but no originality. The OSs are > so complex that dabblers can't get involved, the hardware is vastly > powerful but locked away behind elaborate drivers and > professionals-only-need-apply languages. It's all rather dull. > It occurs to me that you might find something like beagleboard.org interesting... -- Later, Charlie C. In God We Trust!!! From cisin at xenosoft.com Tue Jan 3 21:04:53 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 19:04:53 -0800 (PST) Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: <20120103190325.D16151@shell.lmi.net> On Tue, 3 Jan 2012, Richard wrote: > As someone who learned BASIC first and then a slew of other languages > later, I would also disagree with Dijkstra's statement. It's a nice > sound bite that gets people's attention, but it's neither a truism, > nor is it even an essential statement about programming. It's just > his bias showing through. But, you agree with his comments about COBOL? APL? FORTRAN? PL1? Entertaining, if slightly exaggerated. From cisin at xenosoft.com Tue Jan 3 21:01:30 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Tue, 3 Jan 2012 19:01:30 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: <4F036769.9000908@neurotica.com> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <4F036769.9000908@neurotica.com> Message-ID: <20120103185755.X16151@shell.lmi.net> On Tue, 3 Jan 2012, Dave McGuire wrote: > A very early memory of mine was reading a BASIC program for the first > time. I saw a line like this: > 40 A = A + 1 > ...and I remember being very confused, saying "no, it isn't!!" > Pascal's assignment operator does little to address this, and APL's > does it well, but since all it took was reading like two sentences in a > book to learn what was going on, it seems this isn't really a big > problem in search of a solution. Whilst attempting to explain the difference between equality and assignment, I wrote: N = 1 N = N + 1 I told the class, "That is a proof by INDUCTIVE LOGIC that all numbers are the same. That would bring about total destruction of the universe. Therefore, never let any mathematician see it! Oh, wait. Are there any mathematicians in this class?" A few, very few, got it. From toby at telegraphics.com.au Tue Jan 3 19:23:04 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 20:23:04 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201031414.q03EEjji011698@floodgap.com> References: <201201031414.q03EEjji011698@floodgap.com> Message-ID: <4F03A9F8.2050503@telegraphics.com.au> On 03/01/12 9:14 AM, Cameron Kaiser wrote: >>> No argument from me. I've coded assembler for most of my life. [...]My >>> coworker turned to him and said "you do realize Java eventually gets >>> translated to assembler in order for it to actually do anything, don't >>> you?" Even that didn't work! >> >> Some people should be doing something else. From what I see around: >> Maybe 80% of the current industry. >> >> Why? They didn't learn and they won't learn. > > Meanwhile, I'm sitting here with a debugger single stepping through PowerPC > assembly language and I don't even work in the industry anymore. > Exactly. People who want to learn will always find a way. :D --Toby > I'm toying with writing an SECD VM in 6502 assembly language, though. > From toby at telegraphics.com.au Tue Jan 3 19:00:24 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 20:00:24 -0500 Subject: teaching programming to beginners In-Reply-To: <4F036769.9000908@neurotica.com> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <4F036769.9000908@neurotica.com> Message-ID: <4F03A4A8.9060406@telegraphics.com.au> On 03/01/12 3:39 PM, Dave McGuire wrote: > On 01/03/2012 02:42 PM, Fred Cisin wrote: >>> Neil Lincoln once told me that he thought that APL was the perfect >>> language to introduce one to programming. He said his kids took to >>> it like ducks to water. >> >> It does have a few specific items that work for beginners, such as use of >> an arrow for the assignment operation leminates the beginner mistake of >> 3 = X >> (I think that for first day programmers (which actually translates to >> almost a semester!), that "LET . . . " helped convey the difference >> between assginemtn and equality.) > > A very early memory of mine was reading a BASIC program for the first > time. I saw a line like this: > > 40 A = A + 1 > > ...and I remember being very confused, saying "no, it isn't!!" > And now we have languages that know it isn't. Meet Erlang. :) --Toby > Pascal's assignment operator does little to address this, and APL's does > it well, but since all it took was reading like two sentences in a book > to learn what was going on, it seems this isn't really a big problem in > search of a solution. > > -Dave > From toby at telegraphics.com.au Tue Jan 3 19:13:09 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 20:13:09 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201031727.MAA08287@Sparkle.Rodents-Montreal.ORG> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <201201031727.MAA08287@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F03A7A5.7040406@telegraphics.com.au> On 03/01/12 12:27 PM, Mouse wrote: >> Since modelling and abstraction are far more important parts of >> "programming" than syntax, BASIC fails completely: >> [...] >> - numbers, strings, fixed length arrays? that's it? How do I build >> anything else? Oh right. I can't. > > If you think you can't, you need to learn to program. Just because the > language doesn't help you do something doesn't mean it can't be done. > >>> I have only read a tiny little bit about Scheme but it is virtually >>> impenetrable to me - and I have years of programming experiences, >> And that is EXACTLY what Dijkstra was on about. > >> The conclusion YOU come to is that Scheme isn't relevant to >> programming. [...] > > I didn't write the double-quoted text above. But the conclusion _I_ > come to is that Scheme is not suitable for a beginner. (Well, most > beginners.) > >> But in fact the opposite is true: A good part of what you have been >> indoctrinated with, from BASIC onwards, *obscures* what is really >> going on when you program. > > Sounds as though you've been so indoctrinated that you think it can't > be programming if it isn't...I don't know, written in a Lisp dialect? > Functional? Full of parentheses? I expected to hear this eventually. How about "no". The syntax of Lisp is as irrelevant as the syntax of any other language. But the abstractions matter. And they're not illuminated by BASIC. I notice that many working programmers have a great deal of trouble with declarative languages of all kinds (e.g. stuff that doesn't look like lists of instructions). I wonder why that is. > > Nobody really knows what is going on when someone programs; the process > of converting a problem to a program to solve it is a very difficult > one to understand, like most creative processes. To presume that _you_ > know better than _someone else_ what is going on when that someone else > programs is...ludicrous. Not to mention jaw-droppingly arrogant. > >> Programs are not "sequences of instructions" except at the absolute >> bottom-most level. > > I've got news for you: programs in most language inherently are > sequences of instructions at more than just the machine-code level. "Most languages". Not all problems (and languages) are sequential. We seem to agree. --T > >> We do not need *another* generation of programmers for whom recursion >> and higher-order functions are alien concepts. > > You appear to think recursion and higher-order functions are somehow > not sequences of instructions. If so, I think you're wrong. > > "(apply fn args)" is just as much an "instruction" as "a[i] = 0;" is. > > /~\ The ASCII Mouse > \ / Ribbon Campaign > X Against HTML mouse at rodents-montreal.org > / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B > From mokuba at gmail.com Tue Jan 3 19:18:04 2012 From: mokuba at gmail.com (Gary Sparkes) Date: Tue, 3 Jan 2012 20:18:04 -0500 Subject: Visiting the Cryptologic museum In-Reply-To: <4F037050.3030601@neurotica.com> References: <4F037050.3030601@neurotica.com> Message-ID: That's not a cray1 cpu tower there? Or has that been moved? Last I heard there was a full tower system there On Jan 3, 2012 4:51 PM, "Dave McGuire" wrote: > On 01/03/2012 03:30 PM, Mark Kahrs wrote: > >> Over the break I visited the NSA's museum (just a stone's throw from Ft. >> Meade). For those who like crypto machines, it is definitely, definitely >> worth a visit. The curators and staff are very enthusiastic (they even >> brought out a machine from the back vault) and of course you can buy an >> NSA >> t-shirt if your heart desires. They had a mix-up with the Y-MP processor >> board and memory board on display (I told them) but otherwise it's fun >> just >> to see a Cray I up-close-and-personal. They have the tape jukebox being >> run from a PC. And the CM is flashing lights, but that's about it. The >> modern crypto gear is shown but the commentary is sparse at best. (In >> case >> you're wondering, the boxes are empty -- so I was told). There is little >> mention of public key cryptosystems. Or controversial questions like key >> length or key escrow. >> >> But worth a detour? Definitely. >> > > I second this wholeheartedly. I used to go there regularly, when I lived > just a few miles from there. I've had many a long talk with the staffers > there. > > By far the best part of that place, IMO, is the Enigma exhibit. To walk > up and operate a real Enigma is an awesome experience. > > The last time I was there, there was a PDP-11/70 on exhibit. Is it still > there? > > Oh, and...I'm sorry to bust your bubble, but about the "Cray I"...it's > not a "Cray I", it's just an SSD (Solid-State Disk) assembly that was > possibly once attached to a Cray I. > > -Dave > > -- > Dave McGuire > New Kensington, PA > From toby at telegraphics.com.au Tue Jan 3 19:22:04 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Tue, 03 Jan 2012 20:22:04 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> Message-ID: <4F03A9BC.7000409@telegraphics.com.au> On 03/01/12 10:09 AM, Liam Proven wrote: > On 3 January 2012 13:57, Toby Thain wrote: >> On 03/01/12 7:14 AM, Liam Proven wrote: >>> >>> On 3 January 2012 04:16, Toby Thain wrote: >>>> >>>> On 02/01/12 10:00 PM, Mouse wrote: >>>>>>> >>>>>>> >>>>>>> I consider BASIC to be an excellent beginner's introduction to "what >>>>>>> is a program?", etc., so long as they are exposed to other languages >>>>>>> immediately after grasping the basic principles. >>>>>> >>>>>> >>>>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>>>> control structures relate poorly to modern languages and even less to >>>>>> powerful abstractions. >>>>> >>>>> >>>>> >>>>> I'm not convinced that's a problem. >>>>> >>>>>> What's wrong with Scheme? Or at worst, Python? >>>>> >>>>> >>>>> >>>>> The same thing that was wrong with the New Math: you don't dump the >>>>> full load of theory on a beginner, not unless you want a very confused >>>>> beginner, or you have the incredible luck to get a Ramanujan or Knuth >>>>> as a student (and if so, honestly, the best thing anyone can do is to >>>>> get the hell out of the way). >>>> >>>> >>>> >>>> Scheme has no more theoretical load than BASIC. >>> >>> >>> O_o So speaketh a *highly* intelligent, perhaps near-genius-level, >>> natural programmer. >> >> >> Of course, I meant to qualify this as: "for a beginner", which is the point >> here. > > Even worse. > > There is a core question here which you seem to be skipping over. Do > you want to teach people to write code, to be able to make a computer > perform new tasks? *Or* do you want to train professional software > engineers? These are not at /all/ the same thing. Indeed I'd submit > that they are barely related. > > If you want the latter, then sure, yes, Scheme or Lisp or something Exactly the reverse. Professional software engineers I've seen around wouldn't touch Lisp with a barge pole. While, for people who want to get stuff done elegantly and simply, without irrelevancies, Scheme is ideal. > clever and rather arcane. Start 'em on the hard stuff so they learn It's not hard stuff (q.v) > right, in the same way that I learned swordfighting with a foil, the > feeblest weapon but the one controlled by the strictest rules. If you > can fight foil, then you can move to the less-demanding sabre easily, > and the relatively undemanding ep?e is straightforward; but start with > ep?e and learning the formalities of foil will be much harder. > >> Since modelling and abstraction are far more important parts of >> "programming" than syntax, BASIC fails completely: >> - full of irrelevant lexical bullshit and limitations (line numbers? what >> good is this to a beginner?); > > Oh come off it! Line numbers went out in 1985, man! Don't judge BASIC > by the crappy implementations of the early 1980s when 8K of RAM was a > lot! Line numbers are not the issue. > >> - numbers, strings, fixed length arrays? that's it? > > No, not at all. I would expect at least integers, floats, variable > length strings, multidimensional arrays of any other type, and quite > possibly different lengths of integer and possibly signed and unsigned > forms. Possibly booleans and things as well; maybe a complex type. But > to be a programmer does not mandate being a mathematician. I have > taught programming to people who did not know what a percentage was, > who did not know how to multiply or divide by fractions and so on. > Many people do not need fancy types. > >> How do I build anything >> else? Oh right. I can't. > > Again, a limitation only of very primitive, early BASICs, although I > have to say, I never found it a limitation. Have user-defined > structured data types if you want, though. Can I make a list? > >> - most BASICs lack structured programming primitives, so even as an >> IMPERATIVE language it fails to teach important patterns from the 1980s >> (which might explain some of the code I see around the place); > > Again, a limitation of the early 1980s. Not true of any decent BASIC > from about 1983 onwards. > >> - lacks named functions& procedures (yeah, some BASICs have a crippled >> hack for this; see lexical bullshit above) > > See above. Have you actually *seen* /any/ even 1990s BASIC, FFS? > >> - a fundamental >> abstracting/factoring tool. > > You'll have to explain what that means. Functions are a fundamental abstracting/factoring tool. So they better work well. -> Closures, too. > >> Now with Scheme, >> - you start with a syntax that is not pedagogically toxic; > > But is incomprehensible To you... > and uses bizarre postfix notation. Not Schemes I'm familiar with. > >> - you have the breath of a hope of constructing useful data structures >> without artificial limitations which can only frustrate; > > Straw man. > >> - there is the opportunity to introduce more theoretical load, which is >> good. The door is always unlocked to go beyond where one already is. > > If you can grasp the basics, pardon the pun, which I doubt most could. > >> There is nothing here that cannot be taught to a high school age student. > > You have no real experience of actual high-school students, then, I > can see that. Not true; I know some who are learning Scheme and Haskell with no trouble. > >>> I have only read a tiny little bit about Scheme but it is virtually >>> impenetrable to me - and I have years of programming experiences, >> >> And that is EXACTLY what Dijkstra was on about. > > Oh bollocks! > > Q.v. Dylan: > http://en.wikipedia.org/wiki/Dylan_%28programming_language%29#Syntax > Q.v. Lisp 2 and Elephant, discussed here /passim./ > > Even John McCarthy himself later conceded that Lisp's syntax was a > major hindrance in teaching it. Oh, yes, people have been trained to be terrified of it. It's a phantom fear. > >> The conclusion YOU come to is that Scheme isn't relevant to programming. > > That is not even remotely /like/ the conclusion that I came to. You > are putting words in my mouth and I *object*, strenuously. > > I did not say it was not relevant. I did not say it was a bad thing to > start with. I said it was /too hard/ for the average person, and I > stand by that. > >> But >> in fact the opposite is true: A good part of what you have been >> indoctrinated with, from BASIC onwards, *obscures* what is really going on >> when you program. Programs are not "sequences of instructions" except at the >> absolute bottom-most level. > > You have no idea of what any BASIC from even 20y ago is like, as you > have demonstrated, and you also seem to be very unfamiliar with the > limitations of actual ordinary people. For nonspecialists, concepts > such as loops are quite hard at first. Iterative thinking has to be > learned. Starting off utter newbies with prefix notation, CAR and > CADR, lists versus atoms, quoting and lambda calculus is like taking > the play-blocks off a kindergarten class and asking them to build the > cathedral of Notre Dame instead. > >> We do not need *another* generation of programmers for whom recursion and >> higher-order functions are alien concepts. Worse: Not given proper tools, >> mental and literal, for modelling and abstraction. Abstraction, it can be >> argued, is the single most important idea to learn as a computer programmer. > > Actually, I am sure you're right. > > But this misses the strength of the old BASICs of the late 1980s and > 1990s: that they brought programming to the common man. Yes, that's true; but it is 2011. And we are preparing kids whose careers will peak in 2030. > > Sure, we need better developers, but we /also/ need easy, friendly, > fun tools to reintroduce the ordinary Joe to writing programs at all. > Python and so on are far too big and complex for this. > >> I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't >> really learn anything except how to navigate limitations. Ugh. If only I had >> picked up Scheme when I picked up C. > > So in fact BASIC did /not/ give you brain damage and stop you learning? C moreso. I should have picked up something I could learn more from. > >> Actually none of these are more difficult than the artificial hurdles BASIC >> puts in front of you. Once again you speak from your confessed "imperative >> place". > > You have shown that you don't actually understand how much BASIC moved > on from the crappy MS BASIC 4 days of 1980. > >> Now imagine that you had learned Scheme first. Would you say recursion was >> hard? > > It isn't. I've written recursive programs. In BASIC. In a good BASIC: > in BBC BASIC V, a very fast, 32-bit BASIC with full support for named > procedures, local variables, passing by reference and value and so on. I'm very very familiar with BBC BASIC. It can't by any stretch be compared to a Lisp or ML family language, for example. > > > How will you program effectively in 2030 without dealing with higher >> order functions, continuations, immutable state? (How can one do it today, >> for that matter; only because in software Things Move So Damn Slowly.) > > I don't, because I am not a programmer and I don't aim to be. > >> Kids being educated for a career in software starting today deserve >> something better than BASIC. Things are bad enough already. > > They deserve something better than a 1970s BASIC, sure... But even a > late 1980s BASIC would, I submit, be more use than Python or Ruby, > which are too big, too complex and too abstract. > And after that, where will they fill in the missing pieces in their education? --Toby From hilpert at cs.ubc.ca Tue Jan 3 17:31:06 2012 From: hilpert at cs.ubc.ca (Brent Hilpert) Date: Tue, 3 Jan 2012 15:31:06 -0800 Subject: Visiting the Cryptologic museum In-Reply-To: References: Message-ID: <200DC7DC-6D2D-4D38-96C6-4FE206E46D5E@cs.ubc.ca> On 2012 Jan 3, at 12:30 PM, Mark Kahrs wrote: > Over the break I visited the NSA's museum (just a stone's throw > from Ft. > Meade). For those who like crypto machines, it is definitely, > definitely > worth a visit. The curators and staff are very enthusiastic (they > even > brought out a machine from the back vault) and of course you can > buy an NSA > t-shirt if your heart desires. They had a mix-up with the Y-MP > processor > board and memory board on display (I told them) but otherwise it's > fun just > to see a Cray I up-close-and-personal. They have the tape jukebox > being > run from a PC. And the CM is flashing lights, but that's about > it. The > modern crypto gear is shown but the commentary is sparse at best. > (In case > you're wondering, the boxes are empty -- so I was told). There is > little > mention of public key cryptosystems. Or controversial questions > like key > length or key escrow. > > But worth a detour? Definitely. Did you see the SIGSALY display (aka "X System")? Haven't been to the crypto museum myself, but I was reading about SIGSALY recently, and see they have some of the equipment (http://en.wikipedia.org/wiki/ SIGSALY). Real-time voice cryptography using pulse code modulation and digital algorithms and technology in WWII: http://www.nsa.gov/about/cryptologic_heritage/center_crypt_history/ publications/sigsaly_start_digital.shtml http://www.nsa.gov/about/cryptologic_heritage/center_crypt_history/ publications/sigsaly_story.shtml Reading about it, I could see the technological ability to do it at the time, but I had no idea until recently it had actually been done at the time! Shannon had some involvement in its development, just a couple of years before his papers on information theory. The historical connections and influences make for very interesting reading: http://dspace.mit.edu/handle/1721.1/39429?show=full (download PDF from there) The paper by Lars Lundheim 'On Shannon and "Shannon's Formula"' http://www.iet.ntnu.no/projects/beats/journals.htm is also interesting for some historical developments leading to information theory, including the concepts of sampling and digitising analog data, see mention of Alec Harley Reeves. From spectre at floodgap.com Tue Jan 3 16:55:20 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Tue, 3 Jan 2012 14:55:20 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from Tony Duell at "Jan 3, 12 08:39:49 pm" Message-ID: <201201032255.q03MtKwb006074@floodgap.com> > > > In genral, BASICs were not extendable like that. It is very difficult to > > > add new keywords ot a BASIC interpretter, and the way to do it is not > > > often docuemnted. > > > > MICROS~1 BASIC typically has a somewhat awkward DEFUSR function in the > > language to let you create and call machine language code. If you can > > Sure. Most BASICs had some way to call machine language routines. But > doing so was totally differnet to using built-in fucntions (or using > BASIC subroutines) and requried you gerneally to remember th rright > addresses. Better tnan nothing, but a kludge. That's not quite right. If you knew your stuff, for example, you could put USR() to very good, er, use. One of my earliest hacks was something that looked at the RAM under ROM on a C64. I wrote a USR routine that got its argument from FAC#1, turned it into an integer, banked out ROM, copied out a value, turned it back into a float and stuffed it in FAC#1, so I could either PEEK() or USR() an address. Even SYS/CALL/etc. could be made more useful if you knew the BASIC routines to get and grab parameters. jsr $aefd:jsr $ad9e:jsr $b7f7 is burned in my brain (check for and skip a comma, call BASIC FRMEVL to get an expression and then turn it into a 16-bit integer at $0014-5) allowing stuff like SYS49152,3+35*X to work. My current idiom on the C64 is BASIC for stuff that isn't speed critical and assembly for the rest. Such stuff benefits from simple tools like that. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- "Garbage in -- gospel out" ------------------------------------------------- From dm561 at torfree.net Tue Jan 3 17:10:59 2012 From: dm561 at torfree.net (MikeS) Date: Tue, 3 Jan 2012 18:10:59 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC References: Message-ID: <674490A232B74121934A07F971C7D07B@vl420mt> ----- Original Message: Date: Tue, 3 Jan 2012 20:11:52 +0000 From: Rich Alderson To: "cctalk at classiccmp.org" Subject: RE: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC From: MikeS Sent: Tuesday, January 03, 2012 7:23 AM >> I think many if not most of the people on here discovered that they >> enjoyed and had a gift for programming by playing with BASIC on their C64 >> or equivalent [snip] > I think that many if not most of the people on here learned to program on > something other than BASIC. I, for example, learned FORTRAN IV on an IBM > 1401 6 years before the MITS Altair 8800 was introduced to the world. > I did personally not encounter BASIC until I was in grad school, on an IBM > 370/168 running Wylbur for interactive computing. I was much more taken > with the DEC-20. -------Reply: You're probably right about this particular group where most people are old enough to wax nostalgic about the DECs of their distant youth and many are presumably retired as well since they have enough spare time to waste on discussions like this one... ;-) I personally started on an IBM 650 and then the very first Burroughs B260 installed in Canada, and didn't encounter BASIC either until I bought one of the first PETs some 13 years or so later. But I suspect many of the programmers actually writing code in the 'real' world today are somewhat younger than 45 or 50, and did indeed start on an 8-bitter of the 70's and 80's when the whole field exploded. m From ethan.dicks at gmail.com Tue Jan 3 17:02:23 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Tue, 3 Jan 2012 18:02:23 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102143007.E61599@shell.lmi.net> Message-ID: On Tue, Jan 3, 2012 at 3:39 PM, Tony Duell wrote: >> > In genral, BASICs were not extendable like that. It is very difficult to >> > add new keywords ot a BASIC interpretter, and the way to do it is not >> > often docuemnted. >> >> MICROS~1 BASIC typically has a somewhat awkward DEFUSR function in the >> language to let you create and call machine language code... > > Sure. Most BASICs had some way to call machine language routines. But > doing so was totally differnet to using built-in fucntions (or using > BASIC subroutines) and requried you gerneally to remember th rright > addresses. Better tnan nothing, but a kludge. I wrote at lot of hybrid BASIC/6502-machine-code programs back in the day. In the Commodore world (PET BASIC all the way through the C-128), you had the USR() function, which was handy if you wanted to pass one floating-point arg to your program and/or wanted your routine to pass you back a value - just POKE the address of your code into the documented USR() vector location so BASIC could hit it via a JMP-indirect instruction ($6C), or if you didn't need to pass args in/out (or you were willing to play parser tricks), just directly call your routine with SYS. It was all clearly described in the manuals - I wouldn't call it a kludge, just a method that was probably present in Microsoft BASICs that might not have been present in versions of BASIC that was, for lack of a better term, more Dartmouth-like. I didn't ever have much experience in the past with HP BASIC or DEC EDUsystem BASIC, so I can't guess what, if any, mechanisms there were for those commonly-encountered-at-school environments. I guess if you were writing your own machine code, as I was doing, you'd know your entry points, vs trying to make use of someone else's code, where I can see how it might seem arbitrary and kludgey, especially if they didn't prepend things with a jump table. -ethan From ethan.dicks at gmail.com Tue Jan 3 16:49:39 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Tue, 3 Jan 2012 17:49:39 -0500 Subject: teaching programming to beginners In-Reply-To: <20120103200257.GB28340@brevard.conman.org> References: <20120103105159.P719@shell.lmi.net> <20120103200257.GB28340@brevard.conman.org> Message-ID: On Tue, Jan 3, 2012 at 3:02 PM, Sean Conner wrote: > ?Personally, I would use Lua... > > ?Also, World of Warcraft and nmap use Lua as a scripting language, so those > interested in gaming or network based exploits will learn a useful skill. It's also the scripting language for Celestia, in case astronomy appeals to you more than games. I've looked at it, but haven't tried writing anything in it yet. -ethan From mcguire at neurotica.com Tue Jan 3 16:55:24 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Tue, 03 Jan 2012 17:55:24 -0500 Subject: Forth, was Re: Looking for 8080/Z80 BASIC In-Reply-To: References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> Message-ID: <4F03875C.6080807@neurotica.com> On 01/02/2012 06:51 PM, David Riley wrote: >> Although I don't speak a word of Forth, other than once having read >> Brodie's book ("Starting Forth"), it seems ideal for working with >> mastering the issues of getting a software structure to connect >> with the hardware. > > Forth is great. I'm writing a small Forth engine right now to bring > up an AVR board I designed; it only takes a day or so to dream up the > inner workings of the kernel for a particular architecture, and then > another few to code up the words necessary to do any real work. Seconded! I tend to put Forth on pretty much everything I build, which have mostly been Z80-based SBCs. Forth is amazing in so many ways. I suspect so many people fear it because it isn't "just another language that looks sorta like C"...most of "those" languages someone with enough experience can get the general gist of by being exposed to some source code. Not so with Forth; one must actually learn a little bit about the language first. ...which is why people dislike it. It seems extreme laziness and the need for INSTANT (as opposed to "fifteen minutes from now") ruins even awesome stuff like this for some people. That's ok, people like you and I will still reap the massive benefits of Forth. =) Dave, FYI, my GA144 chip arrived the other day. Massive wood! -Dave -- Dave McGuire New Kensington, PA From nierveze at radio-astronomie.com Tue Jan 3 15:33:42 2012 From: nierveze at radio-astronomie.com (nierveze) Date: Tue, 3 Jan 2012 22:33:42 +0100 Subject: Connect Shugart SA850 to PC References: <4F034010.5040805@gmail.com> Message-ID: <34BDDDBD4141437C8AECD02ECDE42D08@Pc12> hello,look here http://www.dbit.com/fdadap.html hope this will help you best regards alain nierveze ----- Original Message ----- From: "shadoooo" To: Sent: Tuesday, January 03, 2012 6:51 PM Subject: Connect Shugart SA850 to PC > Hello. > I have a Shugart SA850 I would connect to a PC, to read/write old > diskettes using linux. > I would need a suggestion on how to do connections and specially how to > set the > jumpers on the driver. > Any advice? > Andrea From jgh at mdfs.net Wed Jan 4 08:56:27 2012 From: jgh at mdfs.net (J.G.Harston) Date: Wed, 04 Jan 2012 14:56:27 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <47eae29ae6f58b2fc1d426011569bed1@mdfs.net> ard wrote: >> You don't need line numbers in BBC BASIC either if you don't use >> GOTO, GOSUB or RESTORE nnnn. > > Maybe not in the more recent (Archimedes, etc) versions, but the > version > I run on my Beebs (and the 6502 side of my ACW) certainly requires > line > numbers. Only to actually enter the code from the keyboard. The program itself doesn't need line numbers, and you don't need to enter them if you write the code with a screen editor instead of the line editor. -- J.G.Harston - jgh at mdfs.net - mdfs.net/jgh From chrism3667 at yahoo.com Tue Jan 3 17:32:29 2012 From: chrism3667 at yahoo.com (Chris M) Date: Tue, 3 Jan 2012 15:32:29 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F021FF8.6247.26D6D34@cclist.sydex.com> References: , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au> <4F021FF8.6247.26D6D34@cclist.sydex.com> Message-ID: <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> ________________________________ From: Chuck Guzis >If you've been exposed to machine langauge before an HLL, I suspect >that you gain a deeper understanding of how langauges work. ?Omgosh why before? Why not after? How many, but the truly deranged/depraved, learned machine language (machine language!) as their first language??? I mean no offense to those who learned ml on a keypad. Oh who am I kidding. I could care less if I pissed them off!. But I learned assembler on a k/b! The real man's way! ?Are you willing to declare that every compiler writer getting a check today learned ml first Chuckers? Something tells me the vast majority probably cut their teeth on BASIC, Pascal, and FORTRAN. But what do I know. From chrism3667 at yahoo.com Tue Jan 3 16:56:50 2012 From: chrism3667 at yahoo.com (Chris M) Date: Tue, 3 Jan 2012 14:56:50 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0263E6.4090706@telegraphics.com.au> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> Message-ID: <1325631410.21403.YahooMailNeo@web164506.mail.gq1.yahoo.com> ________________________________ From: Toby Thain >Well, there is the "small" problem that BASIC syntax, data types, and control structures relate poorly to modern languages and even less to powerful >abstractions. There's not such a huge distance between Fortran and BASIC! ?A well known fact in some circles. And this is why they both bloody rock! Both are dead easy to get started in (alright most FORTRANs I know of make you format your code properly, but what's wrong w/that for a beginner's language?). BASIC let's you be more sloppy (not so good a thing). I don't know about melding FORTRAN w/assembler, probably no more difficult then in BASIC, and which of us didn't get into that w/our Commy 64s and cheap pc's? ?For most people assembler is something of a dog to learn, especially on your own (but I did it w/the right text - yes text, not something typically found on bookstore bookshelves. Self teaching yourself assembler w/something by Sam's or whatever was a total exercise in frustration). But those that stuck it out found that all that crap sort of "clicked" 6 months to a year down the road. Granted if you started w/BASIC, and I was very young, the "hardest" part (it seemed) was having to send directives to the assembler. It was just a pain to me. It's almost the same every friggin time (though not always). I guess I was just lazy and spoiled and has something less then an ideal background (er, in BASIC). I just wanted to get down and dirty. Spare me the details. ?But as for data types, control structures, etc. in BASIC, who needs that w/an introductory language? A lot of people would get turned off if bogged down in all that. If you're in your early teens anyway. >What's wrong with Scheme? Or at worst, Python? At least the kids learning today might learn something that still serves them in 10, 20 years. It's not like the >world is moving back towards BASIC... ?Oh if I had my way, every computer would have BASIC in firmware or on disk. You betcha. From cclist at sydex.com Wed Jan 4 12:28:59 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 10:28:59 -0800 Subject: teaching programming to beginners In-Reply-To: <4F038543.2080305@neurotica.com> References: , , <4F038543.2080305@neurotica.com> Message-ID: <4F0429EB.19603.182853@cclist.sydex.com> On 3 Jan 2012 at 17:46, Dave McGuire wrote: > Logo is an interesting first choice...keeps things interesting and > fun. I also agree with your last choice. But C#...teaching a > proprietary single-platform commercial language designed with vendor > lock-in as its first criteria, which came into being purely with the > goal of unseating another language, isn't a good idea at all to > present in academia, unless presented as a sidebar entitled "here's > how perversely greedy the industry you're about to go into can get". I'm struggling to remember the name of a language I read about back in the late 70s or early 80s. It was part of a "natural language programming for the uninitiated" trend back then. It had statements like: TAKE THE THIRD THROUGH THE 17-TH CHARACTER OF MYDATA AND SHOW THEM. The language allowed for considerable leeway in abbreviation and tolerated lots of "junk fill" words. Anyone remember this? --Chuck From wh.sudbrink at verizon.net Wed Jan 4 12:40:35 2012 From: wh.sudbrink at verizon.net (Bill Sudbrink) Date: Wed, 04 Jan 2012 13:40:35 -0500 Subject: Cromemco FDC (was: Looking for 8080/Z80 BASIC) In-Reply-To: References: Message-ID: <06d201cccb10$5911b630$0b352290$@sudbrink@verizon.net> A simple implementation, done at the time, was to tie the RDOS ROM chip enable pin to the S-100 PHANTOM line with a diode. I have both 4 and 16 FDCs modified that way and it works very well. Bill S. From vintagecoder at aol.com Wed Jan 4 12:42:51 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Wed, 4 Jan 2012 18:42:51 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F031168.27701.104708B@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> Message-ID: <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> Hell, my Ada brainf$$k interpreter for x86_64 Linux is 169K. If I didn't have to screw around with ASCII/EBCDIC issues I would try to see how small a bf interpreter FORTRAN G could generate. I actually thought of trying to write a compiler in modern FORTRAN since I seem to be too old to learn anything new, but the F90 and later language is so wierd and ugly (good grief, lower case and indentation?! Sacrilege!) I decided against it. I thought I had read one of the early IBM FORTRAN compilers was written in FORTRAN but the G & H compilers appear to be in assembler like all the other OS/360 stuff. SNOBOL4 and SPITBOL-360 for IBM are both written in assembler. SNOBOL4 is arguably written in MINIMAL but the IBM implementation is assembler with heavy usage of macros. Whatever the intermediate language is, at the end of the day it's an all assembler implementation, like almost everything ever written for the mainframe. I think part of SPITBOL is self-hosted but I haven't looked into it. I have the source somewhere. Were earlier SNOBOL versions for IBM written in FORTRAN or was that only on other platforms? -----Original Message----- From: "Chuck Guzis" Sender: cctalk-bounces at classiccmp.org Date: Tue, 03 Jan 2012 14:32:08 To: General Discussion: On-Topic and Off-Topic Posts Reply-To: "General Discussion: On-Topic and Off-Topic Posts" Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC On 3 Jan 2012 at 13:41, Richard wrote: > They're all turing equivalent, so you could write the same thing in > Brainfuck as you could in FORTRAN, but I'm pretty sure you would > rather work in FORTAN 66. The same comparison works with modern > languages to put FORTRAN 66 on the losing side So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for I/O? How many languages were first written in FORTRAN? SNOBOL, for sure, as well as PL/M. Several FORTRAN compilers that I know of were written in FORTRAN for the most part. Quite a number of cross- assemblers were also written in FORTRAN. --Chuck From spectre at floodgap.com Wed Jan 4 12:56:11 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Wed, 4 Jan 2012 10:56:11 -0800 (PST) Subject: Guy claims to have re-badged VIC-1001 In-Reply-To: <1325685271.46749.YahooMailNeo@web113505.mail.gq1.yahoo.com> from Christian Liendo at "Jan 4, 12 05:54:31 am" Message-ID: <201201041856.q04IuBZw015668@floodgap.com> > Ebay Item 320822744546 > > http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=320822744546 > > His title "VERY RARE: This Commodore VIC-20 is a Re-badged VIC-1001. Made > In Japan." > > Am I crazy or wasn't all the VICs made in Japan?_ Most were, and Commodore reused the case design, of course. What this probably is, is an FCC testing prototype or dealer demo model. Still worth something to collectors, I suppose. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- BOND THEME NOW PLAYING: "A View To A Kill" --------------------------------- From ethan.dicks at gmail.com Wed Jan 4 12:57:03 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 13:57:03 -0500 Subject: Latest find In-Reply-To: References: Message-ID: On Wed, Jan 4, 2012 at 9:02 AM, E. Groenenberg wrote: > > During a cleanup of stuff at our company, some interesting items popped up > and which I could take home. > > A device which emulates 2 tu-58's but then as 2 3.5" floppies, I'd like to know more about this... vendor? model number? photos? -ethan From cisin at xenosoft.com Wed Jan 4 13:34:26 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 11:34:26 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> Message-ID: <20120104113200.A37747@shell.lmi.net> > > But, I've actually had students ask why there isn't a "plus or minus", or > > a "not equal" character for use in C if() statements. So, I pass a VT100 > > keyboard around the room. On Tue, 3 Jan 2012, David Riley wrote: > Shouldn't you pass around a teletype instead? For other courses, perhaps, although it's a little bulky, and a VT100 (or PC) keyboard is small and light. But the point that I try to make was to consider what was in front of the early develpers and users of the language. What terminals were they using? From cclist at sydex.com Wed Jan 4 13:39:55 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 11:39:55 -0800 Subject: teaching programming to beginners In-Reply-To: <20120103185755.X16151@shell.lmi.net> References: , <4F036769.9000908@neurotica.com>, <20120103185755.X16151@shell.lmi.net> Message-ID: <4F043A8B.8571.5917AD@cclist.sydex.com> On 3 Jan 2012 at 19:01, Fred Cisin wrote: > On Tue, 3 Jan 2012, Dave McGuire wrote: > > A very early memory of mine was reading a BASIC program for the > > first > > time. I saw a line like this: > > 40 A = A + 1 > > ...and I remember being very confused, saying "no, it isn't!!" > > Pascal's assignment operator does little to address this, and > > APL's > > does it well, but since all it took was reading like two sentences > > in a book to learn what was going on, it seems this isn't really a > > big problem in search of a solution. And the number of times that I've seen the = used in C conditionals instead of == is amazing. I note that many writers have adopted the "if ( constant == expression)" form rather than the somewhat more intuitive "if ( expression==constant)" just to catch this kind of error. Say what you want about FORTRAN, but the .EQ. conditional test could never be mistaken for an assignment. When I first saw the BASIC conditional of = for equality testing, I told myself "There's going to be trouble there." Then we could wander off into Verilog syntax and go on about the common error of using = instead of <=. But we all know that Verilog isn't a programming language.... :) --Chuck From legalize at xmission.com Wed Jan 4 13:53:57 2012 From: legalize at xmission.com (Richard) Date: Wed, 04 Jan 2012 12:53:57 -0700 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: In article , Ethan Dicks writes: > Here's the whole rant: > http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html Wow. Reading that just lowered my opinion of him, although not substantially. It reads more like a usenet post to alt.flame than something that speaks of "truths". He savages pretty much every au courant language of the time except Algol. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From legalize at xmission.com Wed Jan 4 13:55:06 2012 From: legalize at xmission.com (Richard) Date: Wed, 04 Jan 2012 12:55:06 -0700 Subject: Latest find In-Reply-To: References: Message-ID: In article , "E. Groenenberg" writes: > During a cleanup of stuff at our company, some interesting items popped up > and which I could take home. > > [...] > a spares kit for an LA-120/Decwriter III What's in the spares kit? -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From Arno_1983 at gmx.de Wed Jan 4 13:59:35 2012 From: Arno_1983 at gmx.de (Arno Kletzander) Date: Wed, 4 Jan 2012 20:59:35 +0100 Subject: Looking for 8080/Z80 BASIC Message-ID: <201201042000.q04K027N054189@billy.ezwind.net> > One of the things that frustrates me with C21 OSs and languages is > that the graphics facilities of machines are locked away behind the > high walls of libraries and APIs designed for professional developers > - which are simply too hard for an interested amateur such as myself. Are you aware of FreeBASIC (the one with the nice horsy logo) and had a look whether that floats your boat? This is an extendable freeware BASIC programming environment for Windoze (I dunno if it's available for other platforms too, I don't care at the moment) which can be enabled to do sound, Windows GUI widgets, networking primitives and the like via downloadable modules/libraries, which should be well documented and examples provided. I located and installed it a few years ago as a win- and TCP-enabled replacement for Turbo BASIC, both for my usual day-to-day diddling and intending to program a control application/"driver" for some not-quite-xterm, but couldn't scrounge up the spare time for more than a very cursory examination 'til now. Arno Kletzander ...sent from my HTC Magician PDA From tdk.knight at gmail.com Wed Jan 4 14:08:09 2012 From: tdk.knight at gmail.com (Adrian Stoness) Date: Wed, 4 Jan 2012 14:08:09 -0600 Subject: Latest find In-Reply-To: References: Message-ID: nice haul of randomnes from work On Wed, Jan 4, 2012 at 8:02 AM, E. Groenenberg wrote: > > During a cleanup of stuff at our company, some interesting items popped up > and which I could take home. > > A device which emulates 2 tu-58's but then as 2 3.5" floppies, > 2 complete 11/34a board sets + operator console interface & 64KW mem > one complete 11/24 (cpu. KT24, 128Kw mem) > a test unit for SMD drives (for CDC & RM02/3/5), > a spares kit for an LA-120/Decwriter III > a box full with all kinds of DEC loop-back test connectors > a crt testkit with 8 different tube connection boards. > > Ed > > -- > Dit is een HTML vrije email / This is an HTML free email. > > From rga24 at cantab.net Wed Jan 4 14:22:18 2012 From: rga24 at cantab.net (Richard Atkinson) Date: 04 Jan 2012 20:22:18 +0000 Subject: Guy claims to have re-badged VIC-1001 In-Reply-To: <1325685271.46749.YahooMailNeo@web113505.mail.gq1.yahoo.com> References: <1325685271.46749.YahooMailNeo@web113505.mail.gq1.yahoo.com> Message-ID: On Jan 4 2012, Christian Liendo wrote: > > >Ebay Item 320822744546 > >http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=320822744546 > > His title "VERY RARE: This Commodore VIC-20 is a Re-badged VIC-1001. Made > In Japan." > >Am I crazy or wasn't all the VICs made in Japan? It's a PET keyboard VIC 20. One of the early ones. It's a rebadged VIC-1001, if you like, in the sense that all VIC 20s are rebadged VIC-1001s. The VIC-1001 came out first. I have VIC 20s made in Germany, England, USA and Canada. None made in Japan. From rdawson16 at hotmail.com Wed Jan 4 14:30:17 2012 From: rdawson16 at hotmail.com (Randy Dawson) Date: Wed, 4 Jan 2012 14:30:17 -0600 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <201201032255.q03MtKwb006074@floodgap.com> References: from Tony Duell at "Jan 3, 12 08:39:49 pm",<201201032255.q03MtKwb006074@floodgap.com> Message-ID: > From: spectre at floodgap.com > Subject: Re: Looking for 8080/Z80 BASIC > To: cctalk at classiccmp.org > Date: Tue, 3 Jan 2012 14:55:20 -0800 > > > > > In genral, BASICs were not extendable like that. It is very difficult to > > > > add new keywords ot a BASIC interpretter, and the way to do it is not > > > > often docuemnted. > > > > > > MICROS~1 BASIC typically has a somewhat awkward DEFUSR function in the > > > language to let you create and call machine language code. If you can > > > > Sure. Most BASICs had some way to call machine language routines. But > > doing so was totally differnet to using built-in fucntions (or using > > BASIC subroutines) and requried you gerneally to remember th rright > > addresses. Better tnan nothing, but a kludge. > > That's not quite right. If you knew your stuff, for example, you could > put USR() to very good, er, use. One of my earliest hacks was something > that looked at the RAM under ROM on a C64. I wrote a USR routine that got > its argument from FAC#1, turned it into an integer, banked out ROM, copied out > a value, turned it back into a float and stuffed it in FAC#1, so I could > either PEEK() or USR() an address. > > Even SYS/CALL/etc. could be made more useful if you knew the BASIC routines > to get and grab parameters. jsr $aefd:jsr $ad9e:jsr $b7f7 is burned in my > brain (check for and skip a comma, call BASIC FRMEVL to get an expression > and then turn it into a 16-bit integer at $0014-5) allowing stuff like > SYS49152,3+35*X to work. > > My current idiom on the C64 is BASIC for stuff that isn't speed critical and > assembly for the rest. Such stuff benefits from simple tools like that. > > -- > ------------------------------------ personal: http://www.cameronkaiser.com/ -- > Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com > -- "Garbage in -- gospel out" ------------------------------------------------- An easy way to add commands is replace the vector to SYNTAX ERROR with your own parser. I did this for a commercial product, USDATA industrial BASIC, adding PLC communication commands (Allen Bradley, Modicon) to a disassembled MS basic. From cclist at sydex.com Wed Jan 4 14:42:37 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 12:42:37 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> Message-ID: <4F04493D.14868.92820A@cclist.sydex.com> On 3 Jan 2012 at 15:32, Chris M wrote: > ?Are you willing to declare that every compiler writer getting a check > today learned ml first Chuckers? Something tells me the vast majority > probably cut their teeth on BASIC, Pascal, and FORTRAN. But what do I > know. I'm struggling to understand what point you're trying to get across. My point was that it's probably best to learn arithmetic before one learns algebra or calculus--that is, to understand the way numbers work. Of course, some would disagree. But if you don't understand how a computer works, it's hard to believe that programming languages will come easy to you. Of course, there are plenty of people in middle-school bands who learned to play a musical instrument who don't understand the first thing about musical theory or even how and why their instrument works. The administration cares only that the band can play the school fight song at athletic events. Understanding be damned.. It's my contention that there are educational systems set up to accomplish the same sort of thing in information technology. --Chuck From ethan.dicks at gmail.com Wed Jan 4 14:43:20 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 15:43:20 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <674490A232B74121934A07F971C7D07B@vl420mt> References: <674490A232B74121934A07F971C7D07B@vl420mt> Message-ID: On Tue, Jan 3, 2012 at 6:10 PM, MikeS wrote: > But I suspect many of the programmers actually writing code in the 'real' > world today are somewhat younger than 45 or 50, and did indeed start on an > 8-bitter of the 70's and 80's when the whole field exploded. I'm 45. I consider my start to be learning to program on a PET (a 4K PET down at the public library at first, then my own 32K PET a couple of years later) which led directly to my first job, programming applications in BASIC and assembler on the C-64. Many of my younger co-workers' first experiences were on a C-64; a much smaller number learned BASIC on Apples or Ataris. Some are young enough that their first computer experience was using an MS-DOS-based PC, but none of those individuals tell any stories about writing any software on them, just playing games. -ethan From spectre at floodgap.com Wed Jan 4 14:54:07 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Wed, 4 Jan 2012 12:54:07 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: from Ethan Dicks at "Jan 3, 12 05:49:39 pm" Message-ID: <201201042054.q04Ks7Ba005626@floodgap.com> > I've looked at it, but haven't tried writing anything in it yet. Plua was the best way to write apps on PalmOS. I made so many useful little one-offs when I was a medical student so I didn't kill anybody. former maintainer of the Mac OS X pluac, -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- I've had a wonderful time, but this wasn't it. -- Groucho Marx ------------- From ethan.dicks at gmail.com Wed Jan 4 14:57:36 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 15:57:36 -0500 Subject: Cheap Chinese electrolytics - a plague - Re: TV -> D-Sub converter possible? In-Reply-To: <20111218200549.GE41884@pegasus.freiberg-net.de> References: <4EE94D90.6050905@telegraphics.com.au> <4EE95C33.1060401@neurotica.com> <20111215132107.GA22313@pegasus.freiberg-net.de> <4EEA374B.4000506@neurotica.com> <20111216165005.GE28813@pegasus.freiberg-net.de> <4EEBA5D7.8030200@neurotica.com> <20111218200549.GE41884@pegasus.freiberg-net.de> Message-ID: On Sun, Dec 18, 2011 at 3:05 PM, Holm Tiffe wrote: > It was only this single Part on the picture about that I've sayd this can't > be made econmically even for a chinese. The price difference between the > original part and the small noname cap and the additional used parts > (Housing, tube, print, bottom and contacts plus the needed work) will > really be to small, even for an chinese worker. Don't overestimate the costs of making fake products compared to real ones. It's unlikely the maker of that cap-in-a-cap paid full price for the inner cap, and the outer shell/print/bottom are a fixed cost anyway - they just saved on a) having to have/run a machine that rolls real caps and b) the full cost on the materials for a real cap. It's probably they picked up a truckload of smaller caps at pennies on the dollar (or yuan) and _that_ can easily be cheaper than making legitimate product from fair-market raw materials. And even if the profit margin is only $0.05 per unit more than doing it "right", someone will still be happy to take home that extra profit at the consumer's expense. -ethan From eric at brouhaha.com Wed Jan 4 15:11:12 2012 From: eric at brouhaha.com (Eric Smith) Date: Wed, 04 Jan 2012 14:11:12 -0700 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102143007.E61599@shell.lmi.net> Message-ID: <4F04C070.6010302@brouhaha.com> Ethan Dicks wrote: > I wrote at lot of hybrid BASIC/6502-machine-code programs > back in the day. In the Commodore world (PET BASIC all the > way through the C-128), you had the USR() function, which was > handy if you wanted to pass one floating-point arg to your > program and/or wanted your routine to pass you back a value In the C64 (and maybe VIC20), someone at Commodore hacked the Microsoft BASIC to have RAM hooks that could be used to add statements or modify expression processing. The work was clearly done by someone who wasn't really all that familiar with the internals of Microsoft 6502 BASIC, because the hooks were installed in suboptimal places in the ROM code, making it slightly trickier to add those extensions than it needed to be. In early 1982, I wrote a program that added structured programming statements, hexadecimal constants, and various other useful stuff, but the company that was going to sell it flaked out. I had been using their Commodore equipment, which I had to send back to them, and I didn't have the money to buy a C64 (then $595) and 1541 (then around $400) to continue development. I suppose I should have found another company to sell the software, or just given it away. Hindsight is 20/20. From cisin at xenosoft.com Wed Jan 4 15:09:19 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 13:09:19 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102143007.E61599@shell.lmi.net> Message-ID: <20120104123744.Q41929@shell.lmi.net> On Tue, 3 Jan 2012, Ethan Dicks wrote: > I wrote at lot of hybrid BASIC/6502-machine-code programs back in the > day. In the Commodore world (PET BASIC all the way through the > C-128), you had the USR() function, which was handy if you wanted to > pass one floating-point arg to your program and/or wanted your routine > to pass you back a value - just POKE the address of your code into the > documented USR() vector location so BASIC could hit it via a > JMP-indirect instruction ($6C), or if you didn't need to pass args > in/out (or you were willing to play parser tricks), just directly call > your routine with SYS. It was all clearly described in the manuals - > I wouldn't call it a kludge, just a method that was probably present > in Microsoft BASICs that might not have been present in versions of > BASIC that was, for lack of a better term, more Dartmouth-like. Note: using the BASIC floating point accumulator as a means to pass a value back from a machine language routine resulted in a program that would work on 5150, but would NOT work on ANY of the clones (Compaq, etc.) In 1982, PC-WORLD did a comparison of clones. They referred to Xeno-copy as "the acid test", because the copy that they had would run on 5150s, but not any clone. The copy that they had was not a current one - it clearly stated on the title page that that version was only for real IBM PCs and to contact the publisher for versions for other machines. My publisher, may the rot in pieces, deliberately kept that market split, to "increase sales, and frustrate piracy". (They had a lot of experience being pirates) PC-World didn't bother to mention that, nor that the current version ran on anything that ran PC-DOS (I had immediately changed the code to bring back the return code from INT13h in a memory location). It cost sales. It also gave me the idea for "XenoPhobe : The Acid Test" which was a never released program specifically for quantifying compatability. Confessions: many commercial programs in those days were written in BASIC ! and then that information would be hidden. Overheard at a Comdex party: Q: What language is your program written in? A: Sorry, can't answer that. Q: Oh. Which BASIC compiler do you use? I rewrote in C before I began doing my own marketing. (HINT: which C compiler author argued that K&R did NOT specify puts() appending a newline?) There was not a SCHEME compiler available at the time, and some of the early SCHEME compilers were unable to use their 64K of stack space for recursion of anything more than trivial classroom exercises. I assume that the current ones have improved that. I wrote a bunch of additional commercial software, but nothing ever again in BASIC. -- Grumpy Ol' Fred cisin at xenosoft.com From cisin at xenosoft.com Wed Jan 4 15:16:55 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 13:16:55 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325631410.21403.YahooMailNeo@web164506.mail.gq1.yahoo.com> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <1325631410.21403.YahooMailNeo@web164506.mail.gq1.yahoo.com> Message-ID: <20120104131430.G41929@shell.lmi.net> On Tue, 3 Jan 2012, Chris M wrote: > Oh if I had my way, every computer would have BASIC in firmware or on > disk. > You betcha. . . . and to supplement or ameliorate deficiencies in the firmware version, there can be addtions to it on the disk! . . . and, for those missing the firmware copy, put "Gee Whiz BASIC" on the disk! From ethan.dicks at gmail.com Wed Jan 4 15:28:13 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 16:28:13 -0500 Subject: The PDP-8/L at the RICM is running! In-Reply-To: <20120104081423.GA50979@pegasus.freiberg-net.de> References: <20120104081423.GA50979@pegasus.freiberg-net.de> Message-ID: On Wed, Jan 4, 2012 at 3:14 AM, Holm Tiffe wrote: > Like it too. > I've repaired several old computers (no PDP8) and it is always fascinating > to read such blogs. I know "mass dead effects" of several TTL chips too Don't know if it's similar to what you've seen or not, but from my experience testing M-series modules for the -8/L and -8/i, I've found more dead 7474s and 7440s than any other type of chip. For my testing, I rigged up a 3M test clip (http://parts.digikey.com/1/parts/389650-16-pin-test-clip-3-row-space-923700.html) to a ribbon cable with two IDC headers crimped on one end about an inch apart so that I could mount one IDC connector on each side of the clip, then cobbled up an adapter for the other end of the cable from a wire-wrap socket so that in the end, I had a cable that could clip onto one IC and fit into the ZIF socket of a hand-held IC tester. I would test my FLIP-CHIP modules out of the box, letting the tester power all the ICs on the board but only fiddle the lines on the chip under test. With that device, I could test a pile of M111, M113... M216, etc., boards in a few minutes and identify failed ICs. Complex boards like the M220 Major Registers module, though, still have to be tested the hard way. -ethan From arcarlini at iee.org Wed Jan 4 15:39:48 2012 From: arcarlini at iee.org (arcarlini at iee.org) Date: Wed, 4 Jan 2012 21:39:48 -0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: Message-ID: <0A8506B18B8249CEB019AF4584BCD60D@ANTONIOPC> Ian King [IanK at vulcan.com]wrote: > My OS professor in my Masters program said he worked with > Dijkstra for a time, and claimed that he really was a > curmudgeon. Well, that wasn't the exact word my instructor I heard him lecture once - very entertaining. I can only imagine how entertaining it must have been to have been one of his students :-) Antonio arcarlini at iee.org From cisin at xenosoft.com Wed Jan 4 15:51:14 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 13:51:14 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> Message-ID: <20120104132145.L41929@shell.lmi.net> On Wed, 4 Jan 2012, Vintage Coder wrote: > I actually thought of trying to write a compiler in modern FORTRAN since > I seem to be too old to learn anything new, but the F90 and later > language is so wierd and ugly (good grief, lower case and indentation?! > Sacrilege!) I decided against it. F90 and even Fortran77 are nice languages for some people, BUT THEY AIN'T FORTRAN ! > I thought I had read one of the early IBM FORTRAN compilers was written > in FORTRAN but the G & H compilers appear to be in assembler like all > the other OS/360 stuff. It used to be that EVERY CS grad student wrote a new language, as a rite of passage. I don't know whether that was required by the university, or just social pressure. One of the "requirements" was that the final version of it must have been written in it and compiled BY IT. (Obviously earlier versions must have used assemblers and/or compilers of other languages) While it seems like a nice "proof" of the language, it very clearly shows a lack of understanding that if the new language was not intended for, and designed as, a compiler authoring tool, that that would certainly NOT be the best choice for creation of the final product. Of course, many schools (UC Berkeley) DON'T CARE about that, and teach that if the only problems are speed and size performance, that the correct solution is throw hardware at them! "If you want to sort an array larger than 64K, then GET MORE RAM." "If it's too slow, then use a faster computer." (also used by OS tech support with, "I'm amazed that it can even RUN on such obsolete [1 year old], inadequate [Are YOU inadequate?] hardware! Try something more current!") Note: I made my Data Structures and Algorithms students write a MERGE program to combine two already sorted files. I've heard UC grads insist that the CORRECT way to write it is to append the two files, load the result into memory, and use a Shell Metzner sort. [How many things are wrong with THAT?] C is pretty good for writing compilers, and it takes little more than "The dragon book" (Aho & Ullman) plus a LOT of time and effort to produce one. C is best at systems programming, particularly due to how easy it is to shove it out of your way if you need to get closer to the hardware, but C is often MISUSED for writing general purpose and even business programs, for which it can be spectacularly inappropriate. FORTRAN is well suited for many things, including a lot of different kinds of scientific programming, but is NOT a good choice for writing compilers. Maybe F90 might be better, to use INSTEAD OF FORTRAN. PASCAL is a good rigorous INTERMEDIATE (not first exposure) teaching language. It's usable, but not great, for compiler writing. For example, see the runtime library used in the early Microsoft compilers, particularly their FORTRAN compiler (where simple benchmarks, such as a "Sieve of Erastothanes" run slower than interpreted BASIC) What is SCHEME best suited for? (An answer of "EVERYTHING" will destroy your credibility.) Does anybody write compilers in assembly any more? Or ever will, again? -- Grumpy Ol' Fred cisin at xenosoft.com From ethan.dicks at gmail.com Wed Jan 4 16:02:42 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 17:02:42 -0500 Subject: teaching programming to beginners In-Reply-To: <20120104113200.A37747@shell.lmi.net> References: <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <20120104113200.A37747@shell.lmi.net> Message-ID: On Wed, Jan 4, 2012 at 2:34 PM, Fred Cisin wrote: >> > But, I've actually had students ask why there isn't a "plus or minus", or >> > a "not equal" ?character for use in C if() statements. ?So, I pass a VT100 >> > keyboard around the room. > > On Tue, 3 Jan 2012, David Riley wrote: >> Shouldn't you pass around a teletype instead? > > For other courses, perhaps, although it's a little bulky, and a VT100 (or > PC) keyboard is small and light. I was thinking that a VT100 keyboard hurts less when it falls into your lap when you are passing it around the room. > But the point that I try to make was to consider what was in front of the > early develpers and users of the language. ? What terminals were they > using? According to http://cm.bell-labs.com/who/dmr/chist.html ... "By early 1973, the essentials of modern C were complete. The language and compiler were strong enough to permit us to rewrite the Unix kernel for the PDP-11 in C during the summer of that year." The VT52 came out in 1975, the VT100 (with its embedded 8080 chewing on ANSI codes) came out in 1978, well after the nature of C was established. So during the critical interval of 1971-1973, when B became C, what terminals would have been in common usage at Bell Labs? In particular, what would have they (Ken and DMR) have typed their curly braces on? (since ASR-33s lack them) -ethan From cisin at xenosoft.com Wed Jan 4 16:05:22 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 14:05:22 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: <4F043A8B.8571.5917AD@cclist.sydex.com> References: , <4F036769.9000908@neurotica.com>, <20120103185755.X16151@shell.lmi.net> <4F043A8B.8571.5917AD@cclist.sydex.com> Message-ID: <20120104135916.U41929@shell.lmi.net> On Wed, 4 Jan 2012, Chuck Guzis wrote: > And the number of times that I've seen the = used in C conditionals > instead of == is amazing. I note that many writers have adopted the > "if ( constant == expression)" form rather than the somewhat more > intuitive "if ( expression==constant)" just to catch this kind of > error. Prob'ly the single most common error by C writers. Followed by accidental inclusion of a semi-colon after a condition: while (3 > X); { . . . There's almost always at least one student asking, "Then why doesn't the compiler prevent it?" My answer is, "A GOOD compiler might give you a WARNING, for which you should be grateful. But, it should never PREVENT suspicious code, because you might WANT to write something like while (*T++ = *S++); " > Say what you want about FORTRAN, but the .EQ. conditional test could > never be mistaken for an assignment. Like the arrow for assignment in APL, some languages have things that others should learn from! > When I first saw the BASIC > conditional of = for equality testing, I told myself "There's going > to be trouble there." Yep! -- Grumpy Ol' Fred cisin at xenosoft.com From spectre at floodgap.com Wed Jan 4 16:11:06 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Wed, 4 Jan 2012 14:11:06 -0800 (PST) Subject: Looking for 8080/Z80 BASIC In-Reply-To: from Randy Dawson at "Jan 4, 12 02:30:17 pm" Message-ID: <201201042211.q04MB6G1015960@floodgap.com> > An easy way to add commands is replace the vector to SYNTAX ERROR with your > own parser. Actually, for those Microsoft BASICs with a CHRGET routine in RAM, easier still was to wedge (hence the name) into that. On PETs that was the only way you could do it, in fact. Its chief drawback was speed. For that matter, altering the tokenizer vector (such as ICRUNCH on the 64) is a better method than trapping errors. Lots of C64 tools added commands in that fashion. But for my own projects, I usually just use SYS/USR and extensions to get parameters. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- The fact that it works is immaterial. -- L. Ogborn ------------------------- From lproven at gmail.com Wed Jan 4 16:21:43 2012 From: lproven at gmail.com (Liam Proven) Date: Wed, 4 Jan 2012 22:21:43 +0000 Subject: Looking for 8080/Z80 BASIC In-Reply-To: <201201042000.q04K027N054189@billy.ezwind.net> References: <201201042000.q04K027N054189@billy.ezwind.net> Message-ID: On Jan 4, 2012 9:49 PM, "Arno Kletzander" wrote: > > > One of the things that frustrates me with C21 OSs and languages is > > that the graphics facilities of machines are locked away behind the > > high walls of libraries and APIs designed for professional developers > > - which are simply too hard for an interested amateur such as myself. > > Are you aware of FreeBASIC (the one with the nice horsy logo) and had a look whether that floats your boat? This is an extendable freeware BASIC programming environment for Windoze > (I dunno if it's available for other platforms too, I don't care at the moment) which can be enabled to do sound, Windows GUI widgets, networking primitives and the like via downloadable modules/libraries, which should be well documented and examples provided. > > I located and installed it a few years ago as a win- and TCP-enabled replacement for Turbo BASIC, both for my usual day-to-day diddling and intending to program a control application/"driver" for some not-quite-xterm, but couldn't scrounge up the spare time for more than a very cursory examination 'til now. > I am indeed aware of it but I've not really looked at it yet. I must do. All my pro type mates are horrified by the mere thought & treat any mention of it as much if I'd said that I thought I might try intravenous heroin just for a laugh. ;-) Some want me to try Python, some Ruby, some Lisp, some Scheme, some Perl. One suggests FreePascal. None approve of Free BASIC. Poor unloved thing. - LP From mcguire at neurotica.com Wed Jan 4 16:24:27 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 17:24:27 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04493D.14868.92820A@cclist.sydex.com> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> Message-ID: <4F04D19B.2010208@neurotica.com> On 01/04/2012 03:42 PM, Chuck Guzis wrote: > Of course, some would disagree. But if you don't understand how a > computer works, it's hard to believe that programming languages will > come easy to you. > > Of course, there are plenty of people in middle-school bands who > learned to play a musical instrument who don't understand the first > thing about musical theory or even how and why their instrument > works. > > The administration cares only that the band can play the school fight > song at athletic events. Understanding be damned.. It's my > contention that there are educational systems set up to accomplish > the same sort of thing in information technology. This is definitely the case. It's pretty tough to find a programmer these days who has any idea of how a computer actually works, even at the assembly language level. This is something that many (most?) people think is "just fine", and some have even go so far as to fling around statements like "why should I learn to be a mechanic just to drive a car?" ...thinking that's an appropriate analogy when it's not. Looking at the state of software today proves my point beyond any shadow of a doubt. -Dave -- Dave McGuire New Kensington, PA From lproven at gmail.com Wed Jan 4 16:33:33 2012 From: lproven at gmail.com (Liam Proven) Date: Wed, 4 Jan 2012 22:33:33 +0000 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: On Jan 4, 2012 9:39 PM, "Richard" wrote: > > > In article , > Ethan Dicks writes: > > > Here's the whole rant: > > http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html > > Wow. > > Reading that just lowered my opinion of him, although not substantially. > > It reads more like a usenet post to alt.flame than something that > speaks of "truths". > > He savages pretty much every au courant language of the time except > Algol. Indeed he does. What /did/ he approve of, then? Something he created himself, perchance? (Did he do so, in fact?) - LP From ethan.dicks at gmail.com Wed Jan 4 16:40:28 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Wed, 4 Jan 2012 17:40:28 -0500 Subject: Looking for 8080/Z80 BASIC In-Reply-To: References: <201201032255.q03MtKwb006074@floodgap.com> Message-ID: On Wed, Jan 4, 2012 at 3:30 PM, Randy Dawson wrote: > An easy way to add commands is replace the vector to SYNTAX ERROR with your own parser. > > I did this for a commercial product, USDATA industrial BASIC, adding PLC communication commands (Allen Bradley, Modicon) to a disassembled MS basic. Here's what you get to play with under Microsoft ROM BASIC on the C-64... IERROR 0300-0301 768-769 Vector: Print BASIC Error Message IMAIN 0302-0303 770-771 Vector: BASIC Warm Start ICRNCH 0304-0305 772-773 Vector: Tokenize BASIC Text IQPLOP 0306-0307 774-775 Vector: BASIC Text LIST IGONE 0308-0309 776-777 Vector: BASIC Char. Dispatch IEVAL 030A-030B 778-779 Vector: BASIC Token Evaluation The drawback with grabbing the error vector is that part of what you may want to see has already gone past the parser pointer, so you either have to back that up, or accept some character overhead every time you want to "extend" the language. Since PET BASIC did not have these vectors and since many C-64 tool writers started with PETs, the typical mechanism was to jump in front of the regular parser (by patching the CHRGONE routine in low RAM), look for your own token, then either handle the rest yourself, or let the BASIC detokenizer handle it. A few cycles of overhead, sure, but the technique worked across multiple platforms. -ethan From mcguire at neurotica.com Wed Jan 4 17:28:29 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 18:28:29 -0500 Subject: teaching programming to beginners In-Reply-To: <20120103185755.X16151@shell.lmi.net> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <4F036769.9000908@neurotica.com> <20120103185755.X16151@shell.lmi.net> Message-ID: <4F04E09D.9050803@neurotica.com> On 01/03/2012 10:01 PM, Fred Cisin wrote: >> A very early memory of mine was reading a BASIC program for the first >> time. I saw a line like this: >> 40 A = A + 1 >> ...and I remember being very confused, saying "no, it isn't!!" >> Pascal's assignment operator does little to address this, and APL's >> does it well, but since all it took was reading like two sentences in a >> book to learn what was going on, it seems this isn't really a big >> problem in search of a solution. > > Whilst attempting to explain the difference between equality and > assignment, I wrote: > N = 1 > N = N + 1 > I told the class, "That is a proof by INDUCTIVE LOGIC that all numbers are > the same. That would bring about total destruction of the universe. > Therefore, never let any mathematician see it! Oh, wait. Are there any > mathematicians in this class?" > > A few, very few, got it. ROFL!! -- Dave McGuire New Kensington, PA From mcguire at neurotica.com Wed Jan 4 17:32:31 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 18:32:31 -0500 Subject: Visiting the Cryptologic museum In-Reply-To: References: <4F037050.3030601@neurotica.com> Message-ID: <4F04E18F.4060300@neurotica.com> Nope...unless they've added one in the past year and a half or so, which I'd probably have heard about, the one labeled "Cray I" there is just an SSD. -Dave On 01/03/2012 08:18 PM, Gary Sparkes wrote: > That's not a cray1 cpu tower there? Or has that been moved? Last I heard > there was a full tower system there > On Jan 3, 2012 4:51 PM, "Dave McGuire" wrote: > >> On 01/03/2012 03:30 PM, Mark Kahrs wrote: >> >>> Over the break I visited the NSA's museum (just a stone's throw from Ft. >>> Meade). For those who like crypto machines, it is definitely, definitely >>> worth a visit. The curators and staff are very enthusiastic (they even >>> brought out a machine from the back vault) and of course you can buy an >>> NSA >>> t-shirt if your heart desires. They had a mix-up with the Y-MP processor >>> board and memory board on display (I told them) but otherwise it's fun >>> just >>> to see a Cray I up-close-and-personal. They have the tape jukebox being >>> run from a PC. And the CM is flashing lights, but that's about it. The >>> modern crypto gear is shown but the commentary is sparse at best. (In >>> case >>> you're wondering, the boxes are empty -- so I was told). There is little >>> mention of public key cryptosystems. Or controversial questions like key >>> length or key escrow. >>> >>> But worth a detour? Definitely. >>> >> >> I second this wholeheartedly. I used to go there regularly, when I lived >> just a few miles from there. I've had many a long talk with the staffers >> there. >> >> By far the best part of that place, IMO, is the Enigma exhibit. To walk >> up and operate a real Enigma is an awesome experience. >> >> The last time I was there, there was a PDP-11/70 on exhibit. Is it still >> there? >> >> Oh, and...I'm sorry to bust your bubble, but about the "Cray I"...it's >> not a "Cray I", it's just an SSD (Solid-State Disk) assembly that was >> possibly once attached to a Cray I. >> >> -Dave >> >> -- >> Dave McGuire >> New Kensington, PA >> -- Dave McGuire New Kensington, PA From mcguire at neurotica.com Wed Jan 4 17:34:15 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 18:34:15 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> References: , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au> <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> Message-ID: <4F04E1F7.30704@neurotica.com> On 01/03/2012 06:32 PM, Chris M wrote: >> If you've been exposed to machine langauge before an HLL, I >> suspect that you gain a deeper understanding of how langauges >> work. > > Omgosh why before? Why not after? How many, but the truly > deranged/depraved, learned machine language (machine language!) as > their first language??? I mean no offense to those who learned ml on > a keypad. Oh who am I kidding. I could care less if I pissed them > off!. But I learned assembler on a k/b! The real man's way! > > Are you willing to declare that every compiler writer getting a check > today learned ml first Chuckers? Something tells me the vast majority > probably cut their teeth on BASIC, Pascal, and FORTRAN. But what do I > know. I had to read this about three times before I realized that by "ml" you meant "machine language", not the language "ML". -Dave -- Dave McGuire New Kensington, PA From tdk.knight at gmail.com Wed Jan 4 17:46:46 2012 From: tdk.knight at gmail.com (Adrian Stoness) Date: Wed, 4 Jan 2012 17:46:46 -0600 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: <20120104081423.GA50979@pegasus.freiberg-net.de> Message-ID: would this kit work? http://azur-electronics.com/images/HP%205015T%20c.JPG *HP 5015T LOGIC TROUBLESHOOTING KIT * On Wed, Jan 4, 2012 at 3:28 PM, Ethan Dicks wrote: > On Wed, Jan 4, 2012 at 3:14 AM, Holm Tiffe wrote: > > Like it too. > > I've repaired several old computers (no PDP8) and it is always > fascinating > > to read such blogs. I know "mass dead effects" of several TTL chips too > > Don't know if it's similar to what you've seen or not, but from my > experience testing M-series modules for the -8/L and -8/i, I've found > more dead 7474s and 7440s than any other type of chip. > > For my testing, I rigged up a 3M test clip > ( > http://parts.digikey.com/1/parts/389650-16-pin-test-clip-3-row-space-923700.html > ) > to a ribbon cable with two IDC headers crimped on one end about an > inch apart so that I could mount one IDC connector on each side of the > clip, then cobbled up an adapter for the other end of the cable from a > wire-wrap socket so that in the end, I had a cable that could clip > onto one IC and fit into the ZIF socket of a hand-held IC tester. I > would test my FLIP-CHIP modules out of the box, letting the tester > power all the ICs on the board but only fiddle the lines on the chip > under test. > > With that device, I could test a pile of M111, M113... M216, etc., > boards in a few minutes and identify failed ICs. Complex boards like > the M220 Major Registers module, though, still have to be tested the > hard way. > > -ethan > From arcarlini at iee.org Wed Jan 4 17:56:26 2012 From: arcarlini at iee.org (arcarlini at iee.org) Date: Wed, 4 Jan 2012 23:56:26 -0000 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: Message-ID: <5C45C4BFBB33409DBF052A4935AA82A8@ANTONIOPC> Richard [legalize at xmission.com] wrote: > As someone who learned BASIC first and then a slew of other > languages later, I would also disagree with Dijkstra's > statement. It's a nice sound bite that gets people's > attention, but it's neither a truism, nor is it even an > essential statement about programming. It's just his bias > showing through. Dijkstra was more interested in whether you could prove that your program behaved according to its specification. Whether your program worked every time you ran it was less important than whether it could conceivably fail. Don't forget that you couldn't meet his definition of programmer without being a mathematician. It's apples and oranges, I think. Antonio From bfranchuk at jetnet.ab.ca Wed Jan 4 18:02:59 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Wed, 04 Jan 2012 17:02:59 -0700 Subject: teaching programming to beginners In-Reply-To: <20120104135916.U41929@shell.lmi.net> References: , <4F036769.9000908@neurotica.com>, <20120103185755.X16151@shell.lmi.net> <4F043A8B.8571.5917AD@cclist.sydex.com> <20120104135916.U41929@shell.lmi.net> Message-ID: <4F04E8B3.4030700@jetnet.ab.ca> On 1/4/2012 3:05 PM, Fred Cisin wrote: > Yep! Nope ... LET BAR=FOO vs IF FOO=BAR > > -- > Grumpy Ol' Fred cisin at xenosoft.com > > From fraveydank at gmail.com Wed Jan 4 18:03:09 2012 From: fraveydank at gmail.com (David Riley) Date: Wed, 4 Jan 2012 19:03:09 -0500 Subject: teaching programming to beginners In-Reply-To: References: <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <20120104113200.A37747@shell.lmi.net> Message-ID: <8457AF58-8FAD-410A-9D16-E3C538B17FCE@gmail.com> On Jan 4, 2012, at 5:02 PM, Ethan Dicks wrote: > So during the critical interval of 1971-1973, when B became C, what > terminals would have been in common usage at Bell Labs? In > particular, what would have they (Ken and DMR) have typed their curly > braces on? (since ASR-33s lack them) Simple (graphical) answer: http://nushackers.org/wp-content/uploads/2011/01/nerdpol-ken-den.jpg - Dave From cclist at sydex.com Wed Jan 4 18:18:32 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 16:18:32 -0800 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104132145.L41929@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net>, <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry>, <20120104132145.L41929@shell.lmi.net> Message-ID: <4F047BD8.17254.1582CB4@cclist.sydex.com> On 4 Jan 2012 at 13:51, Fred Cisin wrote: > > F90 and even Fortran77 are nice languages for some people, > BUT THEY AIN'T FORTRAN ! I was an alternate rep to X3J3 (vector extensions) for what was supposed to be FORTRAN 8X, but the quarreling and threats from various vendors made the meetings resemble blood feuds. At one point, both DEC and IBM threatenned to leave--particularly bad form, in my opinion. I think the die was cast from the moment the committee decided that the purpose of a standards committe was to invent language rather than to certify certain current practices. Even today, I can't stand to look at Fortran 90 or anything later. I can manage FORTRAN 77 because it tolerates FORTRAN 66 syntax. They took my simple homespun darling and turned her into a harlot. --Chuck From dave.g4ugm at gmail.com Wed Jan 4 18:20:03 2012 From: dave.g4ugm at gmail.com (Dave) Date: Thu, 5 Jan 2012 00:20:03 -0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04D19B.2010208@neurotica.com> Message-ID: <0F7C9D2EBDB24C32B951CB8B6D5A3020@EMACHINE> > -----Original Message----- > From: cctalk-bounces at classiccmp.org > [mailto:cctalk-bounces at classiccmp.org] On Behalf Of Dave McGuire > Sent: 04 January 2012 22:24 > To: General Discussion: On-Topic and Off-Topic Posts > Subject: Re: teaching programming to kids - Re: Looking for > 8080/Z80 BASIC > > > On 01/04/2012 03:42 PM, Chuck Guzis wrote: > > Of course, some would disagree. But if you don't understand how a > > computer works, it's hard to believe that programming languages will > > come easy to you. > > > > Of course, there are plenty of people in middle-school bands who > > learned to play a musical instrument who don't understand the first > > thing about musical theory or even how and why their instrument > > works. > > > > The administration cares only that the band can play the > school fight > > song at athletic events. Understanding be damned.. It's my > > contention that there are educational systems set up to accomplish > > the same sort of thing in information technology. > > This is definitely the case. It's pretty tough to find a > programmer > these days who has any idea of how a computer actually works, even at > the assembly language level. This is something that many > (most?) people > think is "just fine", and some have even go so far as to fling around > statements like "why should I learn to be a mechanic just to drive a > car?" ...thinking that's an appropriate analogy when it's > not. Looking > at the state of software today proves my point beyond any > shadow of a doubt. > It amazes me how little our current programmers know about the windows environment. They wanted to run a scheduled task every minute because they didn't know how to create a service... > -Dave > > -- > Dave McGuire > New Kensington, PA > From mcguire at neurotica.com Wed Jan 4 18:20:48 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 19:20:48 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <674490A232B74121934A07F971C7D07B@vl420mt> Message-ID: <4F04ECE0.60706@neurotica.com> On 01/04/2012 03:43 PM, Ethan Dicks wrote: >> But I suspect many of the programmers actually writing code in the 'real' >> world today are somewhat younger than 45 or 50, and did indeed start on an >> 8-bitter of the 70's and 80's when the whole field exploded. > > I'm 45. I consider my start to be learning to program on a PET (a 4K > PET down at the public library at first, then my own 32K PET a couple > of years later) which led directly to my first job, programming > applications in BASIC and assembler on the C-64. Many of my younger > co-workers' first experiences were on a C-64; a much smaller number > learned BASIC on Apples or Ataris. Some are young enough that their > first computer experience was using an MS-DOS-based PC, but none of > those individuals tell any stories about writing any software on them, > just playing games. ...a time-honored tradition that continues even into today. ;) -Dave -- Dave McGuire New Kensington, PA From cclist at sydex.com Wed Jan 4 18:25:11 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 16:25:11 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120104131430.G41929@shell.lmi.net> References: , <1325631410.21403.YahooMailNeo@web164506.mail.gq1.yahoo.com>, <20120104131430.G41929@shell.lmi.net> Message-ID: <4F047D67.4650.15E4678@cclist.sydex.com> On 4 Jan 2012 at 13:16, Fred Cisin wrote: > On Tue, 3 Jan 2012, Chris M wrote: > > Oh if I had my way, every computer would have BASIC in firmware or > > on disk. You betcha. > > . . . and to supplement or ameliorate deficiencies in the firmware > version, there can be addtions to it on the disk! . . . and, for those > missing the firmware copy, put "Gee Whiz BASIC" on the disk! At one point, I seem to recall that there was a proposal put forward for Plug'n'Pray cards that each would contain a small ROM with some Forth code--the idea being that the card wouldn't be tied to a particular CPU. It never went anywhere, AFAIK. --Chuck From legalize at xmission.com Wed Jan 4 18:30:59 2012 From: legalize at xmission.com (Richard) Date: Wed, 04 Jan 2012 17:30:59 -0700 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: In article , Liam Proven writes: > On Jan 4, 2012 9:39 PM, "Richard" wrote: > > In article 8YgJhGOvCXzd2eMjVeoB1G5qk30-YUo25y03iZ7FKJg at mail.gmail.com>, > > Ethan Dicks writes: > > > > > Here's the whole rant: > > > http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html > > > > Wow. > > > > Reading that just lowered my opinion of him, although not substantially. > > > > It reads more like a usenet post to alt.flame than something that > > speaks of "truths". > > > > He savages pretty much every au courant language of the time except > > Algol. > > Indeed he does. What /did/ he approve of, then? Something he created > himself, perchance? (Did he do so, in fact?) No praise is given, only insults hurled, so it's hard to say. I merely note that Algol survived unscathed. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From fraveydank at gmail.com Wed Jan 4 18:41:16 2012 From: fraveydank at gmail.com (David Riley) Date: Wed, 4 Jan 2012 19:41:16 -0500 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104132145.L41929@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: > Does anybody write compilers in assembly any more? Or ever will, again? > Well, yeah. All my Forth interpreters are written in assembler (the parts that aren't written in Forth, anyway). Often it progresses to adding assembler macros to the interpreter to compile, which then turns it into a Forth compiler. Of course, at that point, you can self-host if you want to (a lot of Forth, Inc.'s implementations used to do that, and I think Chuck Moore's ColorForth does something similar). - Dave From fraveydank at gmail.com Wed Jan 4 18:43:45 2012 From: fraveydank at gmail.com (David Riley) Date: Wed, 4 Jan 2012 19:43:45 -0500 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F03038E.9010306@telegraphics.com.au> <4F030D4A.2010704@mail.msu.edu> Message-ID: On Jan 4, 2012, at 5:33 PM, Liam Proven wrote: > On Jan 4, 2012 9:39 PM, "Richard" wrote: >> He savages pretty much every au courant language of the time except >> Algol. > > Indeed he does. What /did/ he approve of, then? Something he created > himself, perchance? (Did he do so, in fact?) Well. Algol. - Dave From toby at telegraphics.com.au Wed Jan 4 19:01:35 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Wed, 04 Jan 2012 20:01:35 -0500 Subject: Cheap Chinese electrolytics - a plague - Re: TV -> D-Sub converter possible? In-Reply-To: References: <4EE94D90.6050905@telegraphics.com.au> <4EE95C33.1060401@neurotica.com> <20111215132107.GA22313@pegasus.freiberg-net.de> <4EEA374B.4000506@neurotica.com> <20111216165005.GE28813@pegasus.freiberg-net.de> <4EEBA5D7.8030200@neurotica.com> <20111218200549.GE41884@pegasus.freiberg-net.de> Message-ID: <4F04F66F.5010702@telegraphics.com.au> On 04/01/12 3:57 PM, Ethan Dicks wrote: > On Sun, Dec 18, 2011 at 3:05 PM, Holm Tiffe wrote: >> It was only this single Part on the picture about that I've sayd this can't >> be made econmically even for a chinese. The price difference between the >> original part and the small noname cap and the additional used parts >> (Housing, tube, print, bottom and contacts plus the needed work) will >> really be to small, even for an chinese worker. > > Don't overestimate the costs of making fake products compared to real > ones. ... > > And even if the profit margin is only $0.05 per unit more than doing > it "right", someone will still be happy to take home that extra profit > at the consumer's expense. > Precisely. And that's why we have this problem, at all levels. --T > -ethan > From toby at telegraphics.com.au Wed Jan 4 19:12:59 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Wed, 04 Jan 2012 20:12:59 -0500 Subject: 11/34a board sets + operator console interface& 64KW mem - Re: Latest find In-Reply-To: References: Message-ID: <4F04F91B.2010606@telegraphics.com.au> On 04/01/12 9:02 AM, E. Groenenberg wrote: > > During a cleanup of stuff at our company, some interesting items popped up > and which I could take home. > > A device which emulates 2 tu-58's but then as 2 3.5" floppies, > 2 complete 11/34a board sets + operator console interface& 64KW mem I'd probably be interested in these if there are no other takers. regards --Toby > one complete 11/24 (cpu. KT24, 128Kw mem) > a test unit for SMD drives (for CDC& RM02/3/5), > a spares kit for an LA-120/Decwriter III > a box full with all kinds of DEC loop-back test connectors > a crt testkit with 8 different tube connection boards. > > Ed > From jecel at merlintec.com Wed Jan 4 20:32:00 2012 From: jecel at merlintec.com (Jecel Assumpcao Jr.) Date: Wed, 4 Jan 2012 23:32:00 -0300 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <201201050134.q051YUub066105@billy.ezwind.net> Richard wrote: > LOGO is likened to be LISP without parenthesis, which is why it's what > I tell people to play with when they say "what should I tell my kid to > try if he wants to learn programming?". With turtle graphics built > in, it's easy to get sucked into making pictures and forget that > you're learning how to write recursive programs. I am very interested in this thread since I design computers for children, with one of the main goals being to get them to learn programming (more for the side effects of learning how to debug and how to incrementally arrive at working solutions). Back in 1983 I designed a 6809 based computer with Logo in ROM. One issue was the problem domain. Turtle graphics are great, but robotics and games are even more attractive. Robotics was already being worked on in the Lego Logo project, so I concentrated on games. Having multiple concurrent turtles like in Coco Logo would be a good start, and allowing the turtles to have any shape (in TI99/4A Logo you had sprites which could change shape, but those were not turtles) would really help. I also added object orientation, and this feature got used more and more so I ended up switching to Smalltalk in 1984. > Additionally, I think that interpretive environment's like LISP or > LOGO are better for experimentation and rapid feedback. Compiling is > great for speed, but not so good for reinforcing immediate positive > feedback. That is absolutely critical. But one limitation of Logo was that it wasn't self revealing. I have played with many implementations of the language and if I don't have written documentation I can't get very far (specially in implementations based not based on English). Unfortunately, the children didn't get that documentation. If it was available at all, the teacher normally kept it to him/herself. Contrast that with Basic on the Sinclair machines. Every possible command was printed right there on the keyboard. You could try random things and learn without a book. But you normally had a book and a few magazines. Back in the 8 bit era it was hard to do something about this, but in a modern system all the documentation you could want should be in the system itself. One interesting alternative, which I considered for that project, was the 1978 Super Basic for the Bally Astrocade (a Z80 machine, so we are back to the start of this thread) which claimed to be self revealing. It had GOSUB but also allowed you to define your own named functions (it called them macros). These functions used INPUT to read the values supplied as arguments at the call site, but if the argument was missing it would print the associated prompt text and read the value from the keyboard. And all the built in commands worked just like this, so typing in a parcial expression would make the computer print out what additional data it needed. This interpreter was not sold, so a repackaged version of it was developed and sold as the Datamax UV-1 high end machines for video artists and the language was renamed to Zgrass. A side effect of having one Basic command in each key on the Sinclair machines (to make typing in programs tolerable on the horrible keyboards) was that the beginner didn't have to worry about syntax errors. If you typed something and the computer interpreted it as something else you saw it right away and could fix it before going any further. By the time you hit ENTER the syntax was ok, though you might still have logical errors. The free form text entry in Logo made it easier to make syntax errors, though misspelled names were more likely to be a problem. A modern alternative for reducing syntax errors is the use of graphical blocks to represent code, like in Etoys or Scratch (two systems implemented in Squeak Smalltalk). It helps a lot in the beginning, though eventually this gets in the way of writing code. One problem that Logo in general had was that it was seen by everyone involved as a very limited tool. As you mentioned, the language itself certainly doesn't lack power. But most implementations were very weak due to the limited memories. A good interpreter will take up most of 64KB and leave little room for the user's programs. So Logo was used for small projects in elementary school while Basic and Pascal were used in high school. And children quickly tire of things they perceive as being uninteresting to adults or older children. So in my project I put in a lot of effort to have a professional quality interpreter. The hardware included a circuit to have a separate 64KB instruction address space from the 64KB data address space. That allowed the interpreter to live in a 32KB EPROM and still have the full 64KB of RAM for user programs. -- Jecel From toby at telegraphics.com.au Wed Jan 4 19:43:30 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Wed, 04 Jan 2012 20:43:30 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F047D67.4650.15E4678@cclist.sydex.com> References: , <1325631410.21403.YahooMailNeo@web164506.mail.gq1.yahoo.com>, <20120104131430.G41929@shell.lmi.net> <4F047D67.4650.15E4678@cclist.sydex.com> Message-ID: <4F050042.3090100@telegraphics.com.au> On 04/01/12 7:25 PM, Chuck Guzis wrote: > On 4 Jan 2012 at 13:16, Fred Cisin wrote: > >> On Tue, 3 Jan 2012, Chris M wrote: >>> Oh if I had my way, every computer would have BASIC in firmware or >>> on disk. You betcha. >> >> . . . and to supplement or ameliorate deficiencies in the firmware >> version, there can be addtions to it on the disk! . . . and, for those >> missing the firmware copy, put "Gee Whiz BASIC" on the disk! > > At one point, I seem to recall that there was a proposal put forward > for Plug'n'Pray cards that each would contain a small ROM with some > Forth code--the idea being that the card wouldn't be tied to a > particular CPU. > > It never went anywhere, AFAIK. That was implemented as http://www.openfirmware.org/ (found in Suns, Macs, etc). The format is Fcode; it's actually a brilliant idea that of course was of more pressing importance when the hardware market was actually heterogeneous. --Toby > > --Chuck > > From jwest at classiccmp.org Wed Jan 4 19:48:45 2012 From: jwest at classiccmp.org (Jay West) Date: Wed, 4 Jan 2012 19:48:45 -0600 Subject: server outage Message-ID: My apologies... the classiccmp server crashed, and it took some real doing to get it functional again. It was not a hardware issue, it was an issue with both Xen and FreeNAS (mostly Xen as to the delay in getting it back up). I'm embarrassed to admit, but I finally had to open up a per-incident support case with Citrix to get the thing resolved. On the bright side, there are backups (daily) of mysql, the website content directories, and the mailman archive, so no data was ever at risk. However, since those aren't full system backups - recovery from them would have been a bit time-consuming but certainly doable with no data loss. Yes, I'm setting up monthly snapshots (or vm exports) shortly just in case it happens again. Best, J From jecel at merlintec.com Wed Jan 4 20:47:15 2012 From: jecel at merlintec.com (Jecel Assumpcao Jr.) Date: Wed, 4 Jan 2012 23:47:15 -0300 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F031168.27701.104708B@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> Message-ID: <201201050149.q051nj0a066461@billy.ezwind.net> Chuck Guzis wrote: > So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for > I/O? PICOBIT is a Scheme that can run on PIC microcontrollers with 6KB of ROM and 1KB of RAM. But it is a cross compiler, not a native system. http://www.iro.umontreal.ca/~feeley/papers/StAmourFeeleyIFL09.pdf > How many languages were first written in FORTRAN? SNOBOL, for sure, > as well as PL/M. Several FORTRAN compilers that I know of were > written in FORTRAN for the most part. Quite a number of cross- > assemblers were also written in FORTRAN. PALASM (the grandfather of Verilog and VHDL) was written in FORTRAN. I helped with a 68000 assembler in FORTRAN, and it was not a nice experience. -- Jecel From cclist at sydex.com Wed Jan 4 20:01:51 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 18:01:51 -0800 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <20120104132145.L41929@shell.lmi.net>, Message-ID: <4F04940F.19597.1B6C409@cclist.sydex.com> On 4 Jan 2012 at 19:41, David Riley wrote: > On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: > > > Does anybody write compilers in assembly any more? Or ever will, > > again? > > Of course, at that point, you can self-host if you want to (a lot of > Forth, Inc.'s implementations used to do that, and I think Chuck > Moore's ColorForth does something similar). Well, even in the limited resource 8-bit days in the 70s, it didn't make sense to write a compiler in assembler, even when you were using assembler to write the code. You first wrote a macro preprocessor or interpreter that implemented a bunch of operations to perform lexical operations--and then you wrote assembler routines to support them. That's the way a number of outfits did it--including Ryan-McFarland, for example. You could take the code for one architecture, rewrite the support routines and the back end code generation and re-host it on a completely different machine. What's harder is the runtime support for any particular machine+OS combination. That was often assembly, due to speed concerns. --Chuck From cisin at xenosoft.com Wed Jan 4 20:02:22 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 18:02:22 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04D19B.2010208@neurotica.com> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> Message-ID: <20120104172214.U48285@shell.lmi.net> On Wed, 4 Jan 2012, Dave McGuire wrote: > This is definitely the case. It's pretty tough to find a programmer > these days who has any idea of how a computer actually works, even at > the assembly language level. This is something that many (most?) people > think is "just fine", and some have even go so far as to fling around > statements like "why should I learn to be a mechanic just to drive a > car?" ...thinking that's an appropriate analogy when it's not. Looking > at the state of software today proves my point beyond any shadow of a doubt. As a former mechanic, I have to disagree. Slightly. Driver (on cellphone): Help! My Prius has been going 90 mile an hour for an hour and a half, and I can't stop it! 911: Put it in neutral. Driver: But if I do that, it'll flip over! 911: Then turn off the engine. Driver: But, if I do that, I'll get rear-ended! Take away his cellphone., and ticket for using it. Take away his car. Frankly, I suspect that Sykes made the bogus call as a way to avoid getting ticketed by a cop who had already seen him. People with THAT level of lack of understanding of the mechanical aspects should not be driving. Why are permitting people to drive who don't know how to stop a car with a stuck accelerator, or with bad brakes? The safety of the rest of the populace requires that people understand more about a vehicle than that. From aek at bitsavers.org Wed Jan 4 20:23:25 2012 From: aek at bitsavers.org (Al Kossow) Date: Wed, 04 Jan 2012 18:23:25 -0800 Subject: server outage In-Reply-To: References: Message-ID: <4F05099D.3020405@bitsavers.org> On 1/4/12 5:48 PM, Jay West wrote: > My apologies... the classiccmp server crashed, and it took some real doing to get it functional again. It was not a hardware issue did the new disks / box upgrade ever happen? From cclist at sydex.com Wed Jan 4 20:32:53 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 18:32:53 -0800 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F050042.3090100@telegraphics.com.au> References: , <4F047D67.4650.15E4678@cclist.sydex.com>, <4F050042.3090100@telegraphics.com.au> Message-ID: <4F049B55.802.1D33028@cclist.sydex.com> On 4 Jan 2012 at 20:43, Toby Thain wrote: > That was implemented as http://www.openfirmware.org/ (found in Suns, > Macs, etc). > > The format is Fcode; it's actually a brilliant idea that of course was > of more pressing importance when the hardware market was actually > heterogeneous. Finding anything about this is a little difficult--lots of 404s, etc. when trying to search. What was the last product that used Open Firmware? Most of this stuff seems to be from the mid '90s. --Chuck From fraveydank at gmail.com Wed Jan 4 20:51:35 2012 From: fraveydank at gmail.com (David Riley) Date: Wed, 4 Jan 2012 21:51:35 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F049B55.802.1D33028@cclist.sydex.com> References: <4F047D67.4650.15E4678@cclist.sydex.com> <4F050042.3090100@telegraphics.com.au> <4F049B55.802.1D33028@cclist.sydex.com> Message-ID: <3CB6FA66-794C-45C0-8101-D80D0A480357@gmail.com> On Jan 4, 2012, at 21:32, "Chuck Guzis" wrote: > > What was the last product that used Open Firmware? Most of this > stuff seems to be from the mid '90s. Probably the last PowerPC Macs, or the OLPC, or a few embedded things... Sadly, OF seems to have fallen out of favor, which I think is a real loss. - Dave From spectre at floodgap.com Wed Jan 4 20:55:33 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Wed, 4 Jan 2012 18:55:33 -0800 (PST) Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <3CB6FA66-794C-45C0-8101-D80D0A480357@gmail.com> from David Riley at "Jan 4, 12 09:51:35 pm" Message-ID: <201201050255.q052tXpN015040@floodgap.com> > > What was the last product that used Open Firmware? Most of this > > stuff seems to be from the mid '90s. > > Probably the last PowerPC Macs, or the OLPC, or a few embedded things... > Sadly, OF seems to have fallen out of favor, which I think is a real loss. Pretty sure the OLPC. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- lp0 reported invalid error status (on fire, eh?) -- Linux 1.1.62 ----------- From spectre at floodgap.com Wed Jan 4 20:58:56 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Wed, 4 Jan 2012 18:58:56 -0800 (PST) Subject: Astrocade was Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201050134.q051YUub066105@billy.ezwind.net> from "Jecel Assumpcao Jr." at "Jan 4, 12 11:32:00 pm" Message-ID: <201201050258.q052wuLQ010544@floodgap.com> > One interesting alternative, which I considered for that project, was > the 1978 Super Basic for the Bally Astrocade (a Z80 machine, so we are > back to the start of this thread) which claimed to be self revealing. It > had GOSUB but also allowed you to define your own named functions (it > called them macros). These functions used INPUT to read the values > supplied as arguments at the call site, but if the argument was missing > it would print the associated prompt text and read the value from the > keyboard. And all the built in commands worked just like this, so typing > in a parcial expression would make the computer print out what > additional data it needed. This interpreter was not sold, so a > repackaged version of it was developed and sold as the Datamax UV-1 high > end machines for video artists and the language was renamed to Zgrass. I have an Astrocade and wonder who's got those Datamaxen -- I'd sure love one for mine. Astro BASIC is a marvel, considering the severe constraints in which it must operate. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- To be, or not to be -- that always confused me ... -- "In Living Color" ---- From cctech at vax-11.org Wed Jan 4 21:07:38 2012 From: cctech at vax-11.org (cctech at vax-11.org) Date: Wed, 4 Jan 2012 20:07:38 -0700 (MST) Subject: Latest find In-Reply-To: References: Message-ID: On Wed, 4 Jan 2012, Ethan Dicks wrote: > On Wed, Jan 4, 2012 at 9:02 AM, E. Groenenberg wrote: >> >> During a cleanup of stuff at our company, some interesting items popped up >> and which I could take home. >> >> A device which emulates 2 tu-58's but then as 2 3.5" floppies, > > I'd like to know more about this... vendor? model number? photos? > > -ethan > Me too. Clint From ajp166 at verizon.net Wed Jan 4 21:12:08 2012 From: ajp166 at verizon.net (allison) Date: Wed, 04 Jan 2012 22:12:08 -0500 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104132145.L41929@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: <4F051508.102@verizon.net> On 01/04/2012 04:51 PM, Fred Cisin wrote: > On Wed, 4 Jan 2012, Vintage Coder wrote: >> I actually thought of trying to write a compiler in modern FORTRAN since >> I seem to be too old to learn anything new, but the F90 and later >> language is so wierd and ugly (good grief, lower case and indentation?! >> Sacrilege!) I decided against it. > > F90 and even Fortran77 are nice languages for some people, > BUT THEY AIN'T FORTRAN ! > Never used Fortran. My first language was Darthmuth BASIC on GE Tymeshare. Next year (this was still thae dark ages 1969) I was exposed to be BOCES LYRICS PDP8I Timeshre system BASIC and FOCAL. My pet peve with both was very minimal string handling, I want to answer "yes|YES" to a question not "1". That lead to PAL, and the awkward path to assembler. >> I thought I had read one of the early IBM FORTRAN compilers was written >> in FORTRAN but the G& H compilers appear to be in assembler like all >> the other OS/360 stuff. > It used to be that EVERY CS grad student wrote a new language, as a rite > of passage. I don't know whether that was required by the university, or > just social pressure. > One of the "requirements" was that the final version of it must have been > written in it and compiled BY IT. (Obviously earlier versions must have > used assemblers and/or compilers of other languages) > While it seems like a nice "proof" of the language, it very clearly shows > a lack of understanding that if the new language was not intended for, and > designed as, a compiler authoring tool, that that would certainly NOT be > the best choice for creation of the final product. > Not a CS student and never thought that made sense. Right up there with every machine shop student making a hammer. And not even a good one! > Of course, many schools (UC Berkeley) DON'T CARE about that, and teach > that if the only problems are speed and size performance, that the > correct solution is throw hardware at them! > "If you want to sort an array larger than 64K, then GET MORE RAM." > "If it's too slow, then use a faster computer." (also used by OS tech > support with, "I'm amazed that it can even RUN on such obsolete [1 year > old], inadequate [Are YOU inadequate?] hardware! Try something more > current!") > Thats broke. IF you can get a bigger machine, nice. Most cases you use what you have as in the real world the purchasing isn't delivering before your due date. > Note: I made my Data Structures and Algorithms students write a MERGE > program to combine two already sorted files. I've heard UC grads insist > that the CORRECT way to write it is to append the two files, load the > result into memory, and use a Shell Metzner sort. [How many things are > wrong with THAT?] > > I took data structures using PASCAL at SUNY.. The first day was discussion on how to use 029 and feed the Univac1180, bah! I asked if I coud use my NS* Horizon. After the, whats that?? I would bring it tto the next class and demonstrate UCSD PASCAL running on Z80 with floppies and how using a video scree editor on a H19 terminal (in ansi mode). Youd have thought I've just demonstrated Nuke Fusion.. Needless to say I never learned the 029 or the 1180 but I did learn data structures. > C is pretty good for writing compilers, and it takes little more than "The > dragon book" (Aho& Ullman) plus a LOT of time and effort to produce one. > C is best at systems programming, particularly due to how easy it is to > shove it out of your way if you need to get closer to the hardware, but > C is often MISUSED for writing general purpose and even business programs, > for which it can be spectacularly inappropriate. > C is a basic tool, like a macroassembler. A good library can make programming tasks easier. C is one of the few (PASCAL and Fortran also) that if its on a machine generally we are taking the same language where BASIC often can be variable from tinybasic to all the various flavors that can run some but not always programs from other BASICs. > FORTRAN is well suited for many things, including a lot of different kinds > of scientific programming, but is NOT a good choice for writing compilers. > Maybe F90 might be better, to use INSTEAD OF FORTRAN. > > PASCAL is a good rigorous INTERMEDIATE (not first exposure) teaching > language. It's usable, but not great, for compiler writing. For example, > see the runtime library used in the early Microsoft compilers, > particularly their FORTRAN compiler (where simple benchmarks, such as a > "Sieve of Erastothanes" run slower than interpreted BASIC) > PASCAL to me is like C, for somethings C is too close to the iron where PASCAL is often too far from the iron. So if the task is to talk to iron PASCAL is wrong where C micht not be the best choice to write a database that requires rigorous type checking. > What is SCHEME best suited for? (An answer of "EVERYTHING" will destroy > your credibility.) > > Beats me, never used it, or Ruby or Python to name a few. I've use LUA in embedded 32bit work. Its JALWIOPS.. Just Another Language With Its Peculiar Stuff. Borrowed from the early days: Wygins: What You Get Is No Surpize (early LQ printers and editors). WYSIWYG: What You See Is What You Get (graphic screen editors with, images and fonts. Often missed is WGMA, What Gets the Message Across. > Does anybody write compilers in assembly any more? Or ever will, again? > > I thought C was for that, ducking and running. ;) Seriously C is maybe one step above a good Macroassembler and for PDP11 maybe it is assembler. For some machines I see C used but it fits not at all, PIC and other small chips. I still write code for things like Z80, PIC and 8051 relatives in ASM because even if the rom got bigger, dang it, the tasks did too. The old saw is still true, programs will expand to exceed the available space only now thats typically 8GB and it needs 4 2.8Ghz cores to plow through it. In the end my old NS* Horizon stilll boots faster and prints that letter saying your payment is still overdue. OK, so it's prints to a Laserjet4L and the letter is marked up with Runoff but, the uVAX running current VMS can print that same letter and so can the PC under linux. In the end getting the task done is more than all the fancy cruft and CPUs with a bag on the side. Allison From mcguire at neurotica.com Wed Jan 4 21:19:46 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 22:19:46 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC Message-ID: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> ROFL...installed in hundreds of thousands, if not milliins of machines running all over the world. Nearly all PPC-based Macs, all Suns (including current ones I think) past the Sun4c family, all reasonably modern RS6000s, what else...it was an IEEE standard for a long time, #1275. -Dave Chuck Guzis wrote: >On 4 Jan 2012 at 20:43, Toby Thain wrote: > >> That was implemented as http://www.openfirmware.org/ (found in Suns, >> Macs, etc). >> >> The format is Fcode; it's actually a brilliant idea that of course was >> of more pressing importance when the hardware market was actually >> heterogeneous. > >Finding anything about this is a little difficult--lots of 404s, etc. >when trying to search. > >What was the last product that used Open Firmware? Most of this >stuff seems to be from the mid '90s. > >--Chuck > From mcguire at neurotica.com Wed Jan 4 21:26:31 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 22:26:31 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC Message-ID: <3rfxkjcpe9krusscr0cu860x.1325733991502@email.android.com> I agree that it's a big loss, made even worse by some platforms moving to EFI, which is a joke in comparison. Like so many other inferior technologies, EFI was a solution in search of a problem, and some clueless sod in management somewhere decided to force it into some product lines, so now we have to put up with it when we've worked with much better. -Dave David Riley wrote: >On Jan 4, 2012, at 21:32, "Chuck Guzis" wrote: > >> >> What was the last product that used Open Firmware? Most of this >> stuff seems to be from the mid '90s. > >Probably the last PowerPC Macs, or the OLPC, or a few embedded things... Sadly, OF seems to have fallen out of favor, which I think is a real loss. > >- Dave From derschjo at mail.msu.edu Wed Jan 4 21:24:53 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Wed, 04 Jan 2012 19:24:53 -0800 Subject: Cromemco FDC In-Reply-To: References: Message-ID: <4F051805.8070204@mail.msu.edu> On 1/3/2012 2:32 PM, MikeS wrote: > Date: Sat, 31 Dec 2011 13:24:36 -0800 > From: Josh Dersch > Subject: Re: Looking for 8080/Z80 BASIC > On 12/31/2011 12:15 PM, MikeS wrote: >> >> ----- Reply: >> >>> Just curious: >>> Does your memory configuration support swapping out the RDOS >>> boot/monitor >>> ROM? > >> Not at the moment, I haven't quite worked out if this can be made to >> work >> properly with non-Cromemco memory boards. The 64FDC manual suggests >> "Set[ting] the switches on the RAM board(s) so that memory from 8000h to >> FFFFh is disabled..." which implies that the boards must support some >> way >> of re-enabling the memory via software (for when the FDC's ROM is >> disabled >> via a write to port 40h). > >> I'm wondering if this board isn't really optimal for this setup -- it >> seems very geared toward having a complete Cromemco setup, which I do >> not >> have. > ---------------- > I don't see why it would be a problem; the RDOS boot/monitor ROM lives at > C000 so it should work with 48K RAM even if you don't disable it; Actually, the board occupies everything from $8000 on up, if the manual is to be believed ("The 64FDC appears on the S-100 bus as a 32K memory card..."). Since the ROM is at most 8K in size that's a bit suboptimal :). (And it starts at C000 for apparently arbitrary reasons...) > ISTR that > some folks simply connected the ROM chip select to the Phantom line if > they > had non-bankable memory and wanted to switch it in and out. And of course > the ROM can be completely disabled as well. How does the "phantom" line work? I see references to this in some of my S-100 manuals but I'm not clear how it works (who raises/lowers it, when, etc...) > > It controls up to four total 5.25 and/or 8" drives with write precomp, > has > an RS-232 console port and a pretty good monitor with the usual memory > and > disk manipulation, some basic diagnostics, etc.; not a bad card IMO. And > it's fairly well documented. It is pretty nice, the documentation is fairly decent (though seriously lacking in documentation of error codes as I'm finding while trying to get it to boot a floppy :)). Thanks for the help! - Josh From ajp166 at verizon.net Wed Jan 4 21:27:06 2012 From: ajp166 at verizon.net (allison) Date: Wed, 04 Jan 2012 22:27:06 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120104172214.U48285@shell.lmi.net> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <20120104172214.U48285@shell.lmi.net> Message-ID: <4F05188A.80004@verizon.net> On 01/04/2012 09:02 PM, Fred Cisin wrote: > On Wed, 4 Jan 2012, Dave McGuire wrote: >> This is definitely the case. It's pretty tough to find a programmer >> these days who has any idea of how a computer actually works, even at >> the assembly language level. This is something that many (most?) people >> think is "just fine", and some have even go so far as to fling around >> statements like "why should I learn to be a mechanic just to drive a >> car?" ...thinking that's an appropriate analogy when it's not. Looking >> at the state of software today proves my point beyond any shadow of a doubt. To that I say YES! I was looking at a project someone was doing to do some basic logic based on 4 inputs. One of those, if this line and that line do this, do that, kind of thing. His choice was a PIC18, Not even a PIC16! Talk about hunting ducks with tactical Nukes. My choice was a 2816(2k EEPROM) , 74374(D latch) and 555(osc). State machine trumps CPU for dumb task. Took an hour to explain it, likely more to teach him to program a EEprom. > As a former mechanic, I have to disagree. Slightly. > I use the more basic analogy. Average dude on side of road with flat, Sitting for two hours complaining of the heat on the cell. In the back is a good jack, wrench, spare and simple instructions. Enough said. Some people stand in the rain and complain of getting wet. Allison From jwest at classiccmp.org Wed Jan 4 21:30:48 2012 From: jwest at classiccmp.org (Jay West) Date: Wed, 4 Jan 2012 21:30:48 -0600 Subject: server outage In-Reply-To: <4F05099D.3020405@bitsavers.org> References: <4F05099D.3020405@bitsavers.org> Message-ID: <456A663E-B514-4F7B-9FBA-60F290DC60F5@classiccmp.org> On Jan 4, 2012, at 8:23 PM, Al Kossow wrote: > On 1/4/12 5:48 PM, Jay West wrote: >> My apologies... the classiccmp server crashed, and it took some >> real doing to get it functional again. It was not a hardware issue > > did the new disks / box upgrade ever happen? > Yes, it's been running on those disks for some time. From jecel at merlintec.com Wed Jan 4 22:34:21 2012 From: jecel at merlintec.com (Jecel Assumpcao Jr.) Date: Thu, 5 Jan 2012 01:34:21 -0300 Subject: Astrocade was Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201050258.q052wuLQ010544@floodgap.com> References: <201201050258.q052wuLQ010544@floodgap.com> Message-ID: <201201050336.q053ap5f068136@billy.ezwind.net> Cameron Kaiser wrote: > I have an Astrocade and wonder who's got those Datamaxen -- I'd sure love > one for mine. I used to see ads for those machines in Byte magazine and they always looked like they were meant for rich artists and not normal people like me. http://www.ballyalley.com/documentation/zgrass/zgrass.html http://en.wikipedia.org/wiki/Datamax_UV-1 http://www.youtube.com/watch?v=xiPPVvtX91o > Astro BASIC is a marvel, considering the severe constraints in which it > must operate. http://www.ballyalley.com/basic/basic.html is nice, but not as impressive as Super Basic/Zgrass would have been if it had been released for this machine. -- Jecel From toby at telegraphics.com.au Wed Jan 4 21:39:04 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Wed, 04 Jan 2012 22:39:04 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F049B55.802.1D33028@cclist.sydex.com> References: , <4F047D67.4650.15E4678@cclist.sydex.com>, <4F050042.3090100@telegraphics.com.au> <4F049B55.802.1D33028@cclist.sydex.com> Message-ID: <4F051B58.3010909@telegraphics.com.au> On 04/01/12 9:32 PM, Chuck Guzis wrote: > On 4 Jan 2012 at 20:43, Toby Thain wrote: > >> That was implemented as http://www.openfirmware.org/ (found in Suns, >> Macs, etc). >> >> The format is Fcode; it's actually a brilliant idea that of course was >> of more pressing importance when the hardware market was actually >> heterogeneous. > > Finding anything about this is a little difficult--lots of 404s, etc. > when trying to search. > > What was the last product that used Open Firmware? Most of this > stuff seems to be from the mid '90s. As David says, PowerPC Macs used it until the line was discontinued some time after 2007. --Toby > > --Chuck > > From tdk.knight at gmail.com Wed Jan 4 21:47:23 2012 From: tdk.knight at gmail.com (Adrian Stoness) Date: Wed, 4 Jan 2012 21:47:23 -0600 Subject: server outage In-Reply-To: <456A663E-B514-4F7B-9FBA-60F290DC60F5@classiccmp.org> References: <4F05099D.3020405@bitsavers.org> <456A663E-B514-4F7B-9FBA-60F290DC60F5@classiccmp.org> Message-ID: lol jaywest lol From cisin at xenosoft.com Wed Jan 4 21:53:43 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 19:53:43 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F051508.102@verizon.net> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <4F051508.102@verizon.net> Message-ID: <20120104192936.A48285@shell.lmi.net> On Wed, 4 Jan 2012, allison wrote: > Never used Fortran. Think of it as an old-style version of BASIC. WRITE is like PRINTUSING, with FORMAT being where you specify the print pattern. Any variable whose name starts with the letters I J K L M or N (alphabetic letters between I and N (which is the start of "INteger")) is assumed to be an int, unless you tell it otherwise. Many brands of it require giving a line number to every line. CALL instead of GOSUB, . . . There are so few differences that you can list them! > My first language was Darthmuth BASIC on GE Tymeshare. I've always assumed that Kurtz and Kemeny's intent was just to make getting started in FORTRAN a little easier for beginners. > My pet peve with both was very minimal string handling, I want to answer > "yes|YES" > to a question not "1". But what about "SI", "JA", "DA" . . . Howzbout if ((A[0] & 0x5F) <> 'N') . . . > Not a CS student and never thought that made sense. Right up there with > every > machine shop student making a hammer. And not even a good one! At least making a hammer would give you some of the concepts of forge work. > > "If you want to sort an array larger than 64K, then GET MORE RAM." > > "If it's too slow, then use a faster computer." (also used by OS tech > > support with, "I'm amazed that it can even RUN on such obsolete [1 year > > old], inadequate [Are YOU inadequate?] hardware! Try something more > > current!") > Thats broke. IF you can get a bigger machine, nice. Most cases you use > what > you have as in the real world the purchasing isn't delivering before > your due date. "No matter how large a machine you can find, I can find a set of data that is too big to fit. With properly written algorithms, 64K is PLENTY. "To a man with a hammer, everything looks like a nail." Load it into memory and use a Shell Metzner sort is NOT the right answer for merging two file, finding the largest/smallest element in a large file, finding the first screeful to display in order, nor even restoring order to a fataset with a gew elements out of place. > video scree editor on a H19 terminal (in ansi mode). Youd have thought > I've just demonstrated Nuke Fusion.. Needless to say I never learned the > 029 or the 1180 but I did learn data structures. You could have had OTHER fun with the 029 and 1180! Although I was TEACHING C at the community college, I had to TAKE a C class as a requirement for my MLIS. I used an Atari Portfolio in class, and had to show the "teacher" how to do dynamic memory allocation to work with MARC records in a 64K data space (as opposed to his 256K per record). > in embedded 32bit work. Its JALWIOPS.. Just Another Language With Its > Peculiar Stuff. > Wygins: What You Get Is No Surpize (early LQ printers and editors). > WYSIWYG: What You See Is What You Get (graphic screen editors with, > images and fonts. > Often missed is WGMA, What Gets the Message Across. YAFIYGI: You Asked For It, You Got It (embedded formatting) without a WYSIWYG editor > > Does anybody write compilers in assembly any more? Or ever will, again? > I thought C was for that, ducking and running. ;) > Seriously C is maybe one step above a good Macroassembler and > for PDP11 maybe it is assembler. I was quoting somebody who was too enamored with SCHEME/LISP to appreciate it. From cclist at sydex.com Wed Jan 4 21:55:45 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 19:55:45 -0800 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> References: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> Message-ID: <4F04AEC1.10186.21F0BA7@cclist.sydex.com> On 4 Jan 2012 at 22:19, Dave McGuire wrote: ROFL...installed in hundreds of thousands, if not milliins of > machines running all over the world. Nearly all PPC-based Macs, all > Suns (including current ones I think) past the Sun4c family, all > reasonably modern RS6000s, what else...it was an IEEE standard for a > long time, #1275. My list of IEEE standards says that IEEE 1275-1994 was withdrawn in 1998--5 years. I blinked and missed it, I guess--I was off doing PeeCee stuff and didn't notice. Shame, it was a nice idea. --Chuck From cclist at sydex.com Wed Jan 4 21:59:35 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 19:59:35 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120104172214.U48285@shell.lmi.net> References: , <4F04D19B.2010208@neurotica.com>, <20120104172214.U48285@shell.lmi.net> Message-ID: <4F04AFA7.30384.2229049@cclist.sydex.com> On 4 Jan 2012 at 18:02, Fred Cisin wrote: > People with THAT level of lack of understanding of the mechanical > aspects should not be driving. Why are permitting people to drive > who don't know how to stop a car with a stuck accelerator, or with bad > brakes? The safety of the rest of the populace requires that people > understand more about a vehicle than that. Bob Pease (may he rest in peace) wrote a column on that--and what to do if it happens. --Chuck From cclist at sydex.com Wed Jan 4 22:05:26 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 20:05:26 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05188A.80004@verizon.net> References: , <20120104172214.U48285@shell.lmi.net>, <4F05188A.80004@verizon.net> Message-ID: <4F04B106.10307.227EAD5@cclist.sydex.com> On 4 Jan 2012 at 22:27, allison wrote: > My choice was a 2816(2k EEPROM) , 74374(D latch) and 555(osc). State > machine trumps CPU for dumb task. Took an hour to explain it, likely > more to teach him to program a EEprom. Nowadays, I'm not so sure. An 8-pin MCU is dirt-cheap and can be easily adjusted to change the algorithm. I think it was ED that had an article not too long ago that asked if an MCU or a 555 was better for new projects. The question came down to the need for programming of the MCU, so the 555 still had an edge. My last application that I would have normally solved with a couple of one-shots was solved with an 8-pin PIC--I could design the thing with a few more smarts and self-calibration. So choices aren't always so clear-cut, particularly in today's cheap silicon days. It's already coming down to which is cheaper--an FPGA or an MCU. Design choices, I suspect, will become even more difficult. --Chuck From spectre at floodgap.com Wed Jan 4 22:13:18 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Wed, 4 Jan 2012 20:13:18 -0800 (PST) Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> from Dave McGuire at "Jan 4, 12 10:19:46 pm" Message-ID: <201201050413.q054DIda013148@floodgap.com> > ROFL...installed in hundreds of thousands, if not milliins of machines > running all over the world. You know what, I'm a total moron. OpenFirmware machines are still made: my POWER6 has OpenFirmware, and I'm sure the POWER7s still do. I imagine even the current SPARC Snoracle machines do too. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- What you don't mean, can't hurt you. -- Firesign Theater ------------------- From mcguire at neurotica.com Wed Jan 4 22:17:40 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Wed, 04 Jan 2012 23:17:40 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04AEC1.10186.21F0BA7@cclist.sydex.com> References: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> <4F04AEC1.10186.21F0BA7@cclist.sydex.com> Message-ID: <4F052464.1020803@neurotica.com> On 01/04/2012 10:55 PM, Chuck Guzis wrote: > ROFL...installed in hundreds of thousands, if not milliins of >> machines running all over the world. Nearly all PPC-based Macs, all >> Suns (including current ones I think) past the Sun4c family, all >> reasonably modern RS6000s, what else...it was an IEEE standard for a >> long time, #1275. > > My list of IEEE standards says that IEEE 1275-1994 was withdrawn in > 1998--5 years. I blinked and missed it, I guess--I was off doing > PeeCee stuff and didn't notice. > > Shame, it was a nice idea. Yes, apparently the $$ was a factor. But the fact that the IEEE blood money hadn't been paid didn't have any bearing on its deployment. As I said, I believe even current big Sun machines use it. Certainly the just-previous generation does. (one twenty feet from me) OpenBoot is hardly unknown. It just runs in machines that reboot so infrequently that their admins rarely see it. ;) -Dave -- Dave McGuire New Kensington, PA From wh.sudbrink at verizon.net Wed Jan 4 22:20:15 2012 From: wh.sudbrink at verizon.net (Bill Sudbrink) Date: Wed, 04 Jan 2012 23:20:15 -0500 Subject: Cromemco FDC In-Reply-To: <4F051805.8070204@mail.msu.edu> References: <4F051805.8070204@mail.msu.edu> Message-ID: <075701cccb61$539a0210$face0630$@sudbrink@verizon.net> Josh Dersch wrote: > How does the "phantom" line work? I see references to this in some of > my S-100 manuals but I'm not clear how it works (who raises/lowers it, > when, etc...) It can be a little bit "implementation dependent" but usually there are cards that assert phantom (it is active low, there has to be a pull up on it somewhere (the CPU card I think)) and cards that "honor" phantom. When an address is presented to the bus, any phantom asserting card that whishes to override that address pulls the phantom line low. A phantom honoring card that would normally respond to the address will instead suppress any activity. Note that this system does not prevent multiple phantom asserting or phantom honoring cards from stepping on each other. Careful system configuration is still the responsibility of the builder. In the case of the Cromemco FDC cards, the FDC becomes a phantom asserter. Any RAM card that the system has that resides in the same address space ($C000-$CFFF in the case of a 4FDC) must honor phantom. The CPU presents an address to the bus, the FDC card does an address decode, determines that it is an address it wants to respond to and activates the ROM (the CE (chip enable) pin on the ROM is also active low) asserting PHANTOM at the same time, disabling the RAM card. When you deactivate the RDOS ROM with the poke to the I/O address, then the FDC card will no longer activate the ROM, PHANTOM will no longer be asserted and the RAM card will respond to the address previously occupied by RDOS. I run CDOS in a full 64K configuration this way. Bill S. From jfoust at threedee.com Wed Jan 4 22:33:24 2012 From: jfoust at threedee.com (John Foust) Date: Wed, 04 Jan 2012 22:33:24 -0600 Subject: Astrocade was Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201050336.q053ap5f068136@billy.ezwind.net> References: <201201050258.q052wuLQ010544@floodgap.com> <201201050336.q053ap5f068136@billy.ezwind.net> Message-ID: <201201050435.q054ZUK7068915@billy.ezwind.net> At 10:34 PM 1/4/2012, Jecel Assumpcao Jr. wrote: >I used to see ads for those machines in Byte magazine and they always >looked like they were meant for rich artists and not normal people like me. Yes, that's why we bought Amigas in 1985. - John From cisin at xenosoft.com Wed Jan 4 22:43:53 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 20:43:53 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104192936.A48285@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <4F051508.102@verizon.net> <20120104192936.A48285@shell.lmi.net> Message-ID: <20120104204204.B48285@shell.lmi.net> > > Never used Fortran. > Think of it as an old-style version of BASIC. WRITE is like PRINTUSING, > with FORMAT being where you specify the print pattern. Any variable whose > name starts with the letters I J K L M or N (alphabetic letters between I > and N (which is the start of "INteger")) is assumed to be an int, unless > you tell it otherwise. Many brands of it require giving a line number to > every line. Oops! For FORTRAN, that should read, "like some brands of BASIC, you can skip assigning line numbers to lines that aren't explicitly referenced." From mouse at Rodents-Montreal.ORG Wed Jan 4 22:44:38 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Wed, 4 Jan 2012 23:44:38 -0500 (EST) Subject: teaching programming to beginners In-Reply-To: <4F043A8B.8571.5917AD@cclist.sydex.com> References: , <4F036769.9000908@neurotica.com>, <20120103185755.X16151@shell.lmi.net> <4F043A8B.8571.5917AD@cclist.sydex.com> Message-ID: <201201050444.XAA07417@Sparkle.Rodents-Montreal.ORG> > [T]he number of times that I've seen the = used in C conditionals > instead of == is amazing. One of the relatively few good things I have to say about gcc is that it has a large assortment of warning options that, when set suitably, alleviate some of the worst issues I have with C. To deal with this particular bit of lossage, it's -Wparentheses. > Say what you want about FORTRAN, but the .EQ. conditional test could > never be mistaken for an assignment. True. But I'd much prefer to fix this particular problem by changing the assignment operator rather than changing the equality-comparison operator. Pascal had the right idea here, but I don't care for its choice of thing to use for the assignment operator.... /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From george at rachors.com Wed Jan 4 22:47:59 2012 From: george at rachors.com (George Rachor) Date: Wed, 4 Jan 2012 20:47:59 -0800 Subject: Astrocade was Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201050258.q052wuLQ010544@floodgap.com> References: <201201050258.q052wuLQ010544@floodgap.com> Message-ID: oh man.. I almost bought that machine as it would have been my first home comptuer. George Rachor On Jan 4, 2012, at 6:58 PM, Cameron Kaiser wrote: >> One interesting alternative, which I considered for that project, was >> the 1978 Super Basic for the Bally Astrocade (a Z80 machine, so we are >> back to the start of this thread) which claimed to be self revealing. It >> had GOSUB but also allowed you to define your own named functions (it >> called them macros). These functions used INPUT to read the values >> supplied as arguments at the call site, but if the argument was missing >> it would print the associated prompt text and read the value from the >> keyboard. And all the built in commands worked just like this, so typing >> in a parcial expression would make the computer print out what >> additional data it needed. This interpreter was not sold, so a >> repackaged version of it was developed and sold as the Datamax UV-1 high >> end machines for video artists and the language was renamed to Zgrass. > > I have an Astrocade and wonder who's got those Datamaxen -- I'd sure love > one for mine. > > Astro BASIC is a marvel, considering the severe constraints in which it > must operate. > > -- > ------------------------------------ personal: http://www.cameronkaiser.com/ -- > Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com > -- To be, or not to be -- that always confused me ... -- "In Living Color" ---- > From mouse at Rodents-Montreal.ORG Wed Jan 4 22:58:24 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Wed, 4 Jan 2012 23:58:24 -0500 (EST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104192936.A48285@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> <4F025F92.15804.365E05A@cclist.sydex.com> <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <4F051508.102@verizon.net> <20120104192936.A48285@shell.lmi.net> Message-ID: <201201050458.XAA07680@Sparkle.Rodents-Montreal.ORG> > [In FORTRAN, a]ny variable whose name starts with the letters I J K L > M or N (alphabetic letters between I and N (which is the start of > "INteger")) is assumed to be an int, unless you tell it otherwise. ...and others are assumed to be real. But is the first two letters of "integer" where that came from? I'd always assumed it came from mathematical convention, which uses letters i through n (often modified with subscripts and the like) for things such as summation indices that are most appropriately translated into programming languages as integral types. > Many brands of it require giving a line number to every line. ...?? First time I've ever heard that about any variant of FORTRAN, even the oldest ones. Which one(s)? /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From mouse at Rodents-Montreal.ORG Wed Jan 4 23:04:09 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 00:04:09 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04B106.10307.227EAD5@cclist.sydex.com> References: <20120104172214.U48285@shell.lmi.net> <4F05188A.80004@verizon.net> <4F04B106.10307.227EAD5@cclist.sydex.com> Message-ID: <201201050504.AAA08047@Sparkle.Rodents-Montreal.ORG> > References: , > <20120104172214.U48285 at shell.lmi.net>, <4F05188A.80004 at verizon.net> People, please make sure your user agents don't generate syntax errors like this! (I've done it myself, I know; my UA does not create such errors, but also does not fix them when adding to existing References: headers...I really ought to fix it. I fixed this one manually.) > Nowadays, I'm not so sure. An 8-pin MCU is dirt-cheap and can be > easily adjusted to change the algorithm. I think it was ED that had > an article not too long ago that asked if an MCU or a 555 was better > for new projects. Like most such questions, the answer is a definite "it depends". I recently used a 555 because it had something like 1/4 to 1/10 of the power consumption, which in this case mattered. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From dgriffi at cs.csubak.edu Wed Jan 4 23:05:13 2012 From: dgriffi at cs.csubak.edu (David Griffith) Date: Wed, 4 Jan 2012 21:05:13 -0800 (PST) Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F052464.1020803@neurotica.com> References: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> <4F04AEC1.10186.21F0BA7@cclist.sydex.com> <4F052464.1020803@neurotica.com> Message-ID: On Wed, 4 Jan 2012, Dave McGuire wrote: > On 01/04/2012 10:55 PM, Chuck Guzis wrote: >> ROFL...installed in hundreds of thousands, if not milliins of >>> machines running all over the world. Nearly all PPC-based Macs, all >>> Suns (including current ones I think) past the Sun4c family, all >>> reasonably modern RS6000s, what else...it was an IEEE standard for a >>> long time, #1275. >> >> My list of IEEE standards says that IEEE 1275-1994 was withdrawn in >> 1998--5 years. I blinked and missed it, I guess--I was off doing >> PeeCee stuff and didn't notice. >> >> Shame, it was a nice idea. > > Yes, apparently the $$ was a factor. But the fact that the IEEE blood > money hadn't been paid didn't have any bearing on its deployment. As I said, > I believe even current big Sun machines use it. Certainly the just-previous > generation does. (one twenty feet from me) OpenBoot is hardly unknown. It > just runs in machines that reboot so infrequently that their admins rarely > see it. ;) While [U]EFI is standard on Intel Macs, it still doesn't seem to have much of a foothold. What's going on with Coreboot? -- David Griffith dgriffi at cs.csubak.edu A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? From cclist at sydex.com Wed Jan 4 23:19:25 2012 From: cclist at sydex.com (Chuck Guzis) Date: Wed, 04 Jan 2012 21:19:25 -0800 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <201201050458.XAA07680@Sparkle.Rodents-Montreal.ORG> References: <20120102212036.F61599@shell.lmi.net>, <20120104192936.A48285@shell.lmi.net>, <201201050458.XAA07680@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F04C25D.19483.26BA507@cclist.sydex.com> On 4 Jan 2012 at 23:58, Mouse wrote: > > > Many brands of it require giving a line number to every line. > > ...?? First time I've ever heard that about any variant of FORTRAN, > even the oldest ones. Which one(s)? Never seen it either, unless perhaps some interactive variant that employs line numbers for editing purposes like BASIC. --Chuck . From vrs at msn.com Wed Jan 4 23:19:41 2012 From: vrs at msn.com (Vincent Slyngstad) Date: Wed, 4 Jan 2012 21:19:41 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F031168.27701.104708B@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> Message-ID: > So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for > I/O? Hmm...that sounds like a disturbingly good idea :-). Vince From cisin at xenosoft.com Wed Jan 4 23:30:32 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Wed, 4 Jan 2012 21:30:32 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <201201050458.XAA07680@Sparkle.Rodents-Montreal.ORG> References: <20120102212036.F61599@shell.lmi.net> <4F025F92.15804.365E05A@cclist.sydex.com> <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <4F051508.102@verizon.net> <20120104192936.A48285@shell.lmi.net> <201201050458.XAA07680@Sparkle.Rodents-Montreal.ORG> Message-ID: <20120104212000.K48285@shell.lmi.net> > > [In FORTRAN, a]ny variable whose name starts with the letters I J K L > > M or N (alphabetic letters between I and N (which is the start of > > "INteger")) is assumed to be an int, unless you tell it otherwise. On Wed, 4 Jan 2012, Mouse wrote: > ...and others are assumed to be real. except that it is usually FLOATING POINT. (arguably a subset of RATIONAL numbers, where denominator must be a power of 2) I've never used a computer where "REAL" was a REAL real number. May seem irrelevant until you try to teach what floating point is, and why it could matter, to students who argue, "but the manual says that it is a REAL number!" > But is the first two letters of > "integer" where that came from? I'd always assumed it came from > mathematical convention, which uses letters i through n (often modified > with subscripts and the like) for things such as summation indices that > are most appropriately translated into programming languages as > integral types. which I was once told was to facilitate the mnemonic of INteger to remember that. No idea whether there is any truth to the derivation. The guy who told me that (mid 1960s) died in about 1980. When I started teaching, they gave me his old desk, with lots of interesting old papers. He was a hated curmudgeon. My favorite teacher. > > Many brands of it require giving a line number to every line. > ...?? First time I've ever heard that about any variant of FORTRAN, > even the oldest ones. Which one(s)? Yeah, I blew that! Somehow, I started describing BASIC in terms of FORTRAN, when I meant to be decriving FORTRAN in terms of BASIC. should read, "like some brands of BASIC, line numbers can beleft off of lines that aren't explicitly referenced." From fraveydank at gmail.com Wed Jan 4 23:56:13 2012 From: fraveydank at gmail.com (David Riley) Date: Thu, 5 Jan 2012 00:56:13 -0500 Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04AEC1.10186.21F0BA7@cclist.sydex.com> References: <2yn2myxkiop2h1obg7ffwo0c.1325733586384@email.android.com> <4F04AEC1.10186.21F0BA7@cclist.sydex.com> Message-ID: <5B211133-DAE5-45AF-9790-DBCBEC2FA68E@gmail.com> On Jan 4, 2012, at 10:55 PM, Chuck Guzis wrote: > On 4 Jan 2012 at 22:19, Dave McGuire wrote: > > My list of IEEE standards says that IEEE 1275-1994 was withdrawn in > 1998--5 years. I blinked and missed it, I guess--I was off doing > PeeCee stuff and didn't notice. It was withdrawn as an IEEE standard, but that didn't cause people to stop using it. :-) Apple certainly used it all the way through the end of the G5s. - Dave From paisley at erols.com Wed Jan 4 13:47:46 2012 From: paisley at erols.com (paisley at erols.com) Date: Wed, 4 Jan 2012 14:47:46 -0500 (EST) Subject: Latest find In-Reply-To: References: Message-ID: <201201041947.000429@ms19.lnh.mail.rcn.net> Hi Ed. You wouldn't happen to have a DEC H-960 rack? I need one desperately. I am offering a reward for one! Thanks. Todd. From chrism3667 at yahoo.com Wed Jan 4 17:51:37 2012 From: chrism3667 at yahoo.com (Chris M) Date: Wed, 4 Jan 2012 15:51:37 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120104131430.G41929@shell.lmi.net> References: , , <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <1325631410.21403.YahooMailNeo@web164506.mail.gq1.yahoo.com> <20120104131430.G41929@shell.lmi.net> Message-ID: <1325721097.42035.YahooMailNeo@web164513.mail.gq1.yahoo.com> ________________________________ From: Fred Cisin To: General Discussion: On-Topic and Off-Topic Posts Sent: Wednesday, January 4, 2012 4:16 PM Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC On Tue, 3 Jan 2012, Chris M wrote: > Oh if I had my way, every computer would have BASIC in firmware or on > disk. > You betcha. . . . and to supplement or ameliorate deficiencies in the firmware version, there can be addtions to it on the disk! . . . and, for those missing the firmware copy, put "Gee Whiz BASIC" on the disk! C: I somehow sense that you mean supplement deficiencies of the firmware version w/yet more deficiencies on floppy. ?BASIC, despite it's deficiencies, was almost always *there*. If most every computer back in the 80s had firmware PROLOG, I guess I'd be arguing for it. I know I would have been as happy w/ROM based FORTRAN, somewhat less w/Pascal. The major point being it was *there*, and you could do a lot of newbie hacky type stuff with it. Peter Norton illustrated pc innards and stuff w/BASIC. I won't say BASIC facilitated taking baby steps in assembler as well as debug, but you could do it. If ya really wanted to. Granted I could do rudimentary coding in MASM before I knew what a DEG SEG =&Hnnnn was used fer though. But that didn't make me like it any less, and possibly more. From chrism3667 at yahoo.com Wed Jan 4 18:00:40 2012 From: chrism3667 at yahoo.com (Chris M) Date: Wed, 4 Jan 2012 16:00:40 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104132145.L41929@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: <1325721640.31792.YahooMailNeo@web164502.mail.gq1.yahoo.com> ________________________________ Does anybody write compilers in assembly any more?? Or ever will, again? ?why bother? Optimization in most F90 implementations take care of the hard work for you ! *ducks for cover* From chrism3667 at yahoo.com Wed Jan 4 18:06:58 2012 From: chrism3667 at yahoo.com (Chris M) Date: Wed, 4 Jan 2012 16:06:58 -0800 (PST) Subject: AT & T 7300 docs (update) Message-ID: <1325722018.49183.YahooMailNeo@web164507.mail.gq1.yahoo.com> I'll have to rebox them as smaller parcels. I can't lift anything near that right now (or anytime soon). If you're still interested (those that previously responded), let me know. Media rate from 08005. Figure 2-3 boxes @ 25 or 15 lbs. each. If that suits you, they're yours. It'll probably take me another week or a bit more to get all that done though. I'll need a check for shippage. If you send me more (owing to my possibly exuberant estimates), I'll refund the difference, so no need to ruffle your punch cards. Let me know. From chrism3667 at yahoo.com Wed Jan 4 18:36:14 2012 From: chrism3667 at yahoo.com (Chris M) Date: Wed, 4 Jan 2012 16:36:14 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04D19B.2010208@neurotica.com> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> Message-ID: <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> ? This is definitely the case.? It's pretty tough to find a programmer these days who has any idea of how a computer actually works, even at the assembly language level.? This is something that many (most?) people think is "just fine", and some have even go so far as to fling around statements like "why should I learn to be a mechanic just to drive a car?" ...thinking that's an appropriate analogy when it's not.? Looking at the state of software today proves my point beyond any shadow of a doubt. ? ? ? ? ? -Dave C: I hate to tell you but was always the case. Unless the programmer was working in al/ml, he didn't nor needed to know much about the innards and what was going on under the hood. Granted there was a time when you _needed_ to be something of a mechanic to get behind the wheel. But isn't that one of the natural goals of technology, to make things easier to use, and be able to devote time to other things? How many housewives (or their husbands!) know how to fix a washing machine? Some people get to poking around, and that's a good thing generally. When you advance to poking around inside your computer (w/1s and 0s or a scope/logic probe) all the better. But what does programming w/objects have to do w/interrupt vector tables??? I thought that we want to one day communicate w/our computers solely by voice. From chrism3667 at yahoo.com Wed Jan 4 18:53:05 2012 From: chrism3667 at yahoo.com (Chris M) Date: Wed, 4 Jan 2012 16:53:05 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04E1F7.30704@neurotica.com> References: , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au> <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04E1F7.30704@neurotica.com> Message-ID: <1325724785.28698.YahooMailNeo@web164516.mail.gq1.yahoo.com> ________________________________ From: Dave McGuire To: On-Topic and Off-Topic Posts Sent: Wednesday, January 4, 2012 6:34 PM Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC On 01/03/2012 06:32 PM, Chris M wrote: >> If you've been exposed to machine langauge before an HLL, I >> suspect that you gain a deeper understanding of how langauges >> work. > > Omgosh why before? Why not after? How many, but the truly > deranged/depraved, learned machine language (machine language!) as > their first language??? I mean no offense to those who learned ml on > a keypad. Oh who am I kidding. I could care less if I pissed them > off!. But I learned assembler on a k/b! The real man's way! > > Are you willing to declare that every compiler writer getting a check > today learned ml first Chuckers? Something tells me the vast majority > probably cut their teeth on BASIC, Pascal, and FORTRAN. But what do I > know. ? I had to read this about three times before I realized that by "ml" you meant "machine language", not the language "ML". ?C: Well read it again anyway. Chuck makes the assumption that all language "work". You don't need no stinking ml to tell you that. You might need ml to tell you things about the ones that don't work! Psyyyche... ?Am I a pain? I've been on this list for 6 or 7 years, and I yet to hear from anyone regarding whether it's painful to read my posts. Or am I just forgetful...too? From chrism3667 at yahoo.com Wed Jan 4 19:05:14 2012 From: chrism3667 at yahoo.com (Chris M) Date: Wed, 4 Jan 2012 17:05:14 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: <4F04E09D.9050803@neurotica.com> References: , , <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <4F036769.9000908@neurotica.com> <20120103185755.X16151@shell.lmi.net> <4F04E09D.9050803@neurotica.com> Message-ID: <1325725514.48122.YahooMailNeo@web164506.mail.gq1.yahoo.com> On 01/03/2012 10:01 PM, Fred Cisin wrote: > Whilst attempting to explain the difference between equality and > assignment, I wrote: > N = 1 > N = N + 1 > I told the class, "That is a proof by INDUCTIVE LOGIC that all numbers are > the same.? That would bring about total destruction of the universe. > Therefore, never let any mathematician see it!? Oh, wait.? Are there any > mathematicians in this class?" > > A few, very few, got it. ? ROFL!! C: Yeah go ahead and laugh. But by reading some of these threads, you'd get the impression that the universe is ALREADY hopelessly fouled by the inception of BASIC roms. So just start looking for a different corner of the multiverse to dwell in. I'd argue that we're far better off then in other regions, because in THOSE most early home computers had Simula-67 (the multi-headed Beast itself) in rom (and still do). Imagine, teaching objects to 4th graders. My word! If that doesn't cause reality to descend into utter chaos, I don't know what will.. From michael.99.thompson at gmail.com Wed Jan 4 19:12:39 2012 From: michael.99.thompson at gmail.com (Michael Thompson) Date: Wed, 4 Jan 2012 20:12:39 -0500 Subject: cctech Digest, Vol 101, Issue 8 In-Reply-To: References: Message-ID: > From:?Ethan Dicks > Date:?Wed, 4 Jan 2012 16:28:13 -0500 > Subject:?Re: The PDP-8/L at the RICM is running! > On Wed, Jan 4, 2012 at 3:14 AM, Holm Tiffe wrote: > Don't know if it's similar to what you've seen or not, but from my > experience testing M-series modules for the -8/L and -8/i, I've found > more dead 7474s and 7440s than any other type of chip. That is what we found from our recent PDP-8/L revival. We also found quite a few failed 7400, 7410, 7450/7460, I bought a HP 10529A Logic Comparator that sounds like the chip test device that you made. -- Michael Thompson From vintagecoder at aol.com Thu Jan 5 01:20:10 2012 From: vintagecoder at aol.com (vintagecoder at aol.com) Date: Thu, 5 Jan 2012 07:20:10 +0000 Subject: Right toolf for the job In-Reply-To: <20120104132145.L41929@shell.lmi.net> Message-ID: <201201050720.q057KEIQ071156@billy.ezwind.net> >From cisin at xenosoft.com Thu Jan 5 07:08:31 2012 > On Wed, 4 Jan 2012, Vintage Coder wrote: > > I actually thought of trying to write a compiler in modern FORTRAN since > > I seem to be too old to learn anything new, but the F90 and later > > language is so wierd and ugly (good grief, lower case and indentation?! > > Sacrilege!) I decided against it. > > F90 and even Fortran77 are nice languages for some people, > BUT THEY AIN'T FORTRAN ! Well I thought I was the only one. People born in the last 20 or 30 years laugh at me when I write FORTRAN, they tell me it's not "FORTRAN" it's "Fortran" when I know damn well it's an acronym! And they say unindented code in all caps is unreadable which is just the opposite of my experience and I don't know how they can explain how we were able to read and write it back in the day and now it's unacceptable but I realize my opinions are usually if not always in the minority and nobody listens to me anyway, so... > > I thought I had read one of the early IBM FORTRAN compilers was written > > in FORTRAN but the G & H compilers appear to be in assembler like all > > the other OS/360 stuff. > > It used to be that EVERY CS grad student wrote a new language, as a rite > of passage. I don't know whether that was required by the university, or > just social pressure. One of the "requirements" was that the final > version of it must have been written in it and compiled BY IT. > (Obviously earlier versions must have used assemblers and/or compilers of > other languages) While it seems like a nice "proof" of the language, it > very clearly shows a lack of understanding that if the new language was > not intended for, and designed as, a compiler authoring tool, that that > would certainly NOT be the best choice for creation of the final product. Agreed. I only considered it to get myself out of somewhat of a design slump. And I wound up not doing it anyway. Still slumpin' > Of course, many schools (UC Berkeley) DON'T CARE about that, and teach > that if the only problems are speed and size performance, that the > correct solution is throw hardware at them! "If you want to sort an array > larger than 64K, then GET MORE RAM." "If it's too slow, then use a faster > computer." (also used by OS tech support with, "I'm amazed that it can > even RUN on such obsolete [1 year old], inadequate [Are YOU inadequate?] > hardware! Try something more current!") Fortunately in the business I am in that hasn't been much of an option or an issue although our customers frequently consider it an option. I hope there is no relation (they also write code) but I don't know. > C is pretty good for writing compilers, and it takes little more than > "The dragon book" (Aho & Ullman) plus a LOT of time and effort to produce > one. Emphasis on a LOT of time, I looked at the book and gave up! Blinded me, with SCIENCE! > C is best at systems programming, particularly due to how easy it is to > shove it out of your way if you need to get closer to the hardware, but C > is often MISUSED for writing general purpose and even business programs, > for which it can be spectacularly inappropriate. Toby and I and others had this discussion recently. You have stated what seems to have been our consensus. > FORTRAN is well suited for many things, including a lot of different > kinds of scientific programming, but is NOT a good choice for writing > compilers. Maybe F90 might be better, to use INSTEAD OF FORTRAN. ;-) > PASCAL is a good rigorous INTERMEDIATE (not first exposure) teaching > language. It's usable, but not great, for compiler writing. For > example, see the runtime library used in the early Microsoft compilers, > particularly their FORTRAN compiler (where simple benchmarks, such as a > "Sieve of Erastothanes" run slower than interpreted BASIC) PASCAL as delivered was pretty unusable. I'm not a UNIX guy, not by a long shot and none of the UNIX heros show up on my radar, but I must say Kernighan's (I think?) elegant piece on what's wrong with PASCAL nailed the coffin shut. Of course many later implementations solved those problems and there are certainly usable dialects and have been for a long time. > What is SCHEME best suited for? (An answer of "EVERYTHING" will destroy > your credibility.) I have no idea but I'm sure you will get some answers ;-) > Does anybody write compilers in assembly any more? Or ever will, again? Yeah as far as I know, IBM always has and still does. I am not sure about the XL series though. -- +------------------------------------------------------------------------+ | Vintage Coder America Online ivagntrpbqre at nby.pbz | | | | Collecting: DOS assemblers, compilers, & books (Z80, M68K, 6502, 808X) | | Software & doc for IBM S/360 through OS/390 | | | | Wants: Ada 95 compilers for MVS/ESA & Solaris SPARC | | PL/I X Optimizing Compiler for MVS, APL/SV for MVS | | Stony Brook Modula-2 for Solaris SPARC | |---------------------------------------+--------------------------------| | Powered by Slackware 64 Intel and Solaris 10 SPARC | |=======================================+================================| | PGP Key 4096R 0x1CB84BEFC73ACB32 Encrypted email preferred | | PGP Fingerprint 5C1C 3AEB A7B2 E6F7 34A0 2870 1CB8 4BEF C73A CB32 | +------------------------------------------------------------------------+ From vintagecoder at aol.com Thu Jan 5 01:22:47 2012 From: vintagecoder at aol.com (vintagecoder at aol.com) Date: Thu, 5 Jan 2012 07:22:47 +0000 Subject: Right toolf for the job (Was: teaching programming In-Reply-To: <4F047BD8.17254.1582CB4@cclist.sydex.com> Message-ID: <201201050722.q057Mpo2016080@ims-m12.mx.aol.com> > On 4 Jan 2012 at 13:51, Fred Cisin wrote: > > > > F90 and even Fortran77 are nice languages for some people, > > BUT THEY AIN'T FORTRAN ! > I think the die was cast from the moment the committee decided that the > purpose of a standards committe was to invent language rather than to > certify certain current practices. That is valuable info I think is missing from common knowledge. Thanks for posting it. > Even today, I can't stand to look at Fortran 90 or anything later. I can > manage FORTRAN 77 because it tolerates FORTRAN 66 syntax. I thought I was alone in that. > They took my simple homespun darling and turned her into a harlot. Unfortunately all too apt. > > --Chuck From vintagecoder at aol.com Thu Jan 5 01:24:28 2012 From: vintagecoder at aol.com (vintagecoder at aol.com) Date: Thu, 5 Jan 2012 07:24:28 +0000 Subject: server outage In-Reply-To: Message-ID: <201201050724.q057OX9m000624@ims-d12.mx.aol.com> >From jwest at classiccmp.org Thu Jan 5 07:07:46 2012 > My apologies... the classiccmp server crashed, and it took some real > doing to get it functional again. It was not a hardware issue, it was an > issue with both Xen and FreeNAS (mostly Xen as to the delay in getting it > back up). I'm embarrassed to admit, but I finally had to open up a > per-incident support case with Citrix to get the thing resolved. No apologies necessary, thank you very much for maintaining the list. Glad you got it going again. Happy New Year to you and everyone on the list. From holm at freibergnet.de Thu Jan 5 03:21:46 2012 From: holm at freibergnet.de (Holm Tiffe) Date: Thu, 5 Jan 2012 10:21:46 +0100 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: <20120104081423.GA50979@pegasus.freiberg-net.de> Message-ID: <20120105092146.GB57847@pegasus.freiberg-net.de> Adrian Stoness wrote: [..] I have an Fluke Trendar 200 IC Testclip where you can place a known good chip on to a test socket and place the probe with this chip over the pins of a chip under test. The probe than reports differences in the behavior from the tested chip and the test normal with LEDs. I don't used this device jet, since most of the boards I have to repair have some protective laquer all over the board so this probe would have problems to get properly contacted. http://www.ebay.ch/itm/Fluke-Trendar-200-IC-Test-Clip-200-01-Case-/270781765024 Otherwise it would be ideal to find such bugs. For my problem Chips, that are mostly russian 7400s and 7408s but tohers too. Its seems that those chips in plativ mold have problems if they where stored for laon time in moisture environment and get repaowered after years. They are functioning at first but several days later they fail. Maybe baking the entire board in an oven before repaowering the chips would help? Kind Regards, Holm -- Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 From holm at freibergnet.de Thu Jan 5 03:41:46 2012 From: holm at freibergnet.de (Holm Tiffe) Date: Thu, 5 Jan 2012 10:41:46 +0100 Subject: The PDP-8/L at the RICM is running! In-Reply-To: <20120105092146.GB57847@pegasus.freiberg-net.de> References: <20120104081423.GA50979@pegasus.freiberg-net.de> <20120105092146.GB57847@pegasus.freiberg-net.de> Message-ID: <20120105094146.GA58400@pegasus.freiberg-net.de> Holm Tiffe wrote: > Adrian Stoness wrote: > [..] > > I have an Fluke Trendar 200 IC Testclip where you can place a known good > chip on to a test socket and place the probe with this chip over the pins > of a chip under test. The probe than reports differences in the behavior > from the tested chip and the test normal with LEDs. > I don't used this device jet, since most of the boards I have to repair > have some protective laquer all over the board so this probe would have > problems to get properly contacted. > > http://www.ebay.ch/itm/Fluke-Trendar-200-IC-Test-Clip-200-01-Case-/270781765024 > > Otherwise it would be ideal to find such bugs. > > For my problem Chips, that are mostly russian 7400s and 7408s but tohers > too. Its seems that those chips in plativ mold have problems if they where > stored for laon time in moisture environment and get repaowered after > years. They are functioning at first but several days later they fail. > Maybe baking the entire board in an oven before repaowering the chips would > help? > > > Kind Regards, > > Holm > -- > Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, > Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 > www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 Attention: Don't buy the tester from the link above. There are some special IC sockets missing (looking like wire wrap ic sockets) that need to be configured for the IC type under test. The tester distinguishes between inputs and outputs with long and short leads. The manufacturer forbids the use of standard sockets for this purpose since the connectors will be get damadged this way. Try to find a unit with spare sockets. Regards, Holm -- Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 From tdk.knight at gmail.com Thu Jan 5 03:48:21 2012 From: tdk.knight at gmail.com (Adrian Stoness) Date: Thu, 5 Jan 2012 03:48:21 -0600 Subject: The PDP-8/L at the RICM is running! In-Reply-To: <20120105094146.GA58400@pegasus.freiberg-net.de> References: <20120104081423.GA50979@pegasus.freiberg-net.de> <20120105092146.GB57847@pegasus.freiberg-net.de> <20120105094146.GA58400@pegasus.freiberg-net.de> Message-ID: i have the hp kit my self i just was curious if it was good tool for this sorta stuff? On Thu, Jan 5, 2012 at 3:41 AM, Holm Tiffe wrote: > Holm Tiffe wrote: > > > Adrian Stoness wrote: > > [..] > > > > I have an Fluke Trendar 200 IC Testclip where you can place a known good > > chip on to a test socket and place the probe with this chip over the pins > > of a chip under test. The probe than reports differences in the behavior > > from the tested chip and the test normal with LEDs. > > I don't used this device jet, since most of the boards I have to repair > > have some protective laquer all over the board so this probe would have > > problems to get properly contacted. > > > > > http://www.ebay.ch/itm/Fluke-Trendar-200-IC-Test-Clip-200-01-Case-/270781765024 > > > > Otherwise it would be ideal to find such bugs. > > > > For my problem Chips, that are mostly russian 7400s and 7408s but tohers > > too. Its seems that those chips in plativ mold have problems if they > where > > stored for laon time in moisture environment and get repaowered after > > years. They are functioning at first but several days later they fail. > > Maybe baking the entire board in an oven before repaowering the chips > would > > help? > > > > > > Kind Regards, > > > > Holm > > -- > > Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, > > Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 > > www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 > > > Attention: Don't buy the tester from the link above. There are some special > IC sockets missing (looking like wire wrap ic sockets) that need to be > configured for the IC type under test. The tester distinguishes between > inputs and outputs with long and short leads. The manufacturer forbids the > use of standard sockets for this purpose since the connectors will be > get damadged this way. Try to find a unit with spare sockets. > > > Regards, > > Holm > > -- > Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, > Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 > www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 > > From quapla at xs4all.nl Thu Jan 5 04:22:28 2012 From: quapla at xs4all.nl (E. Groenenberg) Date: Thu, 5 Jan 2012 11:22:28 +0100 Subject: Latest find In-Reply-To: References: Message-ID: <5e19ce57c52b4df3e966aecf9a0ec742.squirrel@webmail.xs4all.nl> Several people did ask for pictures of the TU58 emulator/filer and of other parts of the find. Some pics can now be found at http://www.groenenberg.net/download/pic/ Ed > > During a cleanup of stuff at our company, some interesting items popped up > and which I could take home. > > A device which emulates 2 tu-58's but then as 2 3.5" floppies, > 2 complete 11/34a board sets + operator console interface & 64KW mem > one complete 11/24 (cpu. KT24, 128Kw mem) > a test unit for SMD drives (for CDC & RM02/3/5), > a spares kit for an LA-120/Decwriter III > a box full with all kinds of DEC loop-back test connectors > a crt testkit with 8 different tube connection boards. > > Ed > > -- > Dit is een HTML vrije email / This is an HTML free email. > > -- Dit is een HTML vrije email / This is an HTML free email. From jfoust at threedee.com Thu Jan 5 06:27:46 2012 From: jfoust at threedee.com (John Foust) Date: Thu, 05 Jan 2012 06:27:46 -0600 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com > References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> Message-ID: <201201051235.q05CZV7G076769@billy.ezwind.net> At 06:36 PM 1/4/2012, Chris M wrote: > This is definitely the case. It's pretty tough to find a programmer these days who has any idea of how a computer actually works, even at the assembly language level. Not hard at all. Just filter for the ones over 40 who expect a decent salary. Maybe they've already moved to upper management. - John From als at thangorodrim.de Thu Jan 5 07:05:45 2012 From: als at thangorodrim.de (Alexander Schreiber) Date: Thu, 5 Jan 2012 14:05:45 +0100 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120104192936.A48285@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> <4F025F92.15804.365E05A@cclist.sydex.com> <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <4F051508.102@verizon.net> <20120104192936.A48285@shell.lmi.net> Message-ID: <20120105130545.GA30511@thangorodrim.de> On Wed, Jan 04, 2012 at 07:53:43PM -0800, Fred Cisin wrote: > On Wed, 4 Jan 2012, allison wrote: > > Never used Fortran. > > Think of it as an old-style version of BASIC. WRITE is like PRINTUSING, > with FORMAT being where you specify the print pattern. Any variable whose > name starts with the letters I J K L M or N (alphabetic letters between I > and N (which is the start of "INteger")) is assumed to be an int, unless > you tell it otherwise. Many brands of it require giving a line number to > every line. CALL instead of GOSUB, . . . There are so few differences > that you can list them! > > > My first language was Darthmuth BASIC on GE Tymeshare. > > I've always assumed that Kurtz and Kemeny's intent was just to make > getting started in FORTRAN a little easier for beginners. > > > > My pet peve with both was very minimal string handling, I want to answer > > "yes|YES" > > to a question not "1". > > But what about "SI", "JA", "DA" . . . > > Howzbout > if ((A[0] & 0x5F) <> 'N') . . . > > > > Not a CS student and never thought that made sense. Right up there with > > every > > machine shop student making a hammer. And not even a good one! > > At least making a hammer would give you some of the concepts of forge > work. Not necessarily - you could just mill it out of a solid block of steel. There is always at least one wrong way to do it ... ;-) > > > > "If you want to sort an array larger than 64K, then GET MORE RAM." > > > "If it's too slow, then use a faster computer." (also used by OS tech > > > support with, "I'm amazed that it can even RUN on such obsolete [1 year > > > old], inadequate [Are YOU inadequate?] hardware! Try something more > > > current!") > > Thats broke. IF you can get a bigger machine, nice. Most cases you use > > what > > you have as in the real world the purchasing isn't delivering before > > your due date. > > "No matter how large a machine you can find, I can find a set of data that > is too big to fit. With properly written algorithms, 64K is PLENTY. Of course. The problem is that an apparently increasing number of programmers test their code with the smallest possible dataset, notice that it works and call it a day. When I tested graphical MUAs a few years ago, they would all work fine with a few mailboxes with a few small mails, but most would break horribly when dealing with mailboxes containing a few 10k emails. Whereas mutt deals with those just fine (and speedily). > "To a man with a hammer, everything looks like a nail." Or a thumb ;-) > Load it into memory and use a Shell Metzner sort is NOT the right answer > for merging two file, finding the largest/smallest element in a large > file, finding the first screeful to display in order, nor even restoring > order to a fataset with a gew elements out of > place. And after all, tape sorting algorithms are already invented. Kind regards, Alex. -- "Opportunity is missed by most people because it is dressed in overalls and looks like work." -- Thomas A. Edison From sander.reiche at gmail.com Thu Jan 5 07:24:27 2012 From: sander.reiche at gmail.com (Sander Reiche) Date: Thu, 5 Jan 2012 14:24:27 +0100 Subject: Latest find In-Reply-To: <5e19ce57c52b4df3e966aecf9a0ec742.squirrel@webmail.xs4all.nl> References: <5e19ce57c52b4df3e966aecf9a0ec742.squirrel@webmail.xs4all.nl> Message-ID: Ed, I'm also interested in the DigiFiler and I was wondering if the 11/24 was the 'small chassis' version, like in the linked picture, as I'm not seeing any photographs of the machine on the below mentioned URL? http://hampage.hu/pdp-11/kepek/11-24c_2.jpg With kind regards, Sander On Thu, Jan 5, 2012 at 11:22 AM, E. Groenenberg wrote: > > Several people did ask for pictures of the TU58 emulator/filer and > of other parts of the find. > > Some pics can now be found at http://www.groenenberg.net/download/pic/ > > Ed > >> >> During a cleanup of stuff at our company, some interesting items popped up >> and which I could take home. >> >> A device which emulates 2 tu-58's but then as 2 3.5" floppies, >> 2 complete 11/34a board sets + operator console interface & 64KW mem >> one complete 11/24 (cpu. KT24, 128Kw mem) >> a test unit for SMD drives (for CDC & RM02/3/5), >> a spares kit for an LA-120/Decwriter III >> a box full with all kinds of DEC loop-back test connectors >> a crt testkit with 8 different tube connection boards. >> >> Ed >> >> -- >> Dit is een HTML vrije email / This is an HTML free email. >> >> > > > -- > Dit is een HTML vrije email / This is an HTML free email. > -- ~ UNIX is basically a simple operating system, ? ? ? ? ? ?but you have to be a genius to understand its simplicity. ~ dmr From james at attfield.co.uk Thu Jan 5 07:38:16 2012 From: james at attfield.co.uk (James Attfield) Date: Thu, 5 Jan 2012 13:38:16 -0000 Subject: Cromemco FDC In-Reply-To: References: Message-ID: <000c01cccbaf$47a45890$d6ed09b0$@co.uk> Date: Sat, 31 Dec 2011 10:02:11 -0800 (PST) From: Jerry Wright Subject: Re: Looking for 8080/Z80 BASIC >> Josh, I would love to get your 64FDC for my Cromemco 68020 machine that >> is missing one. I have 16 FDC and other Croemeco Z-80 Boards to go along >> with it. > Which model 68020 Cromemco is it? I might be able to find a spare 64FDC... > mike Long shot, but if you have another or Josh doesn't take it I'd love to give it a home. I have a complete Cromemco board set here in an IMS-5000 chassis and a pair of TM848's but have consistently failed to get the 16-FDC to talk to them reliably. I'd dearly love to get a 64-FDC for it to go with the ZPU and/or an STD hard disk controller (or an IMI drive to go with the WDI-II controller I have). Anyone? FYI the ROM on the 'FDC flips in and out the entire top 32K bank. During boot RDOS ensures that the top 32K flips in and RDOS then flips out giving a clean 64K map. All done through port 40H. Jim From fraveydank at gmail.com Thu Jan 5 08:12:44 2012 From: fraveydank at gmail.com (David Riley) Date: Thu, 5 Jan 2012 09:12:44 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201051235.q05CZV7G076769@billy.ezwind.net> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> <201201051235.q05CZV7G076769@billy.ezwind.net> Message-ID: <36377BB4-D7DC-47FF-AB5B-C8A97F4F3E4D@gmail.com> On Jan 5, 2012, at 7:27 AM, John Foust wrote: > At 06:36 PM 1/4/2012, Chris M wrote: >> This is definitely the case. It's pretty tough to find a programmer these days who has any idea of how a computer actually works, even at the assembly language level. > > Not hard at all. Just filter for the ones over 40 who expect a > decent salary. Maybe they've already moved to upper management. Well, they don't *have* to be over 40. :-) It's not the worst metric to use, but it would certainly count me out. Good thing I already have a job! I think finding people who list "various assembly languages" instead of a few specific ones on their resumes might be a better one. People who know how computers really work know that Assembly is really one language with a bunch of different alphabets (modulo some really odd architectures, like the Forth machines). :-) - Dave From jonas at otter.se Thu Jan 5 03:39:14 2012 From: jonas at otter.se (jonas at otter.se) Date: Thu, 05 Jan 2012 10:39:14 +0100 Subject: Right toolf for the job (Was: teaching programming to kids) In-Reply-To: References: Message-ID: >> > Never used Fortran. >> Think of it as an old-style version of BASIC. WRITE is like >> PRINTUSING, >> with FORMAT being where you specify the print pattern. Any variable >> whose >> name starts with the letters I J K L M or N (alphabetic letters >> between I >> and N (which is the start of "INteger")) is assumed to be an int, >> unless >> you tell it otherwise. Many brands of it require giving a line >> number to >> every line. > > Oops! > For FORTRAN, that should read, "like some brands of BASIC, you can > skip > assigning line numbers to lines that aren't explicitly referenced." > Strictly speaking, "line numbers" in FORTRAN are actually labels. They do not have anything to do with line numbering and IIRC they do not have to appear in an ascending sequence either, they can be assigned randomly and with arbitrary gaps in the sequence. Assigning labels ("line numbers") to not explicitly referenced lines in FORTRAN would be like giving every line a label in assembler, completely meaningless clutter. /Jonas From andyh at andyh-rayleigh.freeserve.co.uk Thu Jan 5 04:30:12 2012 From: andyh at andyh-rayleigh.freeserve.co.uk (Andy Holt) Date: Thu, 5 Jan 2012 10:30:12 -0000 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <5C45C4BFBB33409DBF052A4935AA82A8@ANTONIOPC> References: <5C45C4BFBB33409DBF052A4935AA82A8@ANTONIOPC> Message-ID: >>>> Dijkstra was more interested in whether you could prove that your program behaved according to its specification. Whether your program worked every time you ran it was less important than whether it could conceivably fail. Don't forget that you couldn't meet his definition of programmer without being a mathematician. It's apples and oranges, I think. <<<< At one of his conference lectures on this subject I asked him: (this is undoubtedly a tidied-up form ... it must have been more than 30 years ago) OK, so you prove that your program matches the specification. Haven't you just pushed the problem back onto the correctness of the specification? (a very cautious agreement) But then how do you prove the specification to be accurate to the real-world problem and what do you do when it changes? You don't accept the specification unless it is accurate and if it changes you start again. (and a quick move on to someone else's question) - - - To be fair, he was an interesting lecturer and when you read some of his earlier works you can see why his earlier experience using a much less formal style encouraged him towards his later views. "* You are not expected to understand this." Unix V6 source " you are advised in your own best interests not to modify the following code without contacting ..." George 1/2 source (has someone got a copy of this so I can remind myself of the details?) From mouse at Rodents-Montreal.ORG Thu Jan 5 09:00:36 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 10:00:36 -0500 (EST) Subject: Right toolf for the job In-Reply-To: <201201050720.q057KEIQ071156@billy.ezwind.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> Message-ID: <201201051500.KAA16228@Sparkle.Rodents-Montreal.ORG> > they tell me it's not "FORTRAN" it's "Fortran" when I know damn well > it's an acronym! Not in the usual sense of `acronym', though. But... > PASCAL as delivered was pretty unusable. ...if you're going to draw the distinction between "Fortran" and "FORTRAN", you might at least get Pascal's name right. :) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From wh.sudbrink at verizon.net Thu Jan 5 09:10:08 2012 From: wh.sudbrink at verizon.net (Bill Sudbrink) Date: Thu, 05 Jan 2012 10:10:08 -0500 Subject: Cromemco FDC In-Reply-To: <000c01cccbaf$47a45890$d6ed09b0$@co.uk> References: <000c01cccbaf$47a45890$d6ed09b0$@co.uk> Message-ID: <07ab01cccbbc$1d4e6970$57eb3c50$@sudbrink@verizon.net> James Attfield wrote: > > FYI the ROM on the 'FDC flips in and out the entire top 32K bank. I just double checked the schematics and this is not correct. The 16FDC feeds address lines 15-12 through a 74ls30 to do a specific decode for a 4K address range, normally set to $C000-$CFFF. If the high four address bits do not match, the card will not respond. Bill S. From lproven at gmail.com Thu Jan 5 09:15:32 2012 From: lproven at gmail.com (Liam Proven) Date: Thu, 5 Jan 2012 15:15:32 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F02810B.9090504@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> Message-ID: On 3 January 2012 04:16, Toby Thain wrote: > On 02/01/12 10:00 PM, Mouse wrote: >>>> >>>> I consider BASIC to be an excellent beginner's introduction to "what >>>> is a program?", etc., so long as they are exposed to other languages >>>> immediately after grasping the basic principles. >>> >>> Well, there is the "small" problem that BASIC syntax, data types, and >>> control structures relate poorly to modern languages and even less to >>> powerful abstractions. >> >> >> I'm not convinced that's a problem. >> >>> What's wrong with Scheme? ?Or at worst, Python? >> >> >> The same thing that was wrong with the New Math: you don't dump the >> full load of theory on a beginner, not unless you want a very confused >> beginner, or you have the incredible luck to get a Ramanujan or Knuth >> as a student (and if so, honestly, the best thing anyone can do is to >> get the hell out of the way). > > > Scheme has no more theoretical load than BASIC. So in the same breath that you say that BASIC's syntax is sufficiently unlike the syntax of modern languages to render it unsuitable for teaching, you feel that the non-algebraic syntax of Scheme is not a hindrance to teaching beginners? You'd take someone who did not know that "25% of ?8000" meant ( (8000/100)*25 ) i.e. ?8000 ? 100 = ?80 ?80 ? 25 = ?2000 ... and you'd present them with (+ 1 2 3 4) evaluating to 10 As equivalent to a = 1 + 2 + 3 + 4 ... or (defun factorial (n) (if (<= n 1) 1 (* n (factorial (- n 1))))) If so, you are on crack or something, because I cannot believe that a smart, sane person with experience of children and random members of the public would believe this, I really can't. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From ethan.dicks at gmail.com Thu Jan 5 09:25:26 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 10:25:26 -0500 Subject: Right toolf for the job In-Reply-To: <201201051500.KAA16228@Sparkle.Rodents-Montreal.ORG> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <201201051500.KAA16228@Sparkle.Rodents-Montreal.ORG> Message-ID: On Thu, Jan 5, 2012 at 10:00 AM, Mouse wrote: >> they tell me it's not "FORTRAN" it's "Fortran" when I know damn well >> it's an acronym! > > Not in the usual sense of `acronym', though. ?But... It's a portmanteau of Formula and Translator, AFAIK. -ethan From vintagecoder at aol.com Thu Jan 5 09:51:31 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Thu, 5 Jan 2012 15:51:31 +0000 Subject: Right toolf for the job Message-ID: <77169650-1325778683-cardhu_decombobulator_blackberry.rim.net-1690640727-@b15.c1.bise3.blackberry> If you look at the November, 1972 paper Wirth put out called "The Programming Language Pascal (Revised Report) you will find both "Pascal" and "PASCAL" in the text. The canonical "PASCAL User Manual and Report" (Springer-Verlag, 1974) uses all caps in the title and then in a few places such as "PASCAL 6000". Just because it's a proper name doesn't mean it's incorrect to capitalize it. After all, wasn't Blaise Pascal a Frenchman, and don't the French capitalize last names to this very day? ;-) ------Original Message------ From: Mouse Sender: cctalk-bounces at classiccmp.org To: cctalk at classiccmp.org ReplyTo: General Discussion: On-Topic and Off-Topic Posts Subject: Re: Right toolf for the job Sent: 5 Jan 2012 15:00 > they tell me it's not "FORTRAN" it's "Fortran" when I know damn well > it's an acronym! Not in the usual sense of `acronym', though. But... > PASCAL as delivered was pretty unusable. ...if you're going to draw the distinction between "Fortran" and "FORTRAN", you might at least get Pascal's name right. :) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From lproven at gmail.com Thu Jan 5 09:52:14 2012 From: lproven at gmail.com (Liam Proven) Date: Thu, 5 Jan 2012 15:52:14 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F03A9BC.7000409@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: On 4 January 2012 01:22, Toby Thain wrote: > On 03/01/12 10:09 AM, Liam Proven wrote: >> >> On 3 January 2012 13:57, Toby Thain ?wrote: >>> >>> On 03/01/12 7:14 AM, Liam Proven wrote: >>>> >>>> >>>> On 3 January 2012 04:16, Toby Thain ? ?wrote: >>>>> >>>>> >>>>> On 02/01/12 10:00 PM, Mouse wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I consider BASIC to be an excellent beginner's introduction to "what >>>>>>>> is a program?", etc., so long as they are exposed to other languages >>>>>>>> immediately after grasping the basic principles. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>>>>> control structures relate poorly to modern languages and even less to >>>>>>> powerful abstractions. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> I'm not convinced that's a problem. >>>>>> >>>>>>> What's wrong with Scheme? ?Or at worst, Python? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> The same thing that was wrong with the New Math: you don't dump the >>>>>> full load of theory on a beginner, not unless you want a very confused >>>>>> beginner, or you have the incredible luck to get a Ramanujan or Knuth >>>>>> as a student (and if so, honestly, the best thing anyone can do is to >>>>>> get the hell out of the way). >>>>> >>>>> >>>>> >>>>> >>>>> Scheme has no more theoretical load than BASIC. >>>> >>>> >>>> >>>> O_o So speaketh a *highly* intelligent, perhaps near-genius-level, >>>> natural programmer. >>> >>> >>> >>> Of course, I meant to qualify this as: "for a beginner", which is the >>> point >>> here. >> >> >> Even worse. >> >> There is a core question here which you seem to be skipping over. Do >> you want to teach people to write code, to be able to make a computer >> perform new tasks? *Or* do you want to train professional software >> engineers? These are not at /all/ the same thing. Indeed I'd submit >> that they are barely related. >> >> If you want the latter, then sure, yes, Scheme or Lisp or something > > > Exactly the reverse. Professional software engineers I've seen around > wouldn't touch Lisp with a barge pole. While, for people who want to get > stuff done elegantly and simply, without irrelevancies, Scheme is ideal. > > >> clever and rather arcane. Start 'em on the hard stuff so they learn > > > It's not hard stuff (q.v) Believe me, as someone trying to learn Lisp, IT IS. >> right, in the same way that I learned swordfighting with a foil, the >> feeblest weapon but the one controlled by the strictest rules. If you >> can fight foil, then you can move to the less-demanding sabre easily, >> and the relatively undemanding ep?e is straightforward; but start with >> ep?e and learning the formalities of foil will be much harder. >> >>> Since modelling and abstraction are far more important parts of >>> "programming" than syntax, BASIC fails completely: >>> ?- full of irrelevant lexical bullshit and limitations (line numbers? >>> what >>> good is this to a beginner?); >> >> Oh come off it! Line numbers went out in 1985, man! Don't judge BASIC >> by the crappy implementations of the early 1980s when 8K of RAM was a >> lot! > > Line numbers are not the issue. *You* raised them as an issue. >>> ?- numbers, strings, fixed length arrays? that's it? >> >> No, not at all. I would expect at least integers, floats, variable >> length strings, multidimensional arrays of any other type, and quite >> possibly different lengths of integer and possibly signed and unsigned >> forms. Possibly booleans and things as well; maybe a complex type. But >> to be a programmer does not mandate being a mathematician. I have >> taught programming to people who did not know what a percentage was, >> who did not know how to multiply or divide by fractions and so on. >> Many people do not need fancy types. >> >>> How do I build anything >>> else? Oh right. I can't. >> >> Again, a limitation only of very primitive, early BASICs, although I >> have to say, I never found it a limitation. Have user-defined >> structured data types if you want, though. > > Can I make a list? I have no idea. I have not programmed in any meaningful sense in over 20y. I would expect so, yes. >>> ?- most BASICs lack structured programming primitives, so even as an >>> IMPERATIVE language it fails to teach important patterns from the 1980s >>> (which might explain some of the code I see around the place); >> >> Again, a limitation of the early 1980s. ?Not true of any decent BASIC >> from about 1983 onwards. >> >>> ?- lacks named functions& ?procedures (yeah, some BASICs have a crippled >>> >>> hack for this; see lexical bullshit above) >> >> See above. Have you actually *seen* /any/ even 1990s BASIC, FFS? >> >>> - a fundamental >>> abstracting/factoring tool. >> >> You'll have to explain what that means. > > Functions are a fundamental abstracting/factoring tool. So they better work > well. -> Closures, too. Even the very early 1980s BASICs included functions. I don't think I've ever used one that didn't. As for Closures, AIUI, many computer languages do not include them. Pointess crippled tools like C, for example. TBH I do not even understand the Wikipedia definition of what a closure /is./ >>> Now with Scheme, >>> ?- you start with a syntax that is not pedagogically toxic; >> >> But is incomprehensible > > To you... The unreadability of Lisp syntax is widely agreed, /even by the creator of Lisp./ It is often cited as one of the main reasons for the lack of penetration of Lisp in mainstream business computing. >> and uses bizarre postfix notation. > > Not Schemes I'm familiar with. Prefix notation, then. Whatever the hell you call this (+ 1 2 3 4) nonsense. >>> ?- you have the breath of a hope of constructing useful data structures >>> without artificial limitations which can only frustrate; >> >> Straw man. >> >>> ?- there is the opportunity to introduce more theoretical load, which is >>> good. The door is always unlocked to go beyond where one already is. >> >> If you can grasp the basics, pardon the pun, which I doubt most could. >> >>> There is nothing here that cannot be taught to a high school age student. >> >> You have no real experience of actual high-school students, then, I >> can see that. > > Not true; I know some who are learning Scheme and Haskell with no trouble. /Some./ *Some* kids also learn ancient Greek or advanced undergrad-level algebra when they are under 10. >>>> I have only read a tiny little bit about Scheme but it is virtually >>>> impenetrable to me - and I have years of programming experiences, >>> >>> And that is EXACTLY what Dijkstra was on about. >> >> Oh bollocks! >> >> Q.v. Dylan: >> http://en.wikipedia.org/wiki/Dylan_%28programming_language%29#Syntax >> Q.v. Lisp 2 and Elephant, discussed here /passim./ >> >> Even John McCarthy himself later conceded that Lisp's syntax was a >> major hindrance in teaching it. > > Oh, yes, people have been trained to be terrified of it. It's a phantom > fear. I could not disagree more strongly. There is, I suspect, a certain mindset that can learn new mathematical notation and quickly and easily adjust to it. To the common man, though, mere algebra itself - simple x = a - b x is 10, b is 10; what is a? ... level-stuff - is as good as hieroglyphics. It is bizarre, byzantine, impenetrable. But if you show them a language that says ? apples = 5 oranges =10 total_fruit = apples + oranges print total_fruit ? And they can do that right at the command line, and they can save it, edit it and change it and watch the results change - than that is a useful teaching tool for introducing the notions of computer programming to complete beginners. I have read the first few pages of The Little Schemer, generally hailed as the best introduction to Scheme there is, and I found it completely incomprehensible - and I am a skilled computer professional with around a quarter century of experience. If I can't follow it, I really do not believe that a random person with neither interest or aptitude for it will be able to. >>> The conclusion YOU come to is that Scheme isn't relevant to programming. >> >> >> That is not even remotely /like/ the conclusion that I came to. You >> are putting words in my mouth and I *object*, strenuously. >> >> I did not say it was not relevant. I did not say it was a bad thing to >> start with. I said it was /too hard/ for the average person, and I >> stand by that. >> >>> But >>> in fact the opposite is true: A good part of what you have been >>> indoctrinated with, from BASIC onwards, *obscures* what is really going >>> on >>> when you program. Programs are not "sequences of instructions" except at >>> the >>> absolute bottom-most level. >> >> >> You have no idea of what any BASIC from even 20y ago is like, as you >> have demonstrated, and you also seem to be very unfamiliar with the >> limitations of actual ordinary people. For nonspecialists, concepts >> such as loops are quite hard at first. Iterative thinking has to be >> learned. Starting off utter newbies with prefix notation, CAR and >> CADR, lists versus atoms, quoting and lambda calculus is like taking >> the play-blocks off a kindergarten class and asking them to build the >> cathedral of Notre Dame instead. >> >>> We do not need *another* generation of programmers for whom recursion and >>> higher-order functions are alien concepts. Worse: Not given proper tools, >>> mental and literal, for modelling and abstraction. Abstraction, it can be >>> argued, is the single most important idea to learn as a computer >>> programmer. >> >> Actually, I am sure you're right. >> >> But this misses the strength of the old BASICs of the late 1980s and >> 1990s: that they brought programming to the common man. > > Yes, that's true; but it is 2011. And we are preparing kids whose careers > will peak in 2030. Very *very* few people's careers are going to involve programming computers. One in a million, maybe, if that. >> Sure, we need better developers, but we /also/ need easy, friendly, >> fun tools to reintroduce the ordinary Joe to writing programs at all. >> Python and so on are far too big and complex for this. >> >>> I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't >>> really learn anything except how to navigate limitations. Ugh. If only I >>> had >>> picked up Scheme when I picked up C. >> >> >> So in fact BASIC did /not/ give you brain damage and stop you learning? > > C moreso. I should have picked up something I could learn more from. >> >>> Actually none of these are more difficult than the artificial hurdles >>> BASIC >>> puts in front of you. Once again you speak from your confessed >>> "imperative >>> place". >> >> You have shown that you don't actually understand how much BASIC moved >> on from the crappy MS BASIC 4 days of 1980. >> >>> Now imagine that you had learned Scheme first. Would you say recursion >>> was >>> hard? >> >> It isn't. I've written recursive programs. In BASIC. In a good BASIC: >> in BBC BASIC V, a very fast, 32-bit BASIC with full support for named >> procedures, local variables, passing by reference and value and so on. > > I'm very very familiar with BBC BASIC. It can't by any stretch be compared > to a Lisp or ML family language, for example. I am sure it can't and I am not arguing that. What I saying is that it was a world away from the simple crappy early BASICs which didn't even have if/then/else or more than single-letter array names. And BBC BASIC was in many ways superceded by later developments like QuickBASIC, which was a quite grown-up, structured language, written in a simple IDE so that it could dispense with the line numbers that you hate so much. (Personally, I think that for an interactive interpreter, line numbers are a simple, useful concept. If you type in language statements, they are executed; if you prefix them with a number, they are stored, for later execution. I see them as no more iniquitous than row and column identifiers in spreadsheets.) >> ?> ?How will you program effectively in 2030 without dealing with higher >>> >>> order functions, continuations, immutable state? (How can one do it >>> today, >>> for that matter; only because in software Things Move So Damn Slowly.) >> >> I don't, because I am not a programmer and I don't aim to be. >> >>> Kids being educated for a career in software starting today deserve >>> something better than BASIC. Things are bad enough already. *For a career in software*. That is the $64K statement, an all-important qualifier. So let me spell out what I am trying to say very clearly. If you are trying to teach a child - possibly an under-10 - about programs and logic and execution and evaluation, then a decent BASIC is actually a pretty good tool. Most of these kids will never be programmers, they will at best /use/ computers, but this gives them the rudimentary core understanding. For a non-programmer, it is enough. For such purposes, a good, structured BASIC is an excellent tool. If you are trying to teach an undergraduate university student reading computing, computer science or information technology about the art of programming, to make them a skilled programmer who is capable of going on to get a degree or multiple degrees in disciplines around programming, then from what I have read, yes, Scheme is an excellent teaching tool. I would expect these to be highly intelligent young people, the cream of the crop, with a background education in mathematics. And quite possible for any undergrad in the sciences, who one can therefore expect to be intelligent and used to structured thinking and reasoning and the basics of maths and algebra, then yes, for them too, Scheme is probably an excellent teaching tool. >> They deserve something better than a 1970s BASIC, sure... But even a >> late 1980s BASIC would, I submit, be more use than Python or Ruby, >> which are too big, too complex and too abstract. > > And after that, where will they fill in the missing pieces in their > education? You need to define who we are talking about here. Are we talking about: [a] nonspecialists who will never program again, apart from maybe some formulae in spreadsheets? [b] nontrained people, nonspecialists, who drift into doing a bit of scripting or basic coding, like most people in IT support? [c] trained professional programmers with higher-education training in programming and programme design? For group A, I think a good BASIC is ideal. For group B, possibly something more pragmatic like Python For group C, yes, I think the Lisp family is probably best, and from my reading, I'd say that Scheme is probably the best candidate for teaching purposes. But I think that Scheme or the like would be overkill for nonspecialists. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From IanK at vulcan.com Thu Jan 5 10:51:45 2012 From: IanK at vulcan.com (Ian King) Date: Thu, 5 Jan 2012 16:51:45 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: Message-ID: On 1/5/12 7:52 AM, "Liam Proven" wrote: >[snip] >I have read the first few pages of The Little Schemer, generally >hailed as the best introduction to Scheme there is, and I found it >completely incomprehensible - and I am a skilled computer professional >with around a quarter century of experience. If I can't follow it, I >really do not believe that a random person with neither interest or >aptitude for it will be able to. And that statement goes to the heart of this conversation: once one has been 'indoctrinated' into one paradigm it can be devilishly hard to wrap one's head around another. My first language was FORTRAN IV (on Hollerith cards), my second was BASIC (again, on Hollerith cards, then an ASR33). When I learned C (from the K&R book) I had the usual struggle with pointers until the 'moment of enlightenment' after which I used them with no more thought than any other construct. Later I was exposed to Prolog, again having a struggle to set aside almost everything I'd learned to that point and being rewarded with a new way to look at applying information technology to solve problems. Lisp/Scheme was a similar personal evolution, and was enabled by exposure to functional programming. FP seems to spawn a religious fervor, but frankly so did OOP in the early days of C++ ("this will fix EVERYthing!"), and fortunately I was able to (eventually) grasp the value of a new paradigm without drinking the Kool-Aid. And I learned my first language in the mid-1970s, but only 'got' Lisp/Scheme in the last couple of years. These things don't necessarily happen overnight, but YMMV. So I empathize with your discomfort with Scheme, but I disagree that your experience validates the belief you hold that because you are not grokking it, 'normal folks' can't/won't grok it. You are already part of a distinct cohort: experienced users of information technology. How can you map your experience onto the broader population? And while your knowledge born of long tenure grants you many positive attributes in this field, there are down sides - such as this one, that you look at Scheme through the lens of your own experience and say, "that's just so wrong." It would certainly make for bad [BASIC | FORTRAN | C/C++ | etc.] but once you have the 'moment of enlightenment' it seems very consistent and elegant. For example, I far prefer prefix or postfix notation to messy infix notation that requires a table of operator precedence a page long! My first Lisp text that made sense to me was one published by DEC, aimed at experienced programmers. I switched to Scheme because, as I've said before, I felt it was not as bloated and bowdlerized as so-called Common Lisp. When I later picked up "Little Schemer" I found it interesting, but a bit tedious at points, probably because of the challenge of overcoming 'normal' thinking about programming. :-) But I agree it's a good book and can help one achieve literacy in the ways of Scheme. So I think you or anyone else *can* learn to program in a Lisp-like language and come to appreciate its value. Your addendum about that person having "neither interest [n]or aptitude" is another matter entirely. And I don't mean that unkindly: my daughter wants me to learn to ice-skate?. -- Ian From cclist at sydex.com Thu Jan 5 10:54:03 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 08:54:03 -0800 Subject: Right toolf for the job In-Reply-To: <201201050720.q057KEIQ071156@billy.ezwind.net> References: <20120104132145.L41929@shell.lmi.net>, <201201050720.q057KEIQ071156@billy.ezwind.net> Message-ID: <4F05652B.2322.B44A4@cclist.sydex.com> On 5 Jan 2012 at 7:20, vintagecoder at aol.com wrote: > Well I thought I was the only one. People born in the last 20 or 30 > years laugh at me when I write FORTRAN, they tell me it's not > "FORTRAN" it's "Fortran" when I know damn well it's an acronym! And > they say unindented code in all caps is unreadable which is just the > opposite of my experience and I don't know how they can explain how we > were able to read and write it back in the day and now it's > unacceptable but I realize my opinions are usually if not always in > the minority and nobody listens to me anyway, so... Go and read some standards. It was FORTRAN before F90, but part of the ANSI F90 standard is that "Fortran" is acceptable. Do any programmers who use a language actually read the standard for it? --Chuck From ethan.dicks at gmail.com Thu Jan 5 10:56:56 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 11:56:56 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: On Thu, Jan 5, 2012 at 10:52 AM, Liam Proven wrote: > Very *very* few people's careers are going to involve programming > computers. One in a million, maybe, if that. That is a gross exaggeration. For 2006, the stats I could find without spending all morning, it looks like this: US Civilian Population - 230M US Civilian Labor Force - 150M Estimated number of "Computer Programmers" (Seried ID EEU80737101) - 700K So as of a few years ago, in the US, it's more like one in 200 active workers was classified as a programmer, not one in a million. One can debate how many of those are "career programmers", but I think the order of magnitude is close enough. I also think that there is a significant difference between teaching elementary/middle-school children (6-12) and college students (18-23) specifically in reference to abstractness. Young adults pursuing a technical education are going to be able to handle abstract concepts better than someone half their age or younger (or they are going to be finding a new field of study ;-). Having learned these concepts before age 12 and having taught workshops (as an amateur, not certified, teacher), my experience tells me that if you want to teach programming concepts to the age 6-12 crowd, it's important to start with very concrete examples and build on those to abstraction, much like teaching arithmetic is easier by putting items on a table and having a child count and group real objects before moving on to mathematical notation (numbers, symbols, etc). To that end, I don't see how teaching BASIC, even 1980s BASIC with its limitations and line numbers and all, is a terrible way to introduce simple concepts like assignment, input and output, branching and control flow. You can do a lot with LET (optional typically, I know, but useful educationally), PRINT, INPUT, GOTO, and uncomplicated IF/THEN/GOTO statements. FOR loops, subroutines, arrays, etc., are easy to add in later, and may be easier if the students have encountered sets and arrays in their math classes. I would posit that trying to teach recursion as a programming concept is likely to be frustrating unless the students have encountered factorials in math as well. It's a hard enough concept to teach when it's just trying to explain what 5! is, let alone asking a student to abstract the concept to general recursion (and besides, unless you are doing certain kinds of tree walking or string searches, how often _have_ you written recursive routines? I don't do it as often as once in five years with the kind of code I write). Five-ish years ago, I got involved with a thread on the author/futurist David Brin's blog because he was looking for a contemporary way to provide a BASIC environment for his, IIRC, 13-year-old son to learn on. There were examples of BASIC code in his son's math book, but it took extra (and not well known by the general public) steps to get BASIC onto a Mac or PC of the day. Since he was looking for a small computer that would be used specifically for this purpose, not a toolset to load onto a "modern" machine, I pointed out several kit computers (like the MicroKIM and Spare Time Gizmos Elf 2000) that could run Tiny BASIC. I would be curious to learn what ever developed from that inquiry. It's only one datapoint, but it's via someone who took an active interest in furthering their own child's education, so IMO, one worth examining. For those that might want to dabble lightly with 1980s Commodore BASIC on a modern machine, let me shamelessly plug http://sourceforge.net/projects/cbmbasic/ -ethan -- References: http://pw1.netcom.com/~rdavis2/employ08.html http://answers.google.com/answers/threadview/id/43888.html From lproven at gmail.com Thu Jan 5 11:09:14 2012 From: lproven at gmail.com (Liam Proven) Date: Thu, 5 Jan 2012 17:09:14 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: On 5 January 2012 16:51, Ian King wrote: > On 1/5/12 7:52 AM, "Liam Proven" wrote: >>[snip] > >>I have read the first few pages of The Little Schemer, generally >>hailed as the best introduction to Scheme there is, and I found it >>completely incomprehensible - and I am a skilled computer professional >>with around a quarter century of experience. If I can't follow it, I >>really do not believe that a random person with neither interest or >>aptitude for it will be able to. > > And that statement goes to the heart of this conversation: once one has > been 'indoctrinated' into one paradigm it can be devilishly hard to wrap > one's head around another. > > My first language was FORTRAN IV (on Hollerith cards), my second was BASIC > (again, on Hollerith cards, then an ASR33). ?When I learned C (from the > K&R book) I had the usual struggle with pointers until the 'moment of > enlightenment' after which I used them with no more thought than any other > construct. ?Later I was exposed to Prolog, again having a struggle to set > aside almost everything I'd learned to that point and being rewarded with > a new way to look at applying information technology to solve problems. > > Lisp/Scheme was a similar personal evolution, and was enabled by exposure > to functional programming. ?FP seems to spawn a religious fervor, but > frankly so did OOP in the early days of C++ ("this will fix EVERYthing!"), > and fortunately I was able to (eventually) grasp the value of a new > paradigm without drinking the Kool-Aid. ?And I learned my first language > in the mid-1970s, but only 'got' Lisp/Scheme in the last couple of years. > These things don't necessarily happen overnight, but YMMV. > > So I empathize with your discomfort with Scheme, but I disagree that your > experience validates the belief you hold that because you are not grokking > it, 'normal folks' can't/won't grok it. ?You are already part of a > distinct cohort: experienced users of information technology. ?How can you > map your experience onto the broader population? ?And while your knowledge > born of long tenure grants you many positive attributes in this field, > there are down sides - such as this one, that you look at Scheme through > the lens of your own experience and say, "that's just so wrong." > > It would certainly make for bad [BASIC | FORTRAN | C/C++ | etc.] but once > you have the 'moment of enlightenment' it seems very consistent and > elegant. ?For example, I far prefer prefix or postfix notation to messy > infix notation that requires a table of operator precedence a page long! > > My first Lisp text that made sense to me was one published by DEC, aimed > at experienced programmers. ?I switched to Scheme because, as I've said > before, I felt it was not as bloated and bowdlerized as so-called Common > Lisp. ?When I later picked up "Little Schemer" I found it interesting, but > a bit tedious at points, probably because of the challenge of overcoming > 'normal' thinking about programming. ?:-) ?But I agree it's a good book > and can help one achieve literacy in the ways of Scheme. > > So I think you or anyone else *can* learn to program in a Lisp-like > language and come to appreciate its value. ?Your addendum about that > person having "neither interest [n]or aptitude" is another matter > entirely. ?And I don't mean that unkindly: my daughter wants me to learn > to ice-skate?. ?-- Ian All right, some interesting points there. But, by way of seeking clarification - well, let's put it this way. I am interested and very curious about Lisp, Scheme, Lisp Machines and so on. Indeed I am, as a result of my reading, trying to research and write an article on the history of Lisp Machines. And yet, despite reading acres about this, I have yet to find *any* coherent nonspecialist texts, guides, tutorials or explanations about these languages. For instance, the lambda calculus. What is it? What does it do, what is it for, why is it special? Closures: again, I have yet to find a readable, comprehensible explanation of what they are, what they are good for, why they are powerful and what strengths they confer onto a programming language. If the teaching & reference materials that I have found so far are unable to convey these core concepts, then there would seem to be two possible conclusions: [a] /all/ the materials that I've been able to find are extremely poor, even the ones that are more or less universally agreed to be very good or [b] these are complex, difficult concepts and a massive amount of back-knowledge is necessary to understand it. I would *REALLY* like and hugely value any pointers, ideally web links but print references would do as well, as to these concepts. But are there other possible explanations that I have missed? That these things are easy but all the texts are rubbish? -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From ethan.dicks at gmail.com Thu Jan 5 11:15:40 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 12:15:40 -0500 Subject: Right toolf for the job In-Reply-To: <4F05652B.2322.B44A4@cclist.sydex.com> References: <20120104132145.L41929@shell.lmi.net> <201201050720.q057KEIQ071156@billy.ezwind.net> <4F05652B.2322.B44A4@cclist.sydex.com> Message-ID: On Thu, Jan 5, 2012 at 11:54 AM, Chuck Guzis wrote: > Do any programmers who use a language actually read the standard for > it? I read the ANSI C standard when it was new, but part of the inspiration was due to my boss being the DECUS representative to the X3J committee and hearing some of the stories of what it took to forge the standard in the first place (I'd only been programming in C for 2-3 years at the time). I haven't re-read it in the intervening 25 years, however. -ethan From vintagecoder at aol.com Thu Jan 5 11:18:03 2012 From: vintagecoder at aol.com (Vintage Coder) Date: Thu, 5 Jan 2012 17:18:03 +0000 Subject: Right toolf for the job In-Reply-To: <4F05652B.2322.B44A4@cclist.sydex.com> References: <20120104132145.L41929@shell.lmi.net> , <201201050720.q057KEIQ071156@billy.ezwind.net> <4F05652B.2322.B44A4@cclist.sydex.com> Message-ID: <1220834493-1325783874-cardhu_decombobulator_blackberry.rim.net-218465181-@b15.c1.bise3.blackberry> I don't know, I haven't written any FORTRAN to speak of since IBM FORTRAN H. I thought you agreed with me, but that must have been somebody else. -----Original Message----- From: "Chuck Guzis" Sender: cctalk-bounces at classiccmp.org Date: Thu, 05 Jan 2012 08:54:03 To: General Discussion: On-Topic and Off-Topic Posts Reply-To: "General Discussion: On-Topic and Off-Topic Posts" Subject: Re: Right toolf for the job On 5 Jan 2012 at 7:20, vintagecoder at aol.com wrote: > Well I thought I was the only one. People born in the last 20 or 30 > years laugh at me when I write FORTRAN, they tell me it's not > "FORTRAN" it's "Fortran" when I know damn well it's an acronym! And > they say unindented code in all caps is unreadable which is just the > opposite of my experience and I don't know how they can explain how we > were able to read and write it back in the day and now it's > unacceptable but I realize my opinions are usually if not always in > the minority and nobody listens to me anyway, so... Go and read some standards. It was FORTRAN before F90, but part of the ANSI F90 standard is that "Fortran" is acceptable. Do any programmers who use a language actually read the standard for it? --Chuck From lproven at gmail.com Thu Jan 5 11:20:37 2012 From: lproven at gmail.com (Liam Proven) Date: Thu, 5 Jan 2012 17:20:37 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: On 5 January 2012 16:56, Ethan Dicks wrote: > On Thu, Jan 5, 2012 at 10:52 AM, Liam Proven wrote: >> Very *very* few people's careers are going to involve programming >> computers. One in a million, maybe, if that. > > That is a gross exaggeration. > > For 2006, the stats I could find without spending all morning, it > looks like this: > > US Civilian Population - 230M > US Civilian Labor Force - 150M > Estimated number of "Computer Programmers" (Seried ID EEU80737101) - 700K > > So as of a few years ago, in the US, it's more like one in 200 active > workers was classified as a programmer, not one in a million. ?One can > debate how many of those are "career programmers", but I think the > order of magnitude is close enough. OK, I concede the point. (Although worldwide I think the argue would be massively different.) I had to google "Seried ID EEU80737101" which meant I found the GoogleAnswer you got it from, pre-typo. :?) > I also think that there is a significant difference between teaching > elementary/middle-school children (6-12) and college students (18-23) > specifically in reference to abstractness. ?Young adults pursuing a > technical education are going to be able to handle abstract concepts > better than someone half their age or younger (or they are going to be > finding a new field of study ;-). ?Having learned these concepts > before age 12 and having taught workshops (as an amateur, not > certified, teacher), my experience tells me that if you want to teach > programming concepts to the age 6-12 crowd, it's important to start > with very concrete examples and build on those to abstraction, much > like teaching arithmetic is easier by putting items on a table and > having a child count and group real objects before moving on to > mathematical notation (numbers, symbols, etc). > > To that end, I don't see how teaching BASIC, even 1980s BASIC with its > limitations and line numbers and all, is a terrible way to introduce > simple concepts like assignment, input and output, branching and > control flow. ? You can do a lot with LET (optional typically, I know, > but useful educationally), PRINT, INPUT, GOTO, and uncomplicated > IF/THEN/GOTO statements. ?FOR loops, subroutines, arrays, etc., are > easy to add in later, and may be easier if the students have > encountered sets and arrays in their math classes. ?I would posit that > trying to teach recursion as a programming concept is likely to be > frustrating unless the students have encountered factorials in math as > well. ?It's a hard enough concept to teach when it's just trying to > explain what 5! is, let alone asking a student to abstract the concept > to general recursion (and besides, unless you are doing certain kinds > of tree walking or string searches, how often _have_ you written > recursive routines? ?I don't do it as often as once in five years with > the kind of code I write). Absolutely agreed. Including about recursion. It took me something like a decade, from early efforts typing in BASIC listings to, after my degree, designing and building simple apps of my own, for the very first time I found an actual /use/ for recursion. (It was, if anyone is curious, writing a TREE command for Acorn RISC OS in BBC BASIC. RISC OS doesn't have any equivalent, either in the CLI or in the GUI. Taught me why XTree was a big deal in its day, and why the Norton NCD command is particularly clever.) > Five-ish years ago, I got involved with a thread on the > author/futurist David Brin's blog because he was looking for a > contemporary way to provide a BASIC environment for his, IIRC, > 13-year-old son to learn on. ?There were examples of BASIC code in his > son's math book, but it took extra (and not well known by the general > public) steps to get BASIC onto a Mac or PC of the day. ?Since he was > looking for a small computer that would be used specifically for this > purpose, not a toolset to load onto a "modern" machine, I pointed out > several kit computers (like the MicroKIM and Spare Time Gizmos Elf > 2000) that could run Tiny BASIC. ?I would be curious to learn what > ever developed from that inquiry. ?It's only one datapoint, but it's > via someone who took an active interest in furthering their own > child's education, so IMO, one worth examining. > > For those that might want to dabble lightly with 1980s Commodore BASIC > on a modern machine, let me shamelessly plug > http://sourceforge.net/projects/cbmbasic/ Wow. You chose to reimplement the poorest-quality BASIC I ever met, back in the day! Er - why? -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From legalize at xmission.com Thu Jan 5 11:53:22 2012 From: legalize at xmission.com (Richard) Date: Thu, 05 Jan 2012 10:53:22 -0700 Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <5C45C4BFBB33409DBF052A4935AA82A8@ANTONIOPC> References: <5C45C4BFBB33409DBF052A4935AA82A8@ANTONIOPC> Message-ID: In article <5C45C4BFBB33409DBF052A4935AA82A8 at ANTONIOPC>, writes: > Dijkstra was more interested in whether you could prove that your > program behaved according to its specification. I've seen a lot of people talk about this kind of approach towards correctness. The problem is that it doesn't account for buggy specifications; once you can prove that your program adheres to the specification, you just need to prove that your specification is written correctly. In other words, we're now debugging our specifications instead of our programs and the problem hasn't substantially changed. The specifications will always need to be written in something that can be digested by a computer in order to prove the program correct, so now I've just shifted the problem of writing a correct program to writing a correct specification. Fundamentally I've always believed that this approach doesn't fix anything, it just changes the language in which I have to write and debug stuff. > Whether your > program worked every time you ran it was less important than > whether it could conceivably fail. It's been my experience that this is what unit testing (when done properly) is providing you: confidence that you've exercised every single execution path in your code, including all the error handling cases that are highly unlikely to occur when you manually test your program. > Don't forget that you couldn't meet his definition of programmer > without being a mathematician. Mathematics certainly helps, but programming is more than that. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From mcguire at neurotica.com Thu Jan 5 11:55:35 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 12:55:35 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: <4F05E417.2080603@neurotica.com> On 01/05/2012 12:20 PM, Liam Proven wrote: >> For those that might want to dabble lightly with 1980s Commodore BASIC >> on a modern machine, let me shamelessly plug >> http://sourceforge.net/projects/cbmbasic/ > > Wow. You chose to reimplement the poorest-quality BASIC I ever met, > back in the day! Er - why? [raises hand] Oooh! I know this one! Because it was hands-down THE most popular, widely-deployed one from the 1980s, at least in the US. (or maybe because he wanted to!) Of course a statement like that is sure to draw people out of the woodwork screaming "NO! was the most popular!" No, I was never a "commie" by any stretch, but of all the people I knew who had computers at home in the 1980s when I was in high school, the breakdown went something like this: 90%: Commodore 64 or VIC-20 5%: Atari 400 or 800 1%: Apple (rich kids) 1%: COCO 1%: Non-COCO TRS-80 (kids with parents who ran their own businesses) 1%: CP/M 1%: RSTS/E =) (only 1...betcha can't guess who that was!) -Dave -- Dave McGuire New Kensington, PA From ethan.dicks at gmail.com Thu Jan 5 11:57:51 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 12:57:51 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: On Thu, Jan 5, 2012 at 12:20 PM, Liam Proven wrote: > On 5 January 2012 16:56, Ethan Dicks wrote: >> Five-ish years ago, I got involved with a thread on the >> author/futurist David Brin's blog because he was looking for a >> contemporary way to provide a BASIC environment for his, IIRC, >> 13-year-old son to learn on... Since I just re-read the Salon.com article, even though he himself used an Apple II in past years, he ended up buying an inexpensive C-64 and 1541 for his son. >> For those that might want to dabble lightly with 1980s Commodore BASIC >> on a modern machine, let me shamelessly plug >> http://sourceforge.net/projects/cbmbasic/ > > Wow. You chose to reimplement the poorest-quality BASIC I ever met, > back in the day! Er - why? For one, I didn't start the project, I joined it after the first release; and for another, I am *deeply* familiar with that version of BASIC because it's what I learned at age 11 and explored down to unpublished entry points and code hacking on my own hardware at age 13 (by porting Mark Zimmerman's FLOPTRAN from BASIC1 to BASIC2 on the PET), then used daily at my first job at age 15. I readily admit that professional BASIC experience is uncommon, but there you have it. >From your comment, I have to guess that you haven't met Tiny BASIC, Apple Integer BASIC, Applesoft BASIC, TRS-80 Level 1 BASIC, Atari BASIC, or TI 99/4a BASIC - I put all of those below CBM BASIC2 (not BASIC1 from 1977), though I doubt someone looking into that pool from the outside would make much differentiation among any of them. In terms of string manipulation, complex expressions, control flow, and variable and array type/quantity/amount/management, I'd put TRS-80 Level 1 BASIC, Tiny BASIC, and Atari BASIC at the bottom of that pile, in that order (and if you don't know why I put Atari BASIC down there, you haven't ever filled up your VTOC). -ethan From legalize at xmission.com Thu Jan 5 11:57:51 2012 From: legalize at xmission.com (Richard) Date: Thu, 05 Jan 2012 10:57:51 -0700 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: > On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: > > > Does anybody write compilers in assembly any more? Or ever will, again? People write compilers all the time. If you think they don't, you're seriously out of the loop. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From cisin at xenosoft.com Thu Jan 5 12:03:03 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 10:03:03 -0800 (PST) Subject: Right toolf for the job In-Reply-To: <4F05652B.2322.B44A4@cclist.sydex.com> References: <20120104132145.L41929@shell.lmi.net>, <201201050720.q057KEIQ071156@billy.ezwind.net> <4F05652B.2322.B44A4@cclist.sydex.com> Message-ID: <20120105095303.T76006@shell.lmi.net> On Thu, 5 Jan 2012, Chuck Guzis wrote: > Go and read some standards. It was FORTRAN before F90, but part of > the ANSI F90 standard is that "Fortran" is acceptable. > > Do any programmers who use a language actually read the standard for > it? >From what you said earlier, about "inventing language", perhaps it would be equally valid to ask Do any language standards writers actually USE it? My impression was that each and every committee member wanted a completely different language than the current language. ("fortran should look like Pascal!" "Fortran should be as 'elf-documenting' as COBOL!", etc.) And, each one wanted complete standardization on THAT committee member's unique implementation. OK, WE aren't exceptions. I want every language to use .EQ. for comparision, and an arrow for assignment. // for comments in C is actually convenient, but it is a serious break from the original CONCEPT of newline being nothing more than "whitespace". From mcguire at neurotica.com Thu Jan 5 12:09:54 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:09:54 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: <4F05E772.8040400@neurotica.com> On 01/05/2012 10:52 AM, Liam Proven wrote: > I have no idea. I have not programmed in any meaningful sense in over > 20y. I would expect so, yes. [cited for reference below] > The unreadability of Lisp syntax is widely agreed, /even by the > creator of Lisp./ It is often cited as one of the main reasons for the > lack of penetration of Lisp in mainstream business computing. "Mainstream business computing" is extremely low-tech stuff, done by people who regularly say "oh, it crashed, that's just how computers are, just do it again, and reinstall if it doesn't work". In architecture and engineering in particular, Lisp is used on a daily basis by probably 95% of the industry. The architect working on my building plans diddles with AutoLisp regularly, and until we discussed it, he didn't even realize he was doing any programming! > I have read the first few pages of The Little Schemer, generally > hailed as the best introduction to Scheme there is, and I found it > completely incomprehensible - and I am a skilled computer professional > with around a quarter century of experience. If I can't follow it, I > really do not believe that a random person with neither interest or > aptitude for it will be able to. Please forgive me for jumping in, but I have to speak up here. You keep going on and on about how you've got all this "IT experience" (you didn't specifically mention "IT" above, but you have before), and that should make you more able, not less able, to understand abstract "CS" (as distinct from "IT") concepts. You reinforce what I'm saying by also stating that you're not a software developer. Wrangling systems and networks, working with databases, etc etc and whatever else constitutes your day-to-day work life has jack-point-squat to do with advanced theoretical concepts (with practical implementations) such as, for example, closures. It is my opinion that you should not feel it's unusual that you don't "get" that stuff even though you are "a computer professional". That's like saying "I'm a podiatrist, so I work on the human body too...all that stuff about understanding how neurons work is just bunk, because I don't get it!" I'm down with Death Flu(tm), and I'm sure I could've illustrated my point a bit better above, but I think you get the general gist of what I'm trying to say. The only reason *I* see the difference is because I do both...otherwise I'd probably not get it either. -Dave -- Dave McGuire New Kensington, PA From mouse at Rodents-Montreal.ORG Thu Jan 5 12:11:00 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 13:11:00 -0500 (EST) Subject: OpenFirmware/Fcode - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F049B55.802.1D33028@cclist.sydex.com> References: , <4F047D67.4650.15E4678@cclist.sydex.com>, <4F050042.3090100@telegraphics.com.au> <4F049B55.802.1D33028@cclist.sydex.com> Message-ID: <201201051811.NAA18855@Sparkle.Rodents-Montreal.ORG> >> The format is Fcode; [...] > Finding anything about this is a little difficult--lots of 404s, etc. > when trying to search. I have a PostScript file documenting, among other things, FCode, which I got from, near as I can tell, http://playground.sun.com/pub/p1275/coredoc/1275-1994/1275.ps.gz, on 2001-06-21. It's available from ftp.rodents-montreal.org in /mouse/misc/playground.sun.com%pub%p1275%coredoc%1275-1994%1275.ps.gz in case anyone would like a copy. (If anyone has trouble with gzip, I can gunzip it for you, but I'd rather not leave the five-times-the-size gunzipped file lying around for crawlers to soak up my bandwidth with.) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From fraveydank at gmail.com Thu Jan 5 12:22:46 2012 From: fraveydank at gmail.com (David Riley) Date: Thu, 5 Jan 2012 13:22:46 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <0AB6F1D5-4199-4DC2-9BD7-331F0CA12F18@gmail.com> On Jan 5, 2012, at 12:09 PM, Liam Proven wrote: > Closures: again, I have yet to find a readable, comprehensible > explanation of what they are, what they are good for, why they are > powerful and what strengths they confer onto a programming language. I can take that one, though I fully expect someone to correct me if I get something wrong. Closures are a way of encapsulating data in a particular function instance, not unlike the member data associated with an object's method. For example, in Python I could write the following function: # foo is expected to be a list here def function_generator(foo): def _f(x): foo.append(x) return _f And I would generate a callable function that would append x to the list foo. For example: bar = [] append_func = function_generator(bar) append_func("abc") print bar Would print "['abc']". It's a toy example, for sure, but they're great for things like callbacks (it's similar to a callback with a context pointer, which is a pretty popular idiom in C; a closure just encapsulates the context pointer much like a C++ object does for its methods). I use this all the time in Python; great for generating tiny local functions to thunk a string into the right format, too. - Dave From mouse at Rodents-Montreal.ORG Thu Jan 5 12:27:08 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 13:27:08 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> Message-ID: <201201051827.NAA19101@Sparkle.Rodents-Montreal.ORG> >> ? This is definitely the case.? It's pretty tough to find a programmer thes$ > C: I hate to tell you but was always the case. Unless the programmer was wor$ Please do not use paragraph-length lines. Compensating, >> This is definitely the case.? It's pretty tough to find a programmer >> these days who has any idea of how a computer actually works, even >> at the assembly language level.? This is something that many (most?) >> people think is "just fine", and some have even go so far as to >> fling around statements like "why should I learn to be a mechanic >> just to drive a car?" ...thinking that's an appropriate analogy when >> it's not. It _is_ an appropriate analogy - for end users. Not for programmers. > C: I hate to tell you but was always the case. Actually, it wasn't. The very earliest computers _did_ demand an understanding of their workings of their programmers. > How many housewives (or their husbands!) know how to fix a washing > machine? Again, appropriate analogy if we're talking about end users; inappropriate analogy if we're talking about programmers. > But what does programming w/objects have to do w/interrupt vector > tables??? About as much as installing cruise control in a car has to do with the universal joints on the driving wheels. In each case, if all you're doing is the one, you don't really need to know much about the other. But few people do only one thing. And, at least in my experience, it is occasionally useful to know things about other parts of any system, even ones very distant from the ones you're working with. > I thought that we want to one day communicate w/our computers solely > by voice. Maybe you do. "We" don't, at least not to the extent that I'm part of that "we". On output, voice is a horrible channel (as compared to vision), with low bandwidth and poor exploitation of the human sense it depends on. On input, voice...well, we don't actually know; nobody has built a good voice input system yet. I might like to play with the possibility. I do not, now, want to switch entirely to it, and won't until the technology has matured. I suspect - and a guess is all it is, at this point - that it will prove difficult to achieve suitable levels of precision and bandwidth through voice. I also suspect - and, again, it's just a guess - that it's harder, for most people, to develop a voice that can speak constantly for eight hours a day than to develop hands that can type for eight hours a day. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From ethan.dicks at gmail.com Thu Jan 5 12:29:34 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 13:29:34 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05E417.2080603@neurotica.com> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <4F05E417.2080603@neurotica.com> Message-ID: On Thu, Jan 5, 2012 at 12:55 PM, Dave McGuire wrote: > On 01/05/2012 12:20 PM, Liam Proven wrote: >>> >>> For those that might want to dabble lightly with 1980s Commodore BASIC >>> on a modern machine, let me shamelessly plug >>> http://sourceforge.net/projects/cbmbasic/ >> >> Wow. You chose to reimplement the poorest-quality BASIC I ever met, >> back in the day! Er - why? > > ?[raises hand] > > ?Oooh! ?I know this one! ?Because it was hands-down THE most popular, > widely-deployed one from the 1980s, at least in the US. I can get behind that. > (or maybe because he wanted to!) That never hurts. > ?Of course a statement like that is sure to draw people out of the woodwork > screaming "NO! was the most popular!" Bring it. ;-) >?No, I was never a "commie" by any stretch... I was, from day one. I _used_ other machines, and I did admire certain features of other machines (like the Hi-res graphics of the Apple II when all I had was a character-graphic PET), but really enjoyed getting to know Commodore products at the ROM-code and register level (something I never enjoyed on the Apple II, even when I was being paid to to program it - I appreciate and admire Woz's hardware from a technician's standpoint, but I can't stand the consequences of his achievements from a programming standpoint). > but of all the people I knew who had computers at home in the > 1980s when I was in high school, the breakdown went something like this: > > ?90%: Commodore 64 or VIC-20 > ?5%: Atari 400 or 800 > ?1%: Apple (rich kids) > ?1%: COCO > ?1%: Non-COCO TRS-80 (kids with parents who ran their own businesses) > ?1%: CP/M > ?1%: RSTS/E =) ?(only 1...betcha can't guess who that was!) I'd say that was about right, though for the crowd I knew, I'd flip Atari and Apple, largely because we had a lot of Apples in local schools and a lot of parents just went with the expensive but easy option when buying a machine. I did know a couple of Ohio Scientific owners, but that's probably because the company was a couple of hours from where I grew up, and one DEC Rainbow owner (Dad was a lawyer for whom cost was not a deciding factor). Later, of course, the whole mess shifted to PC, Amiga, and Mac, with some 68K Atari owners hanging off the fringes, but the days of BASIC were over - even if someone happened to own a PC with BASIC in ROM, I never saw that it in use past about 1984. -ethan From dave.g4ugm at gmail.com Thu Jan 5 12:30:18 2012 From: dave.g4ugm at gmail.com (Dave) Date: Thu, 5 Jan 2012 18:30:18 -0000 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: Message-ID: <90AD08C6AE48437C9C2A97D07802105E@EMACHINE> > -----Original Message----- > From: cctalk-bounces at classiccmp.org > [mailto:cctalk-bounces at classiccmp.org] On Behalf Of Richard > Sent: 05 January 2012 17:58 > To: cctalk > Subject: Re: Right toolf for the job (Was: teaching > programming to kids > > > > > On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: > > > > > Does anybody write compilers in assembly any more? Or > ever will, again? > > People write compilers all the time. If you think they don't, you're > seriously out of the loop. No they don't (depends of course on what you mean by writing compilers) they write the grammer and get FLEX/LEX and Yacc/BISON to write the compiler for them, or they write a new back end for GCC... http://dinosaur.compilertools.net/ > -- > "The Direct3D Graphics Pipeline" -- DirectX 9 version > available for download > > Legalize Adulthood! From cisin at xenosoft.com Thu Jan 5 12:33:10 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 10:33:10 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: <20120105102749.T76006@shell.lmi.net> > > Very *very* few people's careers are going to involve programming > > computers. One in a million, maybe, if that. On Thu, 5 Jan 2012, Ethan Dicks wrote: > That is a gross exaggeration. > For 2006, the stats I could find without spending all morning, it > looks like this: > US Civilian Population - 230M > US Civilian Labor Force - 150M > Estimated number of "Computer Programmers" (Seried ID EEU80737101) - 700K > So as of a few years ago, in the US, it's more like one in 200 active > workers was classified as a programmer, not one in a million. One can > debate how many of those are "career programmers", but I think the > order of magnitude is close enough. But, how is "computer programmer" DEFINED for the purpose of those numbers? (What categories are available?) If there is no category for "website designer", do they get counted as "programmer"? "I PROGRAM in DreamWeaver!" In the opposite direction, I remember when computer programming was not one of the choices for business activity on IRS 1040 schedule C - had to choose something like "computer related manufacturing"! From mouse at Rodents-Montreal.ORG Thu Jan 5 12:33:58 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 13:33:58 -0500 (EST) Subject: Imperative thought patterns - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <5C45C4BFBB33409DBF052A4935AA82A8@ANTONIOPC> Message-ID: <201201051833.NAA19236@Sparkle.Rodents-Montreal.ORG> >> Dijkstra was more interested in whether you could prove that your >> program behaved according to its specification. > The problem is that it doesn't account for buggy specifications; once > you can prove that your program adheres to the specification, you > just need to prove that your specification is written correctly. In > other words, we're now debugging our specifications instead of our > programs and the problem hasn't substantially changed. Actually, it's gotten worse, because... > The specifications will always need to be written in something that > can be digested by a computer in order to prove the program correct, ...the prover will make mistakes (due to bugs, if automated; no piece of software the size of a program prover is without bugs). > so now I've just shifted the problem of writing a correct program to > writing a correct specification. And added the problem of constructing code that provably implements that specification. (This might be automatable, in which case it's just a compiler for a new language.) "Beware of bugs in the above code. I have only proved it correct, not actually tried it." (From memory, probably not quite exact.) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From mouse at Rodents-Montreal.ORG Thu Jan 5 12:35:01 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 13:35:01 -0500 (EST) Subject: Right toolf for the job In-Reply-To: <20120105095303.T76006@shell.lmi.net> References: <20120104132145.L41929@shell.lmi.net> <201201050720.q057KEIQ071156@billy.ezwind.net> <4F05652B.2322.B44A4@cclist.sydex.com> <20120105095303.T76006@shell.lmi.net> Message-ID: <201201051835.NAA19266@Sparkle.Rodents-Montreal.ORG> > // for comments in C is actually convenient, but it is a serious > break from the original CONCEPT of newline being nothing more than > "whitespace". That concept was shot as soon as the preprocessor was invented. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From cclist at sydex.com Thu Jan 5 12:46:25 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 10:46:25 -0800 Subject: Right toolf for the job In-Reply-To: <1220834493-1325783874-cardhu_decombobulator_blackberry.rim.net-218465181-@b15.c1.bise3.blackberry> References: <20120104132145.L41929@shell.lmi.net>, <4F05652B.2322.B44A4@cclist.sydex.com>, <1220834493-1325783874-cardhu_decombobulator_blackberry.rim.net-218465181-@b15.c1.bise3.blackberry> Message-ID: <4F057F81.13353.722485@cclist.sydex.com> On 5 Jan 2012 at 17:18, Vintage Coder wrote: > I don't know, I haven't written any FORTRAN to speak of since IBM > FORTRAN H. I thought you agreed with me, but that must have been > somebody else. No, just saying that it's FORTRAN 66, FORTRAN 77 and FORTRAN II, but "Fortran 90", "Fortran 2003" although "FORTRAN 90" is also okay, according to ANSI. Perhaps everyone should follow the trend though and talk about c, cobol, pl/i, snobol, simscript, basic, jovial, dos, vms... Maybe they already do... --Chuck From mcguire at neurotica.com Thu Jan 5 12:46:51 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:46:51 -0500 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: <4F05F01B.8000407@neurotica.com> On 01/05/2012 12:57 PM, Richard wrote: >> On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: >> >>> Does anybody write compilers in assembly any more? Or ever will, again? > > People write compilers all the time. If you think they don't, you're > seriously out of the loop. It was a joke, son. I say, a JOKE. -- Dave McGuire New Kensington, PA From mcguire at neurotica.com Thu Jan 5 12:50:11 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:50:11 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> References: , <4F021FF8.6247.26D6D34@cclist.sydex.com>, <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> Message-ID: <4F05F0E3.7050109@neurotica.com> On 01/04/2012 07:36 PM, Chris M wrote: > This is definitely the case. It's pretty tough to find a programmer > these days who has any idea of how a computer actually works, even at > the assembly language level. This is something that many (most?) > people think is "just fine", and some have even go so far as to fling > around statements like "why should I learn to be a mechanic just to > drive a car?" ...thinking that's an appropriate analogy when it's > not. Looking at the state of software today proves my point beyond > any shadow of a doubt. > > -Dave > > C: I hate to tell you but was always the case. Unless the programmer > was working in al/ml, he didn't nor needed to know much about the > innards and what was going on under the hood. Granted there was a > time when you _needed_ to be something of a mechanic to get behind > the wheel. But isn't that one of the natural goals of technology, to > make things easier to use, and be able to devote time to other > things? How many housewives (or their husbands!) know how to fix a > washing machine? Some people get to poking around, and that's a good > thing generally. When you advance to poking around inside your > computer (w/1s and 0s or a scope/logic probe) all the better. But > what does programming w/objects have to do w/interrupt vector > tables??? I thought that we want to one day communicate w/our > computers solely by voice. We're not really in disagreement here. What I'm saying is that a much larger percentage of today's programmers are of the type who think it is somehow "beneath" them to understand what the computer (not the compiler) is doing with their code. There have always been lazy, disinterested programmers who don't care about becoming better programmers. Now it's pretty much ALL of them. -Dave -- Dave McGuire New Kensington, PA From legalize at xmission.com Thu Jan 5 12:50:38 2012 From: legalize at xmission.com (Richard) Date: Thu, 05 Jan 2012 11:50:38 -0700 Subject: DEC LISP text (was: teaching programming to kids) In-Reply-To: References: Message-ID: In article , Ian King writes: > My first Lisp text that made sense to me was one published by DEC, aimed > at experienced programmers. [...] This sounds interesting. What was the book? -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From mcguire at neurotica.com Thu Jan 5 12:51:31 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:51:31 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325724785.28698.YahooMailNeo@web164516.mail.gq1.yahoo.com> References: , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au> <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04E1F7.30704@neurotica.com> <1325724785.28698.YahooMailNeo@web164516.mail.gq1.yahoo.com> Message-ID: <4F05F133.2070004@neurotica.com> On 01/04/2012 07:53 PM, Chris M wrote: >> Omgosh why before? Why not after? How many, but the truly >> deranged/depraved, learned machine language (machine language!) as >> their first language??? I mean no offense to those who learned ml >> on a keypad. Oh who am I kidding. I could care less if I pissed >> them off!. But I learned assembler on a k/b! The real man's way! >> >> Are you willing to declare that every compiler writer getting a >> check today learned ml first Chuckers? Something tells me the vast >> majority probably cut their teeth on BASIC, Pascal, and FORTRAN. >> But what do I know. > > I had to read this about three times before I realized that by "ml" > you meant "machine language", not the language "ML". > > C: Well read it again anyway. Chuck makes the assumption that all > language "work". You don't need no stinking ml to tell you that. You > might need ml to tell you things about the ones that don't work! > Psyyyche... > > Am I a pain? I've been on this list for 6 or 7 years, and I yet to > hear from anyone regarding whether it's painful to read my posts. Or > am I just forgetful...too? Not at all! You are unusual, but personally, I rather dig that about you. I was just complaining in a minor way about unnecessary abbreviating when it actually caused a problem. I didn't lose any sleep over it. -Dave -- Dave McGuire New Kensington, PA From cclist at sydex.com Thu Jan 5 12:51:34 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 10:51:34 -0800 Subject: Right toolf for the job In-Reply-To: References: <20120104132145.L41929@shell.lmi.net>, <4F05652B.2322.B44A4@cclist.sydex.com>, Message-ID: <4F0580B6.2470.76DC0A@cclist.sydex.com> On 5 Jan 2012 at 12:15, Ethan Dicks wrote: > I read the ANSI C standard when it was new, but part of the > inspiration was due to my boss being the DECUS representative to the > X3J committee and hearing some of the stories of what it took to forge > the standard in the first place (I'd only been programming in C for > 2-3 years at the time). On further consideration, I guess that's okay. Few people sit down and read their mortgages either, it seems. Some standards, such as that for PL/I can give you a real headache. But, as in a mortgage, it's always nice to know what the rules are. --Chuck From mcguire at neurotica.com Thu Jan 5 12:52:05 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:52:05 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> Message-ID: <4F05F155.6030504@neurotica.com> On 01/05/2012 12:19 AM, Vincent Slyngstad wrote: >> So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for I/O? > > Hmm...that sounds like a disturbingly good idea :-). That sounds like a TANTALIZINGLY good idea!! -- Dave McGuire New Kensington, PA From cisin at xenosoft.com Thu Jan 5 12:52:49 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 10:52:49 -0800 (PST) Subject: teaching programming to college kids In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: <20120105100404.B76006@shell.lmi.net> On Thu, 5 Jan 2012, Ethan Dicks wrote: > I also think that there is a significant difference between teaching > elementary/middle-school children (6-12) and college students (18-23) > specifically in reference to abstractness. Young adults pursuing a > technical education are going to be able to handle abstract concepts > better than someone half their age or younger (or they are going to be > finding a new field of study ;-). Clancy/Harvey (UCB): "The very first course in our lower division undergraduate [first year of collefge] curricula is Abstraction, using SCHEME. It is a fantastic language, capable of many things THAT NO OTHER LANGUAGE CAN DO." [They then put a problem on the board that "cannot be done in any other language, becayse recursion is the only possible way to do it." (traversing a 2 dimensional array) While they typed in their solution, I wrote out solutions (WITHOUT recursion) on my notepad in C, BASIC, FORTRAN, and was halfway through COBOL! (I didn't get a chance to do APL, ASM, or Pascal) Their religious proselytizing got seriously in the way of their arguments of how good it is.] Q: I see that your SECOND course is "demystification" using C. Since that's a different language in non-trivial ways from the previous course, will the students be learning C in the second course, instead of the first one? A: NO! We expect them to already have a solid working knowledge of C before they come here. WHAT??? They repeated it. Any student entering their first year of college there as a CS major was assumed to already know C. Q: Won't some students have difficulty with that? A: Oh, it's "Social Darwinism". We have too many entering students, so we WANT 80% to drop out of the program in the first year. If we don't get at least 80% leaving the program, then we merely increase the workload until enough fail and leave. Sometimes we have to work them 20 hours a day, and assign 4:00 AM lab times, etc. to get the desired result. They won't be expelled, or anything, they can still become business majors. [I lost some respect for the UCB CS program] [Does their "Darwinism" select for CS ability, or STAMINA and tolerance for ABUSE?] [Sorry, Toby, but C/H prejudiced me against SCHEME. I do still intend some day to give it a fair try] Q: What's your timeframe for implementing this curricula? A: Oh, we've been doing it with wonderful success for over 5 years. Q: The current college catalog is nothing like that, it still has the traditional program. When do you expect the catalog changes to be made. A: Oh, that happened YEARS ago. This years catalog just has a glitch and must have reprinted an old version. [Doe Library [reference desk] has current and older catalogs. NO prior catalog had their sequence!] I don't think that UC Berkeley has THE ANSWER. -- Grumpy Ol' Fred cisin at xenosoft.com From legalize at xmission.com Thu Jan 5 12:55:20 2012 From: legalize at xmission.com (Richard) Date: Thu, 05 Jan 2012 11:55:20 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <0AB6F1D5-4199-4DC2-9BD7-331F0CA12F18@gmail.com> References: <0AB6F1D5-4199-4DC2-9BD7-331F0CA12F18@gmail.com> Message-ID: > On Jan 5, 2012, at 12:09 PM, Liam Proven wrote: > > > Closures: again, I have yet to find a readable, comprehensible > > explanation of what they are, what they are good for, why they are > > powerful and what strengths they confer onto a programming language. Closures are great for JavaScript because it lets you have truly private data that other people can't muck with. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From mcguire at neurotica.com Thu Jan 5 12:55:51 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:55:51 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201051235.q05CZV7G076769@billy.ezwind.net> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> <201201051235.q05CZV7G076769@billy.ezwind.net> Message-ID: <4F05F237.5010205@neurotica.com> On 01/05/2012 07:27 AM, John Foust wrote: > At 06:36 PM 1/4/2012, Chris M wrote: >> This is definitely the case. It's pretty tough to find a >> programmer these days who has any idea of how a computer actually >> works, even at the assembly language level. > > Not hard at all. Just filter for the ones over 40 who expect a > decent salary. Maybe they've already moved to upper management. ROFL! Yes! And that crazy idea that being in "management" (overhead positions that require no real brainpower) as opposed to creating things has really crippled our industry. We have a crop of highly talented, interested programmers who are bored to tears in meetings, and the work they SHOULD be doing is being done by PFYs who wouldn't know elegant simplicity if it walked up and pinched them on the ass. -Dave -- Dave McGuire New Kensington, PA From mcguire at neurotica.com Thu Jan 5 12:56:23 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 13:56:23 -0500 Subject: Right toolf for the job In-Reply-To: <77169650-1325778683-cardhu_decombobulator_blackberry.rim.net-1690640727-@b15.c1.bise3.blackberry> References: <77169650-1325778683-cardhu_decombobulator_blackberry.rim.net-1690640727-@b15.c1.bise3.blackberry> Message-ID: <4F05F257.4010408@neurotica.com> Umm. Wow. I'm sorry Mouse, but..."oh, snap!" ;) -Dave On 01/05/2012 10:51 AM, Vintage Coder wrote: > If you look at the November, 1972 paper Wirth put out called "The Programming Language Pascal (Revised Report) you will find both "Pascal" and "PASCAL" in the text. > > The canonical "PASCAL User Manual and Report" (Springer-Verlag, 1974) uses all caps in the title and then in a few places such as "PASCAL 6000". > > Just because it's a proper name doesn't mean it's incorrect to capitalize it. After all, wasn't Blaise Pascal a Frenchman, and don't the French capitalize last names to this very day? ;-) > > ------Original Message------ > From: Mouse > Sender: cctalk-bounces at classiccmp.org > To: cctalk at classiccmp.org > ReplyTo: General Discussion: On-Topic and Off-Topic Posts > Subject: Re: Right toolf for the job > Sent: 5 Jan 2012 15:00 > >> they tell me it's not "FORTRAN" it's "Fortran" when I know damn well >> it's an acronym! > > Not in the usual sense of `acronym', though. But... > >> PASCAL as delivered was pretty unusable. > > ...if you're going to draw the distinction between "Fortran" and > "FORTRAN", you might at least get Pascal's name right. :) > > /~\ The ASCII Mouse > \ / Ribbon Campaign > X Against HTML mouse at rodents-montreal.org > / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B > > -- Dave McGuire New Kensington, PA From legalize at xmission.com Thu Jan 5 12:57:32 2012 From: legalize at xmission.com (Richard) Date: Thu, 05 Jan 2012 11:57:32 -0700 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: <20120104081423.GA50979@pegasus.freiberg-net.de> Message-ID: In article , Ethan Dicks writes: > On Wed, Jan 4, 2012 at 3:14 AM, Holm Tiffe wrote: > > Like it too. > > I've repaired several old computers (no PDP8) and it is always fascinating > > to read such blogs. I know "mass dead effects" of several TTL chips too > > Don't know if it's similar to what you've seen or not, but from my > experience testing M-series modules for the -8/L and -8/i, I've found > more dead 7474s and 7440s than any other type of chip. > > For my testing, I rigged up a 3M test clip > (http://parts.digikey.com/1/parts/389650-16-pin-test-clip-3-row-space-923700. html) > to a ribbon cable with two IDC headers crimped on one end about an > inch apart so that I could mount one IDC connector on each side of the > clip, then cobbled up an adapter for the other end of the cable from a > wire-wrap socket so that in the end, I had a cable that could clip > onto one IC and fit into the ZIF socket of a hand-held IC tester. I > would test my FLIP-CHIP modules out of the box, letting the tester > power all the ICs on the board but only fiddle the lines on the chip > under test. > > With that device, I could test a pile of M111, M113... M216, etc., > boards in a few minutes and identify failed ICs. Complex boards like > the M220 Major Registers module, though, still have to be tested the > hard way. Wow, what a great idea! I'm filing that one away. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From cisin at xenosoft.com Thu Jan 5 12:58:34 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 10:58:34 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: <20120105105628.A76006@shell.lmi.net> > > > Does anybody write compilers in assembly any more? Or ever will, again? On Thu, 5 Jan 2012, Richard wrote: > People write compilers all the time. If you think they don't, you're > seriously out of the loop. I was speaking facetiously! "Nobody program in assembly any more; nor ever will again." is another quote from Clancy and Harvey. . . . and, YES. I AM very seriously out of the loop. -- Grumpy Ol' Fred cisin at xenosoft.com From cclist at sydex.com Thu Jan 5 12:59:23 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 10:59:23 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <1325724785.28698.YahooMailNeo@web164516.mail.gq1.yahoo.com> References: , <4F04E1F7.30704@neurotica.com>, <1325724785.28698.YahooMailNeo@web164516.mail.gq1.yahoo.com> Message-ID: <4F05828B.24912.7E020E@cclist.sydex.com> On 4 Jan 2012 at 16:53, Chris M wrote: > ?C: Well read it again anyway. Chuck makes the assumption that all > language "work". You don't need no stinking ml to tell you that. You > might need ml to tell you things about the ones that don't work! > Psyyyche... Linux 2.4.18-14? Cuuuuupid? I have no idea what you're trying to say. --Chuck From derschjo at mail.msu.edu Thu Jan 5 13:03:54 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Thu, 05 Jan 2012 11:03:54 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F05F41A.4030008@mail.msu.edu> On 1/5/2012 9:09 AM, Liam Proven wrote: > All right, some interesting points there. > > But, by way of seeking clarification - well, let's put it this way. I > am interested and very curious about Lisp, Scheme, Lisp Machines and > so on. Indeed I am, as a result of my reading, trying to research and > write an article on the history of Lisp Machines. > > And yet, despite reading acres about this, I have yet to find *any* > coherent nonspecialist texts, guides, tutorials or explanations about > these languages. What texts have you looked at? "Practical Common Lisp" is fairly decent, "Structure and Interpretation of Computer Programs" (http://deptinfo.unice.fr/~roy/sicp.pdf) is a great introduction. Recently I've skimmed through "Land of Lisp" which is a fun book with a good sense of humor that teaches Lisp by way of writing simple games. > > For instance, the lambda calculus. What is it? What does it do, what > is it for, why is it special? It's the fundamental mathematical concept behind functional programming languages. It's by no means a prerequisite for using (or understanding) Lisp. I'm not sure I understand it well enough to explain it coherently, so I'll let someone else chime in here :). > > Closures: again, I have yet to find a readable, comprehensible > explanation of what they are, what they are good for, why they are > powerful and what strengths they confer onto a programming language. (Warning, huge URL, to Peter Siebel's "Practical Common Lisp") http://books.google.com/books?id=gwyZ4jdn_jMC&pg=PA68&lpg=PA68&dq=closures+in+lisp&source=bl&ots=PfkTcPue18&sig=S4J-MJ4rbbW5Qan49AXt0tgMEss&hl=en&sa=X&ei=UewFT7bYBoeiiQLJ8YCBDA&ved=0CGAQ6AEwCDgK#v=onepage&q=closures&f=false See page 68 at least. I'd also suggest reading "Structure and Interpretation of Computer Programs." It's Scheme-based, but most of what it's talking about applies to Lisp as well. And it uses closures heavily as a powerful abstraction. > > If the teaching& reference materials that I have found so far are > unable to convey these core concepts, then there would seem to be two > possible conclusions: > > [a] /all/ the materials that I've been able to find are extremely > poor, even the ones that are more or less universally agreed to be > very good > > or > > [b] these are complex, difficult concepts and a massive amount of > back-knowledge is necessary to understand it. Or [c] you're taking the wrong approach to actually learning this. Sit down with a copy of SICP and a computer running Scheme. Go through the examples. Experiment. And don't worry about understanding everything all at once. (I'd also argue that the two items you list as "core concepts" are not as "core" as you're making them out to be. As I've said, understanding Lambda calculus at the mathematical level is by no means a requirement for actually using a functional programming language. Similarly, closures are very useful but by no means required knowledge for starting off in Lisp.) > > I would *REALLY* like and hugely value any pointers, ideally web links > but print references would do as well, as to these concepts. > > But are there other possible explanations that I have missed? That > these things are easy but all the texts are rubbish? I'm not going to say these things are easy -- programming isn't easy in general. Learning a new programming paradigm isn't easy. Lisp and Scheme themselves are not complicated, but there are concepts in them that you really won't understand until you sit down and start using them. You'll have a few "a ha!" moments, and things will start making more sense. I'm still relatively inexperienced with Lisp. I know my way around it, but I don't claim to be an expert, and I'm still learning new things that make me say "a ha!" - Josh From wdonzelli at gmail.com Thu Jan 5 13:04:52 2012 From: wdonzelli at gmail.com (William Donzelli) Date: Thu, 5 Jan 2012 14:04:52 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: > My first language was FORTRAN IV (on Hollerith cards), Wow! With round holes? -- Will From ethan.dicks at gmail.com Thu Jan 5 13:21:52 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 14:21:52 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120105102749.T76006@shell.lmi.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105102749.T76006@shell.lmi.net> Message-ID: On Thu, Jan 5, 2012 at 1:33 PM, Fred Cisin wrote: >> > Very *very* few people's careers are going to involve programming >> > computers. One in a million, maybe, if that. > > On Thu, 5 Jan 2012, Ethan Dicks wrote: >> Estimated number of "Computer Programmers" (Seried ID EEU80737101) - 700K > > But, how is "computer programmer" DEFINED for the purpose of those > numbers? ?(What categories are available?) I completely understand the limitations of Federal job designations, but this is what I was able to pull up, and at least shows that "one in a million" is a vast undercount. I was not trying to suggest it is an all-inclusive/properly-exclusive statistic. I'm certainly willing to stand behind "less than 1%" of the workforce programs computers for a living, but how many slivers of a percent is it really? A few, probably. > If there is no category for "website designer", do they get counted as > "programmer"? The definition given where I got the stat does mention that "programmer" _might_ build websites, so it likely covers folks who wear many hats but may or may not include workers who only build web sites. It's unclear. > "I PROGRAM in DreamWeaver!" Yes... I've heard that. I try not to react in an antagonistically offensive manner (but I often fail trying). > In the opposite direction, I remember when computer programming was not > one of the choices for business activity on IRS 1040 schedule C - had to > choose something like "computer related manufacturing"! The first time in my life I ever applied for unemployment, the best IT definition for my former job would have been "VMS System Administrator" (called "System Manager" at the time, which happened to make the situation worse since I did not manage subordinate employees). There was nothing even remotely close to that in the Federal Job Register. I was declared a Mainframe Systems Programmer and was required to apply for 1-3 matching jobs per week to maintain my status to receive my weekly checks. I don't think it's a shock that I wasn't actually qualified to be employed as a Mainframe Systems Programmer, so 100% of the leads for State jobs that were funneled my way by the Job and Family Service folks were a bad fit. Eventually, I found gainful employment on my own with no assistance from the public safety net (and the benefits paid for by my previous employer meant I could keep my house and eat). I started my career as a contractor, paid on a 1099, and filing a Schedule C (talk about growing up fast)... I seem to recall the same paperwork dilemma you had, and my accountant picked something similar for that blank as well. -ethan From dm561 at torfree.net Thu Jan 5 13:29:57 2012 From: dm561 at torfree.net (MikeS) Date: Thu, 5 Jan 2012 14:29:57 -0500 Subject: Cromemco FDC References: Message-ID: <868A1BB175F14B6FA49971D5BD80032B@vl420mt> ----- Original Message: Date: Thu, 05 Jan 2012 10:10:08 -0500 From: "Bill Sudbrink" James Attfield wrote: > >> FYI the ROM on the 'FDC flips in and out the entire top 32K bank. > I just double checked the schematics and this is not correct. > The 16FDC feeds address lines 15-12 through a 74ls30 to do a > specific decode for a 4K address range, normally set to $C000-$CFFF. > If the high four address bits do not match, the card will not > respond. > Bill S. -------------------------------------------------- The 16FDC does indeed have a set of jumpers to select a 4kB block, normally at $C000, but the 64FDC that we were talking about only uses A15, i.e. the upper 32kB; also, the 64FDC's RDOS ROM is 8kB vs. the 16FDC's 4kB. In any case, the memory boards are usually configured to map out the upper 32kB. From spectre at floodgap.com Thu Jan 5 13:45:25 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Thu, 5 Jan 2012 11:45:25 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: from Ethan Dicks at "Jan 5, 12 01:29:34 pm" Message-ID: <201201051945.q05JjPGP014484@floodgap.com> > I was, from day one. I _used_ other machines, and I did admire > certain features of other machines (like the Hi-res graphics of the > Apple II when all I had was a character-graphic PET), but really > enjoyed getting to know Commodore products at the ROM-code and > register level (something I never enjoyed on the Apple II, even when I > was being paid to to program it - I appreciate and admire Woz's > hardware from a technician's standpoint, but I can't stand the > consequences of his achievements from a programming standpoint). Well-put. Programming on the Apple II, as clever as the design was, is generally an exercise in trying to figure out what Woz was thinking at the time. I rarely, if ever, had that kind of frustration with the Commodore 64. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- Watch your mouth, kid, or you'll find yourself floating home. -- Han Solo -- From aek at bitsavers.org Thu Jan 5 13:54:37 2012 From: aek at bitsavers.org (Al Kossow) Date: Thu, 05 Jan 2012 11:54:37 -0800 Subject: DEC LISP text In-Reply-To: References: Message-ID: <4F05FFFD.1070409@bitsavers.org> On 1/5/12 10:50 AM, Richard wrote: > In article, > Ian King writes: > >> My first Lisp text that made sense to me was one published by DEC, aimed >> at experienced programmers. [...] > > This sounds interesting. What was the book? Steele "Common Lisp: The Language" 1984 2nd edition published in 1990 From jfoust at threedee.com Thu Jan 5 13:54:05 2012 From: jfoust at threedee.com (John Foust) Date: Thu, 05 Jan 2012 13:54:05 -0600 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120105102749.T76006@shell.lmi.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105102749.T76006@shell.lmi.net> Message-ID: <201201051955.q05Jt3aM091357@billy.ezwind.net> At 12:33 PM 1/5/2012, Fred Cisin wrote: >If there is no category for "website designer", do they get counted as >"programmer"? >"I PROGRAM in DreamWeaver!" I think even the most graphic-art-intensive web designer is acquainted with HTML, probably JavaScript, XML, and before you know it, they're picking up Unix concepts from web hosts, making small alterations to PHP or other scripting languages, maybe touching SQL. Does the average web designer routinely bump up against more programming languages per day than the average programmer? - John From cisin at xenosoft.com Thu Jan 5 13:55:01 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 11:55:01 -0800 (PST) Subject: Right tool for compilers In-Reply-To: <201201050720.q057KEIQ071156@billy.ezwind.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> Message-ID: <20120105113009.X76006@shell.lmi.net> > > C is pretty good for writing compilers, and it takes little more than > > "The dragon book" (Aho & Ullman) plus a LOT of time and effort to produce > > one. On Thu, 5 Jan 2012 vintagecoder at aol.com wrote: > Emphasis on a LOT of time, I looked at the book and gave up! Blinded me, > with SCIENCE! Same here. But, then I sat through Alan Holub's "Compiler Writing" class. It was a great experience. But, now the dragon book seems simple in comparison. Holub and I have chatted on occasion. I feel strongly that C code on the blackboard needs to be spread out into multiple statements to make it easiest and quickest to follow and understand. Holub doesn't agree. But, he couldn't see why IBMBIO.COM and IBMDOS.COM had to be contiguous at the beginning of the disk. My canonical example, while (*T++=*S++); just for the sake of readability, is easier for a beginner OR STUDENT to follow as something like: do { X = *S; *T = X; S++; T++; } while('\0' <> X); /* Yes, of course, (X), but that's my point. */ (Readability and ease of understanding is more important than efficiency for EXPLAINING something) -- Grumpy Ol' Fred cisin at xenosoft.com From cisin at xenosoft.com Thu Jan 5 14:08:31 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 12:08:31 -0800 (PST) Subject: Caps? (Was: Right toolf for the job In-Reply-To: <4F057F81.13353.722485@cclist.sydex.com> References: <20120104132145.L41929@shell.lmi.net>, <4F05652B.2322.B44A4@cclist.sydex.com>, <1220834493-1325783874-cardhu_decombobulator_blackberry.rim.net-218465181-@b15.c1.bise3.blackberry> <4F057F81.13353.722485@cclist.sydex.com> Message-ID: <20120105115944.W76006@shell.lmi.net> On Thu, 5 Jan 2012, Chuck Guzis wrote: > Perhaps everyone should follow the trend though and talk about c, > cobol, pl/i, snobol, simscript, basic, jovial, dos, vms... When I first started teaching (FORTRAN, BASIC, beginning DOS), I had a long commute, and a lot to learn. One of my students who is blind gave me copies of books on tape - there is an ENORMOUS selection of amateur readings for the blind. I put a copy of the the COBOL textbook (Olson and Price (text written by OUR instructors)) into the car tape player with auto-repeat, turned the volume fairly low and let it drone on over and over and over, until I knew the wording of the book. When I did that with K&R, it was disconcerting at first to hear constant references to "capsee" - the readers for the blind voice the capitalization. -- Grumpy Ol' Fred cisin at xenosoft.com From alexeyt at freeshell.org Thu Jan 5 14:18:43 2012 From: alexeyt at freeshell.org (Alexey Toptygin) Date: Thu, 5 Jan 2012 20:18:43 +0000 (UTC) Subject: teaching programming to college kids In-Reply-To: <20120105100404.B76006@shell.lmi.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105100404.B76006@shell.lmi.net> Message-ID: On Thu, 5 Jan 2012, Fred Cisin wrote: > Q: Won't some students have difficulty with that? > A: Oh, it's "Social Darwinism". We have too many entering students, so we > WANT 80% to drop out of the program in the first year. If we don't get at > least 80% leaving the program, then we merely increase the workload until > enough fail and leave. Sometimes we have to work them 20 hours a day, and > assign 4:00 AM lab times, etc. to get the desired result. They won't be > expelled, or anything, they can still become business majors. UMCP does the exact same thing, only they mix in unfair/arbitrary grading practices to jack up the failure rate. AFAICT, they do it so that they can get the students' money for a couple of semesters but not actually have to teach them anything. I switched to math after 2 semesters in CS and never looked back. Not that that stopped me from programming (for the university no less), or getting a career in software development... made me hate the university administration though. Alexey From cclist at sydex.com Thu Jan 5 14:19:03 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 12:19:03 -0800 Subject: Right toolf for the job In-Reply-To: <20120105095303.T76006@shell.lmi.net> References: <20120104132145.L41929@shell.lmi.net>, <4F05652B.2322.B44A4@cclist.sydex.com>, <20120105095303.T76006@shell.lmi.net> Message-ID: <4F059537.4137.C6F181@cclist.sydex.com> On 5 Jan 2012 at 10:03, Fred Cisin wrote: > My impression was that each and every committee member wanted a > completely different language than the current language. ("fortran > should look like Pascal!" "Fortran should be as 'elf-documenting' as > COBOL!", etc.) And, each one wanted complete standardization on THAT > committee member's unique implementation. OK, WE aren't exceptions. > I want every language to use .EQ. for comparision, and an arrow for > assignment. // for comments in C is actually convenient, but it is a > serious break from the original CONCEPT of newline being nothing more > than "whitespace". My impressions of X3J3 left me with the feeling that it was less a meeting of people interested in advancing the art, than a meeting of lobbyists for outside interests. Thus, IBM came to the vector extensions group with the specific intention of ratifying VECTRAN as the standard, rather than producing something useful. Others held the feeling that it would be a cold day in Hell if any part of VECTRAN made it into the standard. You get the idea. But that's the way standards committees have always worked as far as I know. The FLOW-MATICs against the COMTRANs. The more curious thing is that few representatives, other than those from the national research institutions (Sandia, LLL, etc.) have much experience in everyday usage of the the stuff that they're trying to standardize.. A substantial number of them come from the compiler implementation segment, as in "I write COBOL, but have never written anything in it other than a trivial "Hello World" program". Most dutifully took the questions back to their employers to let the marketing people chew on them. I do not know if this holds for other committees, such as the standards committe for C++. Maybe standards committees are to software advancement as standing armies are to civil rights--they're incompatible. --Chuck From michael.99.thompson at gmail.com Thu Jan 5 11:41:38 2012 From: michael.99.thompson at gmail.com (Michael Thompson) Date: Thu, 5 Jan 2012 12:41:38 -0500 Subject: Email address for Hans Pufal of ACONIT? Message-ID: Can someone send me the email address for Hans Pufal of ACONIT? I would like to talk to him about the PDP-9 project at the RICM. -- Michael Thompson From dm561 at torfree.net Thu Jan 5 14:30:18 2012 From: dm561 at torfree.net (MikeS) Date: Thu, 5 Jan 2012 15:30:18 -0500 Subject: Cromemco FDC References: Message-ID: <4C3B6DAA0D1545C8AC9F9FF9038E6F51@vl420mt> ----------------------- Original Message: Date: Thu, 5 Jan 2012 13:38:16 -0000 From: "James Attfield" Date: Sat, 31 Dec 2011 10:02:11 -0800 (PST) From: Jerry Wright Subject: Re: Looking for 8080/Z80 BASIC >> Josh, I would love to get your 64FDC for my Cromemco 68020 machine that >> is missing one. I have 16 FDC and other Croemeco Z-80 Boards to go along >> with it. > Which model 68020 Cromemco is it? I might be able to find a spare 64FDC... > mike Long shot, but if you have another or Josh doesn't take it I'd love to give it a home. I have a complete Cromemco board set here in an IMS-5000 chassis and a pair of TM848's but have consistently failed to get the 16-FDC to talk to them reliably. I'd dearly love to get a 64-FDC for it to go with the ZPU and/or an STD hard disk controller (or an IMI drive to go with the WDI-II controller I have). Anyone? FYI the ROM on the 'FDC flips in and out the entire top 32K bank. During boot RDOS ensures that the top 32K flips in and RDOS then flips out giving a clean 64K map. All done through port 40H. Jim -----------------------Reply: Hi Jim, Are you the same Jim I'm corresponding with elsewhere about a broken 256/1024KZ? If so, you and I can discuss the 64FDC off-list; I haven't heard from Jerry. I do have some IMI drives, both the 8" 11MB and the 5" 5MB and 20MB units, but I'm pretty sure at least some of them are non-functional.What size/capacity are you looking for? IMI drives were also used by Corvus; as a matter of fact the two companies ultimately merged. The IMI 20MB mechanism was also available with a normal ST412/506 interface card and used in XT clones etc., in case you have a defective drive with a good IMI board and can find one of those drives. m From ard at p850ug1.demon.co.uk Thu Jan 5 13:27:34 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Thu, 5 Jan 2012 19:27:34 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120104131430.G41929@shell.lmi.net> from "Fred Cisin" at Jan 4, 12 01:16:55 pm Message-ID: > > On Tue, 3 Jan 2012, Chris M wrote: > > Oh if I had my way, every computer would have BASIC in firmware or on > > disk. > > You betcha. > > . . . and to supplement or ameliorate deficiencies in the firmware > version, there can be addtions to it on the disk! > . . . and, for those missing the firmware copy, put "Gee Whiz BASIC" on > the disk! Actually, if I had my way, every computer would have Forth in the frimware. I think it should be a on offence to sell something as a computer if it does not compe with a programming language and the documentation to use said language. After all, a computer is a programamed data processor, and if you can't prgoram it, it's not a computer. -tony (only _half_ joking) From ard at p850ug1.demon.co.uk Thu Jan 5 13:35:29 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Thu, 5 Jan 2012 19:35:29 +0000 (GMT) Subject: The PDP-8/L at the RICM is running! In-Reply-To: from "Ethan Dicks" at Jan 4, 12 04:28:13 pm Message-ID: > Don't know if it's similar to what you've seen or not, but from my > experience testing M-series modules for the -8/L and -8/i, I've found > more dead 7474s and 7440s than any other type of chip. When I was repairing m HP98x0 machines I noticed that 74Hxx parts were significantly more likely to fail than plain 74xx parts. And I think the 74H40 and 74H74 were high up the list of those that had failed. > > For my testing, I rigged up a 3M test clip > (http://parts.digikey.com/1/parts/389650-16-pin-test-clip-3-row-space-923700.html) > to a ribbon cable with two IDC headers crimped on one end about an > inch apart so that I could mount one IDC connector on each side of the > clip, then cobbled up an adapter for the other end of the cable from a > wire-wrap socket so that in the end, I had a cable that could clip > onto one IC and fit into the ZIF socket of a hand-held IC tester. I > would test my FLIP-CHIP modules out of the box, letting the tester > power all the ICs on the board but only fiddle the lines on the chip > under test. That's OK if the flipchip sinmply brigns out each IC to different pins on the connector (a lot of the simpler ones do), but surely on more complex boards where the ICs are interconnected, you're going to have contentions between the outputs of the IC tester andf the outputs of other ICs on the board (which are being powered from the tester). There is, of course, HP's logic comparator, which is a device that takes a good IC of the type you are looking at, feeds it the same inputs and the drive on the board you're tersting and compeaes the outputs of the good IC and the one on the board. It then indicates which pins are different. It's fie for simple gate ICs. It falls down on sequential devices unless you can be sure they start off i nthe same state (suppose you use a counter as a clock divider and don't bother to reset it to 0 on power-on. The one in the tester may start off in a diifferent state, so that all the outputs are differnet for evermore, even though the 2 counters are workign perfectly). It also falls down if you have open-collector devices wihci are wire-ANDed. I am not sure eitehr the logic comparator or the IC tester will pick up ICs that are 'going slow'. I've had S TTL fail in such a way that it still perfoms the right function, but the propagation delay is much longer than it should be. Trakcign that sort of fualt down is entertaining. Personally,giiven all the restrictions, I am not sure either method is ant faster than the old-fashuioned way of seeing what doesn't work and tracing signals to find why it doesn';t work. -tony From ard at p850ug1.demon.co.uk Thu Jan 5 14:06:26 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Thu, 5 Jan 2012 20:06:26 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04B106.10307.227EAD5@cclist.sydex.com> from "Chuck Guzis" at Jan 4, 12 08:05:26 pm Message-ID: > > On 4 Jan 2012 at 22:27, allison wrote: > > > My choice was a 2816(2k EEPROM) , 74374(D latch) and 555(osc). State > > machine trumps CPU for dumb task. Took an hour to explain it, likely > > more to teach him to program a EEprom. > > Nowadays, I'm not so sure. An 8-pin MCU is dirt-cheap and can be > easily adjusted to change the algorithm. I think it was ED that had As can a state machine. You change the progrtammaing of the state ROM (or whatever you're using). > an article not too long ago that asked if an MCU or a 555 was better > for new projects. > > The question came down to the need for programming of the MCU, so the > 555 still had an edge. Ther;'es also the issue of reliability. It's true that a microcontroller is more reliable than the same thing built out of simple logic chips -- if you need all the functionailty of the microcontroller. But my experience suggests that more complex ICs are noticeably less reliable than simple ones, and that a boaud of 3 or 4 TTL packages can well be more reliable an the same thing done with just a single-chip microcontroller. In my case there;s no constast. I can have the 555 version built and running before I've even fired up a compute rto urn the MCU tools. > > My last application that I would have normally solved with a couple > of one-shots was solved with an 8-pin PIC--I could design the thing > with a few more smarts and self-calibration. I'd probably hav eused a state machine, but then I don;t know what the problem was. > > So choices aren't always so clear-cut, particularly in today's cheap > silicon days. It's already coming down to which is cheaper--an FPGA > or an MCU. I am rapidly gettign the feeling that just as few people seem to be able ot program any more, very few people can design hardware any more.... I remmeebr a conversation I had some yeas ago THegroup was deisnging a device which involved some high-speed analiguye and ECL circuity and thus had ot go on a 16 layer, arefull-made (read : mega-expensive) PCB. There was one bit of the desing that handn't been completed, It came down to producing a logic signal from 3 other logic signals (I think all F TTL). Thing is, they wanteto get the PCB off to the manufcaturer ASAP, without finising that part of the desigbn. I glanced at the problem and said 'That's trivial. I can do it in one IC'. One of the others's replied 'A PROM? A PAL? are they fast enough? Do we have the programmer for them'. 'No', I said, 'Just a plain TTL chip with no programming needed'. OK, what was the chip I suggested? (if did get used, BTW, and worked prefectly). -tony From ard at p850ug1.demon.co.uk Thu Jan 5 13:45:48 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Thu, 5 Jan 2012 19:45:48 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04D19B.2010208@neurotica.com> from "Dave McGuire" at Jan 4, 12 05:24:27 pm Message-ID: > This is definitely the case. It's pretty tough to find a programmer > these days who has any idea of how a computer actually works, even at I suspect there are quite a fww on this list. I am not sure if I am one of them. I haev a pretty good idea of how some computers work, but I don;t think I should be classed as a programmer. > the assembly language level. This is something that many (most?) people > think is "just fine", and some have even go so far as to fling around > statements like "why should I learn to be a mechanic just to drive a > car?" ...thinking that's an appropriate analogy when it's not. Looking Actually, I would think that a good driver would have a fair idea as to how the car works os that (a) he knows how he can 'misuse' it to get out of trouble, (b) recognises problems before they get serious (e.g. spongy breaks, play in the steering) and (c) can get going after a breakdown. I am prehaps unique inm that I have never learnt to drive, but there's no car reapr ithat would worry me. The only subsystem I can't fully repair is the air conditioning, ans that's simply because I don't ahve the vacuum pump, etc, rig. With access to that I could easily do it. > at the state of software today proves my point beyond any shadow of a doubt. Err, yes... -tony From mouse at Rodents-Montreal.ORG Thu Jan 5 14:51:01 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 15:51:01 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05F237.5010205@neurotica.com> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> <201201051235.q05CZV7G076769@billy.ezwind.net> <4F05F237.5010205@neurotica.com> Message-ID: <201201052051.PAA21434@Sparkle.Rodents-Montreal.ORG> > And that crazy idea that being in "management" (overhead positions > that require no real brainpower) as opposed to creating things has > really crippled our industry. It's almost as bad as the idea that management is pure overhead that brings no value. I mean that. Management _can_ be pure zero/negative-production overhead. But hey, so can any other position. And a really good manager is a godsend. There's a tendency for computer geeks to wear blinkers specific to their field, to think that anyone who can't make a computer sit up and dance must be stupid (cf the "no real brainpower" remark above), as if computer technical smarts were somehow the only true kind of smarts. Then those same computer geeks wonder why they fall flat on so many other aspects of life. Out-negotiated. Out-friended. Out-written. Out-organized. When they are so much "smarter" than "everyone else". I got news for you, wondering geeks. You're judging everything by your own metric, judging "smart" by your own kind of smarts, missing out on so many other kinds of smarts. Interpersonal smarts. Kinesthetic smarts. Musical smarts. Smarts which are far more useful than your kind in so many other fields. And, yes, one of those kinds of smarts is management smarts. The kind of smarts that can take a disastrous disorganized clusterfuck of (possibly individually highly talented) people and turn them into an awesomely effective team. Part of the reason it's hard for computer geeks to see this is that, like certain other jobs (notably sysadmin), when management is done really well it's also really hard to notice, except by others also highly skilled in the art. > We have a crop of highly talented, interested programmers who are > bored to tears in meetings, and the work they SHOULD be doing is > being done by PFYs who wouldn't know elegant simplicity if it walked > up and pinched them on the ass. A good example of management being done wrong. Not the second part - elegance and simplicity are not always appropriate metrics to judge code goodness by - but leaving _anyone_ "bored to tears" is bad management. None of what I said above should be mistaken to mean that good management is easy or common. Really good managers are no more common than really good coders, or really good cricket players, or really good racecar drivers, or whatever else. Possibly less so; I suspect management ability requires the confluence of more of the seven? eight? basic kinds of smarts than many things do, making it rarer. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From colineby at isallthat.com Thu Jan 5 14:50:00 2012 From: colineby at isallthat.com (Colin Eby) Date: Thu, 05 Jan 2012 20:50:00 +0000 Subject: Visiting the Cryptologic museum In-Reply-To: <200DC7DC-6D2D-4D38-96C6-4FE206E46D5E@cs.ubc.ca> References: <200DC7DC-6D2D-4D38-96C6-4FE206E46D5E@cs.ubc.ca> Message-ID: <1325796600.3291.6.camel@hp0> Brent, As it happens I also put in a visit to this museum over the holidays. The SIGSALY display is a model rather than the real gear. I don't know how much of the original gear they might have in the vaults, but it's not what's displayed. They use models in a number of places -- mostly to good didactic effect. For a hardware connoisseur it would be a bit disappointing other than to see how it was all racked. I have a photo of it if you're interested. On Tue, 2012-01-03 at 15:31 -0800, Brent Hilpert wrote: > On 2012 Jan 3, at 12:30 PM, Mark Kahrs wrote: > > Over the break I visited the NSA's museum (just a stone's throw > > from Ft. > > Meade). For those who like crypto machines, it is definitely, > > definitely > > worth a visit. The curators and staff are very enthusiastic (they > > even > > brought out a machine from the back vault) and of course you can > > buy an NSA > > t-shirt if your heart desires. They had a mix-up with the Y-MP > > processor > > board and memory board on display (I told them) but otherwise it's > > fun just > > to see a Cray I up-close-and-personal. They have the tape jukebox > > being > > run from a PC. And the CM is flashing lights, but that's about > > it. The > > modern crypto gear is shown but the commentary is sparse at best. > > (In case > > you're wondering, the boxes are empty -- so I was told). There is > > little > > mention of public key cryptosystems. Or controversial questions > > like key > > length or key escrow. > > > > But worth a detour? Definitely. > > Did you see the SIGSALY display (aka "X System")? Haven't been to the > crypto museum myself, but I was reading about SIGSALY recently, and > see they have some of the equipment (http://en.wikipedia.org/wiki/ > SIGSALY). > > Real-time voice cryptography using pulse code modulation and digital > algorithms and technology in WWII: > > http://www.nsa.gov/about/cryptologic_heritage/center_crypt_history/ > publications/sigsaly_start_digital.shtml > http://www.nsa.gov/about/cryptologic_heritage/center_crypt_history/ > publications/sigsaly_story.shtml > > Reading about it, I could see the technological ability to do it at > the time, but I had no idea until recently it had actually been done > at the time! > > Shannon had some involvement in its development, just a couple of > years before his papers on information theory. The historical > connections and influences make for very interesting reading: > > http://dspace.mit.edu/handle/1721.1/39429?show=full > (download PDF from there) > > The paper by Lars Lundheim 'On Shannon and "Shannon's Formula"' > > http://www.iet.ntnu.no/projects/beats/journals.htm > > is also interesting for some historical developments leading to > information theory, including the concepts of sampling and digitising > analog data, see mention of Alec Harley Reeves. > > -- Colin From mcguire at neurotica.com Thu Jan 5 14:57:42 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 15:57:42 -0500 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <20120105105628.A76006@shell.lmi.net> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <20120105105628.A76006@shell.lmi.net> Message-ID: <4F060EC6.9030602@neurotica.com> On 01/05/2012 01:58 PM, Fred Cisin wrote: >>>> Does anybody write compilers in assembly any more? Or ever will, again? > > On Thu, 5 Jan 2012, Richard wrote: >> People write compilers all the time. If you think they don't, you're >> seriously out of the loop. > > I was speaking facetiously! > "Nobody program in assembly any more; nor ever will again." is another > quote from Clancy and Harvey. > > . . . and, YES. > I AM very seriously out of the loop. ...but nowhere near as far as Clancy and Harvey! -- Dave McGuire New Kensington, PA From fraveydank at gmail.com Thu Jan 5 15:32:47 2012 From: fraveydank at gmail.com (David Riley) Date: Thu, 5 Jan 2012 16:32:47 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05F237.5010205@neurotica.com> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> <201201051235.q05CZV7G076769@billy.ezwind.net> <4F05F237.5010205@neurotica.com> Message-ID: <6901B9AB-5EF9-4452-B013-72BD41DDC5EE@gmail.com> On Jan 5, 2012, at 1:55 PM, Dave McGuire wrote: >> Not hard at all. Just filter for the ones over 40 who expect a >> decent salary. Maybe they've already moved to upper management. > > ROFL! Yes! > > And that crazy idea that being in "management" (overhead positions that require no real brainpower) as opposed to creating things has really crippled our industry. We have a crop of highly talented, interested programmers who are bored to tears in meetings, and the work they SHOULD be doing is being done by PFYs who wouldn't know elegant simplicity if it walked up and pinched them on the ass. The trend I've noticed in our clients is that bad engineers get promoted to management because someone has the dangerously stupid idea that they can do less damage there. You know where they might actually do less damage? The mail room. Granted, we usually work for our clients *because* they're dysfunctional, so I may be seeing the effects of selection bias. - Dave From cisin at xenosoft.com Thu Jan 5 15:35:36 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 13:35:36 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105102749.T76006@shell.lmi.net> Message-ID: <20120105132430.T76006@shell.lmi.net> > > But, how is "computer programmer" DEFINED for the purpose of those > > numbers? ?(What categories are available?) On Thu, 5 Jan 2012, Ethan Dicks wrote: > I completely understand the limitations of Federal job designations, > but this is what I was able to pull up, and at least shows that "one > in a million" is a vast undercount. I was not trying to suggest it is > an all-inclusive/properly-exclusive statistic. I'm certainly willing > to stand behind "less than 1%" of the workforce programs computers for > a living, but how many slivers of a percent is it really? A few, > probably. Your point is adequately supported. My questioning of the statistic was not meant to challenge its validity as an approximation. I am quite seriously interested in such statistics, but for them to be more meaningful than as an extremely rough approximation, there are always issues of their derivation. My father's field was "Social Science Research Methods", so I'm a bit obsessive over statistics sources. > employees). There was nothing even remotely close to that in the > Federal Job Register. I was declared a Mainframe Systems Programmer Ah HA! So, YOU got counted in that number > I started my career as a contractor, paid on a 1099, and filing a > Schedule C (talk about growing up fast)... I seem to recall the same > paperwork dilemma you had, and my accountant picked something similar > for that blank as well. If a kid were to put up a lemonade stand, would it qualify as child abuse for the parent to make them do a chedule C? From vrs at msn.com Thu Jan 5 16:09:31 2012 From: vrs at msn.com (Vincent Slyngstad) Date: Thu, 5 Jan 2012 14:09:31 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05F155.6030504@neurotica.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> Message-ID: From: Dave McGuire: Thursday, January 05, 2012 10:52 AM > On 01/05/2012 12:19 AM, Vincent Slyngstad wrote: >>> So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for I/O? >> >> Hmm...that sounds like a disturbingly good idea :-). > > That sounds like a TANTALIZINGLY good idea!! Yes, that's just what I meant. Unfortunately, I'm already worried that the years needed to finish projects I'm already working on (or at least thinking about) may have exceeded the more pessimistic estimates of my remaining lifetime. So I'm reluctant to start such a thing just now. Vince From mcguire at neurotica.com Thu Jan 5 16:16:27 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 17:16:27 -0500 Subject: teaching programming to college kids In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105100404.B76006@shell.lmi.net> Message-ID: <4F06213B.1070501@neurotica.com> On 01/05/2012 03:18 PM, Alexey Toptygin wrote: >> Q: Won't some students have difficulty with that? >> A: Oh, it's "Social Darwinism". We have too many entering students, so we >> WANT 80% to drop out of the program in the first year. If we don't get at >> least 80% leaving the program, then we merely increase the workload until >> enough fail and leave. Sometimes we have to work them 20 hours a day, and >> assign 4:00 AM lab times, etc. to get the desired result. They won't be >> expelled, or anything, they can still become business majors. > > UMCP does the exact same thing, only they mix in unfair/arbitrary > grading practices to jack up the failure rate. AFAICT, they do it so > that they can get the students' money for a couple of semesters but not > actually have to teach them anything. I switched to math after 2 > semesters in CS and never looked back. Not that that stopped me from > programming (for the university no less), or getting a career in > software development... made me hate the university administration though. U.S. colleges seem to be *extremely* profitable businesses. Assuming you're talking about the University of Maryland at College Park, I've had some contact with that particular organization. Their shenanigans aren't new; they started in the mid-1990s. They very much fall into the "how the mighty have fallen" category. -Dave -- Dave McGuire New Kensington, PA From cisin at xenosoft.com Thu Jan 5 16:40:54 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 14:40:54 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <20120105143842.B76006@shell.lmi.net> On Thu, 5 Jan 2012, Tony Duell wrote: > Actually, if I had my way, every computer would have Forth in the frimware. > I think it should be a on offence to sell something as a computer if it > does not compe with a programming language and the documentation to use > said language. After all, a computer is a programamed data processor, > and if you can't prgoram it, it's not a computer. > -tony (only _half_ joking) Every computer should have a machine language monitor in ROM. at least on a par with DEBUG. From dm561 at torfree.net Thu Jan 5 16:37:42 2012 From: dm561 at torfree.net (MikeS) Date: Thu, 5 Jan 2012 17:37:42 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC References: Message-ID: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> ----- Original Message: Date: Thu, 05 Jan 2012 13:50:11 -0500 From: Dave McGuire > There have always been lazy, disinterested programmers who don't care > about becoming better programmers. Now it's pretty much ALL of them. ---------------- I thought _you_ were a programmer; shouldn't that be 'us' instead of 'them'? Oh, I see, you exclude yourself of course, and perhaps even a few select members of this group, right? What other "them"s do you make denigrating generalizations about? Plumbers? Women? Jews? From dm561 at torfree.net Thu Jan 5 16:46:59 2012 From: dm561 at torfree.net (MikeS) Date: Thu, 5 Jan 2012 17:46:59 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC References: Message-ID: ------- Original Message: Date: Thu, 05 Jan 2012 13:09:54 -0500 From: Dave McGuire On 01/05/2012 10:52 AM, Liam Proven wrote: ... >> I have read the first few pages of The Little Schemer, generally hailed >> as the best introduction to Scheme there is, and I found it completely >> incomprehensible - and I am a skilled computer professional with around a >> quarter century of experience. --- > It is my opinion that you should not feel it's unusual that you don't > "get" that stuff even though you are "a computer professional". ... > The only reason *I* see the difference is because I do both...otherwise > I'd probably not get it either. -------- Reply: Well! I guess he told you! Too funny... From RichA at vulcan.com Thu Jan 5 16:52:01 2012 From: RichA at vulcan.com (Rich Alderson) Date: Thu, 5 Jan 2012 22:52:01 +0000 Subject: FORTRAN vs. BASIC [was RE: Right toolf for the job (Was: teaching programming to kids] Message-ID: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EF495@505MBX1.corp.vnw.com> From: Fred Cisin Sent: Wednesday, January 04, 2012 7:54 PM On Wed, 4 Jan 2012, allison wrote: >> Never used Fortran. > Think of it as an old-style version of BASIC. WRITE is like PRINTUSING, > with FORMAT being where you specify the print pattern. Any variable whose > name starts with the letters I J K L M or N (alphabetic letters between I > and N (which is the start of "INteger")) is assumed to be an int, unless > you tell it otherwise. Many brands of it require giving a line number to > every line. CALL instead of GOSUB, . . . There are so few differences > that you can list them! You corrected/clarified the statement regarding "line numbers", but it's still not correct. FORTRAN does not have line numbers, it has *statement* numbers, and they need not be sequential, nor increasing from beginning of program to end. Certain constructs, such as the DO loop and the FORMAT-driven I/O statements, *require* statement numbers: DO 10 I=1,10 WRITE (7,100) I 10 CONTINUE 100 FORMAT (1X,1I3) Statement numbers occur in the first 5 columns of the input card; a character other than a space in column 6 marks a card as a continuation of the preceding statement. Spacing within columns 1-5 is not significant. >> My first language was Darthmuth BASIC on GE Tymeshare. > I've always assumed that Kurtz and Kemeny's intent was just to make > getting started in FORTRAN a little easier for beginners. You don't have to assume. They state as much in the early documents. Rich Alderson Vintage Computing Sr. Systems Engineer Vulcan, Inc. 505 5th Avenue S, Suite 900 Seattle, WA 98104 mailto:RichA at vulcan.com mailto:RichA at LivingComputerMuseum.org http://www.LivingComputerMuseum.org/ From mcguire at neurotica.com Thu Jan 5 16:58:41 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 17:58:41 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201052051.PAA21434@Sparkle.Rodents-Montreal.ORG> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> <201201051235.q05CZV7G076769@billy.ezwind.net> <4F05F237.5010205@neurotica.com> <201201052051.PAA21434@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F062B21.2010207@neurotica.com> On 01/05/2012 03:51 PM, Mouse wrote: >> And that crazy idea that being in "management" (overhead positions >> that require no real brainpower) as opposed to creating things has >> really crippled our industry. > > It's almost as bad as the idea that management is pure overhead that > brings no value. > > I mean that. Management _can_ be pure zero/negative-production > overhead. But hey, so can any other position. And a really good > manager is a godsend. > > There's a tendency for computer geeks to wear blinkers specific to > their field, to think that anyone who can't make a computer sit up and > dance must be stupid (cf the "no real brainpower" remark above), as if > computer technical smarts were somehow the only true kind of smarts. No. You're jumping to an incorrect conclusion. I'm fully aware that a really good manager is a godsend. I'm also fully aware that such managers are an endangered species to the point of practically being a fabled creature. I've been working in this field professionally for a few decades now, and I have never met one. I'm not just saying that I've never worked for one, I've never MET one. Ever. So yes, while your assertion is quite right theoretically speaking, in practice things are quite a bit less nice. The people that actually get the managerial positions typically have just about zero brainpower; that has very much become the norm for such positions. I would never make the assertion that computer technical smarts are somehow the only true kind of smarts. -Dave -- Dave McGuire New Kensington, PA From ethan.dicks at gmail.com Thu Jan 5 17:15:49 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Thu, 5 Jan 2012 18:15:49 -0500 Subject: The PDP-8/L at the RICM is running! In-Reply-To: References: Message-ID: On Thu, Jan 5, 2012 at 2:35 PM, Tony Duell wrote: >> Don't know if it's similar to what you've seen or not, but from my >> experience testing M-series modules for the -8/L and -8/i, I've found >> more dead 7474s and 7440s than any other type of chip. > > When I was repairing m HP98x0 machines I noticed that 74Hxx parts were > significantly more likely to fail than plain 74xx parts. And I think the > 74H40 and 74H74 were high up the list of those that had failed. There are some H-series logic parts used in the PDP-8/L, but not enough, IIRC, to be statistically significant compared to straight TTL parts. That said, it doesn't surprise me that you saw a similar pattern with a different logic family in a different machine. >> For my testing, I rigged up a 3M test clip... >> into the ZIF socket of a hand-held IC tester. >> ...letting the tester >> power all the ICs on the board but only fiddle the lines on the chip >> under test. > > That's OK if the flipchip sinmply brigns out each IC to different pins on > the connector (a lot of the simpler ones do), A lot do. In my original post, I gave several examples for which this works. It turns out to be the vast majority of the single-height M-series modules in an -8/L or -8/I (the M452 clock generator and M310 delay line being two exceptions I can come up with off the top of my head). > but surely on more complex boards where the ICs are interconnected, > you're going to have contentions between the outputs of the IC tester > andf the outputs of other ICs on the > board (which are being powered from the tester). Quite so. I mentioned the M220 Major Registers module as being one of those cases. The M706 and M707 TTY interface boards are two others. > There is, of course, HP's logic comparator, which is a device that takes > a good IC of the type you are looking at, feeds it the same inputs and > the drive on the board you're tersting and compeaes the outputs of the > good IC and the one on the board. It then indicates which pins are different. Yes. I don't happen to have one of those, nor have I noticed one for sale. I already had the ZIF-socket PIC-processor-driven IC tester - I did not purchase it specifically to test DEC boards. I made a cable to adapt an existing tool for this specific job. > Personally,giiven all the restrictions, I am not sure either method is ant > faster than the old-fashuioned way of seeing what doesn't work and tracing > signals to find why it doesn';t work. In the specific case of the PDP-8/L, my experience is that if you are seeing single and double-bit errors with address/data loads and registers on the lights just from a few tweaks of the front panel switches, you have a high probability that the problem is on one of your M220 boards. Outside of that, you can have the printset open and *quickly* pull each single-height, Chip-Tester-friendly board from the path you wish to investigate, move the clip and press the "test" button 3-4 times and replace the board faster than you can install a board extender, replace the board, and re-run the test you just ran to look for the failure. In no way did I ever say that many or most or every IC failure can be detected with a hand-held tester and a custom clip cable. I _did_ say that I built one and repaired my machine with it and I'm happy with how quickly I could confirm for myself that hundreds of ICs were likely to be functional. Yes, there are failure modes for simple TTL gates that won't be picked up by a hand-held tester. In my experience, those are rare compared to a chip with a blown input or output that just plain produces the wrong output when the inputs are tickled. *That* will be found by the tester and clip. -ethan From mcguire at neurotica.com Thu Jan 5 17:36:12 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 18:36:12 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> References: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> Message-ID: <4F0633EC.60901@neurotica.com> On 01/05/2012 05:37 PM, MikeS wrote: >> There have always been lazy, disinterested programmers who don't care >> about becoming better programmers. Now it's pretty much ALL of them. > ---------------- > I thought _you_ were a programmer; shouldn't that be 'us' instead of > 'them'? > > Oh, I see, you exclude yourself of course, and perhaps even a few select > members of this group, right? Yes, I pride myself on doing things right. Occasionally I actually achieve it. Daily I clean up the messes of others. > What other "them"s do you make denigrating generalizations about? > Plumbers? Women? Jews? All of them, all the time. Is there some reason you're being a dick to me? I ask because I can be ten times the dick if required; I just want to know if it's something worth getting worked up over. -Dave -- Dave McGuire New Kensington, PA From mcguire at neurotica.com Thu Jan 5 17:40:08 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 18:40:08 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F0634D8.1060409@neurotica.com> On 01/05/2012 05:46 PM, MikeS wrote: > ------- Original Message: >>> I have read the first few pages of The Little Schemer, generally hailed >>> as the best introduction to Scheme there is, and I found it completely >>> incomprehensible - and I am a skilled computer professional with >>> around a >>> quarter century of experience. > --- >> It is my opinion that you should not feel it's unusual that you don't >> "get" that stuff even though you are "a computer professional". > ... >> The only reason *I* see the difference is because I do both...otherwise >> I'd probably not get it either. > > -------- Reply: > > Well! I guess he told you! > > Too funny... Did we get up on the wrong side of the Prozac this morning, Mike? Don't pick a fight with me. I've been down with the flu for a week and am generally in a really piss poor mood. Dick. -Dave -- Dave McGuire New Kensington, PA From hilpert at cs.ubc.ca Thu Jan 5 17:50:32 2012 From: hilpert at cs.ubc.ca (Brent Hilpert) Date: Thu, 5 Jan 2012 15:50:32 -0800 Subject: SIGSALY /was Re: Visiting the Cryptologic museum In-Reply-To: <1325796600.3291.6.camel@hp0> References: <200DC7DC-6D2D-4D38-96C6-4FE206E46D5E@cs.ubc.ca> <1325796600.3291.6.camel@hp0> Message-ID: <9896DF3D-4FB5-4403-BF52-CBA0A1A2F60A@cs.ubc.ca> On 2012 Jan 5, at 12:50 PM, Colin Eby wrote: > Brent, > As it happens I also put in a visit to this museum over the holidays. > The SIGSALY display is a model rather than the real gear. I don't know > how much of the original gear they might have in the vaults, but it's > not what's displayed. They use models in a number of places -- mostly > to good didactic effect. For a hardware connoisseur it would be a bit > disappointing other than to see how it was all racked. I have a > photo of > it if you're interested. Oh.. well it's quite the mock-up then (there are some pics on the web site). I think the NSA museum site said what was on display was a 'portion' of one system. For my part, I'm more interested in technical details and the system design. There is some technical description at one of the links I mentioned below (sigsaly_start_digital), but it still left a few questions about the design and requirements. > On Tue, 2012-01-03 at 15:31 -0800, Brent Hilpert wrote: >> On 2012 Jan 3, at 12:30 PM, Mark Kahrs wrote: >>> Over the break I visited the NSA's museum (just a stone's throw >>> from Ft. >>> Meade). For those who like crypto machines, it is definitely, >>> definitely >>> worth a visit. The curators and staff are very enthusiastic (they >>> even >>> brought out a machine from the back vault) and of course you can >>> buy an NSA >>> t-shirt if your heart desires. They had a mix-up with the Y-MP >>> processor >>> board and memory board on display (I told them) but otherwise it's >>> fun just >>> to see a Cray I up-close-and-personal. They have the tape jukebox >>> being >>> run from a PC. And the CM is flashing lights, but that's about >>> it. The >>> modern crypto gear is shown but the commentary is sparse at best. >>> (In case >>> you're wondering, the boxes are empty -- so I was told). There is >>> little >>> mention of public key cryptosystems. Or controversial questions >>> like key >>> length or key escrow. >>> >>> But worth a detour? Definitely. >> >> Did you see the SIGSALY display (aka "X System")? Haven't been to the >> crypto museum myself, but I was reading about SIGSALY recently, and >> see they have some of the equipment (http://en.wikipedia.org/wiki/ >> SIGSALY). >> >> Real-time voice cryptography using pulse code modulation and digital >> algorithms and technology in WWII: >> >> http://www.nsa.gov/about/cryptologic_heritage/ >> center_crypt_history/ >> publications/sigsaly_start_digital.shtml >> http://www.nsa.gov/about/cryptologic_heritage/ >> center_crypt_history/ >> publications/sigsaly_story.shtml >> >> Reading about it, I could see the technological ability to do it at >> the time, but I had no idea until recently it had actually been done >> at the time! >> >> Shannon had some involvement in its development, just a couple of >> years before his papers on information theory. The historical >> connections and influences make for very interesting reading: >> >> http://dspace.mit.edu/handle/1721.1/39429?show=full >> (download PDF from there) >> >> The paper by Lars Lundheim 'On Shannon and "Shannon's Formula"' >> >> http://www.iet.ntnu.no/projects/beats/journals.htm >> >> is also interesting for some historical developments leading to >> information theory, including the concepts of sampling and digitising >> analog data, see mention of Alec Harley Reeves. >> >> > > > -- Colin From mcguire at neurotica.com Thu Jan 5 18:03:43 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Thu, 05 Jan 2012 19:03:43 -0500 Subject: Aww MAN! Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> References: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> Message-ID: <4F063A5F.1040305@neurotica.com> On 01/05/2012 05:37 PM, MikeS wrote: >> There have always been lazy, disinterested programmers who don't care >> about becoming better programmers. Now it's pretty much ALL of them. > ---------------- > I thought _you_ were a programmer; shouldn't that be 'us' instead of > 'them'? > > Oh, I see, you exclude yourself of course, and perhaps even a few select > members of this group, right? > > What other "them"s do you make denigrating generalizations about? > Plumbers? Women? Jews? This is one of those times where I think of a FAR better response than the one I sent as a knee-jerk reaction to someone pissing in my pool AFTER the fact. What a bummer. Here's a response to the above that actually MEANS something: Generally speaking I don't. But when plumbers, women, or Jews start displaying the unbelievable levels of incompetence at plumbing, femaleness, or Judaism that I see coming out of computer programmers every day nowdays, you'd better grab your popcorn, because I will have PLENTY to say about them. I don't deride these people because they're programmers. Nor would I deride someone because they're a plumber, a woman, or a Jew. That would be silly just to begin with, but on top of that, I have a friend who's a plumber, I'm happily engaged to a women, and I have LOTS of friends who are Jewish. Finding out that I have to clarify things like this for supposedly intelligent people is deeply disheartening and causes me to lose confidence in the general state of society. But then you're probably just bored, sitting in your parents' basement, giggling to yourself thinking "ahh, that hot-head McGuire is here, he'll take ANY bait, let's have some fun!" -Dave -- Dave McGuire New Kensington, PA From cclist at sydex.com Thu Jan 5 18:27:06 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 16:27:06 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F04B106.10307.227EAD5@cclist.sydex.com> from "Chuck Guzis" at Jan 4, 12 08:05:26 pm, Message-ID: <4F05CF5A.19752.1AA0B23@cclist.sydex.com> On 5 Jan 2012 at 20:06, Tony Duell wrote: > I remmeebr a conversation I had some yeas ago THegroup was deisnging a > device which involved some high-speed analiguye and ECL circuity and > thus had ot go on a 16 layer, arefull-made (read : mega-expensive) > PCB. There was one bit of the desing that handn't been completed, It > came down to producing a logic signal from 3 other logic signals (I > think all F TTL). Thing is, they wanteto get the PCB off to the > manufcaturer ASAP, without finising that part of the desigbn. Your description's a little vague, but I suspect something like a 74156 with a pullup on the (combined) outputs. If that's not right, a better explanation of the problem might help. --Chuck From coredump at gifford.co.uk Thu Jan 5 18:38:43 2012 From: coredump at gifford.co.uk (John Honniball) Date: Fri, 06 Jan 2012 00:38:43 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F064293.5000400@gifford.co.uk> Tony Duell wrote: > I remmeebr a conversation I had some yeas ago THegroup was deisnging a > device which involved some high-speed analiguye and ECL circuity and thus > had ot go on a 16 layer, arefull-made (read : mega-expensive) PCB. There > was one bit of the desing that handn't been completed, It came down to > producing a logic signal from 3 other logic signals (I think all F TTL). > Thing is, they wanteto get the PCB off to the manufcaturer ASAP, without > finising that part of the desigbn. > > I glanced at the problem and said 'That's trivial. I can do it in one > IC'. One of the others's replied 'A PROM? A PAL? are they fast enough? Do > we have the programmer for them'. 'No', I said, 'Just a plain TTL chip > with no programming needed'. > > OK, what was the chip I suggested? (if did get used, BTW, and worked > prefectly). Was it a multiplexer? With some jumpers to select the desired logic function? -- John Honniball coredump at gifford.co.uk From bfranchuk at jetnet.ab.ca Thu Jan 5 18:43:59 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Thu, 05 Jan 2012 17:43:59 -0700 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05CF5A.19752.1AA0B23@cclist.sydex.com> References: <4F04B106.10307.227EAD5@cclist.sydex.com> from "Chuck Guzis" at Jan 4, 12 08:05:26 pm, <4F05CF5A.19752.1AA0B23@cclist.sydex.com> Message-ID: <4F0643CF.6080501@jetnet.ab.ca> On 1/5/2012 5:27 PM, Chuck Guzis wrote: > On 5 Jan 2012 at 20:06, Tony Duell wrote: > >> I remmeebr a conversation I had some yeas ago THegroup was deisnging a >> device which involved some high-speed analiguye and ECL circuity and >> thus had ot go on a 16 layer, arefull-made (read : mega-expensive) >> PCB. There was one bit of the desing that handn't been completed, It >> came down to producing a logic signal from 3 other logic signals (I >> think all F TTL). Thing is, they wanteto get the PCB off to the >> manufcaturer ASAP, without finising that part of the desigbn. > > Your description's a little vague, but I suspect something like a > 74156 with a pullup on the (combined) outputs. If that's not right, > a better explanation of the problem might help. > I'll scream if it is 7400. :-) > --Chuck > > From cclist at sydex.com Thu Jan 5 19:31:46 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 17:31:46 -0800 Subject: Caps? (Was: Right toolf for the job In-Reply-To: <20120105115944.W76006@shell.lmi.net> References: <20120104132145.L41929@shell.lmi.net>, <4F057F81.13353.722485@cclist.sydex.com>, <20120105115944.W76006@shell.lmi.net> Message-ID: <4F05DE82.21178.1E5406D@cclist.sydex.com> On 5 Jan 2012 at 12:08, Fred Cisin wrote: > When I did that with K&R, it was disconcerting at first to hear > constant references to "capsee" - the readers for the blind voice the > capitalization. Now, there's a neat party trick--especially if you're blind-drunk-- recite the content of K&R from memory. Just about as cool as the engineer-pianist I once knew who could play the entire set of Golberg Variations but only if he was drunk. --Chuck From cisin at xenosoft.com Thu Jan 5 19:57:02 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 17:57:02 -0800 (PST) Subject: Caps? (Was: Right toolf for the job In-Reply-To: <4F05DE82.21178.1E5406D@cclist.sydex.com> References: <20120104132145.L41929@shell.lmi.net>, <4F057F81.13353.722485@cclist.sydex.com>, <20120105115944.W76006@shell.lmi.net> <4F05DE82.21178.1E5406D@cclist.sydex.com> Message-ID: <20120105175239.C76006@shell.lmi.net> > > When I did that with K&R, it was disconcerting at first to hear > > constant references to "capsee" - the readers for the blind voice the > > capitalization. On Thu, 5 Jan 2012, Chuck Guzis wrote: > Now, there's a neat party trick--especially if you're blind-drunk-- > recite the content of K&R from memory. > Just about as cool as the engineer-pianist I once knew who could play > the entire set of Golberg Variations but only if he was drunk. With my memory, I'd need to keep at it a lot longer. But, for years, miscellaneous phrases would pop up, and some phrases would trigger memories of the next sentence. I'd rather learn and understand the content than just the wording. But, it'd sure be fun to listen to Knuth. Start to finish! From cisin at xenosoft.com Thu Jan 5 20:04:58 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 18:04:58 -0800 (PST) Subject: Aww MAN! Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F063A5F.1040305@neurotica.com> References: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> <4F063A5F.1040305@neurotica.com> Message-ID: <20120105175735.O76006@shell.lmi.net> > What other "them"s do you make denigrating generalizations about? > Plumbers? Women? Jews? ???? Wht's you leave out blacks, disabled folk, and the Irish? Is it OK if I generalize and stereotype about college administrators? (Good ones could exist. In therory. But, they would not be permitted in the college where I am.) Every time that we rejoice over losing a bad administrator, they manage, no matter how seemingly IMPOSSIBLE, to find a worse one as a replacement. Remember Monte, and the VP who dumpstered his entire collection? Ask him what he thinks of the replacement! From mouse at Rodents-Montreal.ORG Thu Jan 5 20:10:07 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 21:10:07 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <201201060210.VAA25972@Sparkle.Rodents-Montreal.ORG> > There was one bit of the desing that handn't been completed, It came > down to producing a logic signal from 3 other logic signals [...] > I glanced at the problem and said 'That's trivial. I can do it in one > IC'. One of the others's replied 'A PROM? A PAL? are they fast > enough? Do we have the programmer for them'. 'No', I said, 'Just a > plain TTL chip with no programming needed'. > OK, what was the chip I suggested? Without knowing which of the 256 possible three-input functions functions was needed, we can't more than guess. It could have been anything from a '08 or '21 if the function was simple AND or '32 if OR or '86 if XOR, through something like a '00 for ~C | (A & B), all the way up to a '151, which allows generating whatever function you like by strapping the data inputs correctly. Depending on the design, the dynamic behaviour may matter (for some choices, the output may glitch on certain input transitions even though both stable states give the same output), and if this were a case like that it certainly could affect your choice. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From mouse at Rodents-Montreal.ORG Thu Jan 5 20:23:51 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Thu, 5 Jan 2012 21:23:51 -0500 (EST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F062B21.2010207@neurotica.com> References: <4F021FF8.6247.26D6D34@cclist.sydex.com> <1325633549.55980.YahooMailNeo@web164506.mail.gq1.yahoo.com> <4F04493D.14868.92820A@cclist.sydex.com> <4F04D19B.2010208@neurotica.com> <1325723774.52153.YahooMailNeo@web164517.mail.gq1.yahoo.com> <201201051235.q05CZV7G076769@billy.ezwind.net> <4F05F237.5010205@neurotica.com> <201201052051.PAA21434@Sparkle.Rodents-Montreal.ORG> <4F062B21.2010207@neurotica.com> Message-ID: <201201060223.VAA26172@Sparkle.Rodents-Montreal.ORG> > I'm fully aware that a really good manager is a godsend. I'm also > fully aware that such managers are an endangered species to the point > of practically being a fabled creature. I once had the fortune to work under a manager who was, as far as I can tell, a good manager. I don't have wide enough experience to tell whether he was _really_ good, but he certainly stands out in my memory. Perhaps I overestimate his quality. But he was good at running interference; he made the annoying parts of my job that didn't really have anything to do with what I was nominally there for vanish - that alone puts him a major step up on my other managers. He was technical enough to converse intelligently about what I was doing - he probably could have done, or learned to have done, most of it himself, if he'd had the time and inclination. He slapped me down when I deserved it. I don't know whether this particular branch of the conversation amounts to comparing my selection bias with your selection bias, or whether I was just lucky, or whether I'm overestimating his quality, or what. But my experience leads me to think the good manager is not a mythical creature. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From lproven at gmail.com Thu Jan 5 20:34:40 2012 From: lproven at gmail.com (Liam Proven) Date: Fri, 6 Jan 2012 02:34:40 +0000 Subject: Fwd: IEEE Spectrum article about UNIX In-Reply-To: <0ECB9011-E154-445A-A912-E1266655658D@comcast.net> References: <09787EF419216C41A903FD14EE5506DD030F1081BE@AUSX7MCPC103.AMER.DELL.COM> <0ECB9011-E154-445A-A912-E1266655658D@comcast.net> Message-ID: On Jan 5, 2012 10:57 PM, "Paul Koning" wrote: > > One of my colleagues sent this; I figured the list might find it interesting. > > paul > > Begin forwarded message: > > > ... > > Subject: IEEE Spectrum article about UNIX > > > > Thought you might find this interesting: > > > > http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0 > > Fascinating. Thanks for that. From fraveydank at gmail.com Thu Jan 5 20:56:29 2012 From: fraveydank at gmail.com (David Riley) Date: Thu, 5 Jan 2012 21:56:29 -0500 Subject: Caps? (Was: Right toolf for the job In-Reply-To: <20120105175239.C76006@shell.lmi.net> References: <20120104132145.L41929@shell.lmi.net>, <4F057F81.13353.722485@cclist.sydex.com>, <20120105115944.W76006@shell.lmi.net> <4F05DE82.21178.1E5406D@cclist.sydex.com> <20120105175239.C76006@shell.lmi.net> Message-ID: <9B918BB9-2448-4967-BCCC-556D5E2583FF@gmail.com> On Jan 5, 2012, at 8:57 PM, Fred Cisin wrote: > But, it'd sure be fun to listen to Knuth. Start to finish! He needs to make a series of audiobooks before he dies. Maybe after he finishes volume 4, anyway. Failing that, I'd listen to TAOCP read by Neil Gaiman, but I suspect Mr. Gaiman might not be up for it. - Dave From geoffr at zipcon.net Thu Jan 5 21:51:15 2012 From: geoffr at zipcon.net (Geoffrey Reed) Date: Thu, 05 Jan 2012 19:51:15 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F062B21.2010207@neurotica.com> Message-ID: On 1/5/12 2:58 PM, "Dave McGuire" wrote: > On 01/05/2012 03:51 PM, Mouse wrote: >>> And that crazy idea that being in "management" (overhead positions >>> that require no real brainpower) as opposed to creating things has >>> really crippled our industry. >> >> It's almost as bad as the idea that management is pure overhead that >> brings no value. >> >> I mean that. Management _can_ be pure zero/negative-production >> overhead. But hey, so can any other position. And a really good >> manager is a godsend. >> >> There's a tendency for computer geeks to wear blinkers specific to >> their field, to think that anyone who can't make a computer sit up and >> dance must be stupid (cf the "no real brainpower" remark above), as if >> computer technical smarts were somehow the only true kind of smarts. > > No. > > You're jumping to an incorrect conclusion. I'm fully aware that a > really good manager is a godsend. I'm also fully aware that such > managers are an endangered species to the point of practically being a > fabled creature. I've been working in this field professionally for a > few decades now, and I have never met one. I'm not just saying that > I've never worked for one, I've never MET one. Ever. > > So yes, while your assertion is quite right theoretically speaking, > in practice things are quite a bit less nice. The people that actually > get the managerial positions typically have just about zero brainpower; > that has very much become the norm for such positions. > > I would never make the assertion that computer technical smarts are > somehow the only true kind of smarts. > > -Dave I've had really good managers ( a couple) adequate managers (a couple) and horrible managers (too many to count). Anymore at least in the corporate setting it seems that management is too busy playing corporate politics to get the management job done properly. From geoffr at zipcon.net Thu Jan 5 21:55:20 2012 From: geoffr at zipcon.net (Geoffrey Reed) Date: Thu, 05 Jan 2012 19:55:20 -0800 Subject: Caps? (Was: Right toolf for the job In-Reply-To: <9B918BB9-2448-4967-BCCC-556D5E2583FF@gmail.com> Message-ID: On 1/5/12 6:56 PM, "David Riley" wrote: > On Jan 5, 2012, at 8:57 PM, Fred Cisin wrote: > >> But, it'd sure be fun to listen to Knuth. Start to finish! > > He needs to make a series of audiobooks before he dies. Maybe after he > finishes volume 4, anyway. > > Failing that, I'd listen to TAOCP read by Neil Gaiman, but I suspect Mr. > Gaiman might not be up for it. > > > - Dave > > > TAOCP as read by Robert Llewellen from red dwarf. From toby at telegraphics.com.au Thu Jan 5 22:08:23 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:08:23 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120105113009.X76006@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> Message-ID: <4F0673B7.2010908@telegraphics.com.au> On 05/01/12 2:55 PM, Fred Cisin wrote: >>> C is pretty good for writing compilers, and it takes little more than >>> "The dragon book" (Aho& Ullman) plus a LOT of time and effort to produce >>> one. > On Thu, 5 Jan 2012 vintagecoder at aol.com wrote: >> Emphasis on a LOT of time, I looked at the book and gave up! Blinded me, >> with SCIENCE! > > Same here. But, then I sat through Alan Holub's "Compiler Writing" class. > It was a great experience. But, now the dragon book seems simple in > comparison. Holub and I have chatted on occasion. I feel strongly that C > code on the blackboard needs to be spread out into multiple statements to > make it easiest and quickest to follow and understand. Holub doesn't > agree. But, he couldn't see why IBMBIO.COM and IBMDOS.COM had to be > contiguous at the beginning of the disk. > > My canonical example, > while (*T++=*S++); > just for the sake of readability, is easier for a beginner OR STUDENT to > follow as something like: > > do > { > X = *S; > *T = X; > S++; > T++; > } > while('\0'<> X); /* Yes, of course, (X), but that's my point. */ ITYM != > > (Readability and ease of understanding is more important than efficiency > for EXPLAINING something) The long version isn't less efficient. --T > > > > -- > Grumpy Ol' Fred cisin at xenosoft.com > > > > > From toby at telegraphics.com.au Thu Jan 5 22:10:35 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:10:35 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201051955.q05Jt3aM091357@billy.ezwind.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105102749.T76006@shell.lmi.net> <201201051955.q05Jt3aM091357@billy.ezwind.net> Message-ID: <4F06743B.9000100@telegraphics.com.au> On 05/01/12 2:54 PM, John Foust wrote: > At 12:33 PM 1/5/2012, Fred Cisin wrote: >> If there is no category for "website designer", do they get counted as >> "programmer"? >> "I PROGRAM in DreamWeaver!" > > > I think even the most graphic-art-intensive web designer is acquainted > with HTML, probably JavaScript, XML, and before you know it, they're > picking up Unix concepts from web hosts, making small alterations to > PHP or other scripting languages, maybe touching SQL. > I wish they learned them thoroughly (and some theory to go with it). > Does the average web designer routinely bump up against more > programming languages per day than the average programmer? > Maybe. A lot of programmers pride themselves on refusing to learn more than one language or paradigm. :/ --T > - John > > From toby at telegraphics.com.au Thu Jan 5 22:12:26 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:12:26 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: Message-ID: <4F0674AA.2070300@telegraphics.com.au> On 05/01/12 2:27 PM, Tony Duell wrote: >> >> On Tue, 3 Jan 2012, Chris M wrote: >>> Oh if I had my way, every computer would have BASIC in firmware or on >>> disk. >>> You betcha. >> >> . . . and to supplement or ameliorate deficiencies in the firmware >> version, there can be addtions to it on the disk! >> . . . and, for those missing the firmware copy, put "Gee Whiz BASIC" on >> the disk! > > > Actually, if I had my way, every computer would have Forth in the frimware. > > I think it should be a on offence to sell something as a computer if it > does not compe with a programming language and the documentation to use > said language. After all, a computer is a programamed data processor, Most computers with free operating systems meet this criterion, surely. Man pages, gcc, and usually a few dozen other languages out of the box. --Toby > and if you can't prgoram it, it's not a computer. > > -tony (only _half_ joking) > From toby at telegraphics.com.au Thu Jan 5 22:14:10 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:14:10 -0500 Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05F155.6030504@neurotica.com> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> Message-ID: <4F067512.9030003@telegraphics.com.au> On 05/01/12 1:52 PM, Dave McGuire wrote: > On 01/05/2012 12:19 AM, Vincent Slyngstad wrote: >>> So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for >>> I/O? >> >> Hmm...that sounds like a disturbingly good idea :-). > > That sounds like a TANTALIZINGLY good idea!! > You'll probably want to look up the work of Marc Feeley, but I think it would be more fun to do it from scratch... --T From pu1bzz.listas at gmail.com Thu Jan 5 22:13:35 2012 From: pu1bzz.listas at gmail.com (Alexandre Souza - Listas) Date: Fri, 6 Jan 2012 02:13:35 -0200 Subject: [half-OT]: The chinese Beeprog inside References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> Message-ID: <084701cccc29$acb26680$6400a8c0@tababook> http://tabajara-labs.blogspot.com/2012/01/o-beeprog-chines-fotos-internas.html This is one of the **best** device programmers your money can buy today. The chinese version is a clone, but completely equal the original. Here you have the photos :o) --- Enviado do meu Motorola PT550 Meu site: http://www.tabalabs.com.br From cisin at xenosoft.com Thu Jan 5 22:17:31 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 20:17:31 -0800 (PST) Subject: Caps? (Was: Right toolf for the job In-Reply-To: References: Message-ID: <20120105201206.U76006@shell.lmi.net> On Thu, 5 Jan 2012, Geoffrey Reed wrote: > TAOCP as read by Robert Llewellen from red dwarf. or Tom Baker. I liked his performance in Hyperland (pre-WWW future of internet by Ted Nelson and Douglas Adams - wish that I could get a goof quality copy) TAOCP read by James Earl Jones would actually work to learn from it. From cclist at sydex.com Thu Jan 5 22:23:38 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 20:23:38 -0800 Subject: FORTRAN vs. BASIC [was RE: Right toolf for the job (Was: teaching programming to kids] In-Reply-To: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EF495@505MBX1.corp.vnw.com> References: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EF495@505MBX1.corp.vnw.com> Message-ID: <4F0606CA.29384.282971C@cclist.sydex.com> On 5 Jan 2012 at 22:52, Rich Alderson wrote: > From: Fred Cisin > Sent: Wednesday, January 04, 2012 7:54 PM > > > Think of it as an old-style version of BASIC. WRITE is like > > PRINTUSING, with FORMAT being where you specify the print pattern. > > Any variable whose name starts with the letters I J K L M or N > > (alphabetic letters between I and N (which is the start of > > "INteger")) is assumed to be an int, unless you tell it otherwise. > > Many brands of it require giving a line number to every line. CALL > > instead of GOSUB, . . . There are so few differences that you can > > list them! > FORTRAN does not have line numbers, it has *statement* numbers, and > they need not be sequential, nor increasing from beginning of program > to end. Certain constructs, such as the DO loop and the FORMAT-driven > I/O statements, *require* statement numbers: > > DO 10 I=1,10 > WRITE (7,100) I > 10 CONTINUE > 100 FORMAT (1X,1I3) FORTRAN has restrictions about what you can and can't do in a DO loop. For example, you are not permitted to change the value of the index variable during the course of a loop. At the normal (rather than a premature exit via GO TO) end, the value of the index variable is undefined. Unlike BASIC, the terminal statement of a DO loop does not specify which loop of a nested DO is being terminated--in fact, the same terminal statement may be used for all members of a nested DO. There are other restrictions about transfer in and out of DOs. The devil's in the details and FORTRAN has a considerable number of them. There were other "simplified FORTRANs'' running around at about the same time as K&K were working on BASIC. For example, there was IITRAN (Illinois Institute of Technology), primarily intended for students on TTYs, first implemented on a 7040 in 1964. Here's a sample: http://99-bottles-of-beer.net/language-iitran-1899.html Note that the "==" is the assignment and "=" is the relational operator. And there were other "simplified FORTRANs", such as PUFFT, an ultra- forgiving compile-and-go FORTRAN from Purdue, Waterloo had WATFOR, and so forth. All mostly because machine time was expensive and students appreciated instant gratification. --Chuck From toby at telegraphics.com.au Thu Jan 5 22:26:21 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:26:21 -0500 Subject: Books on FP, lambda calculus, closures - Re: teaching programming to kids In-Reply-To: References: Message-ID: <4F0677ED.4090206@telegraphics.com.au> On 05/01/12 12:09 PM, Liam Proven wrote: > ... > For instance, the lambda calculus. What is it? What does it do, what > is it for, why is it special? There is a wealth of material at all levels devoted to this. Pick up any functional programming text, e.g. I highly recommend * Functional Programming - Application and Implementation (Henderson). * The Architecture of Symbolic Computers - Peter M. Kogge > > Closures: again, I have yet to find a readable, comprehensible > explanation of what they are, what they are good for, why they are > powerful and what strengths they confer onto a programming language. Readable and comprehensible explanations: * SICP * Programming in Scheme (Abelson & Eisenberg) * aforementioned Henderson. and dozens of others. There are A LOT of good functional programming texts out there, many dating back to the 70s and 80s of course, and far in conceptual advance of the mainstream (PHP! ASP.NET! Java! snore). > > If the teaching& reference materials that I have found so far are > unable to convey these core concepts, then there would seem to be two > possible conclusions: > > [a] /all/ the materials that I've been able to find are extremely > poor, even the ones that are more or less universally agreed to be > very good > > or > > [b] these are complex, difficult concepts and a massive amount of > back-knowledge is necessary to understand it. I had high school math and a pile of imperative programming experience but was still able to understand the basics (i.e. enough to use these concepts in a functional language). > > I would *REALLY* like and hugely value any pointers, ideally web links > but print references would do as well, as to these concepts. > > But are there other possible explanations that I have missed? That > these things are easy but all the texts are rubbish? > One does not imply the other. It's as EASY or as HARD as sailing a yacht, yet people manage to do that latter. If you're not motivated you won't succeed. This is no different to anything else in life. --T From cisin at xenosoft.com Thu Jan 5 22:43:30 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 20:43:30 -0800 (PST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F0673B7.2010908@telegraphics.com.au> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> Message-ID: <20120105201755.U76006@shell.lmi.net> > > My canonical example, > > while (*T++=*S++); > > just for the sake of readability, is easier for a beginner OR STUDENT to > > follow as something like: > > > > do > > { > > X = *S; > > *T = X; > > S++; > > T++; > > } > > while('\0'<> X); /* Yes, of course, (X), but that's my point. */ On Thu, 5 Jan 2012, Toby Thain wrote: > ITYM != Probably. Certainly for my own use or second semester students. With most C compilers either would work. <> is slightly more intuitive for beginners than != until they recognize it as a crude drawing of a not-equal sign. Once they've got THAT, though, they're probably ready for while(X) One trivial mistake of style that I made in this example, was that because I used 'S' for "source" and 'T' for "target", I didn't have 'T' available for the temporary variable name. > > (Readability and ease of understanding is more important than efficiency > > for EXPLAINING something) > The long version isn't less efficient. I meant as a general principal. BUT, even in this example, unless the compiler does "optimization" to compile something other than what you asked for (DWIM!) and removes the temporary variable, the long version will be a TINY bit slower due to the extra temporary variable being written and read, and then read again for the comparison. In the "short" )"crammed together") version the value is in a register when it is needed, and presumably in the accumulator for the conditional jump that the while translates to. Likewise, by incrementing the pointers separately from de-referencing them, you'll probably end up with an an "unnecessary" retrieval of the pointer value from memory instead of register for the de-reference. If the purpose is the fastest possible code, that stuff matters. If the purpose is having the students understand it, without having to decipher the "puzzle code", delaying them moving on to the rest of the topic, the long version is far superior. THAT's where Holub and I don't agree - he considers the long version to be bordering on "WRONG", even for classroom blackboard! In one of his columns, he actually CORRECTED similar code in a reader question (about another issue) - I felt that ease of comprehension by his readers/students should be a higher priority than "efficiency" -- Grumpy Ol' Fred cisin at xenosoft.com From cisin at xenosoft.com Thu Jan 5 22:47:28 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Thu, 5 Jan 2012 20:47:28 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F06743B.9000100@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105102749.T76006@shell.lmi.net> <201201051955.q05Jt3aM091357@billy.ezwind.net> <4F06743B.9000100@telegraphics.com.au> Message-ID: <20120105204508.O76006@shell.lmi.net> > > Does the average web designer routinely bump up against more > > programming languages per day than the average programmer? On Thu, 5 Jan 2012, Toby Thain wrote: > Maybe. A lot of programmers pride themselves on refusing to learn more > than one language or paradigm. :/ WE do tend to be stubborn. "To a man with a hammer, everything looks like a thumb." If we know a solution, we tend to be reluctant to do the work to look at alternatives. From toby at telegraphics.com.au Thu Jan 5 22:51:58 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:51:58 -0500 Subject: Truce, compromise reached? - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: <4F067DEE.9000803@telegraphics.com.au> On 05/01/12 10:52 AM, Liam Proven wrote: > On 4 January 2012 01:22, Toby Thain wrote: >> On 03/01/12 10:09 AM, Liam Proven wrote: >>> >>> On 3 January 2012 13:57, Toby Thain wrote: >>>> >>>> On 03/01/12 7:14 AM, Liam Proven wrote: >>>>> >>>>> >>>>> On 3 January 2012 04:16, Toby Thain wrote: >>>>>> >>>>>> >>>>>> On 02/01/12 10:00 PM, Mouse wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I consider BASIC to be an excellent beginner's introduction to "what >>>>>>>>> is a program?", etc., so long as they are exposed to other languages >>>>>>>>> immediately after grasping the basic principles. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Well, there is the "small" problem that BASIC syntax, data types, and >>>>>>>> control structures relate poorly to modern languages and even less to >>>>>>>> powerful abstractions. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> I'm not convinced that's a problem. >>>>>>> >>>>>>>> What's wrong with Scheme? Or at worst, Python? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> The same thing that was wrong with the New Math: you don't dump the >>>>>>> full load of theory on a beginner, not unless you want a very confused >>>>>>> beginner, or you have the incredible luck to get a Ramanujan or Knuth >>>>>>> as a student (and if so, honestly, the best thing anyone can do is to >>>>>>> get the hell out of the way). >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Scheme has no more theoretical load than BASIC. >>>>> >>>>> >>>>> >>>>> O_o So speaketh a *highly* intelligent, perhaps near-genius-level, >>>>> natural programmer. >>>> >>>> >>>> >>>> Of course, I meant to qualify this as: "for a beginner", which is the >>>> point >>>> here. >>> >>> >>> Even worse. >>> >>> There is a core question here which you seem to be skipping over. Do >>> you want to teach people to write code, to be able to make a computer >>> perform new tasks? *Or* do you want to train professional software >>> engineers? These are not at /all/ the same thing. Indeed I'd submit >>> that they are barely related. >>> >>> If you want the latter, then sure, yes, Scheme or Lisp or something >> >> >> Exactly the reverse. Professional software engineers I've seen around >> wouldn't touch Lisp with a barge pole. While, for people who want to get >> stuff done elegantly and simply, without irrelevancies, Scheme is ideal. >> >> >>> clever and rather arcane. Start 'em on the hard stuff so they learn >> >> >> It's not hard stuff (q.v) > > Believe me, as someone trying to learn Lisp, IT IS. For you, yes. We hear that. It's not clear they are objectively hard. I'm not a genius. And worse, like you, I have decades of imperative imprinting, as well. > >>> right, in the same way that I learned swordfighting with a foil, the >>> feeblest weapon but the one controlled by the strictest rules. If you >>> can fight foil, then you can move to the less-demanding sabre easily, >>> and the relatively undemanding ep?e is straightforward; but start with >>> ep?e and learning the formalities of foil will be much harder. >>> >>>> Since modelling and abstraction are far more important parts of >>>> "programming" than syntax, BASIC fails completely: >>>> - full of irrelevant lexical bullshit and limitations (line numbers? >>>> what >>>> good is this to a beginner?); >>> >>> Oh come off it! Line numbers went out in 1985, man! Don't judge BASIC >>> by the crappy implementations of the early 1980s when 8K of RAM was a >>> lot! >> >> Line numbers are not the issue. > > *You* raised them as an issue. They are an annoyance, but you can take them away and all the other probems remain. > >>>> - numbers, strings, fixed length arrays? that's it? >>> >>> No, not at all. I would expect at least integers, floats, variable >>> length strings, multidimensional arrays of any other type, and quite >>> possibly different lengths of integer and possibly signed and unsigned >>> forms. Possibly booleans and things as well; maybe a complex type. But >>> to be a programmer does not mandate being a mathematician. I have >>> taught programming to people who did not know what a percentage was, >>> who did not know how to multiply or divide by fractions and so on. >>> Many people do not need fancy types. >>> >>>> How do I build anything >>>> else? Oh right. I can't. >>> >>> Again, a limitation only of very primitive, early BASICs, although I >>> have to say, I never found it a limitation. Have user-defined >>> structured data types if you want, though. >> >> Can I make a list? > > I have no idea. I have not programmed in any meaningful sense in over > 20y. I would expect so, yes. How? > >>>> - most BASICs lack structured programming primitives, so even as an >>>> IMPERATIVE language it fails to teach important patterns from the 1980s >>>> (which might explain some of the code I see around the place); >>> >>> Again, a limitation of the early 1980s. Not true of any decent BASIC >>> from about 1983 onwards. >>> >>>> - lacks named functions& procedures (yeah, some BASICs have a crippled >>>> >>>> hack for this; see lexical bullshit above) >>> >>> See above. Have you actually *seen* /any/ even 1990s BASIC, FFS? >>> >>>> - a fundamental >>>> abstracting/factoring tool. >>> >>> You'll have to explain what that means. >> >> Functions are a fundamental abstracting/factoring tool. So they better work >> well. -> Closures, too. > > Even the very early 1980s BASICs included functions. I don't think > I've ever used one that didn't. > > As for Closures, AIUI, many computer languages do not include them. > Pointess crippled tools like C, for example. TBH I do not even > understand the Wikipedia definition of what a closure /is./ JavaScript does. PHP does. (Inelegantly of course.) Are these obscure languages? Closures are being retrofitted to many "mainstream" languages, apparently out of red-faced embarrassment, and/or to leverage skills investment, claw a few years out of these superannuated environments, etc. As for Wikipedia -- I long ago stopped expecting to find neophyte level expositions in it. For that, I go to pedagogical texts on the subject (see other reply). > >>>> Now with Scheme, >>>> - you start with a syntax that is not pedagogically toxic; >>> >>> But is incomprehensible >> >> To you... > > The unreadability of Lisp syntax is widely agreed, /even by the > creator of Lisp./ It is often cited as one of the main reasons for the > lack of penetration of Lisp in mainstream business computing. The alleged "unreadability" is actually an artefact of familiarity. You didn't learn the language, how could you read it easily? Did you learn Greek? Can you read Greek? It is only familiarity that leads people to say that C, C++, PHP are more readable. With those glasses taken off, they are horrible. > >>> and uses bizarre postfix notation. >> >> Not Schemes I'm familiar with. > > Prefix notation, then. Whatever the hell you call this (+ 1 2 3 4) nonsense. As was pointed out in another reply, prefix notation has several advantages. Do you just refuse to see them? They might be easier to appreciate with actual experience of S-expression notation (there are reasons it's still with us after nearly 50 years). > >>>> - you have the breath of a hope of constructing useful data structures >>>> without artificial limitations which can only frustrate; >>> >>> Straw man. >>> >>>> - there is the opportunity to introduce more theoretical load, which is >>>> good. The door is always unlocked to go beyond where one already is. >>> >>> If you can grasp the basics, pardon the pun, which I doubt most could. >>> >>>> There is nothing here that cannot be taught to a high school age student. >>> >>> You have no real experience of actual high-school students, then, I >>> can see that. >> >> Not true; I know some who are learning Scheme and Haskell with no trouble. > > /Some./ *Some* kids also learn ancient Greek or advanced > undergrad-level algebra when they are under 10. I will never manage to dent your conviction that these things cannot be taught to ordinary people. Oh well. > >>>>> I have only read a tiny little bit about Scheme but it is virtually >>>>> impenetrable to me - and I have years of programming experiences, >>>> >>>> And that is EXACTLY what Dijkstra was on about. >>> >>> Oh bollocks! >>> >>> Q.v. Dylan: >>> http://en.wikipedia.org/wiki/Dylan_%28programming_language%29#Syntax >>> Q.v. Lisp 2 and Elephant, discussed here /passim./ >>> >>> Even John McCarthy himself later conceded that Lisp's syntax was a >>> major hindrance in teaching it. >> >> Oh, yes, people have been trained to be terrified of it. It's a phantom >> fear. > > I could not disagree more strongly. There is, I suspect, a certain > mindset that can learn new mathematical notation and quickly and > easily adjust to it. To the common man, though, mere algebra itself - > simple > > x = a - b > > x is 10, b is 10; what is a? > > ... level-stuff - is as good as hieroglyphics. It is bizarre, > byzantine, impenetrable. But if you show them a language that says > > ? > apples = 5 > oranges =10 > > total_fruit = apples + oranges > > print total_fruit > ? > > And they can do that right at the command line, and they can save it, > edit it and change it and watch the results change - than that is a > useful teaching tool for introducing the notions of computer > programming to complete beginners. > > I have read the first few pages of The Little Schemer, generally > hailed as the best introduction to Scheme there is, and I found it > completely incomprehensible - and I am a skilled computer professional > with around a quarter century of experience. If I can't follow it, I > really do not believe that a random person with neither interest or > aptitude for it will be able to. Maybe you should just give up on that. Keep doing the stuff you are good at. But let other people who need these tools try to learn them, as desperately hopeless an endeavour that may be... (Btw, without functional programming, there would be no Google search or PageRank. Or Erlang. You do realise why Erlang is significant, right?) > >>>> The conclusion YOU come to is that Scheme isn't relevant to programming. >>> >>> >>> That is not even remotely /like/ the conclusion that I came to. You >>> are putting words in my mouth and I *object*, strenuously. >>> >>> I did not say it was not relevant. I did not say it was a bad thing to >>> start with. I said it was /too hard/ for the average person, and I >>> stand by that. >>> >>>> But >>>> in fact the opposite is true: A good part of what you have been >>>> indoctrinated with, from BASIC onwards, *obscures* what is really going >>>> on >>>> when you program. Programs are not "sequences of instructions" except at >>>> the >>>> absolute bottom-most level. >>> >>> >>> You have no idea of what any BASIC from even 20y ago is like, as you >>> have demonstrated, and you also seem to be very unfamiliar with the >>> limitations of actual ordinary people. For nonspecialists, concepts >>> such as loops are quite hard at first. Iterative thinking has to be >>> learned. Starting off utter newbies with prefix notation, CAR and >>> CADR, lists versus atoms, quoting and lambda calculus is like taking >>> the play-blocks off a kindergarten class and asking them to build the >>> cathedral of Notre Dame instead. >>> >>>> We do not need *another* generation of programmers for whom recursion and >>>> higher-order functions are alien concepts. Worse: Not given proper tools, >>>> mental and literal, for modelling and abstraction. Abstraction, it can be >>>> argued, is the single most important idea to learn as a computer >>>> programmer. >>> >>> Actually, I am sure you're right. >>> >>> But this misses the strength of the old BASICs of the late 1980s and >>> 1990s: that they brought programming to the common man. >> >> Yes, that's true; but it is 2011. And we are preparing kids whose careers >> will peak in 2030. > > Very *very* few people's careers are going to involve programming > computers. One in a million, maybe, if that. Oh, *if only* that were true. > >>> Sure, we need better developers, but we /also/ need easy, friendly, >>> fun tools to reintroduce the ordinary Joe to writing programs at all. >>> Python and so on are far too big and complex for this. >>> >>>> I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't >>>> really learn anything except how to navigate limitations. Ugh. If only I >>>> had >>>> picked up Scheme when I picked up C. >>> >>> >>> So in fact BASIC did /not/ give you brain damage and stop you learning? >> >> C moreso. I should have picked up something I could learn more from. >>> >>>> Actually none of these are more difficult than the artificial hurdles >>>> BASIC >>>> puts in front of you. Once again you speak from your confessed >>>> "imperative >>>> place". >>> >>> You have shown that you don't actually understand how much BASIC moved >>> on from the crappy MS BASIC 4 days of 1980. >>> >>>> Now imagine that you had learned Scheme first. Would you say recursion >>>> was >>>> hard? >>> >>> It isn't. I've written recursive programs. In BASIC. In a good BASIC: >>> in BBC BASIC V, a very fast, 32-bit BASIC with full support for named >>> procedures, local variables, passing by reference and value and so on. >> >> I'm very very familiar with BBC BASIC. It can't by any stretch be compared >> to a Lisp or ML family language, for example. > > I am sure it can't and I am not arguing that. What I saying is that it > was a world away from the simple crappy early BASICs which didn't even > have if/then/else or more than single-letter array names. I agree. I liked it a lot. In 1983. But soon found I liked Pascal better (and then fell into the C trap). > > And BBC BASIC was in many ways superceded by later developments like > QuickBASIC, which was a quite grown-up, structured language, written > in a simple IDE so that it could dispense with the line numbers that > you hate so much. > > (Personally, I think that for an interactive interpreter, line numbers > are a simple, useful concept. If you type in language statements, they > are executed; if you prefix them with a number, they are stored, for > later execution. I see them as no more iniquitous than row and column > identifiers in spreadsheets.) They are problematic in programming languages, being cognitive load, and a conceptual irrelevance. > >>> > How will you program effectively in 2030 without dealing with higher >>>> >>>> order functions, continuations, immutable state? (How can one do it >>>> today, >>>> for that matter; only because in software Things Move So Damn Slowly.) >>> >>> I don't, because I am not a programmer and I don't aim to be. >>> >>>> Kids being educated for a career in software starting today deserve >>>> something better than BASIC. Things are bad enough already. > > *For a career in software*. That is the $64K statement, an > all-important qualifier. > > So let me spell out what I am trying to say very clearly. > > If you are trying to teach a child - possibly an under-10 - about > programs and logic and execution and evaluation, then a decent BASIC > is actually a pretty good tool. Most of these kids will never be > programmers, they will at best /use/ computers, but this gives them > the rudimentary core understanding. For a non-programmer, it is > enough. > > For such purposes, a good, structured BASIC is an excellent tool. > > If you are trying to teach an undergraduate university student reading > computing, computer science or information technology about the art of > programming, to make them a skilled programmer who is capable of going > on to get a degree or multiple degrees in disciplines around > programming, then from what I have read, yes, Scheme is an excellent > teaching tool. I would expect these to be highly intelligent young > people, the cream of the crop, with a background education in > mathematics. These kind of people *aren't* highly represented among working programmers - in a perfect world they might be - and that's a problem for the industry. > > And quite possible for any undergrad in the sciences, who one can > therefore expect to be intelligent and used to structured thinking and > reasoning and the basics of maths and algebra, then yes, for them too, > Scheme is probably an excellent teaching tool. > >>> They deserve something better than a 1970s BASIC, sure... But even a >>> late 1980s BASIC would, I submit, be more use than Python or Ruby, >>> which are too big, too complex and too abstract. >> >> And after that, where will they fill in the missing pieces in their >> education? > > You need to define who we are talking about here. > > Are we talking about: > [a] nonspecialists who will never program again, apart from maybe some > formulae in spreadsheets? > [b] nontrained people, nonspecialists, who drift into doing a bit of > scripting or basic coding, like most people in IT support? > [c] trained professional programmers with higher-education training in > programming and programme design? > > For group A, I think a good BASIC is ideal. > For group B, possibly something more pragmatic like Python > For group C, yes, I think the Lisp family is probably best, and from > my reading, I'd say that Scheme is probably the best candidate for > teaching purposes. > > But I think that Scheme or the like would be overkill for nonspecialists. > We can't identify in advance which group a particular child will end up in, so whatever we choose to do will be taking a punt. I tend to agree that 'modelling and abstraction' (what programming really is, at least, at the professional level) is not going to serve all beginners. Some people just don't care about that and want quick and dirty fireworks (Arduino fans, geeks). It's always going to be a compromise. I only hope that people who DO end up graduating and working in the field sooner or later get exposed to something a bit more mind-expanding than the burger-flippin' languages around. "A language that doesn't affect the way you think about programming, is not worth knowing." -- Alan Perlis --Toby From toby at telegraphics.com.au Thu Jan 5 22:55:23 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Thu, 05 Jan 2012 23:55:23 -0500 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> Message-ID: <4F067EBB.8020804@telegraphics.com.au> On 05/01/12 12:57 PM, Richard wrote: >> On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: >> >>> Does anybody write compilers in assembly any more? Or ever will, again? ^^^^^^^^^^^ > > People write compilers all the time. If you think they don't, you're > seriously out of the loop. In assembly? --T From IanK at vulcan.com Thu Jan 5 22:56:27 2012 From: IanK at vulcan.com (Ian King) Date: Fri, 6 Jan 2012 04:56:27 +0000 Subject: DEC LISP text In-Reply-To: <4F05FFFD.1070409@bitsavers.org> Message-ID: On 1/5/12 11:54 AM, "Al Kossow" wrote: >On 1/5/12 10:50 AM, Richard wrote: >> In article, >> Ian King writes: >> >>> My first Lisp text that made sense to me was one published by DEC, >>>aimed >>> at experienced programmers. [...] >> >> This sounds interesting. What was the book? > >Steele "Common Lisp: The Language" 1984 > >2nd edition published in 1990 This one is "A Programmer's Guide to Common Lisp" by Deborah G. Tatar, 1987, Digital Press (and copyright by DEC). From cclist at sydex.com Thu Jan 5 23:18:21 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 21:18:21 -0800 Subject: [half-OT]: The chinese Beeprog inside In-Reply-To: <084701cccc29$acb26680$6400a8c0@tababook> References: <201201050720.q057KEIQ071156@billy.ezwind.net>, <084701cccc29$acb26680$6400a8c0@tababook> Message-ID: <4F06139D.233.2B4B197@cclist.sydex.com> On 6 Jan 2012 at 2:13, Alexandre Souza - Listas wrote: > > http://tabajara-labs.blogspot.com/2012/01/o-beeprog-chines-fotos-i > nternas.html > > This is one of the **best** device programmers your money can buy > today. > The chinese version is a clone, but completely equal the original. > Here you have the photos :o) Money is right. The BeeProg+ (the original BeeProg is discontinued) is distributed in the USA by B&K as the 866B and by Dataman as the Dataman 48+Pro. Both are in the 4-digit USD$ range. Please tell me about the Chinese clones... --Chuck From toby at telegraphics.com.au Thu Jan 5 23:20:38 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 00:20:38 -0500 Subject: Ratfor, structured Fortran - Re: FORTRAN vs. BASIC In-Reply-To: <4F0606CA.29384.282971C@cclist.sydex.com> References: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EF495@505MBX1.corp.vnw.com> <4F0606CA.29384.282971C@cclist.sydex.com> Message-ID: <4F0684A6.8020406@telegraphics.com.au> On 05/01/12 11:23 PM, Chuck Guzis wrote: > On 5 Jan 2012 at 22:52, Rich Alderson wrote: > >> From: Fred Cisin >> Sent: Wednesday, January 04, 2012 7:54 PM >> >>> Think of it as an old-style version of BASIC. WRITE is like >>> PRINTUSING, with FORMAT being where you specify the print pattern. >>> Any variable whose name starts with the letters I J K L M or N >>> (alphabetic letters between I and N (which is the start of >>> "INteger")) is assumed to be an int, unless you tell it otherwise. >>> Many brands of it require giving a line number to every line. CALL >>> instead of GOSUB, . . . There are so few differences that you can >>> list them! > >> FORTRAN does not have line numbers, it has *statement* numbers, and >> they need not be sequential, nor increasing from beginning of program >> to end. Certain constructs, such as the DO loop and the FORMAT-driven >> I/O statements, *require* statement numbers: >> >> DO 10 I=1,10 >> WRITE (7,100) I >> 10 CONTINUE >> 100 FORMAT (1X,1I3) > > FORTRAN has restrictions about what you can and can't do in a DO > loop. For example, you are not permitted to change the value of the > index variable during the course of a loop. At the normal (rather > than a premature exit via GO TO) end, the value of the index variable > is undefined. Unlike BASIC, the terminal statement of a DO loop does > not specify which loop of a nested DO is being terminated--in fact, > the same terminal statement may be used for all members of a nested > DO. There are other restrictions about transfer in and out of DOs. > > The devil's in the details and FORTRAN has a considerable number of > them. > > There were other "simplified FORTRANs'' running around at about the > same time as K&K were working on BASIC. For example, there was > IITRAN (Illinois Institute of Technology), primarily intended for > students on TTYs, first implemented on a 7040 in 1964. > > Here's a sample: > > http://99-bottles-of-beer.net/language-iitran-1899.html > > Note that the "==" is the assignment and "=" is the relational > operator. > > And there were other "simplified FORTRANs", such as PUFFT, an ultra- > forgiving compile-and-go FORTRAN from Purdue, Waterloo had WATFOR, > and so forth. Some preprocessors added significant value, such as Ratfor, which was used to demonstrate the clarity of structured programming in The Elements of Programming Style (Brian W. Kernighan and P.J. Plauger, 2nd ed, 1978), which drily explains: "A preprocessor is a program which translates a Fortran* dialect with adequate control flow statements into pure Fortran; ideally you never need to look at the generated Fortran. (The 'pseudo-code' that we will present in the next sections is based on Ratfor ... it is described in Software Tools, by Brian W. Kernighan and P.J. Plauger, Addison-Wesley, 1976.) "A third possibility is to think out your code in a decent language, then translate into Fortran when it comes time to start transcribing the code into machine-readable form. This requires no software, just discipline. To see how it works in practice, consider the following quadratic equation solver, in which IF statements come so thick and fast as to baffle the reader. ..." --Toby * - Following the book's orthography. > > All mostly because machine time was expensive and students > appreciated instant gratification. > > --Chuck > > From toby at telegraphics.com.au Thu Jan 5 23:27:20 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 00:27:20 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120105201755.U76006@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> Message-ID: <4F068638.8090803@telegraphics.com.au> On 05/01/12 11:43 PM, Fred Cisin wrote: >>> My canonical example, >>> while (*T++=*S++); >>> just for the sake of readability, is easier for a beginner OR STUDENT to >>> follow as something like: >>> >>> do >>> { >>> X = *S; >>> *T = X; >>> S++; >>> T++; >>> } >>> while('\0'<> X); /* Yes, of course, (X), but that's my point. */ > > On Thu, 5 Jan 2012, Toby Thain wrote: >> ITYM != > > Probably. Certainly for my own use or second semester students. > With most C compilers either would work.<> is slightly more intuitive I've never encountered a compiler which would accept <>; e.g. gcc does not. Which one are you referring to? Microsoft's maybe? > for beginners than != until they recognize it as a crude drawing of a > not-equal sign. Once they've got THAT, though, they're probably ready for > while(X) > > One trivial mistake of style that I made in this example, was that because > I used 'S' for "source" and 'T' for "target", I didn't have 'T' available > for the temporary variable name. > >>> (Readability and ease of understanding is more important than efficiency >>> for EXPLAINING something) >> The long version isn't less efficient. > > I meant as a general principal. > > BUT, even in this example, unless the compiler does "optimization" to > compile something other than what you asked for (DWIM!) and removes the > temporary variable, the long version will be a TINY bit slower due to the > extra temporary variable being written and read,... Not at all. It's an obvious optimisation... > > > If the purpose is the fastest possible code, that stuff matters. > gcc version 4.0.1, -O3, produces *identical* assembly for both versions, on my machine (and probably yours). > If the purpose is having the students understand it, without having to > decipher the "puzzle code", delaying them moving on to the rest of the > topic, the long version is far superior. Yes, probably. But I expect any C programmer to be able to reliably read this idiom (we had that thread a few months ago). --Toby .section __TEXT,__text,regular,pure_instructions .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 .machine ppc .text .align 2 .p2align 4,,15 .globl _a _a: .p2align 4,,15 L3: lbz r0,0(r4) addi r4,r4,1 extsb r0,r0 cmpwi cr7,r0,0 stb r0,0(r3) addi r3,r3,1 bne cr7,L3 blr .align 2 .p2align 4,,15 .globl _b _b: .p2align 4,,15 L12: lbz r0,0(r4) addi r4,r4,1 extsb r0,r0 cmpwi cr7,r0,0 stb r0,0(r3) addi r3,r3,1 bne cr7,L12 blr .subsections_via_symbols > > THAT's where Holub and I don't agree - he considers the long version to be > bordering on "WRONG", even for classroom blackboard! In one of his > columns, he actually CORRECTED similar code in a reader question (about > another issue) - I felt that ease of comprehension by his > readers/students should be a higher priority than "efficiency" > > > -- > Grumpy Ol' Fred cisin at xenosoft.com > From toby at telegraphics.com.au Thu Jan 5 23:28:58 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 00:28:58 -0500 Subject: Stuck in a groove - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120105204508.O76006@shell.lmi.net> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <20120105102749.T76006@shell.lmi.net> <201201051955.q05Jt3aM091357@billy.ezwind.net> <4F06743B.9000100@telegraphics.com.au> <20120105204508.O76006@shell.lmi.net> Message-ID: <4F06869A.401@telegraphics.com.au> On 05/01/12 11:47 PM, Fred Cisin wrote: >>> Does the average web designer routinely bump up against more >>> programming languages per day than the average programmer? > > On Thu, 5 Jan 2012, Toby Thain wrote: >> Maybe. A lot of programmers pride themselves on refusing to learn more >> than one language or paradigm. :/ > > WE do tend to be stubborn. > > "To a man with a hammer, everything looks like a thumb." > > If we know a solution, we tend to be reluctant to do the work to look at > alternatives. Sometimes it's even the *right* attitude. :) How to know when it's not? Troublesome. One way is to listen to advice from others, I suppose. --Toby From bfranchuk at jetnet.ab.ca Thu Jan 5 23:34:40 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Thu, 05 Jan 2012 22:34:40 -0700 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F067EBB.8020804@telegraphics.com.au> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <4F067EBB.8020804@telegraphics.com.au> Message-ID: <4F0687F0.5040702@jetnet.ab.ca> On 1/5/2012 9:55 PM, Toby Thain wrote: >> People write compilers all the time. If you think they don't, you're >> seriously out of the loop. > > In assembly? What is the memory footprint for a simple compiled lanquage, that can compile itself. I am thinking of word based machine, 16 or more bits wide and having some basic file I/O and non-recursive subroutine calls. > --T > > From pu1bzz.listas at gmail.com Thu Jan 5 23:46:12 2012 From: pu1bzz.listas at gmail.com (Alexandre Souza - Listas) Date: Fri, 6 Jan 2012 03:46:12 -0200 Subject: [half-OT]: The chinese Beeprog inside References: <201201050720.q057KEIQ071156@billy.ezwind.net>, <084701cccc29$acb26680$6400a8c0@tababook> <4F06139D.233.2B4B197@cclist.sydex.com> Message-ID: <005b01cccc36$8b8bd880$6400a8c0@tababook> >> http://tabajara-labs.blogspot.com/2012/01/o-beeprog-chines-fotos-i >> nternas.html >> This is one of the **best** device programmers your money can buy >> today. >> The chinese version is a clone, but completely equal the original. >> Here you have the photos :o) > Money is right. The BeeProg+ (the original BeeProg is discontinued) > is distributed in the USA by B&K as the 866B and by Dataman as the > Dataman 48+Pro. Both are in the 4-digit USD$ range. Please tell me > about the Chinese clones... Well, at least untill now, it works :o) I cannot tell yet how good they are, only that they LOOK like the original beeprog. You can buy them in china here: http://www.drivestar.biz/beeprog-programmer-p-478.html - this is the same I've got, but I got mine locally in Brazil. I had the original beeprog and wish I could have stayed with him. Hope this chinese clone can work like the original. Important info: These chinese clones CANNOT BE UPDATED. If you load a newer software (v2.63, from 2010) on this programer, it will be instantanealy bricked. This seller (drivestar) has the unbricking program to load into the 18F263 microcontroller inside the programmer, but you must choose if you can live with this flaw. For me it is ok, I don't believe I'll program any chip newer than anything avaiable in 2010. From cclist at sydex.com Thu Jan 5 23:47:57 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 21:47:57 -0800 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F067EBB.8020804@telegraphics.com.au> References: <20120102212036.F61599@shell.lmi.net>, , <4F067EBB.8020804@telegraphics.com.au> Message-ID: <4F061A8D.31481.2CFC9CE@cclist.sydex.com> On 5 Jan 2012 at 23:55, Toby Thain wrote: > In assembly? I'd be surprised if there has been a single production compiler (i.e. not some hobby project) written in assembly in the last 20 years. Anything's possible, I guess. --Chuck From toby at telegraphics.com.au Fri Jan 6 00:01:23 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 01:01:23 -0500 Subject: JavaScript and Scheme - Re: teaching programming to kids In-Reply-To: References: Message-ID: <4F068E33.1050805@telegraphics.com.au> On 05/01/12 12:09 PM, Liam Proven wrote: > ... > Closures: again, I have yet to find a readable, comprehensible > explanation of what they are, what they are good for, why they are > powerful and what strengths they confer onto a programming language. > Another approachable, practical discussion of closures, with applications, is in Douglas Crockford's "JavaScript - The Good Parts". In fact it's hard to do anything half interesting in JavaScript *without* using closures. Many people including Crockford say this is the #1 thing JavaScript got right (and if Eich had had more time and leeway, he'd have incorporated more of Scheme's power). From Coders at Work* (Siebel): Peter Seibel: ------------- Let's go back to those ten days when you implemented the original JavaScript. I know that at some point someone had turned you on to Abelson and Sussman and your original idea was to put Scheme in the browser. Brendan Eich: ------------- The immediate concern at Netscape was that it must look like Java. People have done Algol-like syntaxes for Lisp but I didn't have time to take a Scheme core so I ended up doing it all directly and that meant I could make the same mistakes that others made. I didn't have total dynamic scope, like Stallman insisted was somehow important for Emacs and infested Elisp with. JavaScript has mostly lexical scope [like Scheme and Common Lisp] with some oddness to it---there are a few loopholes that are pretty much dynamic: the global object, the with statement, eval. But it's not like dollar variables in Perl before my or upvar, uplevel in Tcl. The '90s was full of that---it was trendy. But I didn't stick to Scheme and it was because of the rushing. ... Seibel: ------- So basically now people make a top-level function to get a namespace. Eich: ----- Yeah. You see people have a function and they call it right away. It gives them a safe environment to bind in, private variables. Doug's a big champion of this. It was not totally unknown to the Schemers and Lispers but a log of JavaScript people had to learn it and Doug and others have done a valuable service by teaching them. It's not like you're getting everybody to be high-quality Scheme programmers, unfortunately, but to some extent they've succeeded, so people now do understand more functional idioms at some patterny level, not necessarily at a deep level. ... Seibel: ------- In some of the discussions about ES4, you cited Guy Steele's paper, "Growing a Language". Speaking as a Lisper, to me the take-away from that was, step one, put a macro system in your language. Then all of this special sugar goes away. Eich: ----- There are two big problems, obviously. C syntax means you have a much harder time than with S-expressions, so you have to define your ASTs and were going to have to standardise them and that's going to be a pain. ... * http://www.codersatwork.com/brendan-eich.html From csquared3 at tx.rr.com Fri Jan 6 00:07:22 2012 From: csquared3 at tx.rr.com (Charlie Carothers) Date: Fri, 06 Jan 2012 00:07:22 -0600 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120105201755.U76006@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> Message-ID: <4F068F9A.2090901@tx.rr.com> On 1/5/2012 10:43 PM, Fred Cisin wrote: >>> My canonical example, >>> while (*T++=*S++); >>> just for the sake of readability, is easier for a beginner OR STUDENT to >>> follow as something like: >>> >>> do >>> { >>> X = *S; >>> *T = X; >>> S++; >>> T++; >>> } >>> while('\0'<> X); /* Yes, of course, (X), but that's my point. */ > > On Thu, 5 Jan 2012, Toby Thain wrote: >> ITYM != > > Probably. Certainly for my own use or second semester students. > With most C compilers either would work.<> is slightly more intuitive > for beginners than != until they recognize it as a crude drawing of a > not-equal sign. Once they've got THAT, though, they're probably ready for > while(X) > > One trivial mistake of style that I made in this example, was that because > I used 'S' for "source" and 'T' for "target", I didn't have 'T' available > for the temporary variable name. > >>> (Readability and ease of understanding is more important than efficiency >>> for EXPLAINING something) >> The long version isn't less efficient. > > I meant as a general principal. > > BUT, even in this example, unless the compiler does "optimization" to > compile something other than what you asked for (DWIM!) and removes the > temporary variable, the long version will be a TINY bit slower due to the > extra temporary variable being written and read, and then read again for > the comparison. In the "short" )"crammed together") version the value is > in a register when it is needed, and presumably in the accumulator for the > conditional jump that the while translates to. Likewise, by incrementing > the pointers separately from de-referencing them, you'll probably end up > with an an "unnecessary" retrieval of the pointer value from memory > instead of register for the de-reference. > > > If the purpose is the fastest possible code, that stuff matters. > > If the purpose is having the students understand it, without having to > decipher the "puzzle code", delaying them moving on to the rest of the > topic, the long version is far superior. > > THAT's where Holub and I don't agree - he considers the long version to be > bordering on "WRONG", even for classroom blackboard! In one of his > columns, he actually CORRECTED similar code in a reader question (about > another issue) - I felt that ease of comprehension by his > readers/students should be a higher priority than "efficiency" > > > -- > Grumpy Ol' Fred cisin at xenosoft.com > What about the programmer who wrote the code understanding it quickly 6 months or 6 years after he wrote it? What does this do? Who wrote this mess??? Oh, I did... :-( I came to the conclusion several years ago that for 99% of code clarity is more important than efficiency, and that good comments are literally worth as much (sometimes more) to a company's financial results over the long haul than the code. Clear code translates to the bottom line as well! I absolutely loathe "scrunched up" code, especially in complex if statements. And yes, I've had coworkers, including one of my managers, tell me I was wrong and that it made no significant difference. He is still in error, BTW, as is, I strongly suspect, Mr. Holub. :-) Perhaps a bit extreme, but I don't even use the ternary operator in C preferring the simpler and IMNSHO much clearer if/else construct. I've probably even replaced the ternary critter with an if/else in code someone else wrote that I was reworking for some reason. If it takes a microsecond longer to execute the compiled code, who really cares the vast majority of the time. OK, if I knew for sure the ternary was faster, I might grudgingly use it in an interrupt routine but I would not be really happy about it! -- Later, Charlie C. In God We Trust!!! From cclist at sydex.com Fri Jan 6 00:08:25 2012 From: cclist at sydex.com (Chuck Guzis) Date: Thu, 05 Jan 2012 22:08:25 -0800 Subject: Ratfor, structured Fortran - Re: FORTRAN vs. BASIC In-Reply-To: <4F0684A6.8020406@telegraphics.com.au> References: <539CFBE84C931A4E8516F3BBEA36C7AA4D7EF495@505MBX1.corp.vnw.com>, <4F0606CA.29384.282971C@cclist.sydex.com>, <4F0684A6.8020406@telegraphics.com.au> Message-ID: <4F061F59.31727.2E286FD@cclist.sydex.com> On 6 Jan 2012 at 0:20, Toby Thain wrote: > "A preprocessor is a program which translates a Fortran* dialect > with > adequate control flow statements into pure Fortran; ideally you never > need to look at the generated Fortran. (The 'pseudo-code' that we will > present in the next sections is based on Ratfor ... it is described in > Software Tools, by Brian W. Kernighan and P.J. Plauger, > Addison-Wesley, 1976.) > "A third possibility is to think out your code in a decent > language, Old stuff, really--precedes 1976 by quite a way. Re: Integer variables initial letter i-n in FORTRAN has an interesting precedent in NELIAC. The variables i through n represented index registers with integer values. --Chuck From chrism3667 at yahoo.com Thu Jan 5 12:47:12 2012 From: chrism3667 at yahoo.com (Chris M) Date: Thu, 5 Jan 2012 10:47:12 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F04AFA7.30384.2229049@cclist.sydex.com> References: , <4F04D19B.2010208@neurotica.com>, <20120104172214.U48285@shell.lmi.net> <4F04AFA7.30384.2229049@cclist.sydex.com> Message-ID: <1325789232.16218.YahooMailNeo@web164513.mail.gq1.yahoo.com> not going to appear where it should in the que, but forging ahead nevertheless... from: Chuck Guzis On 3 Jan 2012 at 15:32, Chris M wrote: >?Are you willing to declare that every compiler writer getting a check >today learned ml first Chuckers? Something tells me the vast majority >probably cut their teeth on BASIC, Pascal, and FORTRAN. But what do I >know. I'm struggling to understand what point you're trying to get across. My point was that it's probably best to learn arithmetic before one learns algebra or calculus--that is, to understand the way numbers work. Of course, some would disagree. But if you don't understand how a computer works, it's hard to believe that programming languages will come easy to you. C: There's no cause for struggle. I'll bet few language developers learned machine or assembly language first. My guess is the utter vast majority learned a procedural language, like BASIC, or any other, as first steps. You can liken machine language to arithmetic if you like, but I'd sooner liken it to theory and proofs! It goes w/o saying that to learn the ins and outs of languages you're will as a necessity have to learn to code in primitives, and understand the machine's specifics, and even what happens to chips when they heat up even . But to state that that has to proceed learning other language skills doesn't seem like it would reflect everyday realities. Granted some language developers (or board members) are probably older, and perhaps ?some actually did_need_ to learn machine coding as a first step (for lack of anything else). For the most part, coding in assembly is not all that different from coding in higher level languages. There's less abstraction, but even utilization of BIOS routines insulates you from much of the hardware. ?Does someone need to learn how to develop photographs before taking award winning pictures? Arguably learning too much about machine specifics initially can make it harder to learn newer methodologies, like OOP. Granted languages are written more often in C and assembly or some combination, but higher level constructs in any language add layers of abstraction. Successful ?developers have to leave behind aspects of bits and bolts oftentimes and deal w/the ?methods at hand. From chrism3667 at yahoo.com Thu Jan 5 13:10:27 2012 From: chrism3667 at yahoo.com (Chris M) Date: Thu, 5 Jan 2012 11:10:27 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <1325721640.31792.YahooMailNeo@web164502.mail.gq1.yahoo.com> References: <20120102212036.F61599@shell.lmi.net> , <4F025F92.15804.365E05A@cclist.sydex.com> , <4F031168.27701.104708B@cclist.sydex.com> <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry> <20120104132145.L41929@shell.lmi.net> <1325721640.31792.YahooMailNeo@web164502.mail.gq1.yahoo.com> Message-ID: <1325790627.32638.YahooMailNeo@web164507.mail.gq1.yahoo.com> ________________________________ Does anybody write compilers in assembly any more?? Or ever will, again? ?why bother? Optimization in most F90 implementations take care of the hard work for you ! *ducks for cover* C: I actually should have written FORTRAN-90 to make the joke worthwhile. Oh well. From chrism3667 at yahoo.com Thu Jan 5 13:19:04 2012 From: chrism3667 at yahoo.com (Chris M) Date: Thu, 5 Jan 2012 11:19:04 -0800 (PST) Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F04940F.19597.1B6C409@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <20120104132145.L41929@shell.lmi.net>, <4F04940F.19597.1B6C409@cclist.sydex.com> Message-ID: <1325791144.51955.YahooMailNeo@web164503.mail.gq1.yahoo.com> ________________________________ From: Chuck Guzis To: General Discussion: On-Topic and Off-Topic Posts Sent: Wednesday, January 4, 2012 9:01 PM Subject: Re: Right toolf for the job (Was: teaching programming to kids On 4 Jan 2012 at 19:41, David Riley wrote: > On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: > > > Does anybody write compilers in assembly any more?? Or ever will, > > again? Well, even in the limited resource 8-bit days in the 70s, it didn't make sense to write a compiler in assembler, even when you were using assembler to write the code. C: It should also be pointed out that any assembly code is going to have to be optimized anyway (usually by hand). A good assembler programmer can write efficient assembly code. But any s/w that worth it's salt likely went through many iterations of testing (for speed usually) and rewriting. My assembler instructor (who didn't know what the 8088 Trap flag was for, I respectfully kept my mouth shut, a break from the usual) told the story of some guy who wanted to play chess on some embedded machine (sounds funky I know). He got everything in the allotted memory space, but one byte. He eventually had to go over the whole shebang to fit. It was tight to begin with, but had to be just a wee bit tighter. From paulkoning at comcast.net Thu Jan 5 14:57:57 2012 From: paulkoning at comcast.net (Paul Koning) Date: Thu, 5 Jan 2012 15:57:57 -0500 Subject: Fwd: IEEE Spectrum article about UNIX References: <09787EF419216C41A903FD14EE5506DD030F1081BE@AUSX7MCPC103.AMER.DELL.COM> Message-ID: <0ECB9011-E154-445A-A912-E1266655658D@comcast.net> One of my colleagues sent this; I figured the list might find it interesting. paul Begin forwarded message: > ... > Subject: IEEE Spectrum article about UNIX > > Thought you might find this interesting: > > http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0 > From chrism3667 at yahoo.com Thu Jan 5 21:28:25 2012 From: chrism3667 at yahoo.com (Chris M) Date: Thu, 5 Jan 2012 19:28:25 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120104131430.G41929@shell.lmi.net> from "Fred Cisin" at Jan 4, 12 01:16:55 pm Message-ID: <1325820505.87766.YahooMailNeo@web164515.mail.gq1.yahoo.com> ________________________________ From: Tony Duell > On Tue, 3 Jan 2012, Chris M wrote: > > Oh if I had my way, every computer would have BASIC in firmware or on > > disk. > > You betcha. > > . . . and to supplement or ameliorate deficiencies in the firmware > version, there can be addtions to it on the disk! > . . . and, for those missing the firmware copy, put "Gee Whiz BASIC" on > the disk! Actually, if I had my way, every computer would have Forth in the frimware. I think it should be a on offence to sell something as a computer if it does not compe with a programming language and the documentation to use said language. After all, a computer is a programamed data processor, and if you can't prgoram it, it's? not a computer. -tony (only _half_ joking) C: But BASIC is so well known. Most or nearly everything you learned on a TRS-80 model 3/4 could be utilized straitaway on a peecee. Yes BASIC and BASICA added features, but those are bonus'! The Tandy 2000 DOS/BASIC manuals (can't remember if they were distinct, probably) as a fer instance were pretty well written and comprehensive AFAIK (no manual is perfect though). ? How many puters came with M$ BASIC? ?I don't know the first thing about FORTH, sorry. But all I know is a whole nudda world was available to the curious little punk who cared to get their hands a little dirty. I have no reason to hate BASIC. Ideal for all tasks, definitely not. But even Quick BASIC wasn't so bad for some things. A number of developers were and still are fond of Quick C for quick and dirty stuff (I know that statement astounds people, but it's true just the same). And I'm no big fan of M$, but that has nothing to do w/finding one of their tools as moderately useful. Not everyone on this list is a developer, or needs to work solely in the most modern methodologies. From chrism3667 at yahoo.com Thu Jan 5 21:37:09 2012 From: chrism3667 at yahoo.com (Chris M) Date: Thu, 5 Jan 2012 19:37:09 -0800 (PST) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120105143842.B76006@shell.lmi.net> References: <20120105143842.B76006@shell.lmi.net> Message-ID: <1325821029.11148.YahooMailNeo@web164503.mail.gq1.yahoo.com> ________________________________ From: Fred Cisin On Thu, 5 Jan 2012, Tony Duell wrote: > Actually, if I had my way, every computer would have Forth in the frimware. > I think it should be a on offence to sell something as a computer if it > does not compe with a programming language and the documentation to use > said language. After all, a computer is a programamed data processor, > and if you can't prgoram it, it's? not a computer. > -tony (only _half_ joking) Every computer should have a machine language monitor in ROM.? at least on a par with DEBUG. C: Now there's a novel idea. The Canon AS-100 and the NEC APC both have some sort of monitor that presents itself on power up. My memory isn't what it should be (I was tempted to say the C64 had one, but on second thought I think it was just some other commies). A feature we're more likely to see on 8 bit toys (in the US anyway) then man-puters. But the more I think of it even, a lot of them were actually disk or cartridge based. Is there any reason to wonder why people still love their old 8 bitters? From mouse at Rodents-Montreal.ORG Fri Jan 6 01:06:59 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Fri, 6 Jan 2012 02:06:59 -0500 (EST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F0673B7.2010908@telegraphics.com.au> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> Message-ID: <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> >> while (*T++=*S++); >> do >> { >> X = *S; >> *T = X; >> S++; >> T++; >> } >> while('\0' != X); (obvious fix applied to the condition) > The long version isn't less efficient. Actually, it is, or at least may be, depending on the compiler; there certainly are semantic differences between them. In particular, in the original, there is no sequence point during the load-store-increment-increment operation, which means the compiler can make assumptions like "neither T nor S points into either T or S" and let the undefined behaviour resulting from multiple modifications between sequence points cover for it if they do. The long version has sequence points all through it, and, for example, the compiler cannot assume that T does not point into S and thus S++ cannot be collapsed with *S. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From mouse at Rodents-Montreal.ORG Fri Jan 6 01:22:17 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Fri, 6 Jan 2012 02:22:17 -0500 (EST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120105201755.U76006@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> Message-ID: <201201060722.CAA00638@Sparkle.Rodents-Montreal.ORG> >>> while('\0'<> X); /* Yes, of course, (X), but that's my point. */ >> ITYM != > With most C compilers either would work. Really? If so, it's an extension, since <> in that context is a syntax error in C. (Indeed, I can't think of any context in which it isn't a syntax error in C, except cases like a string or character literal, where almost any two source characters are acceptable, or cases like part of a false #if block where it doesn't actually get compiled.) Which compilers have you found accept it? /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From spc at conman.org Fri Jan 6 02:21:24 2012 From: spc at conman.org (Sean Conner) Date: Fri, 6 Jan 2012 03:21:24 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F068F9A.2090901@tx.rr.com> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> <4F068F9A.2090901@tx.rr.com> Message-ID: <20120106082124.GA1433@brevard.conman.org> It was thus said that the Great Charlie Carothers once stated: > > Perhaps > a bit extreme, but I don't even use the ternary operator in C preferring > the simpler and IMNSHO much clearer if/else construct. I've probably > even replaced the ternary critter with an if/else in code someone else > wrote that I was reworking for some reason. If it takes a microsecond > longer to execute the compiled code, who really cares the vast majority > of the time. OK, if I knew for sure the ternary was faster, I might > grudgingly use it in an interrupt routine but I would not be really > happy about it! What about the following (real code I've written): /* example 1 */ if (flags[0] == 'r') oflags = (flags[1] == '+') ? O_RDWR : O_RDONLY; else if (flags[0] == 'w') oflags = (flags[1] == '+') ? O_CREAT | O_RDWR : O_CREAT | O_WRONLY | O_TRUNC; else if (flags[0] == 'a') oflags = (flags[1] == '+') ? O_RDWR | O_APPEND : O_WRONLY | O_APPEND; else luaL_error(L,"illegal flag: %s",flags); /* example 2 */ printf( "; Questions = %lu\n" "; Answers = %lu\n" "; Name Servers = %lu\n" "; Additional Records = %lu\n" "; Authoritative Result = %s\n" "; Truncated Result = %s\n" "; Recursion Desired = %s\n" "; Recursion Available = %s\n" "; Result = %s\n", (unsigned long)result->qdcount, (unsigned long)result->ancount, (unsigned long)result->nscount, (unsigned long)result->arcount, result->aa ? "true" : "false", result->tc ? "true" : "false", result->rd ? "true" : "false", result->ra ? "true" : "false", dns_rcode_text(result->rcode) ); The first example is about the craziest I ever got with the ternary operator. -spc (But I still find its intent clear ... ) From spc at conman.org Fri Jan 6 02:40:41 2012 From: spc at conman.org (Sean Conner) Date: Fri, 6 Jan 2012 03:40:41 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> Message-ID: <20120106084041.GB1433@brevard.conman.org> It was thus said that the Great Mouse once stated: > >> while (*T++=*S++); > > >> do > >> { > >> X = *S; > >> *T = X; > >> S++; > >> T++; > >> } > >> while('\0' != X); > > (obvious fix applied to the condition) > > > The long version isn't less efficient. > > Actually, it is, or at least may be, depending on the compiler; there > certainly are semantic differences between them. > > In particular, in the original, there is no sequence point during the > load-store-increment-increment operation, which means the compiler can > make assumptions like "neither T nor S points into either T or S" and > let the undefined behaviour resulting from multiple modifications > between sequence points cover for it if they do. The long version has > sequence points all through it, and, for example, the compiler cannot > assume that T does not point into S and thus S++ cannot be collapsed > with *S. I don't think you're right about that. I can write, for instance: void copy(char *t,char *s) { while((*t++ = *s++)) ; } int main(int argc,char *argv[]) { copy(argv[0],argv[0]); return 0; } C has to assume (well, prior to C99, more on that in a bit) that pointers it receives point to the same location, otherwise, why have memcpy() and memmove()? C99 has ways of telling the compiler that the two pointers won't be aliases of each other: void copy (char *restrict t,char *restrict s) { while(*t++ = *s++) ; } copy(argv[0],argv[0]); I would exepct a C99 compiler to bitch about aliased pointers. Hold on ... wow ... GCC 3.4.6 didn't bitch about that. "splint --strict" kind of ... did: a.c:9:3: Statement has no effect (possible undected modification through call to unconstrained function copy): copy(argv[0], ar... Statement has no visible effect --- no values are modified. It may modify something through a call to an unconstrained function. (Use -noeffectuncon to inhibit warning) I'm ... um ... surprised at this. -spc (dismayed is more like it ... ) From gerhard.kreuzer at liftoff.at Fri Jan 6 03:02:34 2012 From: gerhard.kreuzer at liftoff.at (Gerhard Kreuzer) Date: Fri, 6 Jan 2012 10:02:34 +0100 Subject: teaching programming to kids Message-ID: <1E52E896F6CC4334A48F88BB46D6C849@mars> Try this out: http://phrogram.com/ With best regards Gerhard From james at attfield.co.uk Fri Jan 6 04:08:40 2012 From: james at attfield.co.uk (James Attfield) Date: Fri, 6 Jan 2012 10:08:40 -0000 Subject: Cromemco FDC In-Reply-To: References: Message-ID: <000301cccc5b$2a8a2ad0$7f9e8070$@co.uk> > Hi Jim, > Are you the same Jim I'm corresponding with elsewhere about a broken > 256/1024KZ? > If so, you and I can discuss the 64FDC off-list; I haven't heard from Jerry. > I do have some IMI drives, both the 8" 11MB and the 5" 5MB and 20MB units, > but I'm pretty sure at least some of them are non-functional.What > size/capacity are you looking for? > IMI drives were also used by Corvus; as a matter of fact the two companies > ultimately merged. The IMI 20MB mechanism was also available with a normal > ST412/506 interface card and used in XT clones etc., in case you have a > defective drive with a good IMI board and can find one of those drives. Hi Mike, yes I am - I'm about to start in on the 256KZ just now. Agreed we take this off-list - I'll drop you an email. Jim From james at attfield.co.uk Fri Jan 6 04:15:34 2012 From: james at attfield.co.uk (James Attfield) Date: Fri, 6 Jan 2012 10:15:34 -0000 Subject: Cromemco FDC In-Reply-To: References: Message-ID: <000401cccc5c$20ec5b00$62c51100$@co.uk> > James Attfield wrote: > > > > FYI the ROM on the 'FDC flips in and out the entire top 32K bank. > > I just double checked the schematics and this is not correct. > The 16FDC feeds address lines 15-12 through a 74ls30 to do a > specific decode for a 4K address range, normally set to $C000-$CFFF. > If the high four address bits do not match, the card will not > respond. > > Bill S. My sloppy work, apologies, I was referring to the top bank of the memory cards - the top 32K of a 64KZ will remain disabled until RDOS has relocated itself during boot or test sequences then it switches it back in. Ignore comment about port 40H - that is used for bank switching in 8-bit systems. Jim From kspt.tor at gmail.com Fri Jan 6 03:23:12 2012 From: kspt.tor at gmail.com (Tor Arntsen) Date: Fri, 6 Jan 2012 10:23:12 +0100 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: On Thu, Jan 5, 2012 at 17:56, Ethan Dicks wrote: > On Thu, Jan 5, 2012 at 10:52 AM, Liam Proven wrote: >> Very *very* few people's careers are going to involve programming >> computers. One in a million, maybe, if that. > > That is a gross exaggeration. [..] I didn't see the original post.. but yes, that's not accurate. With one in a million there should be just 4 programmers in all of Norway. And (I'm Norwegian) here we are about 50 career programmers in just this one company I'm working in, which is in a small town (_very_ small by most other countries' standards) and we're not alone.. there are several other companies in this town where programming and software design is part of what they do. Can't talk too much for those others, but we don't do web page design either, this is traditional software development with numeric processing and data handling, mostly under Unix (in the past) and Linux (now), and, before that, mini-computers and their operating systems (their passing is one reason I'm attracted to classic computing lists like these). So I don't know where that one in a million came from.. I see similar programming environments as ours when I travel elsewhere in the world, and ours is just one of those industries out there where proper, good old programming is required. -Tor From pontus at update.uu.se Fri Jan 6 05:37:03 2012 From: pontus at update.uu.se (Pontus) Date: Fri, 06 Jan 2012 12:37:03 +0100 Subject: Can PDP-11/23 boot MSCP devices Message-ID: <4F06DCDF.8040901@update.uu.se> Hi The topic says is all, can a PDP-11/23 (on a M8189 card) boot from MSCP devices? My guess is that you need proper roms on your BDV11 ? Would these usually be included? Regards, Pontus. From toby at telegraphics.com.au Fri Jan 6 07:52:02 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 08:52:02 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> Message-ID: <4F06FC82.9030708@telegraphics.com.au> On 06/01/12 2:06 AM, Mouse wrote: >>> while (*T++=*S++); > >>> do >>> { >>> X = *S; >>> *T = X; >>> S++; >>> T++; >>> } >>> while('\0' != X); > > (obvious fix applied to the condition) > >> The long version isn't less efficient. > > Actually, it is, or at least may be, depending on the compiler; gcc compiles to the same assembly, which is what I meant by "not less efficient". I expect most popular compilers would do the same. --T > there > certainly are semantic differences between them. > > In particular, in the original, there is no sequence point during the > load-store-increment-increment operation, which means the compiler can > make assumptions like "neither T nor S points into either T or S" and > let the undefined behaviour resulting from multiple modifications > between sequence points cover for it if they do. The long version has > sequence points all through it, and, for example, the compiler cannot > assume that T does not point into S and thus S++ cannot be collapsed > with *S. > > /~\ The ASCII Mouse > \ / Ribbon Campaign > X Against HTML mouse at rodents-montreal.org > / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B > From fraveydank at gmail.com Fri Jan 6 08:14:13 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 09:14:13 -0500 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F061A8D.31481.2CFC9CE@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, , <4F067EBB.8020804@telegraphics.com.au> <4F061A8D.31481.2CFC9CE@cclist.sydex.com> Message-ID: <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> On Jan 6, 2012, at 12:47 AM, Chuck Guzis wrote: > On 5 Jan 2012 at 23:55, Toby Thain wrote: > >> In assembly? > > I'd be surprised if there has been a single production compiler (i.e. > not some hobby project) written in assembly in the last 20 years. Well, again, it depends on whether you count interpreters. Forth interpreters are quite often done in assembly. They also often progress to compilation as well. Of course, then it also depends what you call a "hobby project"; Forth tends to make its way onto things like satellites which aren't exactly hobby projects (inasmuch as the US doesn't consider NASA to be a hobby, which it increasingly seems to), but they are certainly often one-off designs. - Dave From mouse at Rodents-Montreal.ORG Fri Jan 6 08:18:58 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Fri, 6 Jan 2012 09:18:58 -0500 (EST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120106084041.GB1433@brevard.conman.org> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <20120106084041.GB1433@brevard.conman.org> Message-ID: <201201061418.JAA06174@Sparkle.Rodents-Montreal.ORG> >> [...] the compiler can make assumptions like "neither T nor S points >> into either T or S" > I don't think you're right about that. [...] I said "points into either T or S", not "points into what either T or S points to". That is, "*T = X;" may change S (as opposed to changing the memory S points to). /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From toby at telegraphics.com.au Fri Jan 6 08:19:28 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 09:19:28 -0500 Subject: Code golf - Re: Right toolf for the job In-Reply-To: <1325791144.51955.YahooMailNeo@web164503.mail.gq1.yahoo.com> References: <20120102212036.F61599@shell.lmi.net>, <20120104132145.L41929@shell.lmi.net>, <4F04940F.19597.1B6C409@cclist.sydex.com> <1325791144.51955.YahooMailNeo@web164503.mail.gq1.yahoo.com> Message-ID: <4F0702F0.10503@telegraphics.com.au> On 05/01/12 2:19 PM, Chris M wrote: > > > > > ________________________________ > From: Chuck Guzis > To: General Discussion: On-Topic and Off-Topic Posts > Sent: Wednesday, January 4, 2012 9:01 PM > Subject: Re: Right toolf for the job (Was: teaching programming to kids > > On 4 Jan 2012 at 19:41, David Riley wrote: > >> On Jan 4, 2012, at 4:51 PM, Fred Cisin wrote: >> >>> Does anybody write compilers in assembly any more? Or ever will, >>> again? > > Well, even in the limited resource 8-bit days in the 70s, it didn't > make sense to write a compiler in assembler, even when you were using > assembler to write the code. > > C: It should also be pointed out that any assembly code is going to have to be optimized anyway (usually by hand). > ... some guy who wanted to play chess on some embedded machine (sounds funky I know). He got everything in the allotted memory space, but one byte. He eventually had to go over the whole shebang to fit. It was tight to begin with, but had to be just a wee bit tighter. > The Hugi Size competition and similar things let you keep these skills warm. http://myweb.cableone.net/benlunt/hugi/compoold.htm And, putting aside the subjects of assembler and optimisation - for HLLs there is of course "golf". http://codegolf.com/ I have to say that I don't find excessive *compactness* to be the problem in HLL code that I read day to day. It is excessive *verbosity*; people writing 5-15 foggy lines where one short direct line will do. There are many causes of this, I think. Again, there is an analogy to English. Few people write first draft English that won't benefit from editing. In both cases I'm talking about low-hanging fruit, though. Returns diminish. The Elements of Programming Style, the best book on that subject that I know of, sets out to show that high level languages should be optimised for *clarity*. --Toby From fraveydank at gmail.com Fri Jan 6 08:29:10 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 09:29:10 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F06DCDF.8040901@update.uu.se> References: <4F06DCDF.8040901@update.uu.se> Message-ID: On Jan 6, 2012, at 6:37 AM, Pontus wrote: > Hi > > The topic says is all, can a PDP-11/23 (on a M8189 card) boot from MSCP devices? > > My guess is that you need proper roms on your BDV11 ? Would these usually be included? Certainly mine can (8189 with BH roms). Technically, it's an 11/23+, but the only real difference from a /23 is the address lines (22 in the /23+). Look for booting from DU (or MU if you're looking to boot from TMSCP). The boot table on mine offers the following options: DU DSA 0 1 2 3 4 5 6 7 DL RL01/RL02 0 1 2 3 DX RX01 0 1 DY RX02 0 1 DD TU58 0 1 XH QNA 0 1 MS TQK25/TS05 0 MU TK50 0 The KDF11-B CPU System Maintenance manual (EK-245AA-MG-001) indicates that all versions of the ROM should be able to boot MSCP, if I'm reading it right. The BH revision adds support for TK50 (thus, presumably, TMSCP). - Dave From mouse at Rodents-Montreal.ORG Fri Jan 6 08:31:22 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Fri, 6 Jan 2012 09:31:22 -0500 (EST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F06FC82.9030708@telegraphics.com.au> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <4F06FC82.9030708@telegraphics.com.au> Message-ID: <201201061431.JAA06452@Sparkle.Rodents-Montreal.ORG> >>>> while (*T++=*S++); [compressed vertically -Mouse] >>>> do { X = *S; *T = X; S++; T++; } while('\0' != X); >>> The long version isn't less efficient. >> Actually, it is, or at least may be, depending on the compiler; > gcc compiles to the same assembly, For some hardware, perhaps, for some particular version of gcc. (A load/store architecture, perhaps?) Try it on something that has an addressing mode which supports loading *S++ or storing *T++ as a single operation. The VAX and the PDP-11 are examples. My memory of the 68k is fuzzier, but I think it has such addressing modes too. > which is what I meant by "not less efficient". On that particular hardware with that particular compiler, it's no less efficient. That doesn't mean much when we're discussing C per se. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From schoedel at kw.igs.net Fri Jan 6 08:51:29 2012 From: schoedel at kw.igs.net (schoedel at kw.igs.net) Date: Fri, 6 Jan 2012 09:51:29 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <201201061418.JAA06174@Sparkle.Rodents-Montreal.ORG> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <20120106084041.GB1433@brevard.conman.org> <201201061418.JAA06174@Sparkle.Rodents-Montreal.ORG> Message-ID: <20120106144727.M77098@kw.igs.net> On Fri, 6 Jan 2012 09:18:58 -0500 (EST), Mouse wrote > I said "points into either T or S", not "points into what either T or S > points to". That is, "*T = X;" may change S (as opposed to changing > the memory S points to). Ah. The rule that permits the compiler to optimize the long form into the short here is C89 3.3.16.1: If the value being stored in an object is accessed from another object that overlaps in any way the storage of the first object, then the overlap shall be exact and the two objects shall have qualified or unqualified versions of a compatible type; otherwise the behavior is undefined. (C11 changes 'accessed' to 'read'.) -- Kevin Schoedel VA3TCS From fraveydank at gmail.com Fri Jan 6 09:10:26 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 10:10:26 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F068F9A.2090901@tx.rr.com> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> <4F068F9A.2090901@tx.rr.com> Message-ID: <7C0EF932-B8DE-454A-95F5-0C559097166D@gmail.com> On Jan 6, 2012, at 1:07 AM, Charlie Carothers wrote: > I absolutely loathe "OK, if I knew for sure the ternary was faster, I might grudgingly use it in an interrupt routine but I would not be really happy about it! I actually like the ternary statement and think it reads a lot clearer, as long as it's simple conditions (e.g. "foo = bar ? baz : NULL;" or the like, certainly nothing that needs to occupy more than one line; I even start to get nervous when parentheses get involved). However, I've found that a lot of people who are otherwise quite good programmers are totally unfamiliar with it, so I tend to avoid using it in anything I'll have to share. - Dave From IanK at vulcan.com Fri Jan 6 10:43:26 2012 From: IanK at vulcan.com (Ian King) Date: Fri, 6 Jan 2012 16:43:26 +0000 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120105201755.U76006@shell.lmi.net> Message-ID: On 1/5/12 8:43 PM, "Fred Cisin" wrote: [snip] >BUT, even in this example, unless the compiler does "optimization" to >compile something other than what you asked for (DWIM!) and removes the >temporary variable, The only time modern compilers don't do optimization is when you tell them not to, usually so you can step through the code in a debugger. One of the most common optimizations is the elimination of temporary variables (which is why you turn off optimization to step through it!). After being a test manager over a compiler suite that served several different types of processor on which the target OS ran and seeing the same principles expressed on load/store architectures and (ugh) x86, I now routinely opt for clarity in my C code because I have confidence the compiler will collapse all of the 'courtesy code' into something every bit as tight as if I'd tried to be tricky and terse. And, as someone else noted on this thread, it's a whole lot easier if someone (even if it's you) must look at this code six months later. >the long version will be a TINY bit slower due to the >extra temporary variable being written and read, and then read again for >the comparison. In the "short" )"crammed together") version the value is >in a register when it is needed, and presumably in the accumulator for the >conditional jump that the while translates to. Likewise, by incrementing >the pointers separately from de-referencing them, you'll probably end up >with an an "unnecessary" retrieval of the pointer value from memory >instead of register for the de-reference. > > >If the purpose is the fastest possible code, that stuff matters. Another thing modern compilers do is optimize stuff we don't think about, for instance, load hoists or elimination of redundant memory accesses in optimized code. (I saw some of the latter in a compiler I wrote as part of a graduate-level compiler course, as my simple optimizations created some redundant sequences that a more sophisticated compiler eliminates through such mechanisms as keyhole optimization.) They can play to processor-specific attributes such as cache size and branch optimization, too. Relax and write clear code. > >If the purpose is having the students understand it, without having to >decipher the "puzzle code", delaying them moving on to the rest of the >topic, the long version is far superior. > >THAT's where Holub and I don't agree - he considers the long version to be >bordering on "WRONG", even for classroom blackboard! In one of his >columns, he actually CORRECTED similar code in a reader question (about >another issue) - I felt that ease of comprehension by his >readers/students should be a higher priority than "efficiency" Yeah, having debugged code that tried to be 'clever' and could have been written clearly instead, Holub and I would be on opposite sides of that argument. It was true thirty years ago that 'cleverly' written C could be faster (and there were tests to prove it), but there's little justification for that position today. -- Ian From jfoust at threedee.com Fri Jan 6 10:46:51 2012 From: jfoust at threedee.com (John Foust) Date: Fri, 06 Jan 2012 10:46:51 -0600 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F0633EC.60901@neurotica.com> References: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> <4F0633EC.60901@neurotica.com> Message-ID: <201201061653.q06Gr9Xi018907@billy.ezwind.net> At 05:36 PM 1/5/2012, Dave McGuire wrote: > Is there some reason you're being a dick to me? I ask because I can be ten times the dick if required; I just want to know if it's something worth getting worked up over. Hah! You'll be a manager before you know it. - John From pete at dunnington.plus.com Fri Jan 6 10:53:44 2012 From: pete at dunnington.plus.com (Pete Turnbull) Date: Fri, 06 Jan 2012 16:53:44 +0000 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> Message-ID: <4F072718.6000507@dunnington.plus.com> David Riley wrote: > On Jan 6, 2012, at 6:37 AM, Pontus wrote: >> The topic says is all, can a PDP-11/23 (on a M8189 card) boot from >> MSCP devices? My guess is that you need proper roms on your BDV11 ? >> Would these usually be included? The M8189 is a quad-height 11/23-plus card which includes bootstrap, LTC, SLUs, etc and there wouldn't normally be a BDV11 in the same system. The M8186 is the dual-height 11/23 card, and that would normally have a BDV11 in the system. The original 11/23-plus bootstrap ROMs are modified versions of the BDV11 boot ROMs and have the same boot options -- no MSCP. Those ROMs would be labelled 23-339-01E2 and 23-340-01E2 (or sometimes 23-339E2 and 23-340E2). > Certainly mine can (8189 with BH roms). Technically, it's an 11/23+, > but the only real difference from a /23 is the address lines (22 in > the /23+). That's not quite right. The early 11/23 cards (M8186 dual-height) are only 18-bit but all Rev.C and later 11/23 cards are 22-bit. All M8189 are 11/23-plus cards and are 22-bit. The only difference between different M8189 cards (apart from inconsequential etch revisions) are the boot ROMS. The original release -BA are 2K ROMs equivalent to BDV11 boot ROMs and they were used in PDP-11/23-plus systems (BA11S box). Later ones such as -BE and onwards that support MSCP were made specifically for microPDP-11/23+ systems (BA23 box). > The KDF11-B CPU System Maintenance manual (EK-245AA-MG-001) indicates > that all versions of the ROM should be able to boot MSCP, if I'm > reading it right. No, the oldest versions can't. Only the ones intended for microPDP-11/23+ system have MSCP support (-BE and later). -- Pete Peter Turnbull Network Manager University of York From glen.slick at gmail.com Fri Jan 6 11:15:32 2012 From: glen.slick at gmail.com (Glen Slick) Date: Fri, 6 Jan 2012 09:15:32 -0800 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F072718.6000507@dunnington.plus.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> Message-ID: My M8189 came with unlabeled 2716 EPROMs. I don't know what version that was. I don't think it could boot from MSCP. That would match what Pete says. Unless I missed it all of the M8189 versions listed here are 8K versions, not 2K versions: http://www.dunnington.u-net.com/public/DECROMs/ROMlist I updated my M8189 to the 23-380E4 / 23-381E4 M8189-BG (or -BH) version. The only trick is you need to find 24-pin MCM68766 8KB EPROMs, which aren't as common or cheap as most other EPROMs. -Glen From evan at snarc.net Fri Jan 6 11:20:00 2012 From: evan at snarc.net (Evan Koblentz) Date: Fri, 6 Jan 2012 17:20:00 +0000 Subject: VCF East keynote announced Message-ID: <199436078-1325870402-cardhu_decombobulator_blackberry.rim.net-1107656632-@b5.c15.bise6.blackberry> Hi all -- this year's VCF East 8.0 keynote speaker is Tom Kurtz, who co-developed BASIC while at Dartmouth in the mid-1960s. There will (probably) be a second equally awesome speaker announced soon .... I wish I could reveal who, but he's not confirmed yet. ;) The show is May 5-6 this year, at our usual location in New Jersey. - Evan From fraveydank at gmail.com Fri Jan 6 11:25:24 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 12:25:24 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F072718.6000507@dunnington.plus.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> Message-ID: <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> On Jan 6, 2012, at 11:53 AM, Pete Turnbull wrote: >> The KDF11-B CPU System Maintenance manual (EK-245AA-MG-001) indicates >> that all versions of the ROM should be able to boot MSCP, if I'm reading it right. > > No, the oldest versions can't. Only the ones intended for > microPDP-11/23+ system have MSCP support (-BE and later). Ah, good to know. That's not noted in the manual, unless I missed something. I don't have the older ROMs. So wait, then, what's the difference between a /23 and a /23+ if not the 22-bit addressing? I was led to believe that was it. - Dave From ethan.dicks at gmail.com Fri Jan 6 11:50:55 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Fri, 6 Jan 2012 12:50:55 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: On Fri, Jan 6, 2012 at 12:25 PM, David Riley wrote: > So wait, then, what's the difference between a /23 and a /23+ if not the 22-bit addressing? ?I was led to believe that was it. Just KDF11-A vs KDF11-B... KDF11-A may or may not be 22-bit (only Rev A is 18-bit). All -B are 22-bit. Dual-height CPU only vs Quad-height CPU plus dual SLU plus on-board Boot ROMs. If you are building a system from scratch and have an up-rev KDF11-A plus a couple of serial ports (like half of a DLV11-J) plus a Bootstap/terminator board then compare that to a /23+ system, the effective difference is that the /23+ system will have fewer boards to do the same thing and more open slots. No effective difference from a software standpoint. One can also assemble a KDF11-A system in one of the oddball narrow backplanes that originally shipped with the LSI-11/2 where a KDF11-B won't fit, but that's still just packaging. A minimal /23+ system could be as little as 2 modules - KDF11-B plus memory - use the second SLU for a TU58 or TU58 emulator and you could boot RT-11. A /23 system will have more boards. -ethan From quadricode at gmail.com Fri Jan 6 10:45:13 2012 From: quadricode at gmail.com (Robert Smith) Date: Fri, 06 Jan 2012 09:45:13 -0700 Subject: Books on FP, lambda calculus, closures - Re: teaching programming to kids In-Reply-To: <4F0677ED.4090206@telegraphics.com.au> References: <4F0677ED.4090206@telegraphics.com.au> Message-ID: <4F072519.1070409@gmail.com> On 1/5/2012 9:26 PM, Toby Thain wrote: > On 05/01/12 12:09 PM, Liam Proven wrote: >> ... >> For instance, the lambda calculus. What is it? What does it do, what >> is it for, why is it special? > > There is a wealth of material at all levels devoted to this. Pick up any > functional programming text, e.g. I highly recommend > * Functional Programming - Application and Implementation (Henderson). > * The Architecture of Symbolic Computers - Peter M. Kogge * Types and Programming Languages by Pierce This book explains type theory and the theory of programming languages. You write several little interpreters, like an interpreter for the core, untyped lambda calculus. You learn about the relevance of lambda calculus as a fundamental computer science concept, and how one builds upon that. As said, it explains type theory too. * Purely Functional Data Structure by Okasaki Talks about data structures which are immutable and efficient, suitable for purely functional languages. This is more about functional programming than the lambda calculus. * Introduction to Functional Programming using Haskell by Bird This is a book, *not* about Haskell, but rather about functional programming. That is, it's relatively language unspecific, but uses Haskell as a vehicle for examples. * Learn You A Haskell For Great Good by Lipovaca Okay, now if you want to be spoonfed Haskell and functional programming, read this. You'll start with syntax, recursion, and types; and it'll carry you to monads, zippers, applicative functors, randomness, etc. It does not talk about really serious stuff like unsafe IO, some of the finer points of lazy evaluation, monad transformers >> >> Closures: again, I have yet to find a readable, comprehensible >> explanation of what they are, what they are good for, why they are >> powerful and what strengths they confer onto a programming language. > > Readable and comprehensible explanations: > * SICP > * Programming in Scheme (Abelson & Eisenberg) > * aforementioned Henderson. > and dozens of others. There are A LOT of good functional programming > texts out there, many dating back to the 70s and 80s of course, and far > in conceptual advance of the mainstream (PHP! ASP.NET! Java! snore). > SICP should explain closures just fine. I mean, not only are closures (and lexical scope as a prerequisite) explained, but you also use closures in a practical way. And there is no way SICP is poor. * Let Over Lambda by Hoyte Chapter 1 of this book dives into a pragmatic explanation of what a closure is by describing it as a "Let Over Lambda". For example (define closure (let ((x 2)) (lambda () (display x))) This is an extremely simple example. CLOSURE is bound to a lambda expression. But not just some pure lambda, it has extra information about its environment. So it's a lambda (code) + environment (data). If we proceed to call CLOSURE, we get: > (closure) 2 We can be more fancy: (define counter (let ((count 0)) (lambda () (set! count (+ 1 count)) count))) Here the lambda captures COUNT. Now we call COUNTER a few times: > (counter) 1 > (counter) 2 > (counter) 3 Look ma! Encapsulation! COUNT is not accessible from the outside. C++ers might call this a ~private variable~, but really it's just a variable closed inside some execution context. Anyway, that's what Chapter 1 of said book talks about. * Lisp In Small Pieces by Quiennec This talks about compiling Lisp if you're interested in how closures might be compiled. It also talks about formal semantics and other mathy stuff. >> >> If the teaching& reference materials that I have found so far are >> unable to convey these core concepts, then there would seem to be two >> possible conclusions: >> >> [a] /all/ the materials that I've been able to find are extremely >> poor, even the ones that are more or less universally agreed to be >> very good >> >> or >> >> [b] these are complex, difficult concepts and a massive amount of >> back-knowledge is necessary to understand it. No, these are not necessarily poor nor complex just because *you* don't understand it. >> >> I would *REALLY* like and hugely value any pointers, ideally web links >> but print references would do as well, as to these concepts. >> >> But are there other possible explanations that I have missed? That >> these things are easy but all the texts are rubbish? >> The best way to go about it is to actually write some programs in Scheme or Standard ML or Haskell or whatever. Then you actually internalize what things mean, instead of these abstract definitions like what the semantics of lambda is. You'll find the easy-to-understand books typically do the programming for you by showing you code examples. Remember, programming isn't like history, where you can just read a book and understand what's going on. It's more like medicine and being a doctor, where both book reading *and* practice are important, the latter being almost surely more important. --Robert P.S., The moral of the story is, sit down, open a Scheme, and read SICP from start to finish. It's not too difficult or too confusing, for it's often the first book a compsci major gets to read. READ SICP DAMMIT. From cisin at xenosoft.com Fri Jan 6 12:01:44 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Fri, 6 Jan 2012 10:01:44 -0800 (PST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F06FC82.9030708@telegraphics.com.au> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <4F06FC82.9030708@telegraphics.com.au> Message-ID: <20120106094604.F16005@shell.lmi.net> On Fri, 6 Jan 2012, Toby Thain wrote: > >> The long version isn't less efficient. > > Actually, it is, or at least may be, depending on the compiler; > gcc compiles to the same assembly, which is what I meant by "not less > efficient". > I expect most popular compilers would do the same. First, THANK YOU, for taking the time to check that out. If you will recall, I said, UNLESS THE COMPILER OPTIMIZES. Replacing your^H^H^H^H MY code with something "equivalent", but presumably "better" is called OPTIMIZATION, and that is what happened, and why the code produced identical results. In this case, it is a correct and appropriate optimization. Sometimes it isn't. Some early optimizing compilers created complications (not with THIS, but with polling loops, etc.). But, in this case, the optimization is completely correct. The reason that they produce the same code, IS because gcc did NOT compile what was asked for. It "knew" that there was a better way (DWIM?) and replaced the requested code with equivalent. IFF you turn off optimization COMPLETELY, then the results are NOT identical. (If your results ARE identical, then you did NOT turn off optimization) After my screw-ups with forgetting what were extensions, other languages, odd copmpiler weirdities, and my own unrefreshed unreliable dynamic RAM, I need to add disclaimers: "MOST/MANY C compilers" WILL permit you to ask for strcpy(p+1,p); /* on MOST/MANY compilers that is NOT a way to insert a charcter position! */ C is not a padded room - the foot guns are fully loaded with plenty of rope. -- Grumpy Ol' Fred cisin at xenosoft.com From cisin at xenosoft.com Fri Jan 6 12:04:20 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Fri, 6 Jan 2012 10:04:20 -0800 (PST) Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> References: <20120102212036.F61599@shell.lmi.net>, , <4F067EBB.8020804@telegraphics.com.au> <4F061A8D.31481.2CFC9CE@cclist.sydex.com> <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> Message-ID: <20120106100212.O16005@shell.lmi.net> On Fri, 6 Jan 2012, David Riley wrote: > On Jan 6, 2012, at 12:47 AM, Chuck Guzis wrote: > > > On 5 Jan 2012 at 23:55, Toby Thain wrote: > > > >> In assembly? > > > > I'd be surprised if there has been a single production compiler (i.e. > > not some hobby project) written in assembly in the last 20 years. > > Well, again, it depends on whether you count interpreters. Forth interpreters are quite often done in assembly. They also often progress to compilation as well. > > Of course, then it also depends what you call a "hobby project"; Forth > tends to make its way onto things like satellites which aren't exactly > hobby projects (inasmuch as the US doesn't consider NASA to be a hobby, > which it increasingly seems to), but they are certainly often one-off > designs. NOTE: the original quote that triggered THIS thread did not include the word "production". (mostly an omission, but also because it was based on "self-hosting" by grad student "new" languages) From mouse at Rodents-Montreal.ORG Fri Jan 6 12:05:06 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Fri, 6 Jan 2012 13:05:06 -0500 (EST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120106144727.M77098@kw.igs.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <20120106084041.GB1433@brevard.conman.org> <201201061418.JAA06174@Sparkle.Rodents-Montreal.ORG> <20120106144727.M77098@kw.igs.net> Message-ID: <201201061805.NAA08977@Sparkle.Rodents-Montreal.ORG> >> That is, "*T = X;" may change S (as opposed to changing the memory S >> points to). > Ah. The rule that permits the compiler to optimize the long form > into the short here is C89 3.3.16.1: > If the value being stored in an object is accessed from another > object that overlaps in any way the storage of the first object, > then the overlap shall be exact and the two objects shall have > qualified or unqualified versions of a compatible type; otherwise > the behavior is undefined. The C99 draft I have has similar language in 6.5.16.1 #3. This would make memcpy-style copying of objects via char pointers useless (except for a few cases such as char-sized objects), because it stores through char objects and then accesses through objects which are not char-sized (and thus cannot overlap exactly) and/or do not have types compatible with char. So I think this must mean something else. I'm going to ask the C language lawyer I know about this. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From cisin at xenosoft.com Fri Jan 6 12:11:40 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Fri, 6 Jan 2012 10:11:40 -0800 (PST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: References: Message-ID: <20120106100804.E16005@shell.lmi.net> On Fri, 6 Jan 2012, Ian King wrote: > On 1/5/12 8:43 PM, "Fred Cisin" wrote: > > [snip] > >BUT, even in this example, unless the compiler does "optimization" to > >compile something other than what you asked for (DWIM!) and removes the > >temporary variable, > > The only time modern compilers don't do optimization is when you tell them > not to, usually so you can step through the code in a debugger. One of I will concede that "modern" compilers DEFAULT to optimization on. (I'm not modern) > Yeah, having debugged code that tried to be 'clever' and could have been > written clearly instead, Holub and I would be on opposite sides of that > argument. It was true thirty years ago that 'cleverly' written C could be > faster (and there were tests to prove it), but there's little > justification for that position today. That's my point. To be fair, my chats with Holub WERE 25 - 30 years ago. So, the environment is now different. From glen.slick at gmail.com Fri Jan 6 12:12:25 2012 From: glen.slick at gmail.com (Glen Slick) Date: Fri, 6 Jan 2012 10:12:25 -0800 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: I couldn't find these switch settings documented anywhere. Here are the switch settings as I experimentally determined them after updating my M8189 to KDF11B-BH ROM V1.0 (23-380E4 / 23-381E4) firmware: M8189 KDF11B-BH ROM V1.0 (23-380E4 / 23-381E4) Boot Switches S1 Short Memory Test S1-7 off Long Memory Test S1-7 ON Plain terminal S1-8 off ANSI terminal S1-8 ON Boot Switches S1 +-----+-----+-----+-----+-----+ | 1 | 2 | 3 | 4 | 5 | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot DU0 | off | off | off | ON | off | +-----+-----+-----+-----+-----+ Auto boot DU1 | ON | off | off | ON | off | +-----+-----+-----+-----+-----+ Auto boot DU2 | off | ON | off | ON | off | +-----+-----+-----+-----+-----+ Auto boot DU3 | ON | ON | off | ON | off | +-----+-----+-----+-----+-----+ Auto boot DU4 | off | off | ON | ON | off | +-----+-----+-----+-----+-----+ Auto boot DU5 | ON | off | ON | ON | off | +-----+-----+-----+-----+-----+ Auto boot DU6 | off | ON | ON | ON | off | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot DL0 | off | off | off | off | ON | +-----+-----+-----+-----+-----+ Auto boot DL1 | ON | off | off | off | ON | +-----+-----+-----+-----+-----+ Auto boot DL2 | off | ON | off | off | ON | +-----+-----+-----+-----+-----+ Auto boot DL3 | ON | ON | off | off | ON | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot DX0 | off | off | ON | off | off | +-----+-----+-----+-----+-----+ Auto boot DX1 | ON | off | ON | off | off | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot DY0 | off | ON | ON | off | off | +-----+-----+-----+-----+-----+ Auto boot DY1 | ON | ON | ON | off | off | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot DD0 | off | ON | off | off | off | +-----+-----+-----+-----+-----+ Auto boot DD1 | ON | ON | off | off | off | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot XH0 | off | off | ON | off | ON | +-----+-----+-----+-----+-----+ Auto boot XH1 | ON | off | ON | off | ON | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot MS0 | ON | off | off | off | off | +-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+ Auto boot MU0 | off | off | off | ON | ON | +-----+-----+-----+-----+-----+ (Auto boot DU7 is missing from this list. I couldn't seem to get that setting to work) From ajp166 at verizon.net Fri Jan 6 12:38:20 2012 From: ajp166 at verizon.net (Allison) Date: Fri, 06 Jan 2012 13:38:20 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F072718.6000507@dunnington.plus.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> Message-ID: <4F073F9C.9050808@verizon.net> Pete Turnbull wrote: > David Riley wrote: >> On Jan 6, 2012, at 6:37 AM, Pontus wrote: > >>> The topic says is all, can a PDP-11/23 (on a M8189 card) boot from >>> MSCP devices? My guess is that you need proper roms on your BDV11 ? >>> Would these usually be included? > > The M8189 is a quad-height 11/23-plus card which includes bootstrap, > LTC, SLUs, etc and there wouldn't normally be a BDV11 in the same > system. The M8186 is the dual-height 11/23 card, and that would > normally have a BDV11 in the system. The original 11/23-plus > bootstrap ROMs are modified versions of the BDV11 boot ROMs and have > the same boot options -- no MSCP. Those ROMs would be labelled > 23-339-01E2 and 23-340-01E2 (or sometimes 23-339E2 and 23-340E2). MSCP boot devices (RQDXn) can be booted with any Qbus 11 cpu. The 16/18/22 bit this is a red herring in that it's a dont care save for address space. However like Pete has said the BOOT program is device specific and some of the 11/23CPUs (M8186) have no boot roms at all and depend on the BDV11 to carry the roms where the later M8189 had the boot roms on the board along with serial ports. The Even then there were two version and the primary difference was what Eproms were installed. Where the 11/23 vs 11/23+ differed si what devices the BOOT rom knew about. So the real comment should be not can a PDP11/23 boot MSCP? As the answer is yes with the provision that the rom at the boot address (nominally 173000) contains MSCP boot. > >> Certainly mine can (8189 with BH roms). Technically, it's an 11/23+, >> but the only real difference from a /23 is the address lines (22 in >> the /23+). > > That's not quite right. The early 11/23 cards (M8186 dual-height) are > only 18-bit but all Rev.C and later 11/23 cards are 22-bit. All > M8189 are 11/23-plus cards and are 22-bit. > And most of the pre rev-C could do Q22, save for they were not tested or qualified for it unless it was missing the second chip that provided the MMU. Without that chip its only Q16. > The only difference between different M8189 cards (apart from > inconsequential etch revisions) are the boot ROMS. The original release > -BA are 2K ROMs equivalent to BDV11 boot ROMs and they were used in > PDP-11/23-plus systems (BA11S box). Later ones such as -BE and > onwards that support MSCP were made specifically for microPDP-11/23+ > systems (BA23 box). > >> The KDF11-B CPU System Maintenance manual (EK-245AA-MG-001) indicates >> that all versions of the ROM should be able to boot MSCP, if I'm >> reading it right. > > No, the oldest versions can't. Only the ones intended for > microPDP-11/23+ system have MSCP support (-BE and later). > The oldest versons would require the user to use ODt to enter a rather long boot program to boot MSCP. the alternate is if that older system has both an RX01/2, RL01/02/ RK/TU58 and a booter on that device you could boot of those and do a boot/foreign (RT11) to the MSCP device. I do that on my tU58 based 6 board system wich is all dual width with 11/23, 512KB ram, DLV11j, RQDX3, MRV11 with TU58 boot). Boot Tu58 with Rt11 and usethat to boot the MSCP (2x RD52 31mb each) with usually RT11 but the second hard disk has RSTS. It's what DEC would call an unsupported configuration but by the book doable. Allison From cclist at sydex.com Fri Jan 6 12:37:25 2012 From: cclist at sydex.com (Chuck Guzis) Date: Fri, 06 Jan 2012 10:37:25 -0800 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> References: <20120102212036.F61599@shell.lmi.net>, <4F061A8D.31481.2CFC9CE@cclist.sydex.com>, <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> Message-ID: <4F06CEE5.9309.2CFA29@cclist.sydex.com> On 6 Jan 2012 at 9:14, David Riley wrote: > Well, again, it depends on whether you count interpreters. Forth > interpreters are quite often done in assembly. They also often > progress to compilation as well. I have a difficult time calling Forth a "compiled language", though I'll readily grant that it's mostly a matter of sematics. There are also a couple of other "bootstrapping" lanaguages that, due to their sparseness (right word?) probably qualify more as alternative assemblers. But then an assembler with a sufficiently powerful macro language is probably indistinguishable from many HLLs. So I'll give you that one, somewhat reluctantly. --Chuck From fraveydank at gmail.com Fri Jan 6 12:48:18 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 13:48:18 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: On Jan 6, 2012, at 1:12 PM, Glen Slick wrote: > I couldn't find these switch settings documented anywhere. Here are > the switch settings as I experimentally determined them after updating > my M8189 to KDF11B-BH ROM V1.0 (23-380E4 / 23-381E4) firmware: They're documented in the KDF11-B CPU System Maintenance manual (EK-245AA-MG-001). At least the DUn ones are. - Dave From fraveydank at gmail.com Fri Jan 6 12:59:55 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 13:59:55 -0500 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F06CEE5.9309.2CFA29@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F061A8D.31481.2CFC9CE@cclist.sydex.com>, <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> <4F06CEE5.9309.2CFA29@cclist.sydex.com> Message-ID: <88B1B892-F5D4-4B4A-A6C1-692959F7A3B4@gmail.com> On Jan 6, 2012, at 1:37 PM, Chuck Guzis wrote: > On 6 Jan 2012 at 9:14, David Riley wrote: > >> Well, again, it depends on whether you count interpreters. Forth >> interpreters are quite often done in assembly. They also often >> progress to compilation as well. > > I have a difficult time calling Forth a "compiled language", though > I'll readily grant that it's mostly a matter of sematics. There are > also a couple of other "bootstrapping" lanaguages that, due to their > sparseness (right word?) probably qualify more as alternative > assemblers. Well, that's why I waver on it. It *can be* a compiled language, and the more optimized versions of it are. But it's sort of a bizarre anomaly as languages go, since it's also usually at least partly interpreted (especially when running interactively, with the notable exception of ColorForth which actually compiles as you type). - Dave From bfranchuk at jetnet.ab.ca Fri Jan 6 13:04:31 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Fri, 06 Jan 2012 12:04:31 -0700 Subject: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <1325791144.51955.YahooMailNeo@web164503.mail.gq1.yahoo.com> References: <20120102212036.F61599@shell.lmi.net>, <20120104132145.L41929@shell.lmi.net>, <4F04940F.19597.1B6C409@cclist.sydex.com> <1325791144.51955.YahooMailNeo@web164503.mail.gq1.yahoo.com> Message-ID: <4F0745BF.1010107@jetnet.ab.ca> > C: It should also be pointed out that any assembly code is going to > have to be optimized anyway (usually by hand). A good assembler > programmer can write efficient assembly code. But any s/w that worth > it's salt likely went through many iterations of testing (for speed > usually) and rewriting. My assembler instructor (who didn't know what > the 8088 Trap flag was for, I respectfully kept my mouth shut, a > break from the usual) told the story of some guy who wanted to play > chess on some embedded machine (sounds funky I know). He got > everything in the allotted memory space, but one byte. He eventually > had to go over the whole shebang to fit. It was tight to begin with, > but had to be just a wee bit tighter. > Hmm chess machines range from the PDP 8 with 4K to massive computing systems. So how well did it play? Ben. From cclist at sydex.com Fri Jan 6 13:04:46 2012 From: cclist at sydex.com (Chuck Guzis) Date: Fri, 06 Jan 2012 11:04:46 -0800 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120106094604.F16005@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net>, <4F06FC82.9030708@telegraphics.com.au>, <20120106094604.F16005@shell.lmi.net> Message-ID: <4F06D54E.20553.460172@cclist.sydex.com> On 6 Jan 2012 at 10:01, Fred Cisin wrote: > If you will recall, I said, UNLESS THE COMPILER OPTIMIZES. Real optimization is perhaps the most difficult job a compiler writer faces--and indeed, the code dealing with optimization can be lengthier than the rest of the compiler code. Note that I'm not talking about simple things, such as eliminating invariants from loops and doing "peephole" work and other things local to the basic block. I mean true global optimization across all units of a program. Ones that can make whole subroutines disappear, or change parameter-passing mechanisms. The requirement is that optimized code, within reason, provide the same answer as the non-optimized version. That can be difficult if you're involved in floating point work. Even exploiting something as simple as the associative property in an expression can change the outcome of a computation. Some compilers have "unsafe optimization" switches to allow particularly aggressive optimization. However, that's of little use unless it can be turned off for critical code sections. On the other hand, there are some processors that are such beasts to manually write correct assembly for (the Intel i860 comes to mind), that you want to leave that task to a compiler with a good optimizer rather than use up your monthly allotment of Anacin. And there are compilers can can often generate better code than most assembly programmers, simply because the optimizer has a wider view and may have more "tricks" in its bag than the programmer. I find it difficult to believe that K&R ever intended that C would be the object of an automatic optimizer. Who would invent a pointer type that can point to *anything* if automatic optimization was intended? --Chuck From glen.slick at gmail.com Fri Jan 6 13:13:28 2012 From: glen.slick at gmail.com (Glen Slick) Date: Fri, 6 Jan 2012 11:13:28 -0800 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: On Fri, Jan 6, 2012 at 10:48 AM, David Riley wrote: > On Jan 6, 2012, at 1:12 PM, Glen Slick wrote: > >> I couldn't find these switch settings documented anywhere. ?Here are >> the switch settings as I experimentally determined them after updating >> my M8189 to KDF11B-BH ROM V1.0 (23-380E4 / 23-381E4) firmware: > > They're documented in the KDF11-B CPU System Maintenance manual (EK-245AA-MG-001). ?At least the DUn ones are. > Thanks. I don't think I found that document online anywhere previously. I was able to find a copy online just now. The switch settings are fully documented in Table 1-5 of that manual. The swtich setting I thought should be Auto Boot DU7 is listed as "Select MSCP autoboot" in that table. -Glen From legalize at xmission.com Fri Jan 6 13:28:15 2012 From: legalize at xmission.com (Richard) Date: Fri, 06 Jan 2012 12:28:15 -0700 Subject: DEC LISP text In-Reply-To: <4F05FFFD.1070409@bitsavers.org> References: <4F05FFFD.1070409@bitsavers.org> Message-ID: In article <4F05FFFD.1070409 at bitsavers.org>, Al Kossow writes: > On 1/5/12 10:50 AM, Richard wrote: > > In article, > > Ian King writes: > > > >> My first Lisp text that made sense to me was one published by DEC, aimed > >> at experienced programmers. [...] > > > > This sounds interesting. What was the book? > > Steele "Common Lisp: The Language" 1984 > > 2nd edition published in 1990 Ah, OK. Got that one. We used it for the LISP class I took. I like the bit in the back about "apply hermeneutics". -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From fraveydank at gmail.com Fri Jan 6 13:30:15 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 14:30:15 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> On Jan 6, 2012, at 2:13 PM, Glen Slick wrote: > On Fri, Jan 6, 2012 at 10:48 AM, David Riley wrote: >> They're documented in the KDF11-B CPU System Maintenance manual (EK-245AA-MG-001). At least the DUn ones are. >> > > Thanks. I don't think I found that document online anywhere > previously. I was able to find a copy online just now. The switch > settings are fully documented in Table 1-5 of that manual. I think I found it searching for the switch settings some months ago, so there you go. :-) It certainly explained why the ROM displays listed in the KDF11-BA manual were somewhat different from what I was seeing on mine. :-) Glad that whomever I bought the board from saw fit to upgrade it (they're clearly a retrofit; the EPROM windows are covered with bits of floppy disk label). - Dave From ard at p850ug1.demon.co.uk Fri Jan 6 13:44:30 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Fri, 6 Jan 2012 19:44:30 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <20120105143842.B76006@shell.lmi.net> from "Fred Cisin" at Jan 5, 12 02:40:54 pm Message-ID: > Every computer should have a machine language monitor in ROM. at least on > a par with DEBUG. I would agree... On the other hand every version of Forth worthy of the name ahs the words ! and @, and often related words like C! and C@ (the HP71 versionn has N! and N@ to access individualt nybbles too(). So it's easy enough to write a machien code monitor in Forth. Even most ROM BASICs count, in tha they have PEEK and POKE (and related commends to accesss I/O ports on appropriate machines). The ROM BASIC In my IBM machines saved me a lot of time when I had a disk controller fault. The machine couldn't boot of course, but I could send values ot the controller I/O ports from the ROM BASIC and trace the signals on the PCB wit ha logic probe. I am not sure how you do it with no porgramming lanaugage available (and no front panel, for the pedants). -tony From ard at p850ug1.demon.co.uk Fri Jan 6 13:52:23 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Fri, 6 Jan 2012 19:52:23 +0000 (GMT) Subject: The PDP-8/L at the RICM is running! In-Reply-To: from "Ethan Dicks" at Jan 5, 12 06:15:49 pm Message-ID: > > That's OK if the flipchip sinmply brigns out each IC to different pins on > > the connector (a lot of the simpler ones do), > > A lot do. In my original post, I gave several examples for which this A lto of the eariler/.simpler ones certainly do, so this is probably fine fo the 8/I. A lot of later one, used in PDP11 devie cotnllers do not. As with all debuging methods, you have to know the limtitations and only use it where applicable. > > There is, of course, HP's logic comparator, which is a device that takes > > a good IC of the type you are looking at, feeds it the same inputs and > > the drive on the board you're tersting and compeaes the outputs of the > > good IC and the one on the board. It then indicates which pins are different. > > Yes. I don't happen to have one of those, nor have I noticed one for > sale. I already had the ZIF-socket PIC-processor-driven IC tester - I They do turn up on E-bay from time to time. You want to get one with plenty of the little boards with the 'good' ICs on them -- I think there are jumper pins ot solder int to determine if a pin is an input or an output too. I think there's a bvoard with a socket on it, and switches in place of the pins. A sort of 'universal' board. If you can get that one, it'd be very handy. FWIW, I don't have a logic comparator either. It's something I would buy if it was cheap enoug has a curiousirt, but I doubt I'd use it for much real troubleshooting. I've foudn that tracing signal;s with a 'scope or LA is by fasr the quickest method. > Yes, there are failure modes for simple TTL gates that won't be picked > up by a hand-held tester. In my experience, those are rare compared > to a chip with a blown input or output that just plain produces the > wrong output when the inputs are tickled. *That* will be found by the > tester and clip. One that I kept on finding in the HP9800 machines was an IC (often a 74Hxx) where the upper transistor of the totem-pole hadfialed (or somethign similar, thuse turning it into an open-collector gage. That's eveil becuase an unonnected TTL input wil lfloat high, so thingd appear to be working (and some lesser testers will pass the device), but of coursew with no active pull-up on the line, the timing goes to h*ll. Onvce I know what to look for it was OK, but the fist one took some finding. -tony From ard at p850ug1.demon.co.uk Fri Jan 6 13:59:28 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Fri, 6 Jan 2012 19:59:28 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F05CF5A.19752.1AA0B23@cclist.sydex.com> from "Chuck Guzis" at Jan 5, 12 04:27:06 pm Message-ID: > Your description's a little vague, but I suspect something like a > 74156 with a pullup on the (combined) outputs. If that's not right, > a better explanation of the problem might help. OK, her;'es the problem specified more completely : A large, complex PCB. It had soem high-speed analogue stuff on it, and thus it had to be a PCB. In fact it had to be a 16 layer PCB with ground planes either side of the analogue tracks. Said PCB could not be made in-house, the turnaroudn time was significant. And it was expesnive, meaning we wanted it to work first time. The deisgn was almost complete. Oen bit that hadn't been done -- I think it was the last bit -- was a digital signal which was a function -- an unknown (at hthis time) function -- of 3 other signals. We didn't want to haev a wirewrap area or anything like that to add ICs later. The otuptu signal was an enable to another device,it wasn't a clock, so glitches didn't matter too much. my solution, as others have suggested, was to use a 74F151 multiplexer. Select inputs fA, B, C) to the 3 input signals, multiplexer output to the signal I was tryign to produce. The inputs to the mux were, IIRC, pulled high by 1k reissotors (one of those SIL packs) with links to ground to configure it. I think the prototype had a pin header and push-on links, the 'production ones had links soldered i nthe right positions. -tony From legalize at xmission.com Fri Jan 6 14:43:25 2012 From: legalize at xmission.com (Richard) Date: Fri, 06 Jan 2012 13:43:25 -0700 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F06CEE5.9309.2CFA29@cclist.sydex.com> References: <20120102212036.F61599@shell.lmi.net>, <4F061A8D.31481.2CFC9CE@cclist.sydex.com>, <81A66363-512A-4EEF-BD82-4FC0334E251F@gmail.com> <4F06CEE5.9309.2CFA29@cclist.sydex.com> Message-ID: In article <4F06CEE5.9309.2CFA29 at cclist.sydex.com>, "Chuck Guzis" writes: > But then an assembler with a sufficiently powerful macro language is > probably indistinguishable from many HLLs. The first implementation of BEFLIX, was essentially a FAP macro card deck that provided the language as a set of macros. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From cclist at sydex.com Fri Jan 6 14:47:18 2012 From: cclist at sydex.com (Chuck Guzis) Date: Fri, 06 Jan 2012 12:47:18 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F05CF5A.19752.1AA0B23@cclist.sydex.com> from "Chuck Guzis" at Jan 5, 12 04:27:06 pm, Message-ID: <4F06ED56.575.A3E229@cclist.sydex.com> On 6 Jan 2012 at 19:59, Tony Duell wrote: > my solution, as others have suggested, was to use a 74F151 > multiplexer. Select inputs fA, B, C) to the 3 input signals, > multiplexer output to the signal I was tryign to produce. The inputs > to the mux were, IIRC, pulled high by 1k reissotors (one of those SIL > packs) with links to ground to configure it. I think the prototype had > a pin header and push-on links, the 'production ones had links > soldered i nthe right positions. Same idea, but inside-out. Uses an OC 3-to-8 demux rather than a multiplexer. One pullup instead of a bunch. I thought the mux solution too obvious. AAR, not very challenging. Can you do a similar thing when the inputs were of dissimilar logic families (you mentioned ECL) with a single IC? --Chuck From ethan.dicks at gmail.com Fri Jan 6 14:49:43 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Fri, 6 Jan 2012 15:49:43 -0500 Subject: teaching programming to beginners In-Reply-To: <8457AF58-8FAD-410A-9D16-E3C538B17FCE@gmail.com> References: <20120103105159.P719@shell.lmi.net> <4F02E3D8.30138.5276D7@cclist.sydex.com> <20120103113409.U719@shell.lmi.net> <20120104113200.A37747@shell.lmi.net> <8457AF58-8FAD-410A-9D16-E3C538B17FCE@gmail.com> Message-ID: On Wed, Jan 4, 2012 at 7:03 PM, David Riley wrote: > On Jan 4, 2012, at 5:02 PM, Ethan Dicks wrote: >> So during the critical interval of 1971-1973, when B became C, what >> terminals would have been in common usage at Bell Labs? ?In >> particular, what would have they (Ken and DMR) have typed their curly >> braces on? (since ASR-33s lack them) > > Simple (graphical) answer: > > http://nushackers.org/wp-content/uploads/2011/01/nerdpol-ken-den.jpg I have seen that picture before, but it doesn't directly address the question. Those are ASR-33s - commonly used with DEC equipment, but have no lower-case and no curly braces. Digging around this morning, I found the answer: D. M. Ritchie and K. Thompson, `The Unix Time-sharing System, C. ACM 17 No. 7 (July 1974), pp 365-37. "1971... early summer... we supported Teletype?s model 37 terminals..." >From my reading, I also learned that Model 37s were used with Multics. Makes sense. I've now seen pictures of the 37. I can safely say that I've never seen one in person. One webpage I found claims that at some point in the past, large amounts of them were herded up and sent to the Soviet Union. -ethan From legalize at xmission.com Fri Jan 6 15:01:36 2012 From: legalize at xmission.com (Richard) Date: Fri, 06 Jan 2012 14:01:36 -0700 Subject: DEC LISP text In-Reply-To: References: Message-ID: In article , Ian King writes: > On 1/5/12 11:54 AM, "Al Kossow" wrote: > > >On 1/5/12 10:50 AM, Richard wrote: > >> In article, > >> Ian King writes: > >> > >>> My first Lisp text that made sense to me was one published by DEC, > >>>aimed > >>> at experienced programmers. [...] > >> > >> This sounds interesting. What was the book? > > > >Steele "Common Lisp: The Language" 1984 > > > >2nd edition published in 1990 > > This one is "A Programmer's Guide to Common Lisp" by Deborah G. Tatar, > 1987, Digital Press (and copyright by DEC). I'm assuming it differs from Steele in that it's not as thick :-). How else does it differ? -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From legalize at xmission.com Fri Jan 6 16:03:44 2012 From: legalize at xmission.com (Richard) Date: Fri, 06 Jan 2012 15:03:44 -0700 Subject: HP HIL ID module: what's it for? Message-ID: I keep seeing these listed on ebay and I don't understand what role they play in the HP HIL environment. Can someone enlighten me? -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From glen.slick at gmail.com Fri Jan 6 16:13:20 2012 From: glen.slick at gmail.com (Glen Slick) Date: Fri, 6 Jan 2012 14:13:20 -0800 Subject: HP HIL ID module: what's it for? In-Reply-To: References: Message-ID: On Fri, Jan 6, 2012 at 2:03 PM, Richard wrote: > I keep seeing these listed on ebay and I don't understand what role > they play in the HP HIL environment. ?Can someone enlighten me? http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1989-12.pdf Page 39 There are a few HP-HIL devices that are not easily categorized. For example, the HP 46084A ID Module, which is used to prevent unauthorized software duplication, does not generate any input, but occupies a position on the HP-HIL. It currently cannot be accessed through the X server. A client program can access it directly, but not across a network From legalize at xmission.com Fri Jan 6 16:29:18 2012 From: legalize at xmission.com (Richard) Date: Fri, 06 Jan 2012 15:29:18 -0700 Subject: HP HIL ID module: what's it for? In-Reply-To: References: Message-ID: In article , Glen Slick writes: > On Fri, Jan 6, 2012 at 2:03 PM, Richard wrote: > > I keep seeing these listed on ebay and I don't understand what role > > they play in the HP HIL environment. Can someone enlighten me? > > http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1989-12.pdf > Page 39 > > There are a few HP-HIL devices that are not easily categorized. For > example, the HP 46084A ID Module, which is used to prevent > unauthorized software duplication, does not generate any input, but > occupies a position on the HP-HIL. It currently cannot be accessed > through the X server. A client program can access it directly, but not > across a network Ahhh.... so it's a serial number dongle. That makes sense. I wonder how the ids are assigned. I suppose HP guarantees that each id module is unique and you'd run some program on your HP workstation that spits out your id and you tell this to the vendor and they generate a license key based on that and your key won't work on someone else's machine because they don't have your dongle. At least now I know that I can safely ignore these while looking to build up my HP-HIL peripheral collection :-). -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From mtapley at swri.edu Fri Jan 6 15:13:07 2012 From: mtapley at swri.edu (Mark Tapley) Date: Fri, 6 Jan 2012 15:13:07 -0600 Subject: Contact request: Curtis Wilbar In-Reply-To: References: Message-ID: All, apologies, I'm trying to reach Curtis H. Wilbar Jr. If you have contact info for him, please let me know at your convenience. Thanks, -- - Mark 210-379-4635 ----------------------------------------------------------------------- Large Asteroids headed toward planets inhabited by beings that don't have technology adequate to stop them: Think of it as Evolution in Fast-Forward. From mark.kahrs at gmail.com Fri Jan 6 12:13:32 2012 From: mark.kahrs at gmail.com (Mark Kahrs) Date: Fri, 6 Jan 2012 13:13:32 -0500 Subject: SIGSALY Message-ID: I grabbed a copy of a free (!) publication from the Cryptologic Museum entitled "The start of the Digital Revolution: SIGSALY - Secure Digital Voice Communications in World War II". It mentions that you can visit the library and look at "The Green Hornet... America's Unbreakable Code for Secret Telephony" -- privately published in 1999 by D. E. Mitchell. It says it is very complete. And yes, the museum only has a mock up. But when you consider the noise disks, it's an amazing feat. From pete at dunnington.plus.com Fri Jan 6 17:35:52 2012 From: pete at dunnington.plus.com (Pete Turnbull) Date: Fri, 06 Jan 2012 23:35:52 +0000 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: <4F078558.4060008@dunnington.plus.com> Ethan Dicks wrote: > On Fri, Jan 6, 2012 at 12:25 PM, David Riley wrote: >> So wait, then, what's the difference between a /23 and a /23+ if not the 22-bit addressing? I was led to believe that was it. > > Just KDF11-A vs KDF11-B... KDF11-A may or may not be 22-bit (only Rev > A is 18-bit). All -B are 22-bit. Dual-height CPU only vs Quad-height > CPU plus dual SLU plus on-board Boot ROMs. Yes, plus LTC, of course. > If you are building a system from scratch and have an up-rev KDF11-A > plus a couple of serial ports (like half of a DLV11-J) plus a > Bootstap/terminator board then compare that to a /23+ system, the > effective difference is that the /23+ system will have fewer boards to > do the same thing and more open slots. No effective difference from a > software standpoint. > One can also assemble a KDF11-A system in one of the oddball narrow > backplanes that originally shipped with the LSI-11/2 where a KDF11-B > won't fit, but that's still just packaging. > > A minimal /23+ system could be as little as 2 modules - KDF11-B plus > memory - use the second SLU for a TU58 or TU58 emulator and you could > boot RT-11. A /23 system will have more boards. You can actually do that with a KDF11-A and an MXV11-B as well. -- Pete Peter Turnbull Network Manager University of York From glen.slick at gmail.com Fri Jan 6 17:58:52 2012 From: glen.slick at gmail.com (Glen Slick) Date: Fri, 6 Jan 2012 15:58:52 -0800 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F078558.4060008@dunnington.plus.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <4F078558.4060008@dunnington.plus.com> Message-ID: On Fri, Jan 6, 2012 at 3:35 PM, Pete Turnbull wrote: > >> >> A minimal /23+ system could be as little as 2 modules - KDF11-B plus >> memory - use the second SLU for a TU58 or TU58 emulator and you could >> boot RT-11. ?A /23 system will have more boards. > > > You can actually do that with a KDF11-A and an MXV11-B as well. > Aren't there some OS restrictions when using an MXV11-B? Something like you can't run RSTS/E because the MXV11-B on-board memory is non-parity memory and parity memory is required for RSTS/E? From pete at dunnington.plus.com Fri Jan 6 18:02:17 2012 From: pete at dunnington.plus.com (Pete Turnbull) Date: Sat, 07 Jan 2012 00:02:17 +0000 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F073F9C.9050808@verizon.net> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <4F073F9C.9050808@verizon.net> Message-ID: <4F078B89.5090607@dunnington.plus.com> Allison wrote: > The oldest versons would require the user to use ODt to enter a rather long > boot program to boot MSCP. the alternate is if that older system has > both an > RX01/2, RL01/02/ RK/TU58 and a booter on that device you could boot of > those and do a boot/foreign (RT11) to the MSCP device. Yep, that's what I used to do on my original 11/23. Bob Schor posted the MSCP boot to vmsnet.pdp11 a long time ago, and I expect copies are floating around the net. But to save exercising Google too hard, here's part of Bob's post from 1994. As Allison says, it's not short. =============================================================== The following is MSCP.MAC, the code for the toggle-in bootstrap for DU0 as listed (almost) in the RT-11 5.6 manuals. When this is assembled, the .SAV image at 76000 will match that of the boot. The first set of comments on the right are the (octal) location and contents of the bootstrap, should you actually need to toggle it in. I am indebted to Jim Crapuchettes for deducing the missing word in the manual listing, and for providing the comments as to what the code is doing. [MSCP is a pretty mysterious protocol. Suffice to say that you build instruction packets in PDP-11 memory, then tell the controller to execute them.] Note that I have used this code, as ODT instructions, to "ram" the bootstrap over a serial line to an 11/73 which had no DU boot. The 11/73 came up in ODT, so all I had to do was to fire up VTCOM and send the ODT-like instructions over the serial line (ending, of course, with 76000G). To my surprise, it worked! ;------------------------------------------------------------------------------ ;This is the MSCP bootstrap as listed in the RT-11 5.6 INS manual ... ; along with its disassembly (by hand!). Additional comments and ; attempts to make "nicer" assembly by ; Bob Schor bschor at vms.cis.pitt.edu (412) 647-2116 (w) ; ;Missing word (at 76102) and most of the explanation supplied by ; Jim Crapuchettes jimc at netcom.com 408-732-0569 ; .asect . = 42 .word 1000 ;-; Set stack pointer for RT-11 - don't "toggle" in . = 76000 ; The contents of R0 must be the MSCP unit number. Although it is set to 0 ; below, it could be manually set to some other value and then execution ; started at 76002. start: clr r0 ;76000/5000 ;; Preset register to 0 (unit) mov #172150, r1 ;76002/12701 ;; Point to IP register ;76004/172150 1$: mov #itabl, r4 ;76006/12704 ;; Point to init/cmd params ;76010/76156 mov #4000, r5 ;76012/12705 ;; Set init step to 1 ;76014/4000 ; Do 4-step controller initialization. Begin by writing any value to IP to ; reset the controller; all the rest of initialization is done through SA. mov r1, r2 ;76016/10102 ;; Copy IP address, write to mov r0, (r2)+ ;76020/10022 ;; IP to init & bump to SA 2$: tst (r2) ;76022/5712 ;; Test for error bit in SA bmi 1$ ;76024/100770 ;; Error = start init again bit (r2), r5 ;76026/31205 ;; Test step bit in SA br 3$ ;76030/401 ;; ????, appears to skip next bic (r1)+, (r5)+ ;76032/42125 ;; ????, seems to be skipped 3$: beq 2$ ;76034/1772 ;; Wait for next step ready mov -(r4),(r2) ;76036/14412 ;; Next init param to SA asl r5 ;76040/6305 ;; Move to next init step bpl 2$ ;76042/100367 ;; Loop thru 4 steps ; Bring unit on-line, read bootstrap (block 0) from the disk and start it up. 4$: tstb -(r4) ;76044/105744 ;; Point to next cmd byte bne 5$ ;76046/1002 ;; Loop thru commands mov pc, r4 ;76050/10704 ;; Point r4 to "clr pc" and clr pc ;76052/5007 ;; go start at location 0 5$: clr r2 ;76054/5002 ;; Init for clearing memory 6$: clr (r2)+ ;76056/5022 ;; Clear memory from loc 0 cmp r2, #17204 ;76060/20227 ;; thru loc 17202 ;76062/17204 blo 6$ ;76064/103774 ;; Loop until done incb @#17101 ;76066/105237 ;; Packet length = 400 bytes ;76070/17101 mov r0, @#17110 ;76072/10037 ;; Set unit number = 0 ;76074/17110 movb (r4), @#17114 ;76076/111437 ;; Move command to cmd pkt ;76100/17114 movb -(r4), @#17121 ;76102/114437 ;; Set parameter from table ;76104/17121 mov #17004, (r2)+ ;76106/12722 ;; Set response packet de- ;76110/17004 ;; scriptor: low 16 address mov r5, (r2)+ ;76112/10522 ;; bits & PortOwn bit mov #17104, (r2)+ ;76114/12722 ;; Set command packet de- ;76116/17104 ;; scriptor: low 16 address mov r5, (r2) ;76120/10512 ;; bits & PortOwn bit cmp -(r2),-(r2) ;76122/24242 ;; Point back to resp desc tst (r1) ;76124/5711 ;; Poll controller to start 7$: tst (r2) ;76126/5712 ;; Wait for resp desc PO bit bmi 7$ ;76130/100776 ;; => 0 == response received tst @#17016 ;76132/5737 ;; Status byte = success (0)? ;76134/17016 beq 4$ ;76136/1742 ;; Yes, go to next command stop: halt ;76140/0 ;; No, stop here... ; NOTE: This table MUST be - immediately preceeded by a zero byte (the HALT ; instruction) because it is the "end-of-table" marker; and immediately ; precede the Initialization Step Parameter table since a single register ; points first to the IStep Params (1 word each) and then to the commands ; (1 byte for the command, 1 byte for the parameter), passing through them ; in reverse. .byte 2 ;; Set byte count to 1000 for OP.RD .byte 41 ;; OP.RD = ReaD .byte 0 ;; 0 parameter for OP.ONL .byte 11 ;; OP.ONL = ON Line ;; .word 20402 ;76142/20402 ;; .word 4400 ;76144/4400 .word 1 ;76146/1 ;; IS4: GO bit .word 0 ;76150/0 ;; IS3: Ring base high address .word 17204 ;76152/17204 ;; IS2: Ring base low address .word 100000 ;76154/100000 ;; IS1: bits- ;; [15] = 1, [14] (WR) = 0, [13:11] (cmd ring ;; size) = 0, [10:8] (resp ring size) = 0, [7] ;; (IE) = 0, [6:0] (int vect/4) = 0 :: command ;; and response rings = 1 element, no inter- ;; rupts and no interrupt vector. itabl =: . ;need pointer to end of table ;76000g to start ODT .end stop ;For RT-11 only, don't "toggle" in -- Pete Peter Turnbull Network Manager University of York From pete at dunnington.plus.com Fri Jan 6 17:56:35 2012 From: pete at dunnington.plus.com (Pete Turnbull) Date: Fri, 06 Jan 2012 23:56:35 +0000 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> Message-ID: <4F078A33.8080502@dunnington.plus.com> Glen Slick wrote: > My M8189 came with unlabeled 2716 EPROMs. I don't know what version > that was. I don't think it could boot from MSCP. That would match > what Pete says. > > Unless I missed it all of the M8189 versions listed here are 8K > versions, not 2K versions: > > http://www.dunnington.u-net.com/public/DECROMs/ROMlist 23-339E2 and 23-340E2 are 2K devices. There's a typo in the listing (corrected now!), but if you look at the files you'll see they're 2Kx8, and of course the E2 suffix means 2Kx8. > I updated my M8189 to the 23-380E4 / 23-381E4 M8189-BG (or -BH) > version. The only trick is you need to find 24-pin MCM68766 8KB > EPROMs, which aren't as common or cheap as most other EPROMs. Or modify the sockets. I don't think there's quite enough room to replace the 24-pin sockets with 28-pin on a KDF11-B card, but it can be done with a carrier. For KDF11-A systems, there's room to do it on a BDV11, and I have one that's been so modified. Of course with a BDV11 you can also re-jumper it to spread the 8K across 4 pairs of sockets. -- Pete Peter Turnbull Network Manager University of York From pete at dunnington.plus.com Fri Jan 6 18:09:04 2012 From: pete at dunnington.plus.com (Pete Turnbull) Date: Sat, 07 Jan 2012 00:09:04 +0000 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <4F078558.4060008@dunnington.plus.com> Message-ID: <4F078D20.7080108@dunnington.plus.com> Glen Slick wrote: > Aren't there some OS restrictions when using an MXV11-B? Something > like you can't run RSTS/E because the MXV11-B on-board memory is > non-parity memory and parity memory is required for RSTS/E? Could be -- but RSTS is one of the few DEC OSs I know next to nothing about and have never used. -- Pete Peter Turnbull Network Manager University of York From toby at telegraphics.com.au Fri Jan 6 18:42:45 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 19:42:45 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <7C0EF932-B8DE-454A-95F5-0C559097166D@gmail.com> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> <4F068F9A.2090901@tx.rr.com> <7C0EF932-B8DE-454A-95F5-0C559097166D@gmail.com> Message-ID: <4F079505.4090807@telegraphics.com.au> On 06/01/12 10:10 AM, David Riley wrote: > On Jan 6, 2012, at 1:07 AM, Charlie Carothers wrote: > >> I absolutely loathe "OK, if I knew for sure the ternary was faster, >> I might grudgingly use it in an interrupt routine but I would not be really happy about it! > > I actually like the ternary statement and think it reads a lot clearer, as long as it's simple conditions (e.g. "foo = bar ? baz : NULL;" or the like, certainly nothing that needs to occupy more than one line; I even start to get nervous when parentheses get involved). However, I've found that a lot of people who are otherwise quite good programmers are totally unfamiliar with it, so I tend to avoid using it in anything I'll have to share. > Sometimes it's clearer and sometimes it's not. I will use it when I want an expression and not a pointless obfuscating control structure :) --Toby > - Dave > From toby at telegraphics.com.au Fri Jan 6 18:49:39 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 19:49:39 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F068F9A.2090901@tx.rr.com> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <20120105201755.U76006@shell.lmi.net> <4F068F9A.2090901@tx.rr.com> Message-ID: <4F0796A3.6060208@telegraphics.com.au> On 06/01/12 1:07 AM, Charlie Carothers wrote: > On 1/5/2012 10:43 PM, Fred Cisin wrote: >>>> My canonical example, >>>> while (*T++=*S++); >>>> just for the sake of readability, is easier for a beginner OR >>>> STUDENT to >>>> follow as something like: >>>> >>>> do >>>> { >>>> X = *S; >>>> *T = X; >>>> S++; >>>> T++; >>>> } >>>> while('\0'<> X); /* Yes, of course, (X), but that's my point. */ >> >> On Thu, 5 Jan 2012, Toby Thain wrote: >>> ITYM != >> >> Probably. Certainly for my own use or second semester students. >> With most C compilers either would work.<> is slightly more intuitive >> for beginners than != until they recognize it as a crude drawing of a >> not-equal sign. Once they've got THAT, though, they're probably ready for >> while(X) >> >> One trivial mistake of style that I made in this example, was that >> because >> I used 'S' for "source" and 'T' for "target", I didn't have 'T' available >> for the temporary variable name. >> >>>> (Readability and ease of understanding is more important than >>>> efficiency >>>> for EXPLAINING something) >>> The long version isn't less efficient. >> >> I meant as a general principal. >> >> BUT, even in this example, unless the compiler does "optimization" to >> compile something other than what you asked for (DWIM!) and removes the >> temporary variable, the long version will be a TINY bit slower due to the >> extra temporary variable being written and read, and then read again for >> the comparison. In the "short" )"crammed together") version the value is >> in a register when it is needed, and presumably in the accumulator for >> the >> conditional jump that the while translates to. Likewise, by incrementing >> the pointers separately from de-referencing them, you'll probably end up >> with an an "unnecessary" retrieval of the pointer value from memory >> instead of register for the de-reference. >> >> >> If the purpose is the fastest possible code, that stuff matters. >> >> If the purpose is having the students understand it, without having to >> decipher the "puzzle code", delaying them moving on to the rest of the >> topic, the long version is far superior. >> >> THAT's where Holub and I don't agree - he considers the long version >> to be >> bordering on "WRONG", even for classroom blackboard! In one of his >> columns, he actually CORRECTED similar code in a reader question (about >> another issue) - I felt that ease of comprehension by his >> readers/students should be a higher priority than "efficiency" >> >> >> -- >> Grumpy Ol' Fred cisin at xenosoft.com >> > ... I don't even use the ternary operator in C preferring > the simpler and IMNSHO much clearer if/else construct. I've probably > even replaced the ternary critter with an if/else in code someone else > wrote that I was reworking for some reason. If it takes a microsecond > longer to execute the compiled code, who really cares the vast majority > of the time. OK, if I knew for sure the ternary was faster, I might > grudgingly use it in an interrupt routine but I would not be really > happy about it! Ternary isn't faster. None of this is about performance. It's about *clarity*. Neither if() nor ?: is always clearer than the other; context matters. Like the aforementioned strcpy idiom, a C/PHP/JavaScript programmer must be able to read the ternary operator. (If it *were* about speed: it has been admitted time and time again by even the best programmers* that they almost always guess wrongly about where performance bottlenecks might lurk.) --T * - e.g. Joe Armstrong in a recent Erlang list posting. From pete at dunnington.plus.com Fri Jan 6 18:52:21 2012 From: pete at dunnington.plus.com (Pete Turnbull) Date: Sat, 07 Jan 2012 00:52:21 +0000 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> Message-ID: <4F079745.6090804@dunnington.plus.com> Glen Slick wrote: > I couldn't find these switch settings documented anywhere. > (Auto boot DU7 is missing from this list. I couldn't seem to get that > setting to work) It doesn't exist. The list is published in more than one of the manuals, for example it's in the Micro PDP-11 Maintenance Manual. Here's the list Roger Wallace posted to vmsnet.pdp11 many years ago. It's valid for all the -BE to -BJ versions, with the caveats that the TMSCP boot is only present in the last versions, older versions don't support later hard drives, -BE doesn't support TSV05/TK25 or the MSCP sniffer boot. If S1-1 to S1-6 are all open, autoboot is disabled; if they're all closed, the self-test loops (and does not autoboot, of course). The MSCP sniffer boot first tries all removable-media MSCP devices, then all fixed MSCP devices, and boots from the first it finds with a valid bootstrap. ====================================== S1-8: Console Select -- ON = ANSI CRT (e.g. VT-100) OFF = NOT ANSI CRT (Hard copy TTY) S1-7: Memory Diagnostic -- ON = Run Quick Memory Diagnostics (But the system seems to run this anyway, even with the switch OFF) S1-1 through S1-6: Select Boot Device as follows (0=Open/1=Closed): S1 6 5 4 3 2 1 *** Device *** 0 0 0 0 0 1 TSV05 Unit0 (TK25) 0 0 0 0 1 0 TU58 Drive 0 0 0 0 0 1 1 TU58 Drive 1 0 0 0 1 0 0 RX01 Drive 0 0 0 0 1 0 1 RX01 Drive 1 0 0 0 1 1 0 RX02 Drive 0 0 0 0 1 1 1 RX02 Drive 1 0 0 1 0 0 0 DU0: 0 0 1 0 0 1 DU1: 0 0 1 0 1 0 DU2: 0 0 1 0 1 1 DU4: 0 0 1 1 0 1 DU5: 0 0 1 1 1 0 DU6: 0 0 1 1 1 1 DU: "Sniffer Boot" 0 1 0 0 0 0 DL0: 0 1 0 0 0 1 DL1: 0 1 0 0 1 0 DL2: 0 1 0 0 1 1 DL3: 0 1 0 1 0 0 DEQNA / Unit 0 0 1 0 1 0 1 DEQNA / Unit 1 0 1 1 0 0 0 TK50 0 0 0 0 0 0 Inhibit Autoboot 1 1 1 0 0 0 DECNET / DUV11 1 1 1 0 0 1 DECNET / DLV11-E 1 1 1 0 1 0 DECNET / DLV11-F Other possible combinations are "reserved" or "unused". With luck 8-} , I copied these correctly from by KDF11BJ ROM upgrade kit manual. The DU: "Sniffer Boot" was the default for DEC Micro-11 systems; it tests _removable_ MSCP devices, then _fixed_ MSCP devices, in numerical order and boots the system from the first bootable device found. -- Pete Peter Turnbull Network Manager University of York From toby at telegraphics.com.au Fri Jan 6 18:58:23 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 19:58:23 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120106100804.E16005@shell.lmi.net> References: <20120106100804.E16005@shell.lmi.net> Message-ID: <4F0798AF.8050109@telegraphics.com.au> On 06/01/12 1:11 PM, Fred Cisin wrote: > On Fri, 6 Jan 2012, Ian King wrote: > >> On 1/5/12 8:43 PM, "Fred Cisin" wrote: >> >> [snip] >>> BUT, even in this example, unless the compiler does "optimization" to >>> compile something other than what you asked for (DWIM!) and removes the >>> temporary variable, >> >> The only time modern compilers don't do optimization is when you tell them >> not to, usually so you can step through the code in a debugger. One of > > I will concede that "modern" compilers DEFAULT to optimization on. > (I'm not modern) gcc doesn't, although the level expected "for free" has probably changed in 35 years. lcc does not have an "optimiser" yet can produce very good code with good machine descriptions. > > >> Yeah, having debugged code that tried to be 'clever' and could have been >> written clearly instead, Holub and I would be on opposite sides of that >> argument. It was true thirty years ago that 'cleverly' written C could be >> faster (and there were tests to prove it), but there's little >> justification for that position today. > > That's my point. +1. --Toby > > To be fair, my chats with Holub WERE 25 - 30 years ago. So, the > environment is now different. > > > > > From toby at telegraphics.com.au Fri Jan 6 19:00:13 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 20:00:13 -0500 Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120106094604.F16005@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <4F06FC82.9030708@telegraphics.com.au> <20120106094604.F16005@shell.lmi.net> Message-ID: <4F07991D.2020800@telegraphics.com.au> On 06/01/12 1:01 PM, Fred Cisin wrote: > On Fri, 6 Jan 2012, Toby Thain wrote: >>>> The long version isn't less efficient. >>> Actually, it is, or at least may be, depending on the compiler; >> gcc compiles to the same assembly, which is what I meant by "not less >> efficient". >> I expect most popular compilers would do the same. > > First, THANK YOU, for taking the time to check that out. > > > If you will recall, I said, UNLESS THE COMPILER OPTIMIZES. > I must have missed that part, sorry. > Replacing your^H^H^H^H MY code with something "equivalent", but presumably > "better" is called OPTIMIZATION, and that is what happened, and why the > code produced identical results. > > In this case, it is a correct and appropriate optimization. Yes, I'm aware. --T > Sometimes it isn't. Some early optimizing compilers created > complications (not with THIS, but with polling loops, etc.). But, in this > case, the optimization is completely correct. > ... > > -- > Grumpy Ol' Fred cisin at xenosoft.com > From toby at telegraphics.com.au Fri Jan 6 19:07:49 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 20:07:49 -0500 Subject: Books on FP, lambda calculus, closures - Re: teaching programming to kids In-Reply-To: <4F072519.1070409@gmail.com> References: <4F0677ED.4090206@telegraphics.com.au> <4F072519.1070409@gmail.com> Message-ID: <4F079AE5.8080801@telegraphics.com.au> On 06/01/12 11:45 AM, Robert Smith wrote: > > On 1/5/2012 9:26 PM, Toby Thain wrote: >> On 05/01/12 12:09 PM, Liam Proven wrote: >>> ... >>> Closures: again, I have yet to find a readable, comprehensible >>> explanation of what they are, what they are good for, why they are >>> powerful and what strengths they confer onto a programming language. >>... > The best way to go about it is to actually write some programs in Scheme > or Standard ML or Haskell or whatever. Then you actually internalize > what things mean, instead of these abstract definitions like what the > semantics of lambda is. You'll find the easy-to-understand books > typically do the programming for you by showing you code examples. The Crockford book - "JavaScript: The Good Parts" - is a good example of this. JavaScript would be much less powerful and more horrible without closures. Millions of people use them in code every day without hand-wringing. (Not forgetting the analogies that one can demonstrate between *objects* and closures - yet who's now crying FUD over objects? Before that it was POINTERS ARE TOO HARD.) An interesting question, now that closures are practically normal, is "what's next?" :D --T > > Remember, programming isn't like history, where you can just read a book > and understand what's going on. It's more like medicine and being a > doctor, where both book reading *and* practice are important, the latter > being almost surely more important. > > --Robert > > P.S., The moral of the story is, sit down, open a Scheme, and read SICP > from start to finish. It's not too difficult or too confusing, for it's > often the first book a compsci major gets to read. > > READ SICP DAMMIT. > From toby at telegraphics.com.au Fri Jan 6 19:09:06 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 20:09:06 -0500 Subject: Relax and write clear code!! - Re: C idioms - Re: Right tool for compilers In-Reply-To: References: Message-ID: <4F079B32.3010305@telegraphics.com.au> On 06/01/12 11:43 AM, Ian King wrote: > ... Relax and write clear code. You sir, one thousand internets. --T From dkelvey at hotmail.com Fri Jan 6 19:14:20 2012 From: dkelvey at hotmail.com (dwight elvey) Date: Fri, 6 Jan 2012 17:14:20 -0800 Subject: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids In-Reply-To: <4F0687F0.5040702@jetnet.ab.ca> References: <20120102212036.F61599@shell.lmi.net> ,,<4F025F92.15804.365E05A@cclist.sydex.com> , , , <4F031168.27701.104708B@cclist.sydex.com>, <1605589528-1325702564-cardhu_decombobulator_blackberry.rim.net-1715241573-@b15.c1.bise3.blackberry>, <20120104132145.L41929@shell.lmi.net>, , <4F067EBB.8020804@telegraphics.com.au>,<4F0687F0.5040702@jetnet.ab.ca> Message-ID: Hi I can't recall exactly but I had a NC4000 CPU with less than 4K words in ROM and about 1K words for the compiler that could completely recompile it self in about 17 seconds ( including compiling the compiler-compiler ). The NC4000 was running a 4MHz with a old XT HD controller and a 5 Meg hard disk. Of course, it was an optimized Forth processor and could run two memory busses at the same time. It used a variant of Forth call CMFORTH. It was vary simple and had no states like many Forths. It had two interperters, one for interactive and one to compile. While a Forth interpreter could be completely written in assembly, I've not seen it done. It is quite trivial and can only really benifit from an assembly language dictionary search as the rest has vary little overhead. Such and interpreter would look like: Parse out a word from the input stream See if it is in the dictionary If so execute it If not see if it is a number If so put it on the stack else report error and stop Repeat. You'll note that there is no funny business about checking to see what comes first, just do it as you come across it. It has no need for recursive interpretation. In a sense it is just like machine language with unlimited macro power built in. It make no distiction between machine level code and threaded code ( could even be call threaded ). Dwight > Date: Thu, 5 Jan 2012 22:34:40 -0700 > From: bfranchuk at jetnet.ab.ca > To: cctalk at classiccmp.org > Subject: Re: compilers in assembly - Re: Right toolf for the job (Was: teaching programming to kids > > On 1/5/2012 9:55 PM, Toby Thain wrote: > > >> People write compilers all the time. If you think they don't, you're > >> seriously out of the loop. > > > > In assembly? > > What is the memory footprint for a simple compiled lanquage, > that can compile itself. I am thinking of word based machine, 16 or more > bits wide and having some basic file I/O and non-recursive subroutine > calls. > > > --T > > > > > From cisin at xenosoft.com Fri Jan 6 19:35:59 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Fri, 6 Jan 2012 17:35:59 -0800 (PST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <4F07991D.2020800@telegraphics.com.au> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <4F06FC82.9030708@telegraphics.com.au> <20120106094604.F16005@shell.lmi.net> <4F07991D.2020800@telegraphics.com.au> Message-ID: <20120106173323.E24753@shell.lmi.net> > > If you will recall, I said, UNLESS THE COMPILER OPTIMIZES. On Fri, 6 Jan 2012, Toby Thain wrote: > I must have missed that part, sorry. OK, NOW I understand what we were arguing about! But, there was a LOT of good information along the way. -- Grumpy Ol' Fred cisin at xenosoft.com From fraveydank at gmail.com Fri Jan 6 19:38:15 2012 From: fraveydank at gmail.com (David Riley) Date: Fri, 6 Jan 2012 20:38:15 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F078B89.5090607@dunnington.plus.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <4F073F9C.9050808@verizon.net> <4F078B89.5090607@dunnington.plus.com> Message-ID: <8ED54BB5-81B9-45D5-B264-F6564F96A270@gmail.com> On Jan 6, 2012, at 7:02 PM, Pete Turnbull wrote: > Bob Schor posted the MSCP boot to vmsnet.pdp11 a long time ago, and I expect copies are floating around the net. But to save exercising Google too hard, here's part of Bob's post from 1994. As Allison says, it's not short. I tried writing the corresponding version of this to write blocks to my DU volumes (SCSI from a CQD-220). It wasn't pretty; I have a short ~20 word serial bootstrap with which I can upload anything I want instead, so I just built it as a binary instead and blasted it over with that. MSCP is nice (in its own way), but it's not simple. - Dave From toby at telegraphics.com.au Fri Jan 6 19:50:47 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 20:50:47 -0500 Subject: Is this the room for an argument? - Re: C idioms - Re: Right tool for compilers In-Reply-To: <20120106173323.E24753@shell.lmi.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <4F06FC82.9030708@telegraphics.com.au> <20120106094604.F16005@shell.lmi.net> <4F07991D.2020800@telegraphics.com.au> <20120106173323.E24753@shell.lmi.net> Message-ID: <4F07A4F7.5070605@telegraphics.com.au> On 06/01/12 8:35 PM, Fred Cisin wrote: >>> If you will recall, I said, UNLESS THE COMPILER OPTIMIZES. > > On Fri, 6 Jan 2012, Toby Thain wrote: >> I must have missed that part, sorry. > > OK, NOW I understand what we were arguing about! "I might have been arguing in my spare time!" --T > > > But, there was a LOT of good information along the way. > > -- > Grumpy Ol' Fred cisin at xenosoft.com > From chrise at pobox.com Fri Jan 6 20:05:42 2012 From: chrise at pobox.com (Chris Elmquist) Date: Fri, 6 Jan 2012 20:05:42 -0600 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> Message-ID: <20120107020542.GC20082@n0jcf.net> Can you boot from ANY MSCP controller even if it is third party such as CMD as long as you have the correct ROMs? -- Chris Elmquist From vrs at msn.com Fri Jan 6 20:49:12 2012 From: vrs at msn.com (Vincent Slyngstad) Date: Fri, 6 Jan 2012 18:49:12 -0800 Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F067512.9030003@telegraphics.com.au> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> Message-ID: From: Toby Thain: Thursday, January 05, 2012 8:14 PM > On 05/01/12 1:52 PM, Dave McGuire wrote: >> On 01/05/2012 12:19 AM, Vincent Slyngstad wrote: >>>> So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for >>>> I/O? >>> >>> Hmm...that sounds like a disturbingly good idea :-). >> >> That sounds like a TANTALIZINGLY good idea!! >> > > You'll probably want to look up the work of Marc Feeley, but I think it > would be more fun to do it from scratch... I found him, and read a couple of his papers. There'd still be plenty to do, just optimizing his stuff for a PDP-8. I was trying to get a feel for what the capabilities of the result might be. With 32Kw of memory, if you could get, say, 10K cons cells + atoms, would that be an interesting system? Or would it be too tiny to be useful? Also, how would the code density of the compiled Scheme compare to native machine code? That global optimizer is quite something. I want one of those! Vince From dgriffi at cs.csubak.edu Fri Jan 6 20:56:58 2012 From: dgriffi at cs.csubak.edu (David Griffith) Date: Fri, 6 Jan 2012 18:56:58 -0800 (PST) Subject: Steve Gibson's SBC6120 loader Message-ID: I was looking at Steve Gibson's tools for playing with the SBC6120 at http://www.grc.com/pdp-8/os8utils-sbc.htm and started wondering. Does anyone here know how to do under Linux what those three utilities do? I suppose the WinToAta and AtaToWin could be replicated with dd(1) and some glue shell scripting. The third one appears to be a disk partitioner. What's going on there? -- David Griffith dgriffi at cs.csubak.edu A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? From toby at telegraphics.com.au Fri Jan 6 21:08:33 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 22:08:33 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <20120107020542.GC20082@n0jcf.net> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> <20120107020542.GC20082@n0jcf.net> Message-ID: <4F07B731.3040407@telegraphics.com.au> On 06/01/12 9:05 PM, Chris Elmquist wrote: > > Can you boot from ANY MSCP controller even if it is third party such > as CMD as long as you have the correct ROMs? > That should work, bugs notwithstanding. --Toby From toby at telegraphics.com.au Fri Jan 6 21:10:38 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Fri, 06 Jan 2012 22:10:38 -0500 Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> Message-ID: <4F07B7AE.7000102@telegraphics.com.au> On 06/01/12 9:49 PM, Vincent Slyngstad wrote: > From: Toby Thain: Thursday, January 05, 2012 8:14 PM >> On 05/01/12 1:52 PM, Dave McGuire wrote: >>> On 01/05/2012 12:19 AM, Vincent Slyngstad wrote: >>>>> So, who's gotten Scheme to run on a 4K PDP-8 with only an ASR-33 for >>>>> I/O? >... > I was trying to get a feel for what the capabilities of the result might > be. > With 32Kw of memory, if you could get, say, 10K cons cells + atoms, > would that be an interesting system? Or would it be too tiny to be useful? > > Also, how would the code density of the compiled Scheme compare to > native machine code? Imho PDP-8 is a difficult target for a HLL compiler; they like more registers. It's very cramped. --T > > That global optimizer is quite something. I want one of those! > > Vince > > From mcguire at neurotica.com Fri Jan 6 21:32:12 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Fri, 06 Jan 2012 22:32:12 -0500 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201061653.q06Gr9Xi018907@billy.ezwind.net> References: <9C82B6A6CAE843799CF9D312504546D2@vl420mt> <4F0633EC.60901@neurotica.com> <201201061653.q06Gr9Xi018907@billy.ezwind.net> Message-ID: <4F07BCBC.2070508@neurotica.com> On 01/06/2012 11:46 AM, John Foust wrote: >> Is there some reason you're being a dick to me? I ask because I >> can be ten times the dick if required; I just want to know if it's >> something worth getting worked up over. > > Hah! You'll be a manager before you know it. ROFL!! -- Dave McGuire New Kensington, PA From ethan.dicks at gmail.com Fri Jan 6 21:43:46 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Fri, 6 Jan 2012 22:43:46 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F078558.4060008@dunnington.plus.com> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <4F078558.4060008@dunnington.plus.com> Message-ID: On Fri, Jan 6, 2012 at 6:35 PM, Pete Turnbull wrote: > Ethan Dicks wrote: >> Just KDF11-A vs KDF11-B... KDF11-A may or may not be 22-bit (only Rev >> A is 18-bit). ?All -B are 22-bit. ?Dual-height CPU only vs Quad-height >> CPU plus dual SLU plus on-board Boot ROMs. > > Yes, plus LTC, of course. Yes. That too. >> A minimal /23+ system could be as little as 2 modules - KDF11-B plus >> memory - use the second SLU for a TU58 or TU58 emulator and you could >> boot RT-11. ?A /23 system will have more boards. > > You can actually do that with a KDF11-A and an MXV11-B as well. Ah, yes. Good point. I rarely remember the MXV11-B, mostly I think because I mostly worked with systems that had one or more boards of "real" memory and either a DLV11J (in BA-11s) or some type of quad-height quad serial card (in BA-23s). My own first PDP-11/23 was a customer-returned "HASPBOX" from the pre-COMBOARD days of Software Results Corp. It was shipped with 100% DEC hardware and 100% SRC software to be a bisync serial I/O front-end processor for a larger RSTS machine, probably a PDP-11/70. When the customer decommissioned their RSTS box, they didn't know what to do with the little BA11N hanging off of it, so they read the sticker and sent it back to us. I bought it for peanuts... in 1985, $300 got me a KDF11-A, four 32K memory cards (MSV11-D?), an LPV11, a DLV11J, some flavor of DEC sync serial board with a COM5025 USART, and a BDV11. I think I had to buy my own RXV21, and I know I had to buy my own RLV11 ($100 at the time since the RLV12 was just out and didn't need a CD-interconnect backplane, so was very popular). I borrowed a VT100, an RL01, and an LA180 from my PDP-8/a and ran RT-11 V5.0 on it. I made my living for a couple of years on that box. At one point, I even ran the extra backplane wires to manually upgrade it to 22-bit, then upgraded the dual-height memory card that was half-full of 4164 DRAMs, from 128K to 256K IIRC. Lots of soldering. Took three passes to find all the dry joints, but I did get it working with no strange crashes (just crashes caused by my buggy MACRO-11 code. ;-) Fun times. I'm still happy I found someone to pay me to build and program PDP-11s. Great job. No budget for MSCP disks, though. My experience with that came (two years?) later once low-end MicroPDPs were starting to go for cheap. -ethan From mouse at Rodents-Montreal.ORG Fri Jan 6 21:48:27 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Fri, 6 Jan 2012 22:48:27 -0500 (EST) Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> Message-ID: <201201070348.WAA16297@Sparkle.Rodents-Montreal.ORG> > I was trying to get a feel for what the capabilities of the result > might be. With 32Kw of memory, if you could get, say, 10K cons cells > + atoms, would that be an interesting system? Or would it be too > tiny to be useful? Depends on what you count as useful. I just did a rudimentary test. I have a Lisp engine of my own. It is comparable to Scheme only in that they both recognizably belong to the Lisp family. I started it up and let it execute its startup code. It has hooks that expose internal stats of the memory allocation code to Lisp examination: I used them to see what was in use. The results: [Dualicious] 11> lisp -> (progn (mapc #'(lambda (x) (print x) (terpri)) (gc-stats)) (values)) (%float (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%symbol (%gccount . 1) (%inuse . 716) (%free . 881) (%collected . 0)) (%cons (%gccount . 3) (%inuse . 5521) (%free . 36401) (%collected . 116487)) (%string (%gccount . 1) (%inuse . 726) (%free . 4313) (%collected . 7)) (%spiece (%gccount . 1) (%inuse . 725) (%free . 4314) (%collected . 7)) (%sbuf (%gccount . 1) (%inuse . 724) (%free . 6555) (%collected . 7)) (%regex (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%rematch (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%stream (%gccount . 1) (%inuse . 4) (%free . 1332) (%collected . 0)) (%readtable (%gccount . 1) (%inuse . 1) (%free . 18) (%collected . 0)) (%closure (%gccount . 0) (%inuse . 19) (%free . 2601) (%collected . 99)) (%binding (%gccount . 0) (%inuse . 206) (%free . 2414) (%collected . 5364)) (%thread (%gccount . 1) (%inuse . 1) (%free . 948) (%collected . 0)) (%mvalue (%gccount . 0) (%inuse . 32) (%free . 7247) (%collected . 2901)) (%evc (%gccount . 0) (%inuse . 24) (%free . 5015) (%collected . 169)) (%contin (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%gcnotice (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%package (%gccount . 1) (%inuse . 1) (%free . 3852) (%collected . 0)) (%interning (%gccount . 1) (%inuse . 694) (%free . 2425) (%collected . 0)) (%ilistroot (%gccount . 1) (%inuse . 693) (%free . 12409) (%collected . 0)) (%error (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%array (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%mutex (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%condvar (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%pipe (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%tio (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%tsize (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%buffer (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%marker (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%window (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%screen (%gccount . 1) (%inuse . 1) (%free . 1454) (%collected . 0)) (%fd (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%hash (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) (%gc (%gccount . 4) (%lisp . 1)) -> So, to the extent to which this is a fair illustration (which it may well not be), 10K things should be enough to do stuff. (The startup code defines a bunch of things, such as defun, the # macro, and setf, which are important but not actually built into the engine, and includes the top-level read-eval-print loop. 476 lines.) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From rivie at ridgenet.net Fri Jan 6 21:57:20 2012 From: rivie at ridgenet.net (Roger Ivie) Date: Fri, 6 Jan 2012 19:57:20 -0800 (PST) Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F07B7AE.7000102@telegraphics.com.au> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> <4F07B7AE.7000102@telegraphics.com.au> Message-ID: On Fri, 6 Jan 2012, Toby Thain wrote: > > Imho PDP-8 is a difficult target for a HLL compiler; they like more > registers. It's very cramped. No problem. Just think of page zero as registers. That gives you 128 of 'em. -- roger ivie rivie at ridgenet.net From vrs at msn.com Fri Jan 6 22:27:54 2012 From: vrs at msn.com (Vincent Slyngstad) Date: Fri, 6 Jan 2012 20:27:54 -0800 Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F07B7AE.7000102@telegraphics.com.au> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> <4F07B7AE.7000102@telegraphics.com.au> Message-ID: From: Toby Thain: Friday, January 06, 2012 7:10 PM > On 06/01/12 9:49 PM, Vincent Slyngstad wrote: >> Also, how would the code density of the compiled Scheme compare to >> native machine code? > > Imho PDP-8 is a difficult target for a HLL compiler; they like more > registers. It's very cramped. These are targeted for PIC. I'm not familiar with the larger PICs, but if they are like the smaller ones, I don't think the PDP-8 can be a lot worse than that. (The small PICs I've used actually remind me a bit of the PDP-8, except for the mess they've made of the memory map.) Vince From vrs at msn.com Fri Jan 6 22:39:41 2012 From: vrs at msn.com (Vincent Slyngstad) Date: Fri, 6 Jan 2012 20:39:41 -0800 Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <201201070348.WAA16297@Sparkle.Rodents-Montreal.ORG> References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> <201201070348.WAA16297@Sparkle.Rodents-Montreal.ORG> Message-ID: From: Mouse: Friday, January 06, 2012 7:48 PM > [Dualicious] 11> lisp > -> (progn (mapc #'(lambda (x) (print x) (terpri)) (gc-stats)) (values)) > (%float (%gccount . 0) (%inuse . 0) (%free . 0) (%collected . 0)) > (%symbol (%gccount . 1) (%inuse . 716) (%free . 881) (%collected . 0)) > (%cons (%gccount . 3) (%inuse . 5521) (%free . 36401) (%collected . 116487)) > (%string (%gccount . 1) (%inuse . 726) (%free . 4313) (%collected . 7)) > (%spiece (%gccount . 1) (%inuse . 725) (%free . 4314) (%collected . 7)) > (%sbuf (%gccount . 1) (%inuse . 724) (%free . 6555) (%collected . 7)) ... > (%closure (%gccount . 0) (%inuse . 19) (%free . 2601) (%collected . 99)) > (%binding (%gccount . 0) (%inuse . 206) (%free . 2414) (%collected . 5364)) > (%thread (%gccount . 1) (%inuse . 1) (%free . 948) (%collected . 0)) > (%mvalue (%gccount . 0) (%inuse . 32) (%free . 7247) (%collected . 2901)) ... > (%interning (%gccount . 1) (%inuse . 694) (%free . 2425) (%collected . 0)) > (%ilistroot (%gccount . 1) (%inuse . 693) (%free . 12409) (%collected . 0)) Interesting. Should I assume that most of those inuse cons are actually representations of code? Vince From hilpert at cs.ubc.ca Fri Jan 6 23:25:29 2012 From: hilpert at cs.ubc.ca (Brent Hilpert) Date: Fri, 6 Jan 2012 21:25:29 -0800 Subject: SIGSALY In-Reply-To: References: Message-ID: On 2012 Jan 6, at 10:13 AM, Mark Kahrs wrote: > I grabbed a copy of a free (!) publication from the Cryptologic Museum > entitled "The start of the Digital Revolution: SIGSALY - Secure > Digital > Voice Communications in World War II". It mentions that you can > visit the > library and look at "The Green Hornet... America's Unbreakable Code > for > Secret Telephony" -- privately published in 1999 by D. E. > Mitchell. It > says it is very complete. > > And yes, the museum only has a mock up. But when you consider the > noise > disks, it's an amazing feat. Right.. found some higher-res photos online and see it is just printed panels stuck in some cabinets. A few refs to the Green Hornet book on the web (authored by Donald E. Mehl) but no more content. I guess I should go look up the patents mentioned (awarded in 1976, over 30 years after being filed). For those who might be following this peripherally, the cryptography key was the random thermal noise from mercury-vapor tubes, digitised and recorded using FSK onto phonograph records. These key records were used as a one-time pad and had to be synchronised to a few mS at the two ends of the communication link. The whole system was a fascinating amalgam of theory and then-state-of-the-art techniques. From mouse at Rodents-Montreal.ORG Fri Jan 6 23:47:23 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Sat, 7 Jan 2012 00:47:23 -0500 (EST) Subject: Tiny/embedded Scheme - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <20120102212036.F61599@shell.lmi.net>, <4F025F92.15804.365E05A@cclist.sydex.com>, <4F031168.27701.104708B@cclist.sydex.com> <4F05F155.6030504@neurotica.com> <4F067512.9030003@telegraphics.com.au> <201201070348.WAA16297@Sparkle.Rodents-Montreal.ORG> Message-ID: <201201070547.AAA18016@Sparkle.Rodents-Montreal.ORG> >> -> (progn (mapc #'(lambda (x) (print x) (terpri)) (gc-stats)) (values)) >> [...] > Interesting. Should I assume that most of those inuse cons are > actually representations of code? Probably not. You may note that the %collected value for conses is much higher than for anything else; this reflects the fact that the interpreter (this Lisp engine is entirely interpreted) uses conses heavily for its internal lists. By setting breakpoints in gdb, I find that, immediately after the last gc before printing the first prompt, there are 2328 conses in use - but doing (assq '%cons (gc-stats)) at that prompt prints 4698, and doing it again immediately reports 25428 conses in use - but it also triggers a gc, after which gdb says there are 2486 conses in use, so the gc probably happens after (gc-stats) sampled the values but before the top-level read-eval-print loop printed the result. Those 2328 and 2486 values probably _are_ mostly representations of code; though they do include the then-current state of the interpreter stacks, those stacks are usually relatively small at that point, maybe a few hundred conses I'd say (this based largely on past experience watching output with internal debugging turned on, which dumps all the interpreter stacks every interpreter cycle). /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From tsw-cc at johana.com Sat Jan 7 01:01:51 2012 From: tsw-cc at johana.com (Tom Watson) Date: Fri, 6 Jan 2012 23:01:51 -0800 (PST) Subject: Xyplex terminal server Message-ID: <1325919711.7096.YahooMailClassic@web112403.mail.gq1.yahoo.com> I have a nice Xyplex 1640 terminal server that for the most part works just fine. The little problem is that I am attempting to get the memory card functional. To that end, I enter the command: Xyplex>> show card status To which I get the response: Xyplex -786- Memory Card Feature disabled So my question is: How do I enable this nice feature. Is it a function of the software image (I'm using V6.3S15), or some magic command that I need to sprinkle holy water upon? I write this message here, since this is an older device and somebody here probably knows the secret incantation. As always, I thank all for their help. -- Tom Watson tsw at johana.com being at home for the present. From james at slor.net Sat Jan 7 01:16:07 2012 From: james at slor.net (James) Date: Sat, 7 Jan 2012 02:16:07 -0500 Subject: Anyone have a case or memory for an HP 9000 712/60 In-Reply-To: References: <004e01ccc11c$f461d8c0$dd258a40$@slor.net> <002f01ccc120$108c5bd0$6400a8c0@tababook> <20111224085232.35264459.jkunz@unixag-kl.fh-kl.de> <008501ccc254$84039350$8c0ab9f0$@slor.net> Message-ID: <022101cccd0c$3a52ac60$aef80520$@slor.net> > I was just looking at one of my 712/60's to see what the part number is on > the DRAM modules. It is A2575-60001 on the 32MB modules. > > If you haven't already found a cheaper source, here's the cheapest I found > on a quick look today: > > http://www.ebay.com/itm/150636102804 > HP A2575-60001 2x32MB SIMM Memory HP9000 E35 Thanks for the link. Received a couple pairs of those today, and my machine is now maxed out at 128 MB. Now, if someone would just offer up a better case... :) James From legalize at xmission.com Sat Jan 7 02:24:52 2012 From: legalize at xmission.com (Richard) Date: Sat, 07 Jan 2012 01:24:52 -0700 Subject: Beehive International's first terminal in 1968 Message-ID: I've been reading through the documentation included with some Beehive B100s that I purchased. Included in that was a statement in a brochure that Beehive started with their first terminal product in 1968. I'm interested if anyone knows any additional information about these early Beehive terminals. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From glen.slick at gmail.com Sat Jan 7 04:13:42 2012 From: glen.slick at gmail.com (Glen Slick) Date: Sat, 7 Jan 2012 02:13:42 -0800 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <20120107020542.GC20082@n0jcf.net> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> <20120107020542.GC20082@n0jcf.net> Message-ID: On Jan 6, 2012 6:09 PM, "Chris Elmquist" wrote: > > Can you boot from ANY MSCP controller even if it is third party such > as CMD as long as you have the correct ROMs? > If you just use the BOOT command or configure for auto boot there are probably restrictions on how the CSR addresses and device unit numbers are configured for the MSCP controllers. If necessary both the KDF11-B and KDJ11-B firmware should let you specify a non-standard CSR address using the BOOT command with the /A option as documented in the manuals. I haven't had any problems booting from Dilog and CMD SCSI SCSI controllers and Dilog and Emulex ESDI controllers using the standard KDF11-B and KDJ11-B firmware MSCP boot. -Glen From pontus at update.uu.se Sat Jan 7 05:12:10 2012 From: pontus at update.uu.se (Pontus) Date: Sat, 07 Jan 2012 12:12:10 +0100 Subject: Xyplex terminal server In-Reply-To: <1325919711.7096.YahooMailClassic@web112403.mail.gq1.yahoo.com> References: <1325919711.7096.YahooMailClassic@web112403.mail.gq1.yahoo.com> Message-ID: <4F08288A.5010400@update.uu.se> On 01/07/2012 08:01 AM, Tom Watson wrote: > So my question is: How do I enable this nice feature. Is it a function of the software image (I'm using V6.3S15), or some magic command that I need to sprinkle holy water upon? > > I write this message here, since this is an older device and somebody here probably knows the secret incantation. Questions about this device comes from time to time and it's fairly old, so it is quite on topic :) I'm usually not of much help since my Xyplex servers mostly collect dust. However, unless you have seen it, this page contains most information/documentation that I have found about them: http://www.gno.org/~gdr/xyplex/ Regards, Pontus. From jdr_use at bluewin.ch Sat Jan 7 05:50:59 2012 From: jdr_use at bluewin.ch (Jos Dreesen) Date: Sat, 07 Jan 2012 12:50:59 +0100 Subject: Early electronic music.. Message-ID: <4F0831A3.5080108@bluewin.ch> While not a computer, it might still be of interest here : http://news.bbc.co.uk/2/hi/programmes/click_online/9671950.stm Jos From thrashbarg at kaput.homeunix.org Sat Jan 7 06:34:24 2012 From: thrashbarg at kaput.homeunix.org (Alexis Kotlowy) Date: Sat, 7 Jan 2012 23:04:24 +1030 Subject: Early electronic music.. In-Reply-To: <4F0831A3.5080108@bluewin.ch> References: <4F0831A3.5080108@bluewin.ch> Message-ID: <201201072304.24680.thrashbarg@kaput.homeunix.org> On Sat, 7 Jan 2012 10:20:59 PM Jos Dreesen wrote: > While not a computer, it might still be of interest here : > > http://news.bbc.co.uk/2/hi/programmes/click_online/9671950.stm > > Jos Good video. I think the music at 1:30 is by John Baker of the BBC Radiophonic Workshop however. There seems to be more information about the machine publicly available (pictures and video via a Google search) since the last time I checked. I've had a play about with a similar idea to Oramics with my synthesiser and oscilloscope. Here's a sample: http://kaput.homeunix.org/~thrashbarg/Klaviersonate11.mp3 I still don't know how this could be controlled by 35mm film. The best I can think of is a few phototransistors arranged like you would find in a paper tape machine. This wouldn't produce free flowing changes in voltage. but would move up and down in steps. So I don't know. The other option is to have one CRT per tape, but I don't think it was done that way either. Alexis. From jbmcb1 at gmail.com Sat Jan 7 07:38:21 2012 From: jbmcb1 at gmail.com (Jason McBrien) Date: Sat, 7 Jan 2012 08:38:21 -0500 Subject: Early electronic music.. In-Reply-To: <201201072304.24680.thrashbarg@kaput.homeunix.org> References: <4F0831A3.5080108@bluewin.ch> <201201072304.24680.thrashbarg@kaput.homeunix.org> Message-ID: On Sat, Jan 7, 2012 at 7:34 AM, Alexis Kotlowy > > I still don't know how this could be controlled by 35mm film. The best I > can > think of is a few phototransistors arranged like you would find in a paper > tape machine. This wouldn't produce free flowing changes in voltage. but > would > move up and down in steps. > You run it through a slew limiter. http://www.synthesizers.com/q105.html From fraveydank at gmail.com Sat Jan 7 08:03:43 2012 From: fraveydank at gmail.com (David Riley) Date: Sat, 7 Jan 2012 09:03:43 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: <4F07B731.3040407@telegraphics.com.au> References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> <20120107020542.GC20082@n0jcf.net> <4F07B731.3040407@telegraphics.com.au> Message-ID: On Jan 6, 2012, at 10:08 PM, Toby Thain wrote: > On 06/01/12 9:05 PM, Chris Elmquist wrote: >> >> Can you boot from ANY MSCP controller even if it is third party such >> as CMD as long as you have the correct ROMs? >> > > That should work, bugs notwithstanding. Yes - the whole point of MSCP was to present a hardware-agnostic view of a disk (or, in the case of TMSCP, a tape). The ROM boots my third-party CMD CQD-220 just fine. Likewise, I imagine if I hooked up any SCSI tape drive (don't have one), the MS: boot mode labelled "TK50" should probably work as well, since it's just TMSCP. - Dave From ajp166 at verizon.net Sat Jan 7 09:01:55 2012 From: ajp166 at verizon.net (allison) Date: Sat, 07 Jan 2012 10:01:55 -0500 Subject: Can PDP-11/23 boot MSCP devices In-Reply-To: References: <4F06DCDF.8040901@update.uu.se> <4F072718.6000507@dunnington.plus.com> <1F99E385-A114-4E1B-9423-34CBB7E6254E@gmail.com> <433F9C9A-436E-44CF-B99F-48E45AE9E205@gmail.com> <20120107020542.GC20082@n0jcf.net> Message-ID: <4F085E63.3000407@verizon.net> On 01/07/2012 05:13 AM, Glen Slick wrote: > On Jan 6, 2012 6:09 PM, "Chris Elmquist" wrote: >> Can you boot from ANY MSCP controller even if it is third party such >> as CMD as long as you have the correct ROMs? >> > If you just use the BOOT command or configure for auto boot there are > probably restrictions on how the CSR addresses and device unit numbers are > configured for the MSCP controllers. There are, those are listed in manuals for the primary and secondary device addresses. > If necessary both the KDF11-B and KDJ11-B firmware should let you specify a > non-standard CSR address using the BOOT command with the /A option as > documented in the manuals. > They can but usually not needed unless you have the primary and secondary device addresses filled. > I haven't had any problems booting from Dilog and CMD SCSI SCSI controllers > and Dilog and Emulex ESDI controllers using the standard KDF11-B and > KDJ11-B firmware MSCP boot. Same here. I have a KD11J/A with RXV11, RLV11, RQDX3, in it and it knows how to boot them all for all the possible media. I have a KDF11B (11/23+) that does that too. I covered the one oddball I've made using dual width cards like The KDF11A. Even that boots just about anything (dualwidth) so long as I put that boot in the MRV11 Eprom card. The uVAXII has both CMD SCSI and RQDX3 and has no issues. The older 11/23 boards and the LSI-11 boards including the SBC11 (falcon) may need help booting devices that are newer than they are but generally they do given the right boot program. DEC Qbus systems did a very nice job in maintaining forward improvement without blowing up the ability to use new and old hardware. But, I also give the caveat that if you understand Qbus systems some of the discussion is already known and DEC did a very good job with their various handbooks to educate. I imagine those books are getting scarce but once they were very common as DEC literally handed them out. If you don't have them you should be seeking them in paper or on line. They are a vast record of basic and needed information. Allison From mouse at Rodents-Montreal.ORG Sat Jan 7 09:03:33 2012 From: mouse at Rodents-Montreal.ORG (Mouse) Date: Sat, 7 Jan 2012 10:03:33 -0500 (EST) Subject: C idioms - Re: Right tool for compilers In-Reply-To: <20120106144727.M77098@kw.igs.net> References: <201201050720.q057KEIQ071156@billy.ezwind.net> <20120105113009.X76006@shell.lmi.net> <4F0673B7.2010908@telegraphics.com.au> <201201060706.CAA00312@Sparkle.Rodents-Montreal.ORG> <20120106084041.GB1433@brevard.conman.org> <201201061418.JAA06174@Sparkle.Rodents-Montreal.ORG> <20120106144727.M77098@kw.igs.net> Message-ID: <201201071503.KAA25302@Sparkle.Rodents-Montreal.ORG> >> I said "points into either T or S", not "points into what either T >> or S points to". That is, "*T = X;" may change S (as opposed to >> changing the memory S points to). > Ah. The rule that permits the compiler to optimize the long form into > the short here is C89 3.3.16.1: > If the value being stored in an object is accessed from another > object that overlaps in any way the storage of the first object, > then the overlap shall be exact and the two objects shall have > qualified or unqualified versions of a compatible type; otherwise > the behavior is undefined. The C99 draft I have contains very similar language in 6.5.16.1 #3, so similar I don't think it's worth quoting it. ("accessed" becomes "read", and there's a comma after the last "otherwise".) It's one of the constraints on simple assignment. After a multi-email exchange with my C language lawyer friend, most of which was us talking past one another because I was misreading that constraint until he realized how my reading differed from the intended one, I think it's straightened out, and it isn't relevant here. To use the modern language, annotated to clarify the understanding I now have of it, "[i]f the value being stored [in a simple assignment] in an object is read from [ie, is obtained by reading from] another object that overlaps in any way the storage of the first object, [...]". That is, to put it a bit loosely, this is talking about overlap between the LHS and RHS of the assignment, not overlap between the LHS of the assignment and some later read of the same object. Thus, none of the assignments in the long form violate this constraint and there is no undefined behaviour, or at least not due to that constraint. This then means the compiler is not justified in moving the S++ increment across the *T=X assignment, at least not absent some other reason behaviour is undefined, and on hardware with an instruction set that permits doing the S++ at the same time as the *S (VAX, PDP-11, maybe 68k), the short form very well may be more efficient. Reinforcing the idea that my reading of that constraint is wrong is that, when read that way, it means that a char-by-char copy from one object to another produces undefined behaviour in most cases, and that's something which is definitely supposed to work. This is why I've been pretty sure from the start that that reading was wrong; I just had trouble figuring out _how_ it was wrong. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mouse at rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B From lproven at gmail.com Sat Jan 7 10:38:47 2012 From: lproven at gmail.com (Liam Proven) Date: Sat, 7 Jan 2012 16:38:47 +0000 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: On 6 January 2012 09:23, Tor Arntsen wrote: > On Thu, Jan 5, 2012 at 17:56, Ethan Dicks wrote: >> On Thu, Jan 5, 2012 at 10:52 AM, Liam Proven wrote: >>> Very *very* few people's careers are going to involve programming >>> computers. One in a million, maybe, if that. >> >> That is a gross exaggeration. > [..] > I didn't see the original post.. but yes, that's not accurate. With > one in a million there should be just 4 programmers in all of Norway. > And (I'm Norwegian) here we are about 50 career programmers in just > this one company I'm working in, which is in a small town (_very_ > small by most other countries' standards) and we're not alone.. there > are several other companies in this town where programming and > software design is part of what they do. Can't talk too much for those > others, but we don't do web page design either, this is traditional > software development with numeric processing and data handling, mostly > under Unix (in the past) and Linux (now), and, before that, > mini-computers and their operating systems (their passing is one > reason I'm attracted to classic computing lists like these). > > So I don't know where that one in a million came from.. I see similar > programming environments as ours when I travel elsewhere in the world, > and ours is just one of those industries out there where proper, good > old programming is required. It's just an English figure of speech: "one in a million" is a common way of saying that something is very rare or unusual. Certainly, several comments have indicated that - as a pure random guess! - mine was a /very/ inaccurate estimate. I wonder what a more reasonable approximation would be, for the developed world? Perhaps one in a thousand? And also, what sort of programming the majority of them actually do. Whether it is scripting or relatively simple system automation, or macro programming in apps, or actual full-on application development, or what? Is there, I wonder, a line as to where simple tools and simple tuition for nonspecialists might be appropriate - e.g. BASIC for schoolkids - versus serious techniques and methods for those expected to be professional developers - e.g. Scheme for CS undergrads? -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From dkelvey at hotmail.com Sat Jan 7 12:15:50 2012 From: dkelvey at hotmail.com (dwight elvey) Date: Sat, 7 Jan 2012 10:15:50 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: , , <4EFF7D94.20309@mail.msu.edu>, , <20120102152629.M61599@shell.lmi.net>, <4F0263E6.4090706@telegraphics.com.au>, <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG>, <4F02810B.9090504@telegraphics.com.au>, , <4F030944.7010809@telegraphics.com.au>, , <4F03A9BC.7000409@telegraphics.com.au>, , , , Message-ID: > Subject: Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC ---snip--- > > Is there, I wonder, a line as to where simple tools and simple tuition > for nonspecialists might be appropriate - e.g. BASIC for schoolkids - > versus serious techniques and methods for those expected to be > professional developers - e.g. Scheme for CS undergrads? > Hi I don't really like using BASIC to teach with. Not being a procedural language it tends to not teach the student how to think in levels of the problem. Strict procedural languages tend to help the student factor the problems into chunks that help to find the solutions. Yes, I know one can write BASIC that way but it isn't enforced by the language. Dwight From toby at telegraphics.com.au Sat Jan 7 12:16:14 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Sat, 07 Jan 2012 13:16:14 -0500 Subject: We Don't Need No Education? -Re: teaching programming to kids In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> Message-ID: <4F088BEE.1040705@telegraphics.com.au> On 07/01/12 11:38 AM, Liam Proven wrote: > ... > And also, what sort of programming the majority of them actually do. > Whether it is scripting or relatively simple system automation, or > macro programming in apps, or actual full-on application development, > or what? > > Is there, I wonder, a line as to where simple tools and simple tuition > for nonspecialists might be appropriate - e.g. BASIC for schoolkids - > versus serious techniques and methods for those expected to be > professional developers - e.g. Scheme for CS undergrads? > One doesn't need to get very far into "scripting", web front-ends, etc to benefit from *actually learning programming.* Even simple bash, PHP, or JavaScript, and certainly SQL, benefit from a proper education. And that means a good part of the curriculum of "The Structure and Interpretation of Computer Programs". Sure, boil down the material into simpler texts. That's been done; many citations were posted recently. The idea that "oh, lots of people can get by doing this stuff without education" only goes so far. It is not a problem for the highly motivated, self-taught group who will eventually cover the same ground themselves. But it can't save the rest. This fantasy, "I don't need to learn more", seems to lead directly to the regrettable status quo. On the earlier question of teaching kids, Joshua Bloch has this to say in "Coders At Work": Joshua Bloch ------------ ... There's a certain precision of thinking that comes with doing math. I coached a Math Olympiad team for fourth and fifth graders. This is just the age at which some kids are starting to understand, at some level, the notion of a proof---that a proposition can be demonstrably, unequivocally true rather than just "I think it's true because here are a few examples were it seems to work." In order to understand the notion of an invariant, you have to understand the notion of a proof. Unfortunately, there are plenty of adults who don't. And it's a style of thinking that's typically taught in mathematics classes. Seibel ------ You almost wonder if maybe the better forum to teach that kind of thinking would be in programming. If you just taught programming as being about invariants--- Bloch ----- To a certain extent I agree, but you can go too far in that direction. Then we're back to Dijkstra. ... Dijkstra says you shouldn't even let students even touch a computer until they've manipulated symbols, stripped of their true meaning, for a semester. That's crazy! There's a joy in telling the computer to do something, and watching it do it. I would not deprive students of that joy. And furthermore, I wouldn't assume that I could---computers are everywhere. Ten-year-olds are programming. ... [ snip anecdote about a difficult bug in a C program where stack and thread local storage were being silently smashed ] This is an example of why you need safe languages. This is just not something that anyone should ever have to cope with. I was talking to someone recently at a university who asked me what I thought about the fact that his university wanted to teach C and C++ first and then Java, because they thought that programmers should understand the system "all the way down." I think the premise is right but the conclusion is wrong. Yes, students should learn low-level languages. In fact, they should learn assembly language, and even chip architecture. ... they'll be much better high-level language programmers if they understand what's going on in the lower layers of the system. So yes, I think it's important that you learn all this stuff. But do I think you should start with a low-level language like C? No! Students should not have to deal with buffer overruns, manual memory allocation, and the like in their first exposure to programming. --------- --Toby From holm at freibergnet.de Sat Jan 7 12:31:28 2012 From: holm at freibergnet.de (Holm Tiffe) Date: Sat, 7 Jan 2012 19:31:28 +0100 Subject: Huhi.. TITS? for PDP11? Message-ID: <20120107183128.GC77115@pegasus.freiberg-net.de> Hi, As I already wrote before, I have an russian PDP11, an Elektronika E60. I'm repairing currently some spare boards. I do have diskettes with an TMOC Test System with some Hardwaretests: -TMOS- MONITOR DXTC 06-JUN-84 28K RESTARTADR: 152250 GELADEN VON LW : 0 UM DIE MITTEILUNG ABZUBRECHEN, DRUECKEN SIE CTRL/C(^C) ->MONITORBEFEHLE: F STELLT VERZOEGERUNGSWERT EIN D AUSGABE DIRECTORY AUF TERMINAL D/F KURZFASSUNG DIRECTORY AUF TERMINAL D/L AUSGABE DIRECTORY AUF DRUCKER D/L/F KURZFASSUNG DIRECTORY AUF DRUCKER R FILNAM LADET UND STARTET EIN PROGRAMM L FILNAM LADET EIN PROGRAMM IN SPEICHER S STARTET GELADENES PROGRAMM S ADR STARTET GELADENES PROGRAMM VON ADRESSE ADR C FILNAM BEFEHLSABARBEITUNG KETTENFILE C FILNAM/QV SCHNELLE BEFEHLSABARBEITUNG KETTENFILE (JEDER FILE NUR EINMAL) .D NUMMER FILNAM.TYP DATUM LAENGE START 000001 DXTC .BIN 11-DEC-84 17 000050 000002 UPD1 .BIN 9-JAN-85 17 000071 000003 UPD2 .BIN 23-JAN-85 31 000112 000004 XTECO .BIN 23-JAN-85 30 000151 000005 COPY .BIN 23-JAN-85 27 000207 000006 TMOC01.DIR 4-JUN-80 2 000242 000007 CPUC .BIC 11-DEC-84 17 000244 000010 CPUZA .BIC 11-DEC-84 17 000265 000011 CPUFP .BIC 11-DEC-84 16 000306 000012 INT .BIC 11-DEC-84 12 000326 000013 PIO .BIC 11-DEC-84 6 000342 000014 SYS .BIC 11-DEC-84 17 000350 000015 MEM .BIC 11-DEC-84 9 000371 000016 DXD .BIC 15-MAY-85 20 000402 000017 DXC .BIC 19-DEC-84 17 000426 000020 SIO .BIN 11-DEC-84 8 000447 000021 REAS .BIN 1-APR-83 13 000457 000022 013101.BIN 22-OCT-82 8 000474 000023 VT13 .BIN 1-JAN-70 24 000504 000024 UPIO .BIN 13-DEC-84 8 000534 000025 BOOT .BIN 13-DEC-84 2 000544 000026 MTC .BIN 9-JAN-85 14 000546 000027 MTD .BIC 9-JAN-85 12 000564 000030 001103.BIN 6-JUN-80 9 000600 000031 TT .BIN 23-JAN-85 24 000611 000032 T .BIC 12-APR-90 1 000641 000033 TOME .CCC 21-FEB-85 1 000642 000034 TST1 .BIC 24-JUN-81 6 000643 000035 TST2 .BIC 24-JUN-81 6 000651 000036 TST3 .BIC 24-JUN-81 6 000657 000037 TST4 .BIC 24-JUN-81 6 000665 000040 TST5 .BIC 24-JUN-81 6 000673 000041 TST6 .BIC 24-JUN-81 6 000701 000042 TST7 .BIC 24-JUN-81 6 000707 000043 TST8 .BIC 24-JUN-81 6 000715 000044 TST9 .BIC 24-JUN-81 6 000723 000045 HILFE .TXT 24-JUN-81 5 000731 000046 KOMUPD.TXT 24-JUN-81 6 000736 000047 PUFFER.BIN 9-APR-80 1 000744 000050 DOR00 .BIN 11-APR-84 1 000745 000051 0 .BIN 11-APR-84 1 000746 000052 I2 .CCC 27-MAR-85 1 000747 000053 DIR .CCC 21-MAY-85 1 000750 000054 MK .BIN 28-FEB-85 1 000751 000055 ZETST .CCC 1-JUL-85 1 000752 000056 ZETST .BAK 1-JUL-85 1 000753 ... this is a german version. Is this an old XXDP or what? I've tried to run the Program REAS.BIn and get that: .R REAS TITS 75 19DEC79 FOR: 11/03 WITH: TRAP VGDISP LDEV PDEV ...entered some numbers and finally an 'L', than it hung. Maybe it wanted to load something from the Tape Reader or so, there is none connected... 1207 421 12706 ? ? 105067 L What the heck is TITS? (Yes, I know that womans have tits, and I know how to mount them :-)) I don't think that this is a russian Program, does anybody knows something about it? Kind Regards, Holm -- Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 From swtpc6800 at comcast.net Sat Jan 7 12:48:25 2012 From: swtpc6800 at comcast.net (Michael Holley) Date: Sat, 7 Jan 2012 10:48:25 -0800 Subject: Beehive International's first terminal in 1968 In-Reply-To: References: Message-ID: <002a01cccd6c$f0758f20$d160ad60$@comcast.net> Here is a Beehive advertisement in Computerworld March 31, 1980 on page 13. It gives the 1968 date for Beehive Electrotech's first terminal. http://books.google.com/books?id=fYukjC5PayUC&pg=PA13 Michael Holley www.swtpc6800.com/mholley -----Original Message----- From: cctalk-bounces at classiccmp.org [mailto:cctalk-bounces at classiccmp.org] On Behalf Of Richard Sent: Saturday, January 07, 2012 12:25 AM To: cctalk at classiccmp.org Subject: Beehive International's first terminal in 1968 I've been reading through the documentation included with some Beehive B100s that I purchased. Included in that was a statement in a brochure that Beehive started with their first terminal product in 1968. I'm interested if anyone knows any additional information about these early Beehive terminals. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From dave.thearchivist at gmail.com Sat Jan 7 12:50:28 2012 From: dave.thearchivist at gmail.com (Dave Caroline) Date: Sat, 7 Jan 2012 18:50:28 +0000 Subject: We Don't Need No Education? -Re: teaching programming to kids In-Reply-To: <4F088BEE.1040705@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <4F088BEE.1040705@telegraphics.com.au> Message-ID: On Sat, Jan 7, 2012 at 6:16 PM, Toby Thain wrote: > On 07/01/12 11:38 AM, Liam Proven wrote: >> > ?So yes, I think it's important that you learn all this stuff. But do I > think you should start with a low-level language like C? No! Students should > not have to deal with buffer overruns, manual memory allocation, and the > like in their first exposure to programming. So some education teaches Java a cough "safe language" and we get slow memory hogs because they know no better! yes they do need a proper education with low level code in C or assembler etc and why the other solutions are slower eg from the Haskell wiki (http://www.haskell.org/haskellwiki/Introduction#What_is_functional_programming.3F) Whereas the C program describes the particular steps the machine must make to perform a sort -- with most code dealing with the low-level details of data manipulation -- the Haskell program encodes the sorting algorithm at a much higher level, with improved brevity and clarity as a result (at the cost of efficiency unless compiled by a very smart compiler): Cost of efficiency seems to be a problem not acknowledged by proponents of most high level languages. Dave Caroline From healyzh at aracnet.com Sat Jan 7 12:59:27 2012 From: healyzh at aracnet.com (Zane H. Healy) Date: Sat, 7 Jan 2012 10:59:27 -0800 Subject: Huhi.. TITS? for PDP11? In-Reply-To: <20120107183128.GC77115@pegasus.freiberg-net.de> References: <20120107183128.GC77115@pegasus.freiberg-net.de> Message-ID: I don't know the answer to your question, however, I do know this. If you haven't already imaged those floppies, you need to. Zane -- | Zane H. Healy | UNIX Systems Administrator | | healyzh at aracnet.com | OpenVMS Enthusiast | | | Photographer | +----------------------------------+----------------------------+ | My flickr Photostream | | http://www.flickr.com/photos/33848088 at N03/ | From toby at telegraphics.com.au Sat Jan 7 13:28:34 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Sat, 07 Jan 2012 14:28:34 -0500 Subject: Fallacies about efficiency - Re: We Don't Need No Education? -Re: teaching programming to kids In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <4F088BEE.1040705@telegraphics.com.au> Message-ID: <4F089CE2.7030300@telegraphics.com.au> On 07/01/12 1:50 PM, Dave Caroline wrote: > On Sat, Jan 7, 2012 at 6:16 PM, Toby Thain wrote: >> On 07/01/12 11:38 AM, Liam Proven wrote: >>> >> So yes, I think it's important that you learn all this stuff. But do I >> think you should start with a low-level language like C? No! Students should >> not have to deal with buffer overruns, manual memory allocation, and the >> like in their first exposure to programming. > > So some education teaches Java a cough "safe language" and we get slow > memory hogs > because they know no better! yes they do need a proper education with > low level code in C or assembler etc and why the > other solutions are slower This is all addressed by Bloch even in that short extract. > > eg from the Haskell wiki > (http://www.haskell.org/haskellwiki/Introduction#What_is_functional_programming.3F) > > Whereas the C program describes the particular steps the machine must > make to perform a sort -- with most code dealing with the low-level > details of data manipulation -- the Haskell program encodes the > sorting algorithm at a much higher level, with improved brevity and > clarity as a result This is actually very important ^^ > (at the cost of efficiency unless compiled by a > very smart compiler): Haskell can of course be "faster" than C, for the rare times when that actually matters. But you know that already from your research, I'm sure. It is a fallacy that programs written in assembler and C are "fast"[*]. It is a fallacy that programs written in dynamic/functional/other languages are "slow". It is a fallacy that "fast" and "slow" are always the primary consideration. It is not a fallacy that programmers expend too much effort in writing confused and unmaintainable code, sometimes chasing those false grails. --Toby * an illuminating anecdote: http://erlang.org/pipermail/erlang-questions/2011-November/062240.html > > Cost of efficiency seems to be a problem not acknowledged by > proponents of most high level languages. > > Dave Caroline > > From holm at freibergnet.de Sat Jan 7 14:24:19 2012 From: holm at freibergnet.de (Holm Tiffe) Date: Sat, 7 Jan 2012 21:24:19 +0100 Subject: Huhi.. TITS? for PDP11? In-Reply-To: References: <20120107183128.GC77115@pegasus.freiberg-net.de> Message-ID: <20120107202419.GA77914@pegasus.freiberg-net.de> Zane H. Healy wrote: > I don't know the answer to your question, however, I do know this. > If you haven't already imaged those floppies, you need to. > > Zane > > > There are some of them archived from another person already.. >From that concrete Floppy I have 3 copies, so I think I'm not in a hurry. Currently I can't low level format the floppies with that RX01 (or RX02?) like russian floppy drive, I simply don't have a format program. I do have a CP/M Machine and get a Drive next week to test if I can format the new floppies that I have on that machine so I can copy the at least the disks that I've playing with. I think I know what I'm doing here. That machine is rater old and I repaired the 3rd set of boards now to wake at least another one. They are for a bunker museum from the former GDR. If you want to see some pics from the inside of this machine, look at here: http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=7733 This is a QBUS machine but with metric connectors and metric dimensions. It's in german altough.. Here are some Pics from the machines (the tower and a desktop, 11/03 like on the blue steel box) that are now in the bunker. I only have a Floppy drive and an card craddle here to repair this things. http://www.tiffe.de/Robotron/E60/DSCF0065.JPG http://www.tiffe.de/Robotron/E60/DSCF0066.JPG http://www.tiffe.de/Robotron/E60/DSCF0067.JPG http://www.tiffe.de/Robotron/E60/DSCF0068.JPG The last is a GDR Robotron made Printer SD1156 which is a 35 needle printer (makes a 5x7 matrix print for an complete letter at once). It can only print latin capitals and cyrillic capitals where the small latin characters are in the ascii table. (when it wasn't modified like that which I had tens of years before on my CP/M computer...) Regards, Holm -- Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, Freiberger Stra?e 42, 09600 Obersch?na, USt-Id: DE253710583 www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741 From ard at p850ug1.demon.co.uk Sat Jan 7 14:21:54 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Sat, 7 Jan 2012 20:21:54 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F06ED56.575.A3E229@cclist.sydex.com> from "Chuck Guzis" at Jan 6, 12 12:47:18 pm Message-ID: > > On 6 Jan 2012 at 19:59, Tony Duell wrote: > > > my solution, as others have suggested, was to use a 74F151 > > multiplexer. Select inputs fA, B, C) to the 3 input signals, > > multiplexer output to the signal I was tryign to produce. The inputs > > to the mux were, IIRC, pulled high by 1k reissotors (one of those SIL > > packs) with links to ground to configure it. I think the prototype had > > a pin header and push-on links, the 'production ones had links > > soldered i nthe right positions. > > Same idea, but inside-out. Uses an OC 3-to-8 demux rather than a > multiplexer. One pullup instead of a bunch. I thought the mux > solution too obvious. There is nothing wrong with obvious solutions (if they work). OI can think of several disadvantages to the '156 method : The output line, driving other circuitry, is an open-colelctoer signal with a psasive pull-up reissotr. It may not rise as sharply as a totem-pole output, particualrly if it's driving a capactivie load The jumper links are carrying high-seped logic signals. If you use the '151, the configuration links are 'static' Does the 74F156 exist? I've neer come across it. There aren't that many open-colelctor functions i nthe mroe recent families. Yes, the 74S156 existed, and would hae been fast ewnough, but I think it was discontinued by the time we were doing this design. And I certainly wouldn't recomend a device that was out-of-production. The 74F151 ws in all the catalogues at the time. > > AAR, not very challenging. Can you do a similar thing when the I will reserve judgement on that.... > inputs were of dissimilar logic families (you mentioned ECL) with a > single IC? Not that I am aware of. I suppose you're goign to tell me that there;s an FPGA with configurable I/O cells that does TTL, 3.3V CMOS, ECL, etc. Actually, I've never seen one, but,,.. But that wasn't part of the problem Had one of the signals been ECL, I'd have specified adding a 10124 or 10125 as appropriate. The problem wasn't to get it down to one chip. It was to come up with somethign that could be put on the PCB, so that the artwork could be finished and the boards made. If it has been 2 ICs, that would have been fine. -tony From ard at p850ug1.demon.co.uk Sat Jan 7 14:36:57 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Sat, 7 Jan 2012 20:36:57 +0000 (GMT) Subject: HP HIL ID module: what's it for? In-Reply-To: from "Richard" at Jan 6, 12 03:03:44 pm Message-ID: > > I keep seeing these listed on ebay and I don't understand what role > they play in the HP HIL environment. Can someone enlighten me? It's basically a dongle. It returns a unique number when it gets a 'Report Security' command. If the manual is to be beleived : Byte Buts 1 7-0 Header : 0x10 2 7-0 ) Product (or exchange) part numbewr in biary. Byte 2 3 7-0 ) is least significat. Likely to be 46084 when converted to 4 7 ) decimal 4 6-0 Product letter (A) or least significant digit of exchange identifier 5 7-0 } The 9 digit module serial number, ignoring the country letter 6 7-0 ) in binary. Bytr 5 is least significat. This will be unique, 7 7-0 ) apart from exchange modules 8 5-0 ) 8 7-6 Reserved, set to 0 9 6-0 Serial number country letter 9 7 Reserved, set to 0 AS I understnad it, the first HP9000 machines (early versions of the 9826 and 9836) had no unique machine ID at all. Later ones, and things like the 9816, hd a PROM on the CPU board that contaiend the serial number, and was thus unique ot the machine. Software could read this number to check it was running o nthe machine it was licesned for, and IIRC if you repaced the CPU bord you transfered the ID PROM to the new board to maintain the ID. Machiens with HP-HIL used these ID modules. If an ID module failed, you might end up with an 'exchange module which gave the same serial number but a different product ID (see byte 4). I believe you then ahd to return your old ID module. Thus no 2 modules ever made gave the excat same response, and no 2 modules in the field reported the same serial number. -tony From ard at p850ug1.demon.co.uk Sat Jan 7 14:49:30 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Sat, 7 Jan 2012 20:49:30 +0000 (GMT) Subject: HP HIL ID module: what's it for? In-Reply-To: from "Richard" at Jan 6, 12 03:29:18 pm Message-ID: > > At least now I know that I can safely ignore these while looking to > build up my HP-HIL peripheral collection :-). It's up to you waht you collect, but I wouldn't exclude it from such a colelction because it was an HP-HIL peripheral. It may not be very useful, but that's no the point... I'd quite like one, but all the ones I see on E-bay are far too expensive (or have ridiculous shipping for something that's about the size of a cigarrette packet) to be worth buying. WHat HP-HIL devices do you knwo about? The manual I have mentions the following : HP35723A touchscreen bezel HP46021A keyboard. There is also the 46020 keyboard which is functionally identical, but very differnet internally. That matters to me... HP46060 mouse HP46080 extension module (a line driver to add 8 feet of cable) HP46081 Audio/extension (Same line driver as the 46080, but with a speaker included, which AFAIK has noting to dow ith the HP-HIL side) HP46082A/B Audio/extension. Longer distanve line drivers HP46083 Rotary knob. This is a signle twiddleknob with a button on the side to seelct what it does (normally X or Y position) HP460-84 ID module HP46085 Control dials. 9 User-definable twiddleknobs. Thaes up 3 of the avaialble 7 addresses (!). HP46086 function box : 32 definable funciton keys HP46087 A-size digitizer HP46088 B-size digitzer HP46089 4-button cursor (a puck for the 2 digitizers, not really an HP-HIL device) HP46094 Quadrature port. For using Quadrature mice, trackballs, etc HP98203C keybar. A 'compact' keybaard. HP92916 Bar code reader For completeness, there's also the HP Inegral keyboard which is an HP-HIL deviec and differnet to any of the other keybaords. The keyboards also camme in various national layouts -tony From fraveydank at gmail.com Sat Jan 7 17:26:17 2012 From: fraveydank at gmail.com (David Riley) Date: Sat, 7 Jan 2012 18:26:17 -0500 Subject: JavaScript and Scheme - Re: teaching programming to kids In-Reply-To: <4F068E33.1050805@telegraphics.com.au> References: <4F068E33.1050805@telegraphics.com.au> Message-ID: On Jan 6, 2012, at 1:01 AM, Toby Thain wrote: > From Coders at Work* (Siebel): I really like this book. I'm only about halfway through reading it, but I certainly recommend doing so; it's interesting to see how a lot of very smart people think, including the ones I don't necessarily agree with. Highly recommended. - Dave From fraveydank at gmail.com Sat Jan 7 17:34:57 2012 From: fraveydank at gmail.com (David Riley) Date: Sat, 7 Jan 2012 18:34:57 -0500 Subject: We Don't Need No Education? -Re: teaching programming to kids In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <4F088BEE.1040705@telegraphics.com.au> Message-ID: <9E128664-83D5-4FE1-A422-3B84EBC8FD87@gmail.com> On Jan 7, 2012, at 1:50 PM, Dave Caroline wrote: > On Sat, Jan 7, 2012 at 6:16 PM, Toby Thain wrote: >> On 07/01/12 11:38 AM, Liam Proven wrote: >>> >> So yes, I think it's important that you learn all this stuff. But do I >> think you should start with a low-level language like C? No! Students should >> not have to deal with buffer overruns, manual memory allocation, and the >> like in their first exposure to programming. > > So some education teaches Java a cough "safe language" and we get slow > memory hogs > because they know no better! yes they do need a proper education with > low level code in C or assembler etc and why the > other solutions are slower Perhaps, but I don't read what Toby said as "don't teach people C". It's "don't start with C", which I *do* agree with; it would be like teaching a 16-year-old to drive on a Formula 1 race car. Wait until they at least understand safe stopping distances and proper disaster avoidance before taking away the airbags and the anti-lock breaks. :-) In my experience at university when we changed the introductory curriculum from C to Python (it was never meant to be a first-programming-experience course, but the advisors kept assigning it that way, so we changed the curriculum to match reality), I have to say that people "get" the fundamentals of programming a lot better the first time when they don't have to learn how to wave the chicken just right to make things work. Python also has the beneficial aspect of being a fairly powerful general-purpose imperative/object-oriented/functional language again; students will likely be using what they've learned for a long time to come. I only picked up Python a few years ago so I could properly TA the course, and I've been using it in a lot of places I never would have expected to use a "scripting" language in the past. Now the university teaches C alongside assembly, which is exactly where it belongs (why would you even try to teach pointers without showing what the CPU is actually doing with them?). In a sense, that's where we take off the training wheels (and the airbags and the anti-lock brakes, if I wanted to mix metaphors). It seems to work pretty well. - Dave From cclist at sydex.com Sat Jan 7 17:59:10 2012 From: cclist at sydex.com (Chuck Guzis) Date: Sat, 07 Jan 2012 15:59:10 -0800 Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4F06ED56.575.A3E229@cclist.sydex.com> from "Chuck Guzis" at Jan 6, 12 12:47:18 pm, Message-ID: <4F086BCE.17122.1458B1C@cclist.sydex.com> On 7 Jan 2012 at 20:21, Tony Duell wrote: > But that wasn't part of the problem Had one of the signals been ECL, > I'd have specified adding a 10124 or 10125 as appropriate. The problem > wasn't to get it down to one chip. It was to come up with somethign > that could be put on the PCB, so that the artwork could be finished > and the boards made. If it has been 2 ICs, that would have been fine. So I wanted to do something non-obvious. Anyone knows that a MUX/decoder implments a truth table of its inputs, so the problem you posed was obvious. I proposed a workable solution that no one else had. You didn't specify what the mystery device was driving--if it had been a line that required an OC output, the shoe would be on the other foot. Shrug. --Chuck From jws at jwsss.com Sat Jan 7 19:26:03 2012 From: jws at jwsss.com (jim s) Date: Sat, 07 Jan 2012 17:26:03 -0800 Subject: Vintage Macintosh SE2 in HB, CA Message-ID: <4F08F0AB.5080906@jwsss.com> http://orangecounty.craigslist.org/sys/2788398684.html not my listing, but not far if someone needs help getting it. Jim From dgriffi at cs.csubak.edu Sat Jan 7 19:44:07 2012 From: dgriffi at cs.csubak.edu (David Griffith) Date: Sat, 7 Jan 2012 17:44:07 -0800 (PST) Subject: Vintage Macintosh SE2 in HB, CA In-Reply-To: <4F08F0AB.5080906@jwsss.com> References: <4F08F0AB.5080906@jwsss.com> Message-ID: On Sat, 7 Jan 2012, jim s wrote: > http://orangecounty.craigslist.org/sys/2788398684.html > > not my listing, but not far if someone needs help getting it. What's a Mac SE2? I can't quite make out the label, but I'm guessing it's an SE/30. -- David Griffith dgriffi at cs.csubak.edu A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? From jbmcb1 at gmail.com Sat Jan 7 19:56:06 2012 From: jbmcb1 at gmail.com (Jason McBrien) Date: Sat, 7 Jan 2012 20:56:06 -0500 Subject: Vintage Macintosh SE2 in HB, CA In-Reply-To: References: <4F08F0AB.5080906@jwsss.com> Message-ID: On Sat, Jan 7, 2012 at 8:44 PM, David Griffith wrote: > > What's a Mac SE2? I can't quite make out the label, but I'm guessing it's > an SE/30. > The SE/30 didn't have dual drives. Could be an SE FDHD, which was kind of like the Mac 512KE version of the SE. From teoz at neo.rr.com Sat Jan 7 19:58:43 2012 From: teoz at neo.rr.com (TeoZ) Date: Sat, 7 Jan 2012 20:58:43 -0500 Subject: Vintage Macintosh SE2 in HB, CA References: <4F08F0AB.5080906@jwsss.com> Message-ID: <85C62A0DD47042C6A236AE29D1135E7F@dell8300> Only the SE had the option for 2 floppies (SE30 had 1 floppy and 1 HD). The original SE had DD drive(s) while the second model FDHD had superdrives (required a chip swap). Looks like an original SE to me with dual floppies. ----- Original Message ----- From: "David Griffith" To: "General Discussion: On-Topic and Off-Topic Posts" Sent: Saturday, January 07, 2012 8:44 PM Subject: Re: Vintage Macintosh SE2 in HB, CA > On Sat, 7 Jan 2012, jim s wrote: > >> http://orangecounty.craigslist.org/sys/2788398684.html >> >> not my listing, but not far if someone needs help getting it. > > What's a Mac SE2? I can't quite make out the label, but I'm guessing it's > an SE/30. > > -- > David Griffith > dgriffi at cs.csubak.edu > > A: Because it fouls the order in which people normally read text. > Q: Why is top-posting such a bad thing? > A: Top-posting. > Q: What is the most annoying thing in e-mail? From jws at jwsss.com Sat Jan 7 20:17:43 2012 From: jws at jwsss.com (jim s) Date: Sat, 07 Jan 2012 18:17:43 -0800 Subject: Vintage Macintosh SE2 in HB, CA In-Reply-To: <85C62A0DD47042C6A236AE29D1135E7F@dell8300> References: <4F08F0AB.5080906@jwsss.com> <85C62A0DD47042C6A236AE29D1135E7F@dell8300> Message-ID: <4F08FCC7.4060805@jwsss.com> I'm not much of a mac person, and even less of a "classic" or SE one. Sorry for the confusion, you guys can figure it out. I'm still happy to assist if need be. Jim On 1/7/2012 5:58 PM, TeoZ wrote: > Only the SE had the option for 2 floppies (SE30 had 1 floppy and 1 > HD). The original SE had DD drive(s) while the second model FDHD had > superdrives (required a chip swap). Looks like an original SE to me > with dual floppies. > > > > > ----- Original Message ----- From: "David Griffith" > > To: "General Discussion: On-Topic and Off-Topic Posts" > > Sent: Saturday, January 07, 2012 8:44 PM > Subject: Re: Vintage Macintosh SE2 in HB, CA > > >> On Sat, 7 Jan 2012, jim s wrote: >> >>> http://orangecounty.craigslist.org/sys/2788398684.html >>> >>> not my listing, but not far if someone needs help getting it. >> >> What's a Mac SE2? I can't quite make out the label, but I'm guessing >> it's an SE/30. >> >> -- >> David Griffith >> dgriffi at cs.csubak.edu >> >> A: Because it fouls the order in which people normally read text. >> Q: Why is top-posting such a bad thing? >> A: Top-posting. >> Q: What is the most annoying thing in e-mail? > > From fraveydank at gmail.com Sat Jan 7 20:34:26 2012 From: fraveydank at gmail.com (David Riley) Date: Sat, 7 Jan 2012 21:34:26 -0500 Subject: Vintage Macintosh SE2 in HB, CA In-Reply-To: References: <4F08F0AB.5080906@jwsss.com> Message-ID: <4C97BDE7-BA07-47A5-B190-D96909ACA852@gmail.com> On Jan 7, 2012, at 8:56 PM, Jason McBrien wrote: > On Sat, Jan 7, 2012 at 8:44 PM, David Griffith wrote: > >> >> What's a Mac SE2? I can't quite make out the label, but I'm guessing it's >> an SE/30. >> > > The SE/30 didn't have dual drives. Could be an SE FDHD, which was kind of > like the Mac 512KE version of the SE. I think SE2 was a typo on the part of Jim; the auction just says SE. The SE could contain 2 floppy drives or 1 floppy and 1 SCSI drive; this machine looks like the former (i.e. it has no internal hard drive). - Dave From mcguire at neurotica.com Sat Jan 7 22:18:31 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Sat, 07 Jan 2012 23:18:31 -0500 Subject: SIGSALY In-Reply-To: References: Message-ID: <4F091917.6070006@neurotica.com> On 01/07/2012 12:25 AM, Brent Hilpert wrote: > For those who might be following this peripherally, the cryptography key > was the random thermal noise from mercury-vapor tubes, digitised and > recorded using FSK onto phonograph records. These key records were used > as a one-time pad and had to be synchronised to a few mS at the two ends > of the communication link. The whole system was a fascinating amalgam of > theory and then-state-of-the-art techniques. [gape] Ok, that is AWESOME. I've done some work with entropy sources (primarily P-N junction noise) to feed random number generators, but this is a technique I've never heard of. My mind is blown. -Dave -- Dave McGuire New Kensington, PA From mikeford at socal.rr.com Sun Jan 8 02:36:00 2012 From: mikeford at socal.rr.com (Mike Ford) Date: Sun, 08 Jan 2012 00:36:00 -0800 Subject: Vintage Macintosh SE2 in HB, CA In-Reply-To: <4F08F0AB.5080906@jwsss.com> References: <4F08F0AB.5080906@jwsss.com> Message-ID: <4F095570.7010701@socal.rr.com> On 1/7/2012 5:26 PM, jim s wrote: > http://orangecounty.craigslist.org/sys/2788398684.html $75 as is seems a bit ambitious. One of my friends bought I think a hundred for around $3 each, but its been ten years or so. This one looks unfaded etc., but as is? Be nice if its worth it, I only have about 35 early macs piled around slowly getting parted out for any odd bits that look worth keeping. I don't think I kept any to start with that weren't earlier than a SE, or an SE30. From brad at heeltoe.com Sun Jan 8 06:59:20 2012 From: brad at heeltoe.com (Brad Parker) Date: Sun, 08 Jan 2012 07:59:20 -0500 Subject: teaching programming to beginners In-Reply-To: <4F0429EB.19603.182853@cclist.sydex.com> References: , , <4F038543.2080305@neurotica.com> <4F0429EB.19603.182853@cclist.sydex.com> Message-ID: <4F099328.3060103@heeltoe.com> On 1/4/2012 1:28 PM, Chuck Guzis wrote: > I'm struggling to remember the name of a language I read about back > in the late 70s or early 80s. It was part of a "natural language > programming for the uninitiated" trend back then. It had statements > like: > > TAKE THE THIRD THROUGH THE 17-TH CHARACTER OF MYDATA AND SHOW THEM. > > The language allowed for considerable leeway in abbreviation and > tolerated lots of "junk fill" words. That looks a little like SNAP to me. Once, long ago (like 1975) I tried to find a fortran deck for the compiler/interpreter but was unable. I believe there was a book published on it, and a research paper. I think I have a copy of the paper (a pdf) if you'd like a copy. an interesting attempt at natural language programming -brad From spectre at floodgap.com Sun Jan 8 09:56:40 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Sun, 8 Jan 2012 07:56:40 -0800 (PST) Subject: SNAP was Re: teaching programming to beginners In-Reply-To: <4F099328.3060103@heeltoe.com> from Brad Parker at "Jan 8, 12 07:59:20 am" Message-ID: <201201081556.q08FufdV006082@floodgap.com> > That looks a little like SNAP to me. The Panasonic HHCs allegedly can be programmed in SNAP. I don't have an interpreter for mine though. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- I must confess, I was born at a very early age. -- Groucho Marx ------------ From LYNCHAJ at YAHOO.COM Sun Jan 8 10:18:25 2012 From: LYNCHAJ at YAHOO.COM (Andrew Lynch) Date: Sun, 8 Jan 2012 11:18:25 -0500 Subject: mini-M68000 home brew computer Message-ID: <002101ccce21$40c310b0$c2493210$@YAHOO.COM> Hi! One of the lesser known N8VEM home brew computers is the ECB mini-M68000 board. Presently it runs TUTOR 1.3 and we are planning on porting CP/M-68K Here is a description of the computer. It connects to the ECB bus to use various other home brew computer peripherals. http://n8vem-sbc.pbworks.com/w/file/48863865/baby%20M68K%20descr.txt All of the information is public and freely available. The PCBs are $20 each plus $2 shipping in the US and $5 elsewhere. http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder¶m=ECB%20mini-M680 00 If you would like to build one of your own mini-M68000 please contact me at LYNCHAJ at YAHOO.COM The main discussion on the mini-M68000 is on the N8VEM mailing list http://groups.google.com/group/n8vem Thanks and have a nice day! Andrew Lynch From jbmcb1 at gmail.com Sun Jan 8 10:32:34 2012 From: jbmcb1 at gmail.com (Jason McBrien) Date: Sun, 8 Jan 2012 11:32:34 -0500 Subject: SIGSALY In-Reply-To: References: Message-ID: On Fri, Jan 6, 2012 at 1:13 PM, Mark Kahrs wrote: > I grabbed a copy of a free (!) publication from the Cryptologic Museum > entitled "The start of the Digital Revolution: SIGSALY - Secure Digital > Voice Communications in World War II". It mentions that you can visit the > library and look at "The Green Hornet... America's Unbreakable Code for > Secret Telephony" -- privately published in 1999 by D. E. Mitchell. It > says it is very complete. There's a bit on SIGSALY on this author's amusingly titled history of the vocoder: http://howtowreckanicebeach.com/ (Link to authors blog with an entry on the topic) From brad at heeltoe.com Sun Jan 8 12:20:29 2012 From: brad at heeltoe.com (Brad Parker) Date: Sun, 8 Jan 2012 13:20:29 -0500 Subject: SNAP was Re: teaching programming to beginners In-Reply-To: <201201081556.q08FufdV006082@floodgap.com> References: <201201081556.q08FufdV006082@floodgap.com> Message-ID: <53B3F07B-0595-43C9-A5F1-B67AF6ABD75D@heeltoe.com> This is the SNAP I was talking about, from 1969: http://dl.acm.org/citation.cfm?id=1476815&dl=ACM&coll=DL&CFID=77190706&CFTOKEN=53278519 -brad On Jan 8, 2012, at 10:56 AM, Cameron Kaiser wrote: > >> That looks a little like SNAP to me. > > The Panasonic HHCs allegedly can be programmed in SNAP. I don't have an > interpreter for mine though. > > -- > ------------------------------------ personal: http://www.cameronkaiser.com/ -- > Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com > -- I must confess, I was born at a very early age. -- Groucho Marx ------------ From hilpert at cs.ubc.ca Sun Jan 8 12:41:04 2012 From: hilpert at cs.ubc.ca (Brent Hilpert) Date: Sun, 8 Jan 2012 10:41:04 -0800 Subject: teaching programming to beginners In-Reply-To: <4F099328.3060103@heeltoe.com> References: , , <4F038543.2080305@neurotica.com> <4F0429EB.19603.182853@cclist.sydex.com> <4F099328.3060103@heeltoe.com> Message-ID: <98BFF475-E5B7-48C9-AD46-B043BE1A7BF5@cs.ubc.ca> > On 1/4/2012 1:28 PM, Chuck Guzis wrote: >> I'm struggling to remember the name of a language I read about back >> in the late 70s or early 80s. It was part of a "natural language >> programming for the uninitiated" trend back then. It had statements >> like: >> >> TAKE THE THIRD THROUGH THE 17-TH CHARACTER OF MYDATA AND SHOW THEM. >> >> The language allowed for considerable leeway in abbreviation and >> tolerated lots of "junk fill" words. .. There was ENGLISH in the Microdata-Reality/Pick system that could look a lot like that. Mid-70s. From cclist at sydex.com Sun Jan 8 13:01:03 2012 From: cclist at sydex.com (Chuck Guzis) Date: Sun, 08 Jan 2012 11:01:03 -0800 Subject: teaching programming to beginners In-Reply-To: <4F099328.3060103@heeltoe.com> References: , <4F0429EB.19603.182853@cclist.sydex.com>, <4F099328.3060103@heeltoe.com> Message-ID: <4F09776F.30413.39C6A6@cclist.sydex.com> On 8 Jan 2012 at 7:59, Brad Parker wrote: > That looks a little like SNAP to me. Once, long ago (like 1975) I > tried to find a fortran deck for the compiler/interpreter but was > unable. I believe there was a book published on it, and a research > paper. That, I think, was it. I remember reading the book, but I don't ever recall seeing a real implementation of the language. But the ideas were interesting for the time. Yes, please, I'd love a PDF! Thanks, Chuck From hilpert at cs.ubc.ca Sun Jan 8 13:04:40 2012 From: hilpert at cs.ubc.ca (Brent Hilpert) Date: Sun, 8 Jan 2012 11:04:40 -0800 Subject: Early electronic music.. In-Reply-To: <201201072304.24680.thrashbarg@kaput.homeunix.org> References: <4F0831A3.5080108@bluewin.ch> <201201072304.24680.thrashbarg@kaput.homeunix.org> Message-ID: On 2012 Jan 7, at 4:34 AM, Alexis Kotlowy wrote: > On Sat, 7 Jan 2012 10:20:59 PM Jos Dreesen wrote: >> While not a computer, it might still be of interest here : >> >> http://news.bbc.co.uk/2/hi/programmes/click_online/9671950.stm >> >> Jos > > Good video. I think the music at 1:30 is by John Baker of the BBC > Radiophonic > Workshop however. There seems to be more information about the machine > publicly available (pictures and video via a Google search) since > the last > time I checked. > > I've had a play about with a similar idea to Oramics with my > synthesiser and > oscilloscope. Here's a sample: > > http://kaput.homeunix.org/~thrashbarg/Klaviersonate11.mp3 > > I still don't know how this could be controlled by 35mm film. The > best I can > think of is a few phototransistors arranged like you would find in > a paper > tape machine. This wouldn't produce free flowing changes in > voltage. but would > move up and down in steps. So I don't know. The other option is to > have one > CRT per tape, but I don't think it was done that way either. If you haven't seen it, this interview with the designer/builder describes roughly some of the techniques they used (more depth would nonetheless be nice): http://www.soundonsound.com/sos/feb09/articles/oramics.htm Made their own phototransistors by exposing ordinary transistors to light. The film was used for several things, in both analog and digital modes. (warning: the writer also make some strange statements like: "continuously variable volume controls did not exist in 1965!" !) From Arno_1983 at gmx.de Sun Jan 8 14:17:47 2012 From: Arno_1983 at gmx.de (Arno Kletzander) Date: Sun, 8 Jan 2012 21:17:47 +0100 Subject: teaching programming to beginners Message-ID: <201201082018.q08KIVBT068452@billy.ezwind.net> Dave Riley wrote: > I shudder at the fact that many of our high schools use Java as an introductory language. I really can't see the point of starting someone out saying, "Your program runs from a special method in a special class (we'll teach you what both of those are later) labelled 'public static void main()'. Just wave the chicken correctly, and maybe if you stick with it long enough, you'll find out what that magic incantation means." Well put. Alas that was the situation I was facing in University, where Java was a compulsory assignment for all EE students (and thus probably their first encounter with programming for some of them). I had hitherto only dabbled in various BASIC dialects (CBM, Borland Turbo, and Visual BASIC) - and NO, I don't feel like a brain-crippled Zombie! - but had read my share of C code too, so one of the instructors asked me whether I was a C coder - but probably just because I had picked up that style of abbreviated, mixed-case procedure and variable naming... That however only came later, when I took a course "Systems programming in C". There at last, some really useful education about things like I/O, queues and scheduling (however *n*x-centric) started to happen - but that course was primarily targeted at grammar / high school level *teachers*! I was just barely allowed to take an oral exam and turn in the earned credits (an A-) for my diploma on a special agreement basis. A while later, I also got some exposure to FORTH when I started hacking around on Sun workstations, like modifying their boot net routines (to get away from the RARP requirement that some OBP revisions imposed) and adding support for nonstandard frame buffer resolutions. (BTW, anybody here been into the cgthree ASIC deep enough to tell me whether it can do interlacing and if so, how to frob it to?) I did also got to write some assembly for an AVR microcontroller in my pre-diploma thesis. Arno Kletzander ...sent from my HTC Magician PDA From brad at heeltoe.com Sun Jan 8 14:26:26 2012 From: brad at heeltoe.com (Brad Parker) Date: Sun, 8 Jan 2012 15:26:26 -0500 Subject: teaching programming to beginners In-Reply-To: <4F09776F.30413.39C6A6@cclist.sydex.com> References: , <4F0429EB.19603.182853@cclist.sydex.com>, <4F099328.3060103@heeltoe.com> <4F09776F.30413.39C6A6@cclist.sydex.com> Message-ID: <1FD3567E-AAA0-4C3F-BE60-1FF68B6FFB38@heeltoe.com> On Jan 8, 2012, at 2:01 PM, Chuck Guzis wrote: > > On 8 Jan 2012 at 7:59, Brad Parker wrote: > >> That looks a little like SNAP to me. Once, long ago (like 1975) I >> tried to find a fortran deck for the compiler/interpreter but was >> unable. I believe there was a book published on it, and a research >> paper. > > That, I think, was it. I remember reading the book, but I don't ever > recall seeing a real implementation of the language. But the ideas > were interesting for the time. > > Yes, please, I'd love a PDF! This is the book http://www.springerlink.com/content/w72673776171q4n4/ I think I may have bought this (so can't redistribute): http://dl.acm.org/citation.cfm?id=1476815 I think that's the best I can do sorry... in my dreams some one discovers a card drawer with the original fortran source :-) -brad From cclist at sydex.com Sun Jan 8 14:32:27 2012 From: cclist at sydex.com (Chuck Guzis) Date: Sun, 08 Jan 2012 12:32:27 -0800 Subject: teaching programming to beginners In-Reply-To: <4F099328.3060103@heeltoe.com> References: , <4F0429EB.19603.182853@cclist.sydex.com>, <4F099328.3060103@heeltoe.com> Message-ID: <4F098CDB.13012.8D763B@cclist.sydex.com> On 8 Jan 2012 at 7:59, Brad Parker wrote: > an interesting attempt at natural language programming Some years ago, I was sent a floppy with something called NACC on it-- an attempt to provide a YACC-type natural language front-end generator. I dutifully filed it away, but never looked at it. I ran across the floppy the other day while trying to get some sort of organization in my library. Anyone interested in it? AFAIK, the floppy was a demo. --Chuck From ard at p850ug1.demon.co.uk Sun Jan 8 13:52:30 2012 From: ard at p850ug1.demon.co.uk (Tony Duell) Date: Sun, 8 Jan 2012 19:52:30 +0000 (GMT) Subject: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F086BCE.17122.1458B1C@cclist.sydex.com> from "Chuck Guzis" at Jan 7, 12 03:59:10 pm Message-ID: > > On 7 Jan 2012 at 20:21, Tony Duell wrote: > > > But that wasn't part of the problem Had one of the signals been ECL, > > I'd have specified adding a 10124 or 10125 as appropriate. The problem > > wasn't to get it down to one chip. It was to come up with somethign > > that could be put on the PCB, so that the artwork could be finished > > and the boards made. If it has been 2 ICs, that would have been fine. > > So I wanted to do something non-obvious. Anyone knows that a > MUX/decoder implments a truth table of its inputs, so the problem you For a suitable definition of 'anybody', which seems to exclude almost all the memebrs of the group I was working in at the time. But anyway. And yes, a decoder with the outputs ORed together (In the case of an open-collector inverted output decoder, wire-ANDIng them is equivalent of course) is equivalent to a multiplexer wit hthe data inputs tied high or low. 'Anybody' who knows what a multiplexer consists of will realise that. It's also equivlaent to a 1-bit wide PROM. Many programmable logic devices consist of an 'AND array' which combines the input varialbees and their inverses followed by an 'OR array' which combines the outputs of the ANDs to produce the otuptus of the device. Some of the arly PLE chips (the 82S100 springs to midn) had both arrays prgramamble. A PROM (or a multiplexer, or an open-collector decoder with the otuputs tied toghter as here) is a fixed AND array geenrating all the miniterms of the inputs (a complete decoder) follwed by a prograable OR array (you get to specify how they are ORed together to form the otuput). The standard PAL/GAL architecture is a programmable AND array follwed by a fixed OR array > posed was obvious. I proposed a workable solution that no one else Actually, I dispute that. Yes, the design works perfectly on paper. But a deisng is only workable if you can get the devices needed ot build it. It's no good deisnging with devices you wish would exist. And I've been through a lot of databooks and catalogues and I can find no mention of the '156 in 74F, 74ALS or 74AS (and actually not 74S either). So a suitable high-speed decoder doesn't exist. FWIW, the '559 (4-16 line, open-colelctor version fo the '154) doesn't exist in the high-speed families either. Do you have evidence it exists? If so, I'll be happy grant you have a workable solution > had. You didn't specify what the mystery device was driving--if it > had been a line that required an OC output, the shoe would be on the > other foot. Of course. I did say 'TTL level signal' I suppsoed that could have meant an line shared iwth other open-collector deivces, but the default interpretation of 'driving a TTL signal' would imply to me a totem-pole driver. It never hurts to check these things, I agree. -tony From brad at heeltoe.com Sun Jan 8 14:45:45 2012 From: brad at heeltoe.com (Brad Parker) Date: Sun, 8 Jan 2012 15:45:45 -0500 Subject: 11/34a board sets + operator console interface& 64KW mem - Re: Latest find In-Reply-To: <4F04F91B.2010606@telegraphics.com.au> References: <4F04F91B.2010606@telegraphics.com.au> Message-ID: <85B35022-C1E8-4A5C-8711-34E518127511@heeltoe.com> On Jan 4, 2012, at 8:12 PM, Toby Thain wrote: > > On 04/01/12 9:02 AM, E. Groenenberg wrote: >> >> During a cleanup of stuff at our company, some interesting items popped up >> and which I could take home. >> >> A device which emulates 2 tu-58's but then as 2 3.5" floppies, >> 2 complete 11/34a board sets + operator console interface& 64KW mem > > I'd probably be interested in these if there are no other takers. yowza - I didn't realize it was *for sale* :-) I'll get in line also. my 11/730 could use such a gizmo to replace the linux box run the tu58 emulator :-) -brad From cisin at xenosoft.com Sun Jan 8 15:42:25 2012 From: cisin at xenosoft.com (Fred Cisin) Date: Sun, 8 Jan 2012 13:42:25 -0800 (PST) Subject: teaching programming to beginners In-Reply-To: <4F099328.3060103@heeltoe.com> References: , , <4F038543.2080305@neurotica.com> <4F0429EB.19603.182853@cclist.sydex.com> <4F099328.3060103@heeltoe.com> Message-ID: <20120108134025.T93774@shell.lmi.net> On 1/4/2012 1:28 PM, Chuck Guzis wrote: > I'm struggling to remember the name of a language I read about back > in the late 70s or early 80s. It was part of a "natural language > programming for the uninitiated" trend back then. It had statements > like: > TAKE THE THIRD THROUGH THE 17-TH CHARACTER OF MYDATA AND SHOW THEM. Well, it's obviously not COBOL, but it looks like it. Do you remember where you read about "NOT-COBOL"? From cclist at sydex.com Sun Jan 8 17:16:29 2012 From: cclist at sydex.com (Chuck Guzis) Date: Sun, 08 Jan 2012 15:16:29 -0800 Subject: teaching programming to beginners In-Reply-To: <20120108134025.T93774@shell.lmi.net> References: , <4F099328.3060103@heeltoe.com>, <20120108134025.T93774@shell.lmi.net> Message-ID: <4F09B34D.9009.123A39B@cclist.sydex.com> On 8 Jan 2012 at 13:42, Fred Cisin wrote: > Well, it's obviously not COBOL, but it looks like it. > Do you remember where you read about "NOT-COBOL"? Brad nailed it--it's SNAP. It *is* surprising how many programming languages are called SNAP. But the 1969 version is the one I remember. Interesting idea for the time. It would seem to me that since English (even Basic English) is imprecise enough that one would have to learn the precise meaning of any word or term in the subject language and how to construct phrases and sentences, one might as well learn a *regular* language. --Chuck From ian_primus at yahoo.com Sun Jan 8 19:41:33 2012 From: ian_primus at yahoo.com (Mr Ian Primus) Date: Sun, 8 Jan 2012 17:41:33 -0800 (PST) Subject: Morrow Switchboard/Thinker Toys interface board schematics Message-ID: <1326073293.96233.YahooMailClassic@web121601.mail.ne1.yahoo.com> I have a "Thinker Toys Universal Interface Board" here, and I've been trying to figure it out. This is an early version of the Morrow Switchboard. It has a copyright date of 1978. The manuals available online are for the more common Morrow Switchboard, Rev 2. Comparing this board to a Switchboard reveals some subtle differences, but by and large, the boards are the same. This older version I have has no solder mask, while the Rev 2 has a blue solder mask. There are minor component placement differences. The most drastic difference seems to be the comparators that read the switches at the top of the board. As found, the board had a LOT of trace cuts and jumps, and some traces just plain peeled off - all around those four LS266's at the upper right, directly under the SW5 and SW6. Attempting to figure out what was done is nearly impossible. The switches themselves are still connected to the 266's with factory traces, at least, most of them - but the rest of the inputs were a mess of wires with bad solder joints. Of course... it doesn't work, and the wiring of the switches doesn't even come close to matching the schematics. Not only that, the factory traces that remain don't match the schematics. I mean, the switches wouldn't even be in the same order. It's a mess. So... does anyone have the schematics for this thing? -Ian From derschjo at mail.msu.edu Sun Jan 8 20:43:55 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Sun, 08 Jan 2012 18:43:55 -0800 Subject: Cromemco FDC In-Reply-To: <075701cccb61$539a0210$face0630$@sudbrink@verizon.net> References: <4F051805.8070204@mail.msu.edu> <075701cccb61$539a0210$face0630$@sudbrink@verizon.net> Message-ID: <4F0A546B.4000305@mail.msu.edu> On 1/4/2012 8:20 PM, Bill Sudbrink wrote: > Josh Dersch wrote: >> How does the "phantom" line work? I see references to this in some of >> my S-100 manuals but I'm not clear how it works (who raises/lowers it, >> when, etc...) > It can be a little bit "implementation dependent" but usually there are > cards that assert phantom (it is active low, there has to be a pull up > on it somewhere (the CPU card I think)) and cards that "honor" phantom. > When an address is presented to the bus, any phantom asserting card that > whishes to override that address pulls the phantom line low. A phantom > honoring card that would normally respond to the address will instead > suppress any activity. Note that this system does not prevent multiple > phantom asserting or phantom honoring cards from stepping on each other. > Careful system configuration is still the responsibility of the builder. > In the case of the Cromemco FDC cards, the FDC becomes a phantom asserter. > Any RAM card that the system has that resides in the same address space > ($C000-$CFFF in the case of a 4FDC) must honor phantom. The CPU presents > an address to the bus, the FDC card does an address decode, determines that > it is an address it wants to respond to and activates the ROM (the CE (chip > enable) pin on the ROM is also active low) asserting PHANTOM at the same > time, disabling the RAM card. When you deactivate the RDOS ROM with the > poke to the I/O address, then the FDC card will no longer activate the ROM, > PHANTOM will no longer be asserted and the RAM card will respond to the > address previously occupied by RDOS. I run CDOS in a full 64K > configuration this way. > > Bill S. > Thanks for the clarification! I do have a 32K Static RAM card that seems to support the Phantom line, I'll have to play around with it once I find something to fill the last 16K. (Now I just have to figure out why I can't get the FDC to write floppies correctly...) - Josh From evan at snarc.net Sun Jan 8 21:54:30 2012 From: evan at snarc.net (Evan Koblentz) Date: Mon, 9 Jan 2012 03:54:30 +0000 Subject: What's an Intel 4040 worth? Message-ID: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> Perhaps quite a lot, but not $800,000. :) Ebay #190404561375 From bfranchuk at jetnet.ab.ca Sun Jan 8 21:57:32 2012 From: bfranchuk at jetnet.ab.ca (ben) Date: Sun, 08 Jan 2012 20:57:32 -0700 Subject: What's an Intel 4040 worth? In-Reply-To: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> Message-ID: <4F0A65AC.5020305@jetnet.ab.ca> On 1/8/2012 8:54 PM, Evan Koblentz wrote: > Perhaps quite a lot, but not $800,000. :) > > Ebay #190404561375 > > Well for $800,000 one could develop any chip they like today. Ben. From toby at telegraphics.com.au Sun Jan 8 22:40:00 2012 From: toby at telegraphics.com.au (Toby Thain) Date: Sun, 08 Jan 2012 23:40:00 -0500 Subject: What's an Intel 4040 worth? In-Reply-To: <4F0A65AC.5020305@jetnet.ab.ca> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> <4F0A65AC.5020305@jetnet.ab.ca> Message-ID: <4F0A6FA0.2070309@telegraphics.com.au> On 08/01/12 10:57 PM, ben wrote: > On 1/8/2012 8:54 PM, Evan Koblentz wrote: >> Perhaps quite a lot, but not $800,000. :) >> >> Ebay #190404561375 >> >> > > Well for $800,000 one could develop any chip they like today. > Ben. > For $800 I could get somebody to paint a copy of the Mona Lisa. Um... now what. --Toby From mcguire at neurotica.com Sun Jan 8 23:00:25 2012 From: mcguire at neurotica.com (Dave McGuire) Date: Mon, 09 Jan 2012 00:00:25 -0500 Subject: What's an Intel 4040 worth? In-Reply-To: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> Message-ID: <4F0A7469.6020502@neurotica.com> On 01/08/2012 10:54 PM, Evan Koblentz wrote: > Perhaps quite a lot, but not $800,000. :) > > Ebay #190404561375 I've got like eight of those. I think I'd sell seven of them pretty quickly. ;) -Dave -- Dave McGuire New Kensington, PA From pinball at telus.net Sun Jan 8 23:19:40 2012 From: pinball at telus.net (John Robertson) Date: Sun, 08 Jan 2012 21:19:40 -0800 Subject: What's an Intel 4040 worth? In-Reply-To: <4F0A65AC.5020305@jetnet.ab.ca> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> <4F0A65AC.5020305@jetnet.ab.ca> Message-ID: <4F0A78EC.7000402@telus.net> ben wrote: > On 1/8/2012 8:54 PM, Evan Koblentz wrote: >> Perhaps quite a lot, but not $800,000. :) >> >> Ebay #190404561375 >> >> > > Well for $800,000 one could develop any chip they like today. > Ben. > For $800K one would consider counterfeits as a possible risk... John ;-#)# -- John's Jukes Ltd. 2343 Main St., Vancouver, BC, Canada V5T 3C9 Call (604)872-5757 or Fax 872-2010 (Pinballs, Jukes, VideoGames) www.flippers.com "Old pinballers never die, they just flip out" From dave.thearchivist at gmail.com Mon Jan 9 01:29:26 2012 From: dave.thearchivist at gmail.com (Dave Caroline) Date: Mon, 9 Jan 2012 07:29:26 +0000 Subject: What's an Intel 4040 worth? In-Reply-To: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> Message-ID: On Mon, Jan 9, 2012 at 3:54 AM, Evan Koblentz wrote: > Perhaps quite a lot, but not $800,000. ? :) > > Ebay #190404561375 oooh shiny! well scratched beyond its price I am looking for the Facit boat anchor printer that had two 4040's in it. Dave Caroline From jws at jwsss.com Mon Jan 9 01:29:54 2012 From: jws at jwsss.com (jim s) Date: Sun, 08 Jan 2012 23:29:54 -0800 Subject: What's an Intel 4040 worth? In-Reply-To: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> Message-ID: <4F0A9772.9050609@jwsss.com> I googled 4040 and found the image all over the place, but the original was from a defunct (as of 2008) web site called www.theintelcollection.com A copyright notice on it was The Intel Collection (c) 2006 - Lee Gallagher that link is via: http://www.chipdb.org/member.php?action=showprofile&user_id=22 The image is interesting if it is actually of the chip because it has what may be a true intel working date for the date code. All of the other hits are using some other method, maybe a die number or sequence to track the part. the one listed is marked 7505, which would be near the first availability of the part. Someone on the Boing Boing comment picked up and says the ES indicates this is true. The engineering samples are rare, but not at this level. I'd think you'd need a 4004 or earlier part of some note to have anything approaching 10000 bucks (from me if I had it). I have seen a lot of NDA parts out there as outfits fold, and someone posts the junk boxes, so an NDA part (or maybe Engineering Sample) in and of itself is not that rare. However Intel was really going at the time this part came out, so it isn't as historic as a 4004 would be. That said, most of those parts were not for sale, so one wonders how a prototype or sample or early availability Intel part ended up in hong kong. which brings up the second point, if you want it, I don't think I'd be wiring or paypal'ing the money to Honk Kong, but rather flying first class (only probably $20,000) with cash in hand to purchase it and bring it back. Anyone know what other than the Intellec mentioned in the article that the 4004 was used in? Anything significant, early routers? other functions. That would push up the value if it was more significant in its use to advance Intel or the industry. Jim On 1/8/2012 7:54 PM, Evan Koblentz wrote: > Perhaps quite a lot, but not $800,000. :) > > Ebay #190404561375 > > From eric at brouhaha.com Mon Jan 9 02:30:34 2012 From: eric at brouhaha.com (Eric Smith) Date: Mon, 09 Jan 2012 01:30:34 -0700 Subject: SNAP was Re: teaching programming to beginners In-Reply-To: <201201081556.q08FufdV006082@floodgap.com> References: <201201081556.q08FufdV006082@floodgap.com> Message-ID: <4F0AA5AA.6090205@brouhaha.com> Cameron Kaiser wrote: > The Panasonic HHCs allegedly can be programmed in SNAP. > I don't have an interpreter for mine though. If you've got an HHC, you have the interpreter. It's in the main ROM. What you don't have is the compiler. SNAP is a token-threaded dialect of FORTH, developed by Friends Amis. Most of the HHC software, other than Microsoft BASIC, is written in SNAP. There was a SNAP cartridge that contained the compiler, allowing native SNAP development. It was in a cartridge rather than a plugin ROM because it is 16KB, and the maximum size 24-pin EPROM that could be used as a plugin was 8KB. There was also a SNAPBASIC ROM, which is completely unrelated to the Microsoft BASIC. I spent some time a few years back working on reverse-engineering the SNAP interpreter, and identified the tokens for some of the most common FORTH words, but that didn't get me beyond hand-coding very simple SNAP programs. From hilpert at cs.ubc.ca Mon Jan 9 04:29:48 2012 From: hilpert at cs.ubc.ca (Brent Hilpert) Date: Mon, 9 Jan 2012 02:29:48 -0800 Subject: What's an Intel 4040 worth? In-Reply-To: <4F0A9772.9050609@jwsss.com> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> <4F0A9772.9050609@jwsss.com> Message-ID: On 2012 Jan 8, at 11:29 PM, jim s wrote: > On 1/8/2012 7:54 PM, Evan Koblentz wrote: >> Perhaps quite a lot, but not $800,000. :) >> >> Ebay #190404561375 > I googled 4040 and found the image all over the place, but the > original was from a defunct (as of 2008) web site called > www.theintelcollection.com A copyright notice on it was The Intel > Collection (c) 2006 - Lee Gallagher > > that link is via: http://www.chipdb.org/member.php? > action=showprofile&user_id=22 > > The image is interesting if it is actually of the chip because it > has what may be a true intel working date for the date code. All > of the other hits are using some other method, maybe a die number > or sequence to track the part. the one listed is marked 7505, > which would be near the first availability of the part. Someone on > the Boing Boing comment picked up and says the ES indicates this is > true. > > The engineering samples are rare, but not at this level. I'd think > you'd need a 4004 or earlier part of some note to have anything > approaching 10000 bucks (from me if I had it). I have seen a lot > of NDA parts out there as outfits fold, and someone posts the junk > boxes, so an NDA part (or maybe Engineering Sample) in and of > itself is not that rare. However Intel was really going at the > time this part came out, so it isn't as historic as a 4004 would be. > > That said, most of those parts were not for sale, so one wonders > how a prototype or sample or early availability Intel part ended up > in hong kong. > > which brings up the second point, if you want it, I don't think I'd > be wiring or paypal'ing the money to Honk Kong, but rather flying > first class (only probably $20,000) with cash in hand to purchase > it and bring it back. > > Anyone know what other than the Intellec mentioned in the article > that the 4004 was used in? Anything significant, early routers? > other functions. That would push up the value if it was more > significant in its use to advance Intel or the industry. Somebody got a whole embedded 4004-based system for $85, probably unknowingly and unappreciated: http://www.ebay.ca/itm/190586201364 http://www.ebay.ca/itm/190586201633 A few years ago I got one for free: http://www.cs.ubc.ca/~hilpert/e/4004Monument/index.html The links there show some typical avionics resellers of the units. I should mention that it was allison of the list here that made the connection between my orphan module and ARC equipment a couple of years ago. A 4004 is also present in Prolog M900 PROM programmers, although in the instance of the one I have it is a 2nd-source Nat-Semi 4004, not Intel. Is this secret information that will produce a run on this equipment? How much is a run-of-the-mill 4004 worth these days? The holy grail in the 4004 arena of course is a Busicom calculator that the 4004 was developed for. From classiccmp at crash.com Mon Jan 9 04:29:45 2012 From: classiccmp at crash.com (Steven M Jones) Date: Mon, 09 Jan 2012 02:29:45 -0800 Subject: DEC workstations FTGH in SF Bay Area, CA, US Message-ID: <4F0AC199.9040608@crash.com> Time to thin the herd - I have a number of DEC machines that are free to a good home, though beer fund donations will be accepted. Available for pickup in central Berkeley by appointment, or I may be able to deliver to some parts of the East or South Bay at my convenience. I'll also take them to a Mailboxes Etc equivalent to be packed and shipped if you really want to pay for that... Here's what's on offer: DEC 3000/300LX - Alpha 21064, can get to PROM monitor on all of these #1 - 32MB RAM, 1 x RZ25L HDD (~500MB) #2 - 256MB RAM, 1 x RZ25L HDD (~500MB) #3 - 160MB RAM, no HDD but bracket is included DECstation 3100 - MIPS R2000, don't have MMJ or video cables, can't verify #1 - Can see VSIMM and 4 SIMMs, no HDD DECstation 5000/133 - MIPS R3000?, no graphics, no response on the DB25 serial ports #1 - 32MB RAM, 1 x RZ25L HDD VAXstation 3100 m38 - don't have MMJ or video cables, can't verify #1 - Can see 2 RAM daughterboards, no HDD, 8 bit graphics board? #2 - At least 1 RAM board, 1 x RZ23E HDD (100MB?), 1 x RX23 floppy, graphics board First come, first served based on email. --/Steve/. From spectre at floodgap.com Mon Jan 9 08:14:32 2012 From: spectre at floodgap.com (Cameron Kaiser) Date: Mon, 9 Jan 2012 06:14:32 -0800 (PST) Subject: SNAP was Re: teaching programming to beginners In-Reply-To: <4F0AA5AA.6090205@brouhaha.com> from Eric Smith at "Jan 9, 12 01:30:34 am" Message-ID: <201201091414.q09EEWQv014298@floodgap.com> > > The Panasonic HHCs allegedly can be programmed in SNAP. > > I don't have an interpreter for mine though. > > If you've got an HHC, you have the interpreter. It's in the main ROM. > What you don't have is the compiler. Ah, yes! I sit corrected. > I spent some time a few years back working on reverse-engineering the > SNAP interpreter, and identified the tokens for some of the most common > FORTH words, but that didn't get me beyond hand-coding very simple SNAP > programs. That doesn't sound very similar to what Brad found, though. -- ------------------------------------ personal: http://www.cameronkaiser.com/ -- Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com -- A dean is to faculty as a hydrant is to a dog. -- Alfred Kahn -------------- From fraveydank at gmail.com Mon Jan 9 08:29:53 2012 From: fraveydank at gmail.com (David Riley) Date: Mon, 9 Jan 2012 09:29:53 -0500 Subject: Cromemco FDC In-Reply-To: <4f052993.48a22a0a.6998.6901SMTPIN_ADDED@mx.google.com> References: <4F051805.8070204@mail.msu.edu> <4f052993.48a22a0a.6998.6901SMTPIN_ADDED@mx.google.com> Message-ID: On Jan 4, 2012, at 11:20 PM, Bill Sudbrink wrote: > Josh Dersch wrote: >> How does the "phantom" line work? I see references to this in some of >> my S-100 manuals but I'm not clear how it works (who raises/lowers it, >> when, etc...) > > It can be a little bit "implementation dependent" but usually there are > cards that assert phantom (it is active low, there has to be a pull up > on it somewhere (the CPU card I think)) and cards that "honor" phantom. > When an address is presented to the bus, any phantom asserting card that > whishes to override that address pulls the phantom line low. A phantom > honoring card that would normally respond to the address will instead > suppress any activity. Note that this system does not prevent multiple > phantom asserting or phantom honoring cards from stepping on each other. This sounds a lot like the INHIBIT line on the Apple II bus. Is that roughly analogous? - Dave From wh.sudbrink at verizon.net Mon Jan 9 08:31:18 2012 From: wh.sudbrink at verizon.net (Bill Sudbrink) Date: Mon, 09 Jan 2012 09:31:18 -0500 Subject: Cromemco FDC In-Reply-To: <4F0A546B.4000305@mail.msu.edu> References: <4F051805.8070204@mail.msu.edu> <075701cccb61$539a0210$face0630$@sudbrink@verizon.net> <4F0A546B.4000305@mail.msu.edu> Message-ID: <0bd201cccedb$5ac9dc40$105d94c0$@sudbrink@verizon.net> Josh Dersch wrote: > (Now I just have to figure out why I can't get the FDC to write > floppies correctly...) Which FDC? I've had trouble with the original 1793 controller chips (the early programmed ones with the painted over window on top) going bad on a couple of 16FDCs I have. Replacing with a newer hard programmed plastic package chip and then recalibrating the data sep circuit solved a bunch of problems. The 4FDCs tended to just be "twitchy". I think there was a known problem with the controller chip used on them. Bill From fraveydank at gmail.com Mon Jan 9 08:41:34 2012 From: fraveydank at gmail.com (David Riley) Date: Mon, 9 Jan 2012 09:41:34 -0500 Subject: What's an Intel 4040 worth? In-Reply-To: <4F0A9772.9050609@jwsss.com> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> <4F0A9772.9050609@jwsss.com> Message-ID: <745CC2EB-55A0-42D6-BC1B-656FA448BA2E@gmail.com> On Jan 9, 2012, at 2:29 AM, jim s wrote: > Anyone know what other than the Intellec mentioned in the article that the 4004 was used in? Anything significant, early routers? other functions. That would push up the value if it was more significant in its use to advance Intel or the industry. ISTR a few very early drum machines and synths used 4004 as a sequencer. I'm not finding anything on Google to back that up, though, which leads me to wonder if maybe I dreamed it up. Here's a nice (if annoyingly multi-page) article on various uses of the 4004 over the years, including pinball machines. http://technologizer.com/2011/11/15/intel-4004/ - Dave From lproven at gmail.com Mon Jan 9 09:09:26 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 9 Jan 2012 15:09:26 +0000 Subject: teaching programming to kids In-Reply-To: <1E52E896F6CC4334A48F88BB46D6C849@mars> References: <1E52E896F6CC4334A48F88BB46D6C849@mars> Message-ID: On 6 January 2012 09:02, Gerhard Kreuzer wrote: > Try this out: ?http://phrogram.com/ It looks interesting, but it's proprietary, commercial and Windows-only - all of which make it of little use to me, at least. I don't even have a copy of Windows on this laptop. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From ethan.dicks at gmail.com Mon Jan 9 09:36:37 2012 From: ethan.dicks at gmail.com (Ethan Dicks) Date: Mon, 9 Jan 2012 10:36:37 -0500 Subject: What's an Intel 4040 worth? In-Reply-To: <745CC2EB-55A0-42D6-BC1B-656FA448BA2E@gmail.com> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry> <4F0A9772.9050609@jwsss.com> <745CC2EB-55A0-42D6-BC1B-656FA448BA2E@gmail.com> Message-ID: On Mon, Jan 9, 2012 at 9:41 AM, David Riley wrote: >> Anyone know what other than the Intellec mentioned in the article that the 4004 was used in? > > ISTR a few very early drum machines and synths used 4004 as a sequencer... maybe I dreamed it up. > > Here's a nice (if annoyingly multi-page) article on various uses of the 4004 over the years, including pinball machines. > http://technologizer.com/2011/11/15/intel-4004/ I have two i4004s - one came from a portable non-UPC barcode scanner I picked up at the Dayton Hamvention 30 years ago, the other from a commercial digital kitchen scale that was discarded in the late 1980s. -ethan From dkelvey at hotmail.com Mon Jan 9 09:52:07 2012 From: dkelvey at hotmail.com (dwight elvey) Date: Mon, 9 Jan 2012 07:52:07 -0800 Subject: What's an Intel 4040 worth? In-Reply-To: <745CC2EB-55A0-42D6-BC1B-656FA448BA2E@gmail.com> References: <831830674-1326081273-cardhu_decombobulator_blackberry.rim.net-1759296785-@b5.c15.bise6.blackberry>, <4F0A9772.9050609@jwsss.com>, <745CC2EB-55A0-42D6-BC1B-656FA448BA2E@gmail.com> Message-ID: > Subject: Re: What's an Intel 4040 worth? > From: fraveydank at gmail.com > Date: Mon, 9 Jan 2012 09:41:34 -0500 > To: cctalk at classiccmp.org > > On Jan 9, 2012, at 2:29 AM, jim s wrote: > > > Anyone know what other than the Intellec mentioned in the article that the 4004 was used in? Anything significant, early routers? other functions. That would push up the value if it was more significant in its use to advance Intel or the industry. > > ISTR a few very early drum machines and synths used 4004 as a sequencer. I'm not finding anything on Google to back that up, though, which leads me to wonder if maybe I dreamed it up. > > Here's a nice (if annoyingly multi-page) article on various uses of the 4004 over the years, including pinball machines. > > http://technologizer.com/2011/11/15/intel-4004/ > > - Dave > > Hi The SIM-4 on page 8 is mine. Doug C. took the picture. I payed less than $50 for the system at a surplus place. I still use it occationally to read or program 1702A's. Dwight From dkelvey at hotmail.com Mon Jan 9 09:58:16 2012 From: dkelvey at hotmail.com (dwight elvey) Date: Mon, 9 Jan 2012 07:58:16 -0800 Subject: SNAP was Re: teaching programming to beginners In-Reply-To: <4F0AA5AA.6090205@brouhaha.com> References: <201201081556.q08FufdV006082@floodgap.com>, <4F0AA5AA.6090205@brouhaha.com> Message-ID: > From: eric at brouhaha.com > > Cameron Kaiser wrote: > > The Panasonic HHCs allegedly can be programmed in SNAP. > > I don't have an interpreter for mine though. > > If you've got an HHC, you have the interpreter. It's in the main ROM. > What you don't have is the compiler. > > SNAP is a token-threaded dialect of FORTH, developed by Friends Amis. > Most of the HHC software, other than Microsoft BASIC, is written in > SNAP. There was a SNAP cartridge that contained the compiler, allowing > native SNAP development. It was in a cartridge rather than a plugin ROM > because it is 16KB, and the maximum size 24-pin EPROM that could be used > as a plugin was 8KB. > > There was also a SNAPBASIC ROM, which is completely unrelated to the > Microsoft BASIC. > > I spent some time a few years back working on reverse-engineering the > SNAP interpreter, and identified the tokens for some of the most common > FORTH words, but that didn't get me beyond hand-coding very simple SNAP > programs. > Hi What a horrible thing to do with Forth but I see why one might want to do something like that. It is something like how I read Forth code in my head when looking at source. It is Forth and not FORTH by the way. It is not an acronym(sp?). It was suppose to be Fourth but the computer first used on only allowed 5 letters for the name. At least that is what Chuck Moore said once. Dwight From geneb at deltasoft.com Mon Jan 9 09:53:31 2012 From: geneb at deltasoft.com (Gene Buckle) Date: Mon, 9 Jan 2012 07:53:31 -0800 (PST) Subject: teaching programming to kids In-Reply-To: References: <1E52E896F6CC4334A48F88BB46D6C849@mars> Message-ID: On Mon, 9 Jan 2012, Liam Proven wrote: > On 6 January 2012 09:02, Gerhard Kreuzer wrote: >> Try this out: ?http://phrogram.com/ > > It looks interesting, but it's proprietary, commercial and > Windows-only - all of which make it of little use to me, at least. I > don't even have a copy of Windows on this laptop. Windows and proprietary, but free: http://smallbasic.com/ g. -- Proud owner of F-15C 80-0007 http://www.f15sim.com - The only one of its kind. http://www.diy-cockpits.org/coll - Go Collimated or Go Home. Some people collect things for a hobby. Geeks collect hobbies. ScarletDME - The red hot Data Management Environment A Multi-Value database for the masses, not the classes. http://www.scarletdme.org - Get it _today_! Political correctness is a doctrine, fostered by a delusional, illogical minority, and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end. From lproven at gmail.com Mon Jan 9 09:55:37 2012 From: lproven at gmail.com (Liam Proven) Date: Mon, 9 Jan 2012 15:55:37 +0000 Subject: Truce, compromise reached? - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: <4F067DEE.9000803@telegraphics.com.au> References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <4F067DEE.9000803@telegraphics.com.au> Message-ID: On 6 January 2012 04:51, Toby Thain wrote: > On 05/01/12 10:52 AM, Liam Proven wrote: >> >> On 4 January 2012 01:22, Toby Thain ?wrote: >>> >>> On 03/01/12 10:09 AM, Liam Proven wrote: >>>> >>>> >>>> On 3 January 2012 13:57, Toby Thain ? ?wrote: >>>>> >>>>> >>>>> On 03/01/12 7:14 AM, Liam Proven wrote: >>>>>> >>>>>> >>>>>> >>>>>> On 3 January 2012 04:16, Toby Thain >>>>>> ?wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 02/01/12 10:00 PM, Mouse wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I consider BASIC to be an excellent beginner's introduction to >>>>>>>>>> "what >>>>>>>>>> is a program?", etc., so long as they are exposed to other >>>>>>>>>> languages >>>>>>>>>> immediately after grasping the basic principles. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Well, there is the "small" problem that BASIC syntax, data types, >>>>>>>>> and >>>>>>>>> control structures relate poorly to modern languages and even less >>>>>>>>> to >>>>>>>>> powerful abstractions. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I'm not convinced that's a problem. >>>>>>>> >>>>>>>>> What's wrong with Scheme? ?Or at worst, Python? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> The same thing that was wrong with the New Math: you don't dump the >>>>>>>> full load of theory on a beginner, not unless you want a very >>>>>>>> confused >>>>>>>> beginner, or you have the incredible luck to get a Ramanujan or >>>>>>>> Knuth >>>>>>>> as a student (and if so, honestly, the best thing anyone can do is >>>>>>>> to >>>>>>>> get the hell out of the way). >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Scheme has no more theoretical load than BASIC. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> O_o So speaketh a *highly* intelligent, perhaps near-genius-level, >>>>>> natural programmer. >>>>> >>>>> >>>>> >>>>> >>>>> Of course, I meant to qualify this as: "for a beginner", which is the >>>>> point >>>>> here. >>>> >>>> >>>> >>>> Even worse. >>>> >>>> There is a core question here which you seem to be skipping over. Do >>>> you want to teach people to write code, to be able to make a computer >>>> perform new tasks? *Or* do you want to train professional software >>>> engineers? These are not at /all/ the same thing. Indeed I'd submit >>>> that they are barely related. >>>> >>>> If you want the latter, then sure, yes, Scheme or Lisp or something >>> >>> >>> >>> Exactly the reverse. Professional software engineers I've seen around >>> wouldn't touch Lisp with a barge pole. While, for people who want to get >>> stuff done elegantly and simply, without irrelevancies, Scheme is ideal. >>> >>> >>>> clever and rather arcane. Start 'em on the hard stuff so they learn >>> >>> >>> >>> It's not hard stuff (q.v) >> >> >> Believe me, as someone trying to learn Lisp, IT IS. > > > For you, yes. We hear that. It's not clear they are objectively hard. I'm > not a genius. And worse, like you, I have decades of imperative imprinting, > as well. The objections are not trivial and are not idiosyncratic to me. I don't see why you wish to completely ignore the peculiarities, weirdnesses and just-plain-hard-work bits of /your/ chosen teaching language while damning mine out of hand because of its limitations. This is, perhaps, a little like the previous argument about Unix shells versus, well, every-other-type-of-shell-but-exemplified-by-Windows' shell. I have absolutely no argument that the Windows shell is less capable and less powerful than sh/csh/bash/zsh/$OTHER_UNIX_SHELL. My point was that the Windows one is actually better at the mundane everyday stuff I need - i.e. things like mass file renames/moves/copies - than the Unix type. The Unix ones make this stuff harder - more work, more syntax, writing mini one-line scripts and loops - so that whereas they can do far more, I don't /need/ the extra facilities whereas the missing simple stuff is a major drawback. Late-period BASICs are structured, procedural, support user-defined types and data structures and so on. No, they don't support lambda calculus, closures and so on - but nor do lots of other extremely widely-used languages. This does not mean that they are useless or indeed crippled or limited. A good BASIC makes it easy to put together simple programs to do simple things. It would not be my choice for writing a compiler or an OS kernel, no; it has limitations that make it poorer for this than other languages. But that's not reason to dismiss it. Simplicity and easiness are powerful virtues. I am trying to learn about Lisp-like languages, because I am intrigued by them. However, the learning curve is formidably steep and asking around I have met many many programmers who have either never met them, or tried and failed, or didn't "get it", and Lisp syntax is an industry joke. I knew "legions of irritatingly-stacked parentheses" before I'd ever seen a line of code or knew who invented it, why, or when. There has been one well-documented attempt to create a Lisp-like language that uses the notation of, well, virtually every other mainstream programming language *ever*. (Except, arguably, Forth and Postscript, neither of which are particularly mainstream. Yes, millions of machines contain interpreters for both, but few humans write code in them. Hundreds of millions of machines contain operating systems in the TRON family (http://en.wikipedia.org/wiki/TRON_Project) but few have ever heard of it, seen it or interacted directly with it.) The Lisp-like language I'm talking about is Dylan, and it has almost died and lies ignored and moldering. I think that's tragic - the snippets of Dylan source code I've seen are the most readable of any of the Lisp family by a country mile and also outdo Smalltalk for comprehensibility. Compare and contrast these code snippets: http://en.wikipedia.org/wiki/Dylan_(programming_language)#Syntax One is impenetrable unless you already know Lisp and its notation. The other is readable by pretty much anyone who knows any form of programming language of any form ever. If you do not think that is a powerful and compelling advantage, then the maxim "there are none so blind as those who will not see" has seldom if ever applied more strongly. > >> >>>> right, in the same way that I learned swordfighting with a foil, the >>>> feeblest weapon but the one controlled by the strictest rules. If you >>>> can fight foil, then you can move to the less-demanding sabre easily, >>>> and the relatively undemanding ep?e is straightforward; but start with >>>> ep?e and learning the formalities of foil will be much harder. >>>> >>>>> Since modelling and abstraction are far more important parts of >>>>> "programming" than syntax, BASIC fails completely: >>>>> ?- full of irrelevant lexical bullshit and limitations (line numbers? >>>>> what >>>>> good is this to a beginner?); >>>> >>>> >>>> Oh come off it! Line numbers went out in 1985, man! Don't judge BASIC >>>> by the crappy implementations of the early 1980s when 8K of RAM was a >>>> lot! >>> >>> >>> Line numbers are not the issue. >> >> >> *You* raised them as an issue. > > > They are an annoyance, but you can take them away and all the other probems > remain. Whereas I am willing to concede that the language has limitations, I submit that [a] this is acceptable in a language for beginners - and let us not forget what the B of BASIC stands for - and [b] that many users might never hit those limits in their working lives. > >> >>>>> ?- numbers, strings, fixed length arrays? that's it? >>>> >>>> >>>> No, not at all. I would expect at least integers, floats, variable >>>> length strings, multidimensional arrays of any other type, and quite >>>> possibly different lengths of integer and possibly signed and unsigned >>>> forms. Possibly booleans and things as well; maybe a complex type. But >>>> to be a programmer does not mandate being a mathematician. I have >>>> taught programming to people who did not know what a percentage was, >>>> who did not know how to multiply or divide by fractions and so on. >>>> Many people do not need fancy types. >>>> >>>>> How do I build anything >>>>> else? Oh right. I can't. >>>> >>>> >>>> Again, a limitation only of very primitive, early BASICs, although I >>>> have to say, I never found it a limitation. Have user-defined >>>> structured data types if you want, though. >>> >>> >>> Can I make a list? >> >> >> I have no idea. I have not programmed in any meaningful sense in over >> 20y. I would expect so, yes. > > > How? I have never used or implemented a list in my life. I've never needed one. I /once/ wrote a bit of code to /follow/ a list. But if the language is Turing-complete, then you can implement one if you need to. Me, I'd probably do it with an array with a dimension for the contents of an entry and dimensions for links to the preceding and following entries or something like that. Not all BASICs do it, but I've used some that permit flexible-sized arrays, that can be enlarged or shrunk on demand. Very handy that, sometimes. > >> >>>>> ?- most BASICs lack structured programming primitives, so even as an >>>>> IMPERATIVE language it fails to teach important patterns from the 1980s >>>>> (which might explain some of the code I see around the place); >>>> >>>> >>>> Again, a limitation of the early 1980s. ?Not true of any decent BASIC >>>> from about 1983 onwards. >>>> >>>>> ?- lacks named functions& ? ?procedures (yeah, some BASICs have a >>>>> crippled >>>>> >>>>> hack for this; see lexical bullshit above) >>>> >>>> >>>> See above. Have you actually *seen* /any/ even 1990s BASIC, FFS? >>>> >>>>> - a fundamental >>>>> abstracting/factoring tool. >>>> >>>> >>>> You'll have to explain what that means. >>> >>> >>> Functions are a fundamental abstracting/factoring tool. So they better >>> work >>> well. -> ?Closures, too. >> >> >> Even the very early 1980s BASICs included functions. I don't think >> I've ever used one that didn't. >> >> As for Closures, AIUI, many computer languages do not include them. >> Pointess crippled tools like C, for example. TBH I do not even >> understand the Wikipedia definition of what a closure /is./ > > > JavaScript does. PHP does. (Inelegantly of course.) Are these obscure > languages? Closures are being retrofitted to many "mainstream" languages, > apparently out of red-faced embarrassment, and/or to leverage skills > investment, claw a few years out of these superannuated environments, etc. [Shrug] I'm sure you're right, in which case, should someone want to, they could be retrofitted to a BASIC as well, no? > As for Wikipedia -- I long ago stopped expecting to find neophyte level > expositions in it. For that, I go to pedagogical texts on the subject (see > other reply). It's the best freely-available general-contents source I am aware of. If there are better, do please tell me! > >> >>>>> Now with Scheme, >>>>> ?- you start with a syntax that is not pedagogically toxic; >>>> >>>> >>>> But is incomprehensible >>> >>> >>> To you... >> >> >> The unreadability of Lisp syntax is widely agreed, /even by the >> creator of Lisp./ It is often cited as one of the main reasons for the >> lack of penetration of Lisp in mainstream business computing. > > > The alleged "unreadability" is actually an artefact of familiarity. You > didn't learn the language, how could you read it easily? Did you learn > Greek? Can you read Greek? The alphabet, yes. The language, no. Science degree - you need to know the alphabet. The thing that you seem unwilling to address is this. For one language - or one family - to use a non-algebraic notation, one that is therefore unfamiliar to most of the literate, numerate human race, i.e. most programmers, is a very major issue. The advantages of that notation would have to be pretty damned stunning to make it worth the while, because even Lisp textbooks, of which I have several, all tend to devote a chapter or two to teaching the notation, complete with exercises and notes to the effect that "we know this seems weird, but it gets easier with practice, believe us". Example: http://nostoc.stanford.edu/Docs/livetutorials/lispintro.html Quote: "This seems complex (or at least verbose!), but when you get used to it you'll find that it's actually very easy to follow, and incredibly convenient in many ways. Here are some others to try out. See if you can figure out what they evaluate to before trying them::" Why should programmers *have* to get used to it? The existing notation that everything else uses is not broken. People do not need pages of exercises to get used to it. They do not have to do exercises in order to work out what an expression means. The *job* of a high-level language is to make life easier for human beings, or we'd all write everything in machine code. A language which needs people to learn new, difficult patterns and practices because they are more convenient for the interpreter or compiler, or are easier for the program itself to manipulate, is a language which is biased in favour of the computer and the implementer and against the user, and that is a very profoundly dangerous direction to take. I might go so far as to say it is a serious flaw. That in itself is an admission of failure. McCarthy admitted this inasmuch as he eliminated it from Lisp 2, AIUI. What higher authority do you need? That is /ex cathedra./ > > It is only familiarity that leads people to say that C, C++, PHP are more > readable. With those glasses taken off, they are horrible. I think all are pretty horrible, yes, actually. :?) > >> >>>> and uses bizarre postfix notation. >>> >>> >>> Not Schemes I'm familiar with. >> >> >> Prefix notation, then. Whatever the hell you call this (+ 1 2 3 4) >> nonsense. > > > As was pointed out in another reply, prefix notation has several advantages. > Do you just refuse to see them? They might be easier to appreciate with > actual experience of S-expression notation (there are reasons it's still > with us after nearly 50 years). No, I do see them, and I have carefully worked through the exercises and tutorials to get the hang of it. (More or less.) After this and after due consideration I do not think that the advantages outweigh the costs. I freely admit I don't know enough about it to confidently say this, but others agree and I think that the argument needs to be heard. > >> >>>>> ?- you have the breath of a hope of constructing useful data structures >>>>> without artificial limitations which can only frustrate; >>>> >>>> >>>> Straw man. >>>> >>>>> ?- there is the opportunity to introduce more theoretical load, which >>>>> is >>>>> good. The door is always unlocked to go beyond where one already is. >>>> >>>> >>>> If you can grasp the basics, pardon the pun, which I doubt most could. >>>> >>>>> There is nothing here that cannot be taught to a high school age >>>>> student. >>>> >>>> >>>> You have no real experience of actual high-school students, then, I >>>> can see that. >>> >>> >>> Not true; I know some who are learning Scheme and Haskell with no >>> trouble. >> >> >> /Some./ *Some* kids also learn ancient Greek or advanced >> undergrad-level algebra when they are under 10. > > > I will never manage to dent your conviction that these things cannot be > taught to ordinary people. Oh well. It is not that. I submit, though, that as someone who has taught for a living and who still writes technical documentation for a living, it is so very common as to be almost a general rule that technically-minded people fail to truly grasp how /non/ technically-minded ordinary people are... and also, I am afraid, just how relatively dim ordinary people are compared to techies. Ubuntu, to pick an example, while it is busily alienating Linux techies, has set out to be "Linux for human beings" - a superbly /easy/ Linux which non-techie non-computery people can just pick up and use. Result: it is the world's most widespread Linux by a country mile and it achieved this within a few years, after 15y or so of almost no general penetration of Linux at all beyond hackers and geeks. There is a big important need for simple tools for the rest of us. The complex, difficult, hard-to-learn tools are great for expert, competent people, but most people are not competent or expert. Linux is brilliant, powerful and free. But there are at least 5x as many Apple Mac OS X users - and probably 10x as many iOS users as them. Not because it's more powerful - it isn't. Not because it's cheaper or runs on more kit - it doesn't; it's commercial and only runs on one make of computer. Why? Because it's /easier/. > >> >>>>>> I have only read a tiny little bit about Scheme but it is virtually >>>>>> impenetrable to me - and I have years of programming experiences, >>>>> >>>>> >>>>> And that is EXACTLY what Dijkstra was on about. >>>> >>>> >>>> Oh bollocks! >>>> >>>> Q.v. Dylan: >>>> http://en.wikipedia.org/wiki/Dylan_%28programming_language%29#Syntax >>>> Q.v. Lisp 2 and Elephant, discussed here /passim./ >>>> >>>> Even John McCarthy himself later conceded that Lisp's syntax was a >>>> major hindrance in teaching it. >>> >>> >>> Oh, yes, people have been trained to be terrified of it. It's a phantom >>> fear. >> >> >> I could not disagree more strongly. There is, I suspect, a certain >> mindset that can learn new mathematical notation and quickly and >> easily adjust to it. To the common man, though, mere algebra itself - >> simple >> >> x = a - b >> >> x is 10, b is 10; what is a? >> >> ... level-stuff - is as good as hieroglyphics. It is bizarre, >> byzantine, impenetrable. But if you show them a language that says >> >> ? >> apples = 5 >> oranges =10 >> >> total_fruit = apples + oranges >> >> print total_fruit >> ? >> >> And they can do that right at the command line, and they can save it, >> edit it and change it and watch the results change - than that is a >> useful teaching tool for introducing the notions of computer >> programming to complete beginners. >> >> I have read the first few pages of The Little Schemer, generally >> hailed as the best introduction to Scheme there is, and I found it >> completely incomprehensible - and I am a skilled computer professional >> with around a quarter century of experience. If I can't follow it, I >> really do not believe that a random person with neither interest or >> aptitude for it will be able to. > > > Maybe you should just give up on that. Keep doing the stuff you are good at. I might do, but I have an article to write all the same! > But let other people who need these tools try to learn them, as desperately > hopeless an endeavour that may be... Are you deliberately misinterpreting me? I am not for a moment saying it's hopeless, or impossible, or pointless. That is absurd. I am saying it's hard. That is not controversial or contentious, but you appear utterly unwilling to even concede it for the sake of argument. > (Btw, without functional programming, > there would be no Google search or PageRank. Or Erlang. You do realise why > Erlang is significant, right?) No. Why? > >> >>>>> The conclusion YOU come to is that Scheme isn't relevant to >>>>> programming. >>>> >>>> >>>> >>>> That is not even remotely /like/ the conclusion that I came to. You >>>> are putting words in my mouth and I *object*, strenuously. >>>> >>>> I did not say it was not relevant. I did not say it was a bad thing to >>>> start with. I said it was /too hard/ for the average person, and I >>>> stand by that. >>>> >>>>> But >>>>> in fact the opposite is true: A good part of what you have been >>>>> indoctrinated with, from BASIC onwards, *obscures* what is really going >>>>> on >>>>> when you program. Programs are not "sequences of instructions" except >>>>> at >>>>> the >>>>> absolute bottom-most level. >>>> >>>> >>>> >>>> You have no idea of what any BASIC from even 20y ago is like, as you >>>> have demonstrated, and you also seem to be very unfamiliar with the >>>> limitations of actual ordinary people. For nonspecialists, concepts >>>> such as loops are quite hard at first. Iterative thinking has to be >>>> learned. Starting off utter newbies with prefix notation, CAR and >>>> CADR, lists versus atoms, quoting and lambda calculus is like taking >>>> the play-blocks off a kindergarten class and asking them to build the >>>> cathedral of Notre Dame instead. >>>> >>>>> We do not need *another* generation of programmers for whom recursion >>>>> and >>>>> higher-order functions are alien concepts. Worse: Not given proper >>>>> tools, >>>>> mental and literal, for modelling and abstraction. Abstraction, it can >>>>> be >>>>> argued, is the single most important idea to learn as a computer >>>>> programmer. >>>> >>>> >>>> Actually, I am sure you're right. >>>> >>>> But this misses the strength of the old BASICs of the late 1980s and >>>> 1990s: that they brought programming to the common man. >>> >>> >>> Yes, that's true; but it is 2011. And we are preparing kids whose careers >>> will peak in 2030. >> >> >> Very *very* few people's careers are going to involve programming >> computers. One in a million, maybe, if that. > > > Oh, *if only* that were true. I was way out in my guesstimate. It is still a tiny minority of people. Agreed? And it would be better if more people understood it. Agreed? >>>> Sure, we need better developers, but we /also/ need easy, friendly, >>>> fun tools to reintroduce the ordinary Joe to writing programs at all. >>>> Python and so on are far too big and complex for this. >>>> >>>>> I too learned with assembler, BASIC, Pascal, C, and so on; but I didn't >>>>> really learn anything except how to navigate limitations. Ugh. If only >>>>> I >>>>> had >>>>> picked up Scheme when I picked up C. >>>> >>>> >>>> >>>> So in fact BASIC did /not/ give you brain damage and stop you learning? >>> >>> >>> C moreso. I should have picked up something I could learn more from. >>>> >>>> >>>>> Actually none of these are more difficult than the artificial hurdles >>>>> BASIC >>>>> puts in front of you. Once again you speak from your confessed >>>>> "imperative >>>>> place". >>>> >>>> >>>> You have shown that you don't actually understand how much BASIC moved >>>> on from the crappy MS BASIC 4 days of 1980. >>>> >>>>> Now imagine that you had learned Scheme first. Would you say recursion >>>>> was >>>>> hard? >>>> >>>> >>>> It isn't. I've written recursive programs. In BASIC. In a good BASIC: >>>> in BBC BASIC V, a very fast, 32-bit BASIC with full support for named >>>> procedures, local variables, passing by reference and value and so on. >>> >>> >>> I'm very very familiar with BBC BASIC. It can't by any stretch be >>> compared >>> to a Lisp or ML family language, for example. >> >> >> I am sure it can't and I am not arguing that. What I saying is that it >> was a world away from the simple crappy early BASICs which didn't even >> have if/then/else or more than single-letter array names. > > > I agree. I liked it a lot. In 1983. But soon found I liked Pascal better > (and then fell into the C trap). > >> >> And BBC BASIC was in many ways superceded by later developments like >> QuickBASIC, which was a quite grown-up, structured language, written >> in a simple IDE so that it could dispense with the line numbers that >> you hate so much. >> >> (Personally, I think that for an interactive interpreter, line numbers >> are a simple, useful concept. If you type in language statements, they >> are executed; if you prefix them with a number, they are stored, for >> later execution. I see them as no more iniquitous than row and column >> identifiers in spreadsheets.) > > > They are problematic in programming languages, being cognitive load, and a > conceptual irrelevance. You seem to fail to consider a far larger cognitive load for beginners: that without line numbers and the simple, interactive mode that they supply, then suddenly a whole ton of other complex abstractions must be mastered: the notions of "editors" and "files" and loading a file into an editor to modify it, then "saving" it into a "filesystem", then quitting the editor and running arcane specialist tools with no real-world equivalent, that is, a "compiler" or an "interpreter", against your "saved file" and examing the "output". This is a /much/ bigger "cognitive load" on a complete newbie. For someone computer literate, it's trivial, but you have to /become/ computer literate /first./ > >> >>>> ?> ? ?How will you program effectively in 2030 without dealing with >>>> higher >>>>> >>>>> >>>>> order functions, continuations, immutable state? (How can one do it >>>>> today, >>>>> for that matter; only because in software Things Move So Damn Slowly.) >>>> >>>> >>>> I don't, because I am not a programmer and I don't aim to be. >>>> >>>>> Kids being educated for a career in software starting today deserve >>>>> something better than BASIC. Things are bad enough already. >> >> >> *For a career in software*. That is the $64K statement, an >> all-important qualifier. >> >> So let me spell out what I am trying to say very clearly. >> >> If you are trying to teach a child - possibly an under-10 - about >> programs and logic and execution and evaluation, then a decent BASIC >> is actually a pretty good tool. Most of these kids will never be >> programmers, they will at best /use/ computers, but this gives them >> the rudimentary core understanding. For a non-programmer, it is >> enough. >> >> For such purposes, a good, structured BASIC is an excellent tool. >> >> If you are trying to teach an undergraduate university student reading >> computing, computer science or information technology about the art of >> programming, to make them a skilled programmer who is capable of going >> on to get a degree or multiple degrees in disciplines around >> programming, then from what I have read, yes, Scheme is an excellent >> teaching tool. I would expect these to be highly intelligent young >> people, the cream of the crop, with a background education in >> mathematics. > > > These kind of people *aren't* highly represented among working programmers - > in a perfect world they might be - and that's a problem for the industry. And you think starting beginners on something harder would /help/ this?! > >> >> And quite possible for any undergrad in the sciences, who one can >> therefore expect to be intelligent and used to structured thinking and >> reasoning and the basics of maths and algebra, then yes, for them too, >> Scheme is probably an excellent teaching tool. >> >>>> They deserve something better than a 1970s BASIC, sure... But even a >>>> late 1980s BASIC would, I submit, be more use than Python or Ruby, >>>> which are too big, too complex and too abstract. >>> >>> >>> And after that, where will they fill in the missing pieces in their >>> education? >> >> >> You need to define who we are talking about here. >> >> Are we talking about: >> [a] nonspecialists who will never program again, apart from maybe some >> formulae in spreadsheets? >> [b] nontrained people, nonspecialists, who drift into doing a bit of >> scripting or basic coding, like most people in IT support? >> [c] trained professional programmers with higher-education training in >> programming and programme design? > > > > >> >> For group A, I think a good BASIC is ideal. >> For group B, possibly something more pragmatic like Python >> For group C, yes, I think the Lisp family is probably best, and from >> my reading, I'd say that Scheme is probably the best candidate for >> teaching purposes. >> >> But I think that Scheme or the like would be overkill for nonspecialists. >> > > We can't identify in advance which group a particular child will end up in, > so whatever we choose to do will be taking a punt. > > I tend to agree that 'modelling and abstraction' (what programming really > is, at least, at the professional level) is not going to serve all > beginners. Some people just don't care about that and want quick and dirty > fireworks (Arduino fans, geeks). > > It's always going to be a compromise. Agreed. But you need to try to provide a gentle learning curve for children or they won't bother trying to climb it at all. Perhaps Logo is a better answer than BASIC; I don't know! But I am pretty sure that Scheme is *not.* > I only hope that people who DO end up graduating and working in the field > sooner or later get exposed to something a bit more mind-expanding than the > burger-flippin' languages around. Definitely - agreed. > > "A language that doesn't affect the way you think about programming, is not > worth knowing." -- Alan Perlis Good line. But before it can be valid, one has to think about programming at all. And that means there must be an initial learning-to-program stage, before one /has/ thinking that can be changed. -- Liam Proven ? Profile: http://lproven.livejournal.com/profile Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven MSN: lproven at hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 From derschjo at mail.msu.edu Mon Jan 9 10:13:10 2012 From: derschjo at mail.msu.edu (Josh Dersch) Date: Mon, 09 Jan 2012 08:13:10 -0800 Subject: Cromemco FDC In-Reply-To: <0bd201cccedb$5ac9dc40$105d94c0$@sudbrink@verizon.net> References: <4F051805.8070204@mail.msu.edu> <075701cccb61$539a0210$face0630$@sudbrink@verizon.net> <4F0A546B.4000305@mail.msu.edu> <0bd201cccedb$5ac9dc40$105d94c0$@sudbrink@verizon.net> Message-ID: <4F0B1216.70004@mail.msu.edu> On 1/9/2012 6:31 AM, Bill Sudbrink wrote: > Josh Dersch wrote: >> (Now I just have to figure out why I can't get the FDC to write >> floppies correctly...) > Which FDC? I've had trouble with the original 1793 controller chips > (the early programmed ones with the painted over window on top) going > bad on a couple of 16FDCs I have. Replacing with a newer hard programmed > plastic package chip and then recalibrating the data sep circuit solved > a bunch of problems. The 4FDCs tended to just be "twitchy". I think > there was a known problem with the controller chip used on them. Right now I have both a 16FDC and a 64FDC to play with (one is on loan). I'm using Dave Dunfield's RDOS transfer utilities to upload the "INIT" software into RAM from a PC. From there I can initialize floppies (single-sided, single-density), and this appears to work -- it goes through all 40 sectors (5.25" drive) and the drive steps and no errors are reported. Then INIT attempts to write the filesystem to the drive and it fails (it's a "Home Error" on Track 0, Surface 0, Sector 8, if I recall). Ignoring that and using the RDOS utilities to attempt to write a disk image fail similarly ("Err-H 34" IIRC). I've tried a pile of different disks and three different floppy drives -- a Tandon TM-100 (300 RPM), a modified 1.2M 5.25" drive that runs at 300RPM, and a standard 1.2M drive (360RPM) and all three fail in exactly the same way. (I don't currently have an 8" drive I can wire up, I need to build a cable...) I've also tried swapping the cable out, and both the 16FDC and the 64FDC fail identically. I'm wondering if there's some fundamental problem with my current set-up that's causing issues here... - Josh From cclist at sydex.com Mon Jan 9 10:24:17 2012 From: cclist at sydex.com (Chuck Guzis) Date: Mon, 09 Jan 2012 08:24:17 -0800 Subject: SNAP was Re: teaching programming to beginners In-Reply-To: <201201091414.q09EEWQv014298@floodgap.com> References: <4F0AA5AA.6090205@brouhaha.com> from Eric Smith at "Jan 9, 12 01:30:34 am", <201201091414.q09EEWQv014298@floodgap.com> Message-ID: <4F0AA431.11730.B0809@cclist.sydex.com> On 9 Jan 2012 at 6:14, Cameron Kaiser wrote: > That doesn't sound very similar to what Brad found, though. It's not--as I mentioned to Fred, it's amazing how many computer languages are called "SNAP". And they look nothing like each other. I guess the name's just too tempting. I'm thinking about my own languge--I think I'll call it "C" for "Chuck"... (A Pythonesqe (not the language, the comedy group) "Cole Porter" (the one who wrote "Anything Goes" that one that has to do with fish and bananas) moment in life...) --Chuck From wheagy at gmail.com Mon Jan 9 11:04:41 2012 From: wheagy at gmail.com (Win Heagy) Date: Mon, 9 Jan 2012 12:04:41 -0500 Subject: TRS-80 Model 100 disk/video interface box Message-ID: Hi, Any TRS 80 gurus that can point me in the right direction with the disk/video interface box? I recently picked one up and have it connected to my model 100. Everything appears to be working, but when I start the interface box, it requests a system disk. Is this required to use the interface box, or is there a way to go right to the mode to display 80 columns and skip the boot disk in the interface box? I have the owner's manual, unfortunately the disk is missing and it appears the disk is required to get the interface box to do anything? Any pointers where I might find the software? Thanks, Win From legalize at xmission.com Mon Jan 9 11:05:21 2012 From: legalize at xmission.com (Richard) Date: Mon, 09 Jan 2012 10:05:21 -0700 Subject: Truce, compromise reached? - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: References: <4EFF7D94.20309@mail.msu.edu> <20120102152629.M61599@shell.lmi.net> <4F0263E6.4090706@telegraphics.com.au> <201201030300.WAA25961@Sparkle.Rodents-Montreal.ORG> <4F02810B.9090504@telegraphics.com.au> <4F030944.7010809@telegraphics.com.au> <4F03A9BC.7000409@telegraphics.com.au> <4F067DEE.9000803@telegraphics.com.au> Message-ID: In article , Liam Proven writes: > I have absolutely no argument that the Windows shell is less capable > and less powerful than sh/csh/bash/zsh/$OTHER_UNIX_SHELL. [...] Windows opted for extensibility and scripting in a different direction than Unix. Windows opted for scriptable COM objects and VB6/JavaScript/VBScript for automation. JavaScript + COM objects in Windows is more like perl + modules in Unix, except that you're not limited to perl. (In fact, on Windows perl can use the same COM objects.) Besides, powershell is the au courant way of using a shell on Windows and it's *better* than unix shells IMO. Now cue Dave McGuire to bitch about Windows in a mindless rant. -- "The Direct3D Graphics Pipeline" -- DirectX 9 version available for download Legalize Adulthood! From IanK at vulcan.com Mon Jan 9 11:17:06 2012 From: IanK at vulcan.com (Ian King) Date: Mon, 9 Jan 2012 17:17:06 +0000 Subject: Truce, compromise reached? - Re: teaching programming to kids - Re: Looking for 8080/Z80 BASIC In-Reply-To: Message-ID: On 1/9/12 7:55 AM, "Liam Proven" wrote: >The thing that you seem unwilling to address is this. > >For one language - or one family - to use a non-algebraic notation, >one that is therefore unfamiliar to most of the literate, numerate >human race, i.e. most programmers, is a very major issue. The >advantages of that notation would have to be pretty damned stunning to >make it worth the while, because even Lisp textbooks, of which I have >several, all tend to devote a chapter or two to teaching the notation, >complete with exercises and notes to the effect that "we know this >seems weird, but it gets easier with practice, believe us". > >Example: >http://nostoc.stanford.edu/Docs/livetutorials/lispintro.html > >Quote: >"This seems complex (or at least verbose!), but when you get used to >it you'll find that it's actually very easy to follow, and incredibly >convenient in many ways. Here are some others to try out. See if you >can figure out what they evaluate to before trying them::" > >Why should programmers *have* to get used to it? The existing notation >that everything else uses is not broken. People do not need pages of >exercises to get used to it. They do not have to do exercises in order >to work out what an expression means. You're close to convincing me that Dijkstra was right. :-) The sticking point here seems to be that you assume that everything *should* use algebraic notation, just because "everyone knows it." Such thinking complicates the use of computers for non-numeric data or concepts. (Do you use algebraic notation for writing sentences?) The first electronic computers were intended for numerical processing, and McCarthy's genius was seeing past that and designing a simple, elegant programming language that allows expression of logical operations on symbolic data that did not rely on, for instance, mapping Boolean 'false' to one numeric value and 'true' to all others (!). Not to be holier-than-thou: I realize now that my earliest attempts to learn Lisp were doomed by the fact that I expected to perform numeric calculations, which is only a subset of what we do with computational devices. I think Dijkstra was wrong that the 'damage' was irrevocable, but otherwise he was spot on. > >The *job* of a high-level language is to make life easier for human >beings, or we'd all write everything in machine code. A language which >needs people to learn new, difficult patterns and practices because >they are more convenient for the interpreter or compiler, or are >easier for the program itself to manipulate, is a language which is >biased in favour of the computer and the implementer and against the >user, and that is a very profoundly dangerous direction to take. I >might go so far as to say it is a serious flaw. But here, we are talking about a language that asks people to learn "new [...] patterns and practices" (which assumes they've already learned other patterns and practices) because it clarifies underlying ideas and frees computing from its artificially imposed numerical roots. It's not about convenience for the machine, but empowerment for the human mind. As an aside: I'm seeing a related challenge for many in the social sciences. They have become convinced by the rhetoric of the positivists that since they don't use numbers they aren't doing science. So, they use complicated methods to map natural phenomena onto numbers - which is very similar to what we are often forced to do with algebraically structured programming languages, unless our problem domain is merely "take these numbers, mass