Migration to COFF, methinks
On 30/01/2021 18:20, John Cowan wrote:
> Those were just examples. The hard part is parsing schemas,
> especially if you're writing in C and don't know about yacc and lex.Â
> That code tends to be horribly buggy.
True but tools such as the commercial ASN.1 -> C translators are fairly
good and even asn1c has come a long way in the past few decades.
N.
>
> But unless you need to support PER (which outright requires the
> schema) or unless you are trying to map ASN.1 compound objects to C
> structs or the equivalent, you can just process the whole thing in the
> same way you would JSON, except that it's binary and there are more
> types. Easy-peasy, especially in a dynamically typed language.
>
> Once there was a person on the xml-dev mailing list who kept repeating
> himself, insisting on the superiority of ASN.1 to XML. Finally I told
> him privately that his emails could be encoded in PER by using 0x01 to
> represent him (as the value of the author field) and allowing the
> recipients to reconstruct the message from that! He took it in good part.
>
>
>
> John Cowan http://vrici.lojban.org/~cowan
> <http://vrici.lojban.org/%7Ecowan> cowan(a)ccil.org <mailto:cowan@ccil.org>
> Don't be so humble. You're not that great.
> --Golda Meir
>
>
> On Fri, Jan 29, 2021 at 10:52 PM Richard Salz <rich.salz(a)gmail.com
> <mailto:rich.salz@gmail.com>> wrote:
>
> PER is not the reason for the hatred of ASN.1, it's more that the
> specs were created by a pay-to-play organization that fought
> against TCP/IP, the specs were not freely available for long
> years, BER was too flexible, and the DER rules were almost too
> hard to get right. Just a terse summary because this is probably
> off-topic for TUHS.
>
Born on this day in 1925, he was a pioneer in human/computer interaction,
and invented the mouse; it wasn't exactly ergonomic, being just a square
box with a button.
-- Dave
Howdy,
Perhaps this is off topic for this list, if so, apologies in advance.
Or perhaps this will be of interest to some who do not trace yet
another mailing list out there :-).
Two days ago I received a notice that bugtraq would be terminated, and
archive shut down on 31st this month. Only then I realized (looking at
the archive also helped a bit in this) that last post to bugtraq
happened in the last days of Feb 2020. After that, eleven months of
nothing, and shutdown notice. It certainly was not because of list
being shunned, because I have seen posters on other lists cc-ing to
bt, yet their posts never went that route (apparently) and I suppose
they were not postponed either. If they were, I would now get an
eleven months worth of it. But no.
Too bad. I liked bt, even if I had not followed every post.
Today, a notice that they would not terminate bt (after second
thought, as they wrote). And a fresh post from yesterday.
But what could possibly explain an almost year long gap? Their
computers changed owners last year, and maybe someone switched the
flip, were fired, nobody switched it on again? Or something else?
Just wondering.
--
Regards,
Tomasz Rola
--
** A C programmer asked whether computer had Buddha's nature. **
** As the answer, master did "rm -rif" on the programmer's home **
** directory. And then the C programmer became enlightened... **
** **
** Tomasz Rola mailto:tomasz_rola@bigfoot.com **
[moved to COFF]
On Monday, 18 January 2021 at 15:47:48 -0500, Steve Nickolas wrote:
> On Mon, 18 Jan 2021, John Cowan wrote:
>
>> (When I met my future wife I was 21, and she wanted me to grow a beard, so
>> I did. Since then I have occasionally asked cow orkers who have complained
>> about shaving why *they* don't grow beards: the most common answer is "My
>> wife doesn't want me to." *My* wife doesn't believe this story.)
>
> I actually had to shave for a while specifically because of my
> then-girlfriend, so... ;p I can see that.
Early on I made a decision that no woman could make me shave my
beard, and I stuck to it. Not that the beard was more important, but
if she wanted it gone, she was looking at the wrong things.
Greg
--
Sent from my desktop computer.
Finger grog(a)lemis.com for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed. If your Microsoft mail program
reports problems, please read http://lemis.com/broken-MUA
>
> When I met my future wife I was 21, and she wanted me to grow a beard, so
> I did. Since then I have occasionally asked coworkers who have complained
> about shaving why *they* don't grow beards: the most common answer is "My
> wife doesn't want me to."
>
Moved to COFF ... while bearded UNIX folks do seem to be a common thread, I
think we are stretching Warren's patience a tad. So ... I have sort of a
different story.
I had shaved in off and on during college and in the first few years I was
working but had grown it back before grad school. I still was not sure I
liked having it, and as I got close to finishing, I mentioned to my
officemates at UCB that I'd shave it when Newton (our advisor) signed my
thesis as a signal to everyone I was done.
So the day I came into the office clean-shaven, Peter Moore looks up and
remarked, 'now I know why you wore one.'
So, I showed up at Masscomp without it and was quickly ostracized as so
many of the SW team had some sort of facial hair, I quickly grew it back.
Roll forward 20ish years and my wife egged me into shaving it off one
summer weekend. Our then 5-year-old daughter cried -- she wanted her
Daddy back. I've had it ever since.
That said, 20 years later she and her mother both claim I would look
younger if I shaved it. But at this point, I kinda like not having to
shave my neck and lower chin every day if I don't want to; so I have
ignored them.
Redirecting to COFF. COBOL has really nothing to do with Unix.
On Thursday, 7 January 2021 at 20:25:56 -0500, Nemo Nusquam wrote:
> On 01/07/21 17:56, Stuart Remphrey wrote (in part):
>>> Dave, who's kept his COBOL knowledge a secret in every job
>>
>> Indeed! [...]; but especially COBOL: apart from everything else, too
>> much like writing a novel to get anything done.
>
> As long as we are bashing COBOL, I recall that someone -- name forgotten
> -- wrote a parody that contained statements such as "Verily, let the
> noble variable N be assigned the value known as one".
Heh. In 1973 I was once required to abandon assembler, the language
of Real Programmers, and write a program in COBOL (in fact, a database
front end to COBOL). I took revenge in the label names. From
http://www.lemis.com/grog/src/GOPU
INVOKE SCHEMA KVDMS COPYING COMMON ALL
RECORD COMMON DELIVERY-AREA IS PUFFER
OVERLAY PUFFER WITH ALL
ERROR RECOVERY IS HELL
ROLLBACK IS IMPOSSIBLE.
...
MAKE-GOPU. IF ERROR-STATUS IS NOT EQUAL TO '000307', GO TO
HELL.
Admire that manifest constant.
And yes, this program went into production.
Greg
--
Sent from my desktop computer.
Finger grog(a)lemis.com for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed. If your Microsoft mail program
reports problems, please read http://lemis.com/broken-MUA
We lost Rear Admiral "Amazing" Grace Hopper on this day in 1992; amongst
other things she gave us COBOL and ADA, and was allegedly responsible for
the term "debugging" when she removed a moth from a relay on the Harvard
Mk I and taped it to the log.
-- Dave
Moving to COFF since this is really not UNIX as much as programming
philosophy.
On Thu, Dec 17, 2020 at 9:36 AM Larry McVoy <lm(a)mcvoy.com> wrote:
> So the C version was easier for me to understand. But it sort of
> lost something, I didn't really understand Steve's version, not at any
> deep level. But it made more sense, somehow, than the C version did.
>
I'm not too hard on Steve as herein lies the dichotomy that we call
programming. Looking back the BourneGOL macros were clearly convenient
for him as the original author and allow him to express ideas that he had
well in his source. They helped him to create the original and were
comforting in the way he was used to. Plus, as Larry notes, the action of
transpiling loses that (BTW -- look some time at comments in the C version
of advent and you can still vestiges of the original Fortran).
But the problem is that when we create a new program, we can easily forget
that it might live forever[1] - particularly if you are a researcher trying
to advance and explore a set of ideas (which of course is what Steve was at
the time). And as has been noted in many other essays, the true cost of SW
is in the maintenance of it, not the original creation. So making
something easy to understand, particularly in the future without the
context, starts to become extremely attractive - particularly when it has a
long life and frankly impact beyond what is was originally considered.
It's funny, coming across BourneGOL help to validate/teach/glue into me an
important concept when programming for real -> the idea of "least
astonishment" or "social acceptance" of your work. Just because you
understand it and like it might not be the same for your sisters and
brothers in the community. There is no such thing as a private program.
The moment a program leaves your desk/terminal, it will be considered and
analyzed by others.
So back to the time and seeing BourneGOL for the first time, please
consider that in the mid-70s, I was coming to C from BLISS, SAIL, Algol-W
as my HLLs, so I was used to BEGIN/END style programming and bracketing
lining up 4 spaces under the next line with B/E in the same column. The
White Book did not yet exist, but what would become 'one-true bracing
style' later described in K&R was used in the code base for Fifth and Sixth
Edition. When I first saw that, it just looked wrong to me. But I was
coming from a different social setting and was using a different set of
social norms to evaluate this new language and the code written in it.
At some point I took CMU's SW engineering course where we had to swap code
3 different times with other groups for the team projects, and I had come
to realize how important making things be understood by the next team was.
So, I quickly learned to accept K&R style and like Ron and Larry cursed
Steve a little. And while I admire Steve for his work and both ADB and
Bourne Shell were tools I loved and used daily, when I tried to maintain
them I had wished that Steve had thought about those that would come after
- but I do accept that was not on his radar.
That lesson has served me well for many years as a professional and it's a
lesson I try to teach with my younger engineers in particular. It's not
about being 100% easy for you now, it is about being easy for someone other
than you that has to understand your code in the future. Simply use the
social norms of the environment you live and work ("do as the Romans" if
you will). Even if it is a little harder now, learn the community norms,
and use them.
FWIW: You can actually date some of my learnings BTW with fsck (where we
did not apply this rule). Ted and I have come from MTS and
TSS respectively (*i.e.* IBM 360), which you remember from this first few
versions had all errors in UPPER CASE (we kept that style from the IBM
system -- not the traditional UNIX style). For many years after its success
and the program spreading like wildfire within the UNIX community, I would
run it on a system and be reminded of my failure to learn that lesson yet.
Clem
[1] BTW: the corollary to living forever, is that the worst hacks you do
seem to be the ones that live the longest.
ᐧ
https://www.youtube.com/watch?v=GWr4iQfc0uw
Abstract of the talk @ ICFP 2020
Programming language implementations have features such as threads, memory management, type safety, and REPLs that duplicate some of the work done by the underlying operating system. The objective of hosting a language on bare metal is to unify the language implementation and operating system to have a lean system with no redundancy for running applications.
This seems to be the OS:
https://github.com/udem-dlteam/mimosa
The Mimosa operating system consists of a minimal kernel built on C++ and Scheme. It contains a Scheme implementation of a hard drive (ATA) driver, keyboard (PS2), serial (8250 UART), FAT32 filesystem and a small real time clock manager. The project was built to experiment with developement of operating system using a high level functional language to study the developement process and the use of Scheme to build a fairly complex system.
On Dec 16, 2020, at 8:08 PM, John Cowan <cowan(a)ccil.org> wrote:
>
> Sometimes I wonder what would have happened if A68 had become the medium-level language of Unix, and Pascal had become the language of non-Unix, instead of both of them using C.
Funny how we seem to rehash the same things over the years!
In a 1988 comp.lang.misc thread when I expressed hope that "a major
subset of Algol 68 with a new and concise syntax (sort of like C's)
can make a very elegant, type safe and well rounded language.", Piet
van Oostrum[1] commented the combination of dynamic arrays *and*
unions forced the use of GC in Algol68. Either feature by themselves
wouldn't have required GC! The larger point being that compiler
complexity is "almost exponential" (his words) to the number of
added features. Piet and others also wrote that both Pascal and C
had left out a lot of the hard things in A68. So I doubt A68 or a
subset would have replaced C or Pascal in 70s-80s.
[My exposure to Algol68 was when I had stumbled upon Brailsford and
Walker's wonderful "Introductory Algol 68 programming" @ USC. After
having used PL/I, Pascal & Fortran the regularity of A68 was quite
enticing but AFAIK no one used A68 at USC. I must admit I still like
it more than modern languages like Java, Go, Rust, C++, ...]
[1] Piet had implemented major parts of both A68 and A60.