Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

It is not well to be thought of as one who meekly submits to insolence and intimidation.


devel / comp.lang.forth / Re: Good beginner projects?

SubjectAuthor
* Good beginner projects?Jakub Kolčář
+- Re: Good beginner projects?Marcel Hendrix
+- Re: Good beginner projects?Brian Fox
+* Re: Good beginner projects?Hans Bezemer
|`* Re: Good beginner projects?Hugh Aguilar
| +* Re: Good beginner projects?dxforth
| |`* Re: Good beginner projects?Hans Bezemer
| | +* Re: Good beginner projects?dxforth
| | |`* Re: Good beginner projects?Hans Bezemer
| | | `- Re: Good beginner projects?dxforth
| | `- Re: Good beginner projects?S Jack
| `- Re: Good beginner projects?Zbig
+- Re: Good beginner projects?dxforth
+* Re: Good beginner projects?none
|`* Re: Good beginner projects?Hugh Aguilar
| +- Re: Good beginner projects?dxforth
| `- Re: Good beginner projects?none
`- Re: Good beginner projects?S Jack

1
Good beginner projects?

<42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24295&group=comp.lang.forth#24295

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:bd1:b0:63f:bfce:3838 with SMTP id ff17-20020a0562140bd100b0063fbfce3838mr52133qvb.11.1692280694391;
Thu, 17 Aug 2023 06:58:14 -0700 (PDT)
X-Received: by 2002:a05:6a00:22cb:b0:674:1663:1270 with SMTP id
f11-20020a056a0022cb00b0067416631270mr2562311pfj.4.1692280694109; Thu, 17 Aug
2023 06:58:14 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 17 Aug 2023 06:58:13 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=31.31.230.32; posting-account=1tmT4goAAAB1cDg6_m1OlGnW9icUw5bv
NNTP-Posting-Host: 31.31.230.32
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
Subject: Good beginner projects?
From: webmjkfm@gmail.com (Jakub Kolčář)
Injection-Date: Thu, 17 Aug 2023 13:58:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1472
 by: Jakub Kolčář - Thu, 17 Aug 2023 13:58 UTC

Hello I am software developer proficient in JS, Python, Java etc. I have great appreciation for the philosophy of stack-based Forth language and the philosophy of Chuck Moore. I know some Forth basics. What are some good beginner projects which I cant take in Forth (preferably gforth) which are not very large but will help me gain some more experience in this language and philosophy of thinking?

Thanks in advance.

Re: Good beginner projects?

<bf6387d1-a1c6-45eb-8534-3abf48748d50n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24296&group=comp.lang.forth#24296

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:85:b0:403:edaf:5ba2 with SMTP id o5-20020a05622a008500b00403edaf5ba2mr58728qtw.12.1692285584946;
Thu, 17 Aug 2023 08:19:44 -0700 (PDT)
X-Received: by 2002:a17:902:c94e:b0:1bb:ad19:6b77 with SMTP id
i14-20020a170902c94e00b001bbad196b77mr1035775pla.2.1692285583337; Thu, 17 Aug
2023 08:19:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 17 Aug 2023 08:19:42 -0700 (PDT)
In-Reply-To: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:1c05:2f18:6d00:7c91:244f:c0fe:6cdd;
posting-account=-JQ2RQoAAAB6B5tcBTSdvOqrD1HpT_Rk
NNTP-Posting-Host: 2001:1c05:2f18:6d00:7c91:244f:c0fe:6cdd
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bf6387d1-a1c6-45eb-8534-3abf48748d50n@googlegroups.com>
Subject: Re: Good beginner projects?
From: mhx@iae.nl (Marcel Hendrix)
Injection-Date: Thu, 17 Aug 2023 15:19:44 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Marcel Hendrix - Thu, 17 Aug 2023 15:19 UTC

On Thursday, August 17, 2023 at 3:58:15 PM UTC+2, Jakub Kolčář wrote:
> What are some good beginner projects which I cant take in Forth (preferably gforth)
> which are not very large but will help me gain some more experience in this
> language and philosophy of thinking?

I recommend to have a look at S. Fischer's mini-spreadsheet
( http://www.complang.tuwien.ac.at/forth/program-links.html ).
It should be possible to let the Forth approach shine there.

`Knowing some Forth basics` is a flexible term. It took me a few years before
I could say that. Did you already work you way through the copious amount of
example files that most distributions offer?

-marcel

Re: Good beginner projects?

<030a5bae-6054-4b41-8536-388184978dc5n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24298&group=comp.lang.forth#24298

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:b2a:b0:64a:5473:41e9 with SMTP id w10-20020a0562140b2a00b0064a547341e9mr6211qvj.0.1692301400032;
Thu, 17 Aug 2023 12:43:20 -0700 (PDT)
X-Received: by 2002:a17:90a:928e:b0:26b:62d9:d32 with SMTP id
n14-20020a17090a928e00b0026b62d90d32mr100487pjo.8.1692301399290; Thu, 17 Aug
2023 12:43:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 17 Aug 2023 12:43:18 -0700 (PDT)
In-Reply-To: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=104.254.92.242; posting-account=2z7GawoAAADc70p5SM5AbaCyzjLblS3g
NNTP-Posting-Host: 104.254.92.242
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <030a5bae-6054-4b41-8536-388184978dc5n@googlegroups.com>
Subject: Re: Good beginner projects?
From: brian.fox@brianfox.ca (Brian Fox)
Injection-Date: Thu, 17 Aug 2023 19:43:20 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2994
 by: Brian Fox - Thu, 17 Aug 2023 19:43 UTC

On Thursday, August 17, 2023 at 9:58:15 AM UTC-4, Jakub Kolčář wrote:
> Hello I am software developer proficient in JS, Python, Java etc. I have great appreciation for the philosophy of stack-based Forth language and the philosophy of Chuck Moore. I know some Forth basics. What are some good beginner projects which I cant take in Forth (preferably gforth) which are not very large but will help me gain some more experience in this language and philosophy of thinking?
>
> Thanks in advance.

I am going to say out loud what others here might be thinking.
At the very high level all your experience with those languages
are great since you understand the things that all computer programs
have in common, code, data, structure, loops, branching etc.

It turns out that sometimes that knowledge can make the beginning
of Forth study more difficult because Forth removes a lot of what you
_assume_ will be in the system and alters how you use others things.
A simple thing like order of operations is gone because of RPN syntax.

The quick pass through a Forth system manual makes you feel comfortable.
There is IF ELSE THEN , WHILE BEGIN AGAIN, VARIABLE CONSTANT.
It looks like a high level language.

"I know that stuff" you say to yourself. :-)

It's not true. Forth is very low level, almost like an Assembler for a two-stack
CPU, but it can elevate itself to as high as you want, if you grok how.

So my suggestion is go to the online Starting Forth book and begin at the
beginning so you get a better sense of how one "thinks" in Forth.

https://www.forth.com/starting-forth/

Once the "penny drops" Forth is a blast to use and ...
You will probably never program the same again, in ANY language that you use.

Re: Good beginner projects?

<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24299&group=comp.lang.forth#24299

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:4d94:b0:767:f284:a452 with SMTP id uw20-20020a05620a4d9400b00767f284a452mr9657qkn.2.1692312177465;
Thu, 17 Aug 2023 15:42:57 -0700 (PDT)
X-Received: by 2002:a17:90b:1083:b0:26b:46db:839c with SMTP id
gj3-20020a17090b108300b0026b46db839cmr217668pjb.4.1692312177160; Thu, 17 Aug
2023 15:42:57 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 17 Aug 2023 15:42:56 -0700 (PDT)
In-Reply-To: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.174.47.232; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 77.174.47.232
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>
Subject: Re: Good beginner projects?
From: the.beez.speaks@gmail.com (Hans Bezemer)
Injection-Date: Thu, 17 Aug 2023 22:42:57 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Hans Bezemer - Thu, 17 Aug 2023 22:42 UTC

On Thursday, August 17, 2023 at 3:58:15 PM UTC+2, Jakub Kolčář wrote:
> Hello I am software developer proficient in JS, Python, Java etc. I have great appreciation for the philosophy of stack-based Forth language and the philosophy of Chuck Moore. I know some Forth basics. What are some good beginner projects which I cant take in Forth (preferably gforth) which are not very large but will help me gain some more experience in this language and philosophy of thinking?
>
> Thanks in advance.
First, read "Starting Forth". It will teach you to print a variable numbers of stars on
the screen and to square any number. Then think by yourself "That's easy. That's
elegant. I can do that".

Then go to Rosetta code, take the easiest thing you can think of - like checking
a UPC number, doing 99 bottles of beer or calculating Hamming codes. Use
your experience in those C-like languages and write forth words of one or two
pages. Drown in stack errors, go in frustration to bed tellibg yourself you will
figure it out in the morning.

The next morning you will find out that you haven't a clue what all this code is all
about. Curse the language. Convince yourself only a moron will submit himself
to such a language - and think he can be remotely productive.

Then one of two things will happen. Either you will dedicate the rest of your life
blogging about this horrible experience - or you will man up and get serious.

In that case "Thinking Forth" will become your bible - and C like languages become
a distinct memory of the past. You will see algorithms in an entirely new light and
become aware of the scope and behavior of your data.

Words of 8 lines are suspect. Words of 16 lines are ginormuous. Defing a variable
hurts your self esteem. Huge piles of one liners are feeling natural - the way the
world ought to be. C feels completely alien - tedious and boring. Even drinking
Java makes you gag - let alone programming it.

You're really sure you want to embark this journey?

Hans Bezemer

Re: Good beginner projects?

<4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24301&group=comp.lang.forth#24301

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5c0d:0:b0:40f:c807:f5f8 with SMTP id i13-20020ac85c0d000000b0040fc807f5f8mr14062qti.10.1692325743107;
Thu, 17 Aug 2023 19:29:03 -0700 (PDT)
X-Received: by 2002:a17:902:fb4c:b0:1b0:3cda:6390 with SMTP id
lf12-20020a170902fb4c00b001b03cda6390mr411939plb.8.1692325742773; Thu, 17 Aug
2023 19:29:02 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 17 Aug 2023 19:29:02 -0700 (PDT)
In-Reply-To: <16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.158.165.131; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 63.158.165.131
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com> <16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
Subject: Re: Good beginner projects?
From: hughaguilar96@gmail.com (Hugh Aguilar)
Injection-Date: Fri, 18 Aug 2023 02:29:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Hugh Aguilar - Fri, 18 Aug 2023 02:29 UTC

On Thursday, August 17, 2023 at 3:42:59 PM UTC-7, Hans Bezemer wrote:
> First, read "Starting Forth".

Don't read: "Starting Forth."
That book has turned a significant number of readers away from Forth.
Those who have stuck with Forth after reading this book have become
lifelong incompetents at Forth programming. The book doesn't make any
mention of structs, most likely because nobody at Forth Inc. knows what
a struct is. The book fails completely at showing the reader how to
implement general-purpose data-structures, which is the primary reason
why the "Starting Forth" enthusiasts are lifelong incompetents.

Don't pay attention to self-proclaimed Forth experts on the internet.
There are a lot more teachers of Forth than students of Forth, and the
teachers typically are the lifelong incompetents described above.

I can tell you my own experience with learning Forth (HES-Forth on the Vic-20).
I wrote a program to generate the key patterns for a KwikSet master-key system.
The program was full of bugs and didn't work. I became frustrated and considered
abandoning Forth and writing the program in line-number BASIC that I was familiar
with (of course, I was also familiar with the many design flaws of line-number BASIC,
especially the lack of local data, so I knew that there was no future in this path).
Then I remembered that the Forth programmers I knew had all said that interactive
debugging is the key to getting Forth programs to work, so I rewrote the program.
Instead of one gigantic function, I did bottom-up programming starting with
short simple functions that I tested at the keyboard (the outer-interpreter). When
I got those functions to work I wrote higher-level functions that were also
short and simple and I tested them until I got them working. Using bottom-up
programming I got the whole program working in about two hours. This is the
program that I had spent days trying to debug when it was one gigantic function.
I was impressed! Factoring code into small functions and using interactive testing
to get those functions working is strong magic! This really works!

I generally start with the difficult part of the program and get that working, then
move outward to the less difficult parts that are also less interesting. Generally
the difficult part of the program is where the design work needs to be done..
If you get that working, then you also have the design done --- the rest is gravy.

So, a good beginner project would be a KwikSet master-key system generator.
If I could do this at age 18 with only line-number BASIC background, you should
be able to do it too. Use a prng so you don't get the same system every time.
Be aware that you can't have excessively thin pins because they will fall over
sideways inside of the cylinder and get jammed.
You also can't have an excessively jagged key cut-pattern because the key won't
go into the lock.
You don't want to have an excessively flat key cut-pattern either though,
because that is too easy to pick open.
In my program I generated all possible key cut-patterns and then had a function
that went through that lengthy list and excised everything that failed for one of
the above reasons (pins too thin, key too jagged or key too flat). This is easy!

Note that most locksmiths don't know enough programming in any language
to do this. They do it by hand. This is why every customer gets the same
master key, which is obviously insecure. lol Also, they don't make some master-key
cylinders high and some low. They simplify by making all of them low or all
of them high. This is why the master-key cut-pattern is almost flat, which makes
it easy to pick open. They aren't doing any thinking about the problem and how to
provide a secure solution --- they have never done any thinking --- they just learn
a crude technique when they are apprentices and then stick with that for decades.

It is really sad that common people don't know how to program computers,
given that computers have been commonly available since the early 1980s.
Some locksmiths do use a computer --- they pay big money for a professionally
done master-key generator with a snazzy GUI interface --- there is no guarantee
that the programmer who wrote this knew anything about the subject
(he was likely taught by some idiot locksmith with decades of experience
doing this by hand and doing it badly as described above). Computers haven't
really worked out well for society --- in the 1980s there was a lot of expectation
that computers would be hugely helpful --- computers aren't helpful though.
The problem is too many smart phones and not enough smart people.
Nobody ever does any thinking!

Re: Good beginner projects?

<ubmn6g$3mgl$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24302&group=comp.lang.forth#24302

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Good beginner projects?
Date: Fri, 18 Aug 2023 13:05:53 +1000
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <ubmn6g$3mgl$1@dont-email.me>
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 18 Aug 2023 03:05:53 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8c95e3d72b2ddb5a4211ea75bbbf6201";
logging-data="121365"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/e+2ZVq6VnmRhHMzG1fZVT"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:Ucklflc4l7rWLabTR7pPXwvuPPA=
In-Reply-To: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Fri, 18 Aug 2023 03:05 UTC

On 17/08/2023 11:58 pm, Jakub Kolčář wrote:
> Hello I am software developer proficient in JS, Python, Java etc. I have great appreciation for the philosophy of stack-based Forth language and the philosophy of Chuck Moore. I know some Forth basics. What are some good beginner projects which I cant take in Forth (preferably gforth) which are not very large but will help me gain some more experience in this language and philosophy of thinking?
>
> Thanks in advance.

First hurdle is becoming familiar with the wordset. I'd suggest
binary and text file copy programs. Things you know well in other
languages, serve a useful purpose, yet simple and easy enough to
debug.

Re: Good beginner projects?

<ubmofb$3mgl$2@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24303&group=comp.lang.forth#24303

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Good beginner projects?
Date: Fri, 18 Aug 2023 13:27:40 +1000
Organization: A noiseless patient Spider
Lines: 8
Message-ID: <ubmofb$3mgl$2@dont-email.me>
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>
<4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 18 Aug 2023 03:27:39 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8c95e3d72b2ddb5a4211ea75bbbf6201";
logging-data="121365"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197NuchAhkFXnZsc+oawYdx"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:zLRXXbB6jy43/Rh0Arm20fLgaJg=
In-Reply-To: <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Fri, 18 Aug 2023 03:27 UTC

On 18/08/2023 12:29 pm, Hugh Aguilar wrote:
>
> The problem is too many smart phones and not enough smart people.

It just means technology has outstripped human thinking - yours
included. So what is left for humans when they can no longer
proclaim superior knowledge? That is the problem.

Re: Good beginner projects?

<nnd$754e1d6d$2e16fe65@55921f702a435443>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24304&group=comp.lang.forth#24304

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
Subject: Re: Good beginner projects?
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$754e1d6d$2e16fe65@55921f702a435443>
Organization: KPN B.V.
Date: Fri, 18 Aug 2023 10:51:45 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!193.141.40.65.MISMATCH!npeer.as286.net!npeer-ng0.as286.net!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe006.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 27
Injection-Date: Fri, 18 Aug 2023 10:51:45 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 1929
 by: none - Fri, 18 Aug 2023 08:51 UTC

In article <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>,
Jakub Kol� á� <webmjkfm@gmail.com> wrote:
>Hello I am software developer proficient in JS, Python, Java etc. I have
>great appreciation for the philosophy of stack-based Forth language and
>the philosophy of Chuck Moore. I know some Forth basics. What are some
>good beginner projects which I cant take in Forth (preferably gforth)
>which are not very large but will help me gain some more experience in
>this language and philosophy of thinking?

Good project to begin is ... what interest you.
I enjoy math problems and learned a great deal of solving projecteuler.net.
Solving simple math problems helps to get the basic of the language
right. The primes, sieving of primes, factoring, greatest common dividers.

Then think of problems you find tedious in other languages, and
try to a better solution.

>
>Thanks in advance.

Groetjes Albert
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Re: Good beginner projects?

<27c9b860-4fbf-4f9c-aba6-419cbd554e2fn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24307&group=comp.lang.forth#24307

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:4c1b:b0:64a:a04e:54bc with SMTP id qh27-20020a0562144c1b00b0064aa04e54bcmr19272qvb.6.1692352895309;
Fri, 18 Aug 2023 03:01:35 -0700 (PDT)
X-Received: by 2002:a17:902:d2cc:b0:1b7:f55e:4ab0 with SMTP id
n12-20020a170902d2cc00b001b7f55e4ab0mr788481plc.0.1692352894762; Fri, 18 Aug
2023 03:01:34 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 18 Aug 2023 03:01:34 -0700 (PDT)
In-Reply-To: <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=83.22.135.138; posting-account=cxuXKwoAAABQpPOMD55A9IPz7pPrw6ml
NNTP-Posting-Host: 83.22.135.138
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com> <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <27c9b860-4fbf-4f9c-aba6-419cbd554e2fn@googlegroups.com>
Subject: Re: Good beginner projects?
From: zbigniew2011@gmail.com (Zbig)
Injection-Date: Fri, 18 Aug 2023 10:01:35 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 16
 by: Zbig - Fri, 18 Aug 2023 10:01 UTC

> The book doesn't make any
> mention of structs, most likely because nobody at Forth Inc. knows what
> a struct is. The book fails completely at showing the reader how to
> implement general-purpose data-structures, which is the primary reason
> why the "Starting Forth" enthusiasts are lifelong incompetents.

You may not agree with me, but IMHO Forth is about figuring out this
(and any other) solution on your own, and not about using someone's
"ready-made" solution. It's C which is about „find the proper library, surely
someone already prepared it for you”. And then dig through the
descriptions of 300-500 functions.

(Regarding SF — hint: chapter 11, „Extending the compiler with defining
words and compiling words”)

Re: Good beginner projects?

<07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24308&group=comp.lang.forth#24308

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:4c46:0:b0:635:e9f6:9470 with SMTP id cs6-20020ad44c46000000b00635e9f69470mr68880qvb.5.1692352991245;
Fri, 18 Aug 2023 03:03:11 -0700 (PDT)
X-Received: by 2002:a05:6a00:1898:b0:687:a55f:a9ef with SMTP id
x24-20020a056a00189800b00687a55fa9efmr1147119pfh.2.1692352990944; Fri, 18 Aug
2023 03:03:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 18 Aug 2023 03:03:10 -0700 (PDT)
In-Reply-To: <ubmofb$3mgl$2@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=77.174.47.232; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 77.174.47.232
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com> <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
<ubmofb$3mgl$2@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
Subject: Re: Good beginner projects?
From: the.beez.speaks@gmail.com (Hans Bezemer)
Injection-Date: Fri, 18 Aug 2023 10:03:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 9
 by: Hans Bezemer - Fri, 18 Aug 2023 10:03 UTC

On Friday, August 18, 2023 at 5:27:42 AM UTC+2, dxforth wrote:
> On 18/08/2023 12:29 pm, Hugh Aguilar wrote:
> >
> > The problem is too many smart phones and not enough smart people.
Cut the Internet and see how smart your smartphone still is. Not much
smarter than a C64 next to a landline.

It's like your average CEO who's left to his own devices.

Hans Bezemer

Re: Good beginner projects?

<ubnu8e$9iev$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24310&group=comp.lang.forth#24310

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Good beginner projects?
Date: Sat, 19 Aug 2023 00:12:30 +1000
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <ubnu8e$9iev$1@dont-email.me>
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>
<4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
<ubmofb$3mgl$2@dont-email.me>
<07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 18 Aug 2023 14:12:30 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8c95e3d72b2ddb5a4211ea75bbbf6201";
logging-data="313823"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19eWlioRs8VKwEnSgizwn43"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:2bJtLJV3/RSPWhy8zxUHLxWJ2iI=
In-Reply-To: <07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Fri, 18 Aug 2023 14:12 UTC

On 18/08/2023 8:03 pm, Hans Bezemer wrote:
> On Friday, August 18, 2023 at 5:27:42 AM UTC+2, dxforth wrote:
>> On 18/08/2023 12:29 pm, Hugh Aguilar wrote:
>>>
>>> The problem is too many smart phones and not enough smart people.
> Cut the Internet and see how smart your smartphone still is. Not much
> smarter than a C64 next to a landline.
>
> It's like your average CEO who's left to his own devices.

It takes a certain talent to convince people they need a leader.

Re: Good beginner projects?

<f60c755e-5508-4f11-a596-9373cec792ban@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24313&group=comp.lang.forth#24313

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:4d4e:0:b0:63f:bde6:2f5d with SMTP id m14-20020ad44d4e000000b0063fbde62f5dmr33333qvm.0.1692376113034;
Fri, 18 Aug 2023 09:28:33 -0700 (PDT)
X-Received: by 2002:a17:902:f341:b0:1bf:cc5:7b53 with SMTP id
q1-20020a170902f34100b001bf0cc57b53mr980931ple.1.1692376112748; Fri, 18 Aug
2023 09:28:32 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 18 Aug 2023 09:28:32 -0700 (PDT)
In-Reply-To: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:3f7a:20d0:b80f:87eb:7d0a:4319;
posting-account=V5nGoQoAAAC_P2U0qnxm2kC0s1jNJXJa
NNTP-Posting-Host: 2600:1700:3f7a:20d0:b80f:87eb:7d0a:4319
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f60c755e-5508-4f11-a596-9373cec792ban@googlegroups.com>
Subject: Re: Good beginner projects?
From: sdwjack69@gmail.com (S Jack)
Injection-Date: Fri, 18 Aug 2023 16:28:33 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2194
 by: S Jack - Fri, 18 Aug 2023 16:28 UTC

On Thursday, August 17, 2023 at 8:58:15 AM UTC-5, Jakub Kolčář wrote:
> Hello I am software developer proficient in JS, Python, Java etc. I have great appreciation for the philosophy of stack-based Forth language and the philosophy of Chuck Moore. I know some Forth basics. What are some good beginner projects which I cant take in Forth (preferably gforth) which are not very large but will help me gain some more experience in this language and philosophy of thinking?
>
> Thanks in advance.
First project:
Build a switch to enable/disable the printing of a
dot for each item on the stack when OK is printed.

Names I use (unimportant) are:
-DOTS to enable the feature
+DOTS to disable the feature

Its simple enough to get your feet wet and its very
useful. In all development need to know if
trash is left on the stack. Seeing dots after the
ok when there shouldn't be any tells you quickly you
have a problem.

--
me

Re: Good beginner projects?

<23740ab9-cf4f-4eee-a624-da1426f75e57n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24315&group=comp.lang.forth#24315

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:b0c:b0:63d:a43:7b06 with SMTP id u12-20020a0562140b0c00b0063d0a437b06mr587qvj.9.1692384807011;
Fri, 18 Aug 2023 11:53:27 -0700 (PDT)
X-Received: by 2002:a63:3403:0:b0:563:dd60:2e50 with SMTP id
b3-20020a633403000000b00563dd602e50mr10077pga.9.1692384806422; Fri, 18 Aug
2023 11:53:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 18 Aug 2023 11:53:25 -0700 (PDT)
In-Reply-To: <ubnu8e$9iev$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=77.174.47.232; posting-account=Ebqe4AoAAABfjCRL4ZqOHWv4jv5ZU4Cs
NNTP-Posting-Host: 77.174.47.232
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com> <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
<ubmofb$3mgl$2@dont-email.me> <07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
<ubnu8e$9iev$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <23740ab9-cf4f-4eee-a624-da1426f75e57n@googlegroups.com>
Subject: Re: Good beginner projects?
From: the.beez.speaks@gmail.com (Hans Bezemer)
Injection-Date: Fri, 18 Aug 2023 18:53:27 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2068
 by: Hans Bezemer - Fri, 18 Aug 2023 18:53 UTC

On Friday, August 18, 2023 at 4:12:37 PM UTC+2, dxforth wrote:
> On 18/08/2023 8:03 pm, Hans Bezemer wrote:
> > On Friday, August 18, 2023 at 5:27:42 AM UTC+2, dxforth wrote:
> >> On 18/08/2023 12:29 pm, Hugh Aguilar wrote:
> >>>
> >>> The problem is too many smart phones and not enough smart people.
> > Cut the Internet and see how smart your smartphone still is. Not much
> > smarter than a C64 next to a landline.
> >
> > It's like your average CEO who's left to his own devices.
> It takes a certain talent to convince people they need a leader.
That's what I mean. How can you be a leader when no one is following you?

Hans Bezemer

Re: Good beginner projects?

<95642f6c-28c2-48d8-bff5-61c647995fcfn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24316&group=comp.lang.forth#24316

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:4f85:0:b0:64a:2de0:786e with SMTP id em5-20020ad44f85000000b0064a2de0786emr1176qvb.13.1692386245453;
Fri, 18 Aug 2023 12:17:25 -0700 (PDT)
X-Received: by 2002:a17:902:c613:b0:1ae:6895:cb96 with SMTP id
r19-20020a170902c61300b001ae6895cb96mr27557plr.5.1692386244550; Fri, 18 Aug
2023 12:17:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 18 Aug 2023 12:17:23 -0700 (PDT)
In-Reply-To: <07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:3f7a:20d0:a4ed:7809:a4ea:3c70;
posting-account=V5nGoQoAAAC_P2U0qnxm2kC0s1jNJXJa
NNTP-Posting-Host: 2600:1700:3f7a:20d0:a4ed:7809:a4ea:3c70
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com> <4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
<ubmofb$3mgl$2@dont-email.me> <07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <95642f6c-28c2-48d8-bff5-61c647995fcfn@googlegroups.com>
Subject: Re: Good beginner projects?
From: sdwjack69@gmail.com (S Jack)
Injection-Date: Fri, 18 Aug 2023 19:17:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2515
 by: S Jack - Fri, 18 Aug 2023 19:17 UTC

On Friday, August 18, 2023 at 5:03:13 AM UTC-5, Hans Bezemer wrote:
> On Friday, August 18, 2023 at 5:27:42 AM UTC+2, dxforth wrote:
> > On 18/08/2023 12:29 pm, Hugh Aguilar wrote:
> > >
> > > The problem is too many smart phones and not enough smart people.
> Cut the Internet and see how smart your smartphone still is. Not much
> smarter than a C64 next to a landline.
>
> It's like your average CEO who's left to his own devices.
>
> Hans Bezemer

Had a very old text browser on my dos system. It would pass
pic links to a user bat script which was expected to
run whatever pic viewer the user had. All the pc's at that
time had fax modems. So in minutes I had the browser sending
phone links to a bat file that used AT commands to make
phone calls from the pc. Had my handset connected with
the pc using a y-line connector. The modem would detect
when the far end phone answered and inform me. Then
I simply had to pick up the handset and start talking.
Easy to create address book, html file with names and
phone links.
--
me

Re: Good beginner projects?

<ubped0$jvdf$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24318&group=comp.lang.forth#24318

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Good beginner projects?
Date: Sat, 19 Aug 2023 13:54:07 +1000
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <ubped0$jvdf$1@dont-email.me>
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<16b8a388-1ab2-4798-819e-e76e42a5faccn@googlegroups.com>
<4e431235-809c-4806-8f8a-ec187e5a9becn@googlegroups.com>
<ubmofb$3mgl$2@dont-email.me>
<07f3e63d-d0c5-4512-8bdd-06aec9185292n@googlegroups.com>
<ubnu8e$9iev$1@dont-email.me>
<23740ab9-cf4f-4eee-a624-da1426f75e57n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 19 Aug 2023 03:54:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="5c703e859e831bcd392af0f5ee652605";
logging-data="654767"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19GgCO0gDS1EhdUe45G1MQ+"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:oP64bddvpDu6pAzE7WZyYFx0Z6w=
In-Reply-To: <23740ab9-cf4f-4eee-a624-da1426f75e57n@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Sat, 19 Aug 2023 03:54 UTC

On 19/08/2023 4:53 am, Hans Bezemer wrote:
> On Friday, August 18, 2023 at 4:12:37 PM UTC+2, dxforth wrote:
>> On 18/08/2023 8:03 pm, Hans Bezemer wrote:
>>> On Friday, August 18, 2023 at 5:27:42 AM UTC+2, dxforth wrote:
>>>> On 18/08/2023 12:29 pm, Hugh Aguilar wrote:
>>>>>
>>>>> The problem is too many smart phones and not enough smart people.
>>> Cut the Internet and see how smart your smartphone still is. Not much
>>> smarter than a C64 next to a landline.
>>>
>>> It's like your average CEO who's left to his own devices.
>> It takes a certain talent to convince people they need a leader.
> That's what I mean. How can you be a leader when no one is following you?

No one? Money and security matters to all of us - no? Who is CEO
doesn't much matter. If they happen to mouth the words we like to
hear, we support them and overlook their generous remuneration.

Re: Good beginner projects?

<c465bf09-ea54-4d33-9766-e6e5141b0ffbn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24351&group=comp.lang.forth#24351

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1813:b0:403:3448:1a21 with SMTP id t19-20020a05622a181300b0040334481a21mr28451qtc.3.1692580622402;
Sun, 20 Aug 2023 18:17:02 -0700 (PDT)
X-Received: by 2002:a17:903:234e:b0:1b8:80c9:a98e with SMTP id
c14-20020a170903234e00b001b880c9a98emr2536100plh.13.1692580621768; Sun, 20
Aug 2023 18:17:01 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 20 Aug 2023 18:17:00 -0700 (PDT)
In-Reply-To: <nnd$754e1d6d$2e16fe65@55921f702a435443>
Injection-Info: google-groups.googlegroups.com; posting-host=63.158.165.131; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 63.158.165.131
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com> <nnd$754e1d6d$2e16fe65@55921f702a435443>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c465bf09-ea54-4d33-9766-e6e5141b0ffbn@googlegroups.com>
Subject: Re: Good beginner projects?
From: hughaguilar96@gmail.com (Hugh Aguilar)
Injection-Date: Mon, 21 Aug 2023 01:17:02 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 88
X-Received-Bytes: 5799
 by: Hugh Aguilar - Mon, 21 Aug 2023 01:17 UTC

On Friday, August 18, 2023 at 1:51:49 AM UTC-7, none albert wrote:
> Good project to begin is ... what interest you.

The problem here is that anything that interests anybody of reasonable
intelligence will be too much programming work for a first project.
My second Forth project was a four-dimensional turtle program.
This was on the Commodore-64, as I had upgraded from the Vic-20.
The turtle moved in on the W, X, Y, Z axis. The screen showed a 3D
slice of the 4D object created. I had perspective to a vanishing point.
The program was written in SuperForth and it was too slow.
I could rewrite that on a modern 64-bit computer and it would be
much faster. I doubt that anybody other than myself would be interested.
I was 18 years old at the time and I thought that space had more than
the 3 dimensions that we experience. This idea was popular in the
19th century, but there isn't much support for it now.

Anyway, I don't recommend focusing on a project that interests you.
If you do this, you will be the only person who uses your software.
I recommend focusing on a project that has real-world application.
My first-ever non-trivial program was the master-key system generator
on the Commondore Vic-20 and it got used in the real world.
Later on I worked at Testra and wrote MFX the assembler/simulator
and Forth cross-compiler for the MiniForth processor built on the
Lattice isp1048 PLD. The MiniForth got used in the real world as the
motion-control board rfor the laser etching machine. MFX continues
to be used three decades after I wrote it. Programming is more
interesting when it is used in the real world.

It is sad, but I doubt that anybody on the Forth-200x committee is
capable of writing a master-key system generator program like what
I did on the Vic-20 in 1984 as my first-ever programming effort.
They are focusing their minds on fantasy, not real-world applications.

> I enjoy math problems and learned a great deal of solving projecteuler.net.
> Solving simple math problems helps to get the basic of the language
> right. The primes, sieving of primes, factoring, greatest common dividers..

I remember that Jeff Fox described Albert van der Horst as a "two-plus-two"
programmer. This was because Albert solves those Euler projects that have
already been solved, sometimes centuries ago. This is like writing a program
to calculate 2+2 --- you won't learn anything by doing this.

I have been criticized for this too. My first-ever ANS-Forth program calculated
the probabilities of LowDraw poker. It did a recursive descent search through
all possible cards being dealt for various card-drawing strategies. There are
only about a dozen realistic strategies for drawing cards though, so after
these are calculated the program has nothing further to tell you.

My second ANS-Forth program generated gcode for a CNC milling machine
and also PostScript. This was for the image of the slide-rule faces. I had a
lot of different scales, such as sine and cosine, etc.. On comp.lang.forth
this was criticized as: "a 'hello world' program with numbers.' There are only
about a dozen different scales that can be put on a slide-rule, a few ways to
organize them on the slide-rule, and a choice between ten-inch, six-inch or
circular. Also, it is possible to put marks on the scales to help with certain
calculations. After every possible slide-rule has been generated, you are done.

The master-key system generator is also "a 'hello world' program with numbers.'
A KwikSet lock is pretty low-precision. Just guessing, I'd say there are about
1000 possible master keys and each one supports about 200 sub-keys. It is quite
possible, even with a Vic-20 computer, to generate every possible master-key
system that can be constructed. Schlage locks have more precision, so there
are more possible master-key systems, but your Vic-20 should still be adequate
to generate all of them (the Vic-20 used cassette tapes that wouldn't have
adequate storage, but C-64 floppy disks would be more than adequate).
Nobody now uses KwikSet locks for master key systems because they are insecure.
This was a bad idea in 1984 too. Schlage provides the minimum realistic security.

So, the real problem is not finding something that interests you.
The problem is finding something with real-world application that is
more complicated than a 'hello world' program with numbers.

Re: Good beginner projects?

<ubuslb$1p49k$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24358&group=comp.lang.forth#24358

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: Good beginner projects?
Date: Mon, 21 Aug 2023 15:28:12 +1000
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <ubuslb$1p49k$1@dont-email.me>
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com>
<nnd$754e1d6d$2e16fe65@55921f702a435443>
<c465bf09-ea54-4d33-9766-e6e5141b0ffbn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 21 Aug 2023 05:28:12 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="17db4306719a0c9e3a8386d5caa01551";
logging-data="1872180"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19RD69G5JOfw3Ka3Fo2N9PL"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:FImeM27+uSsLwOZLgTTPUQ7PrjM=
Content-Language: en-GB
In-Reply-To: <c465bf09-ea54-4d33-9766-e6e5141b0ffbn@googlegroups.com>
 by: dxforth - Mon, 21 Aug 2023 05:28 UTC

On 21/08/2023 11:17 am, Hugh Aguilar wrote:
>
> So, the real problem is not finding something that interests you.
> The problem is finding something with real-world application that is
> more complicated than a 'hello world' program with numbers.

Should he become a disgruntled programmer who feels unappreciated?
Better to do what interests. It may lead to discovery. Chasing
rewards more often than not leads to disappointment and is hardly
unique.

Re: Good beginner projects?

<nnd$66816453$210aa25c@582a0980e69c29f0>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24363&group=comp.lang.forth#24363

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
References: <42bad368-8aa7-4af1-893d-989b7cd0c6bfn@googlegroups.com> <nnd$754e1d6d$2e16fe65@55921f702a435443> <c465bf09-ea54-4d33-9766-e6e5141b0ffbn@googlegroups.com>
Subject: Re: Good beginner projects?
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$66816453$210aa25c@582a0980e69c29f0>
Organization: KPN B.V.
Date: Mon, 21 Aug 2023 11:02:13 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!hirsch.in-berlin.de!bolzen.all.de!npeer.as286.net!npeer-ng0.as286.net!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 39
Injection-Date: Mon, 21 Aug 2023 11:02:13 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 2556
 by: none - Mon, 21 Aug 2023 09:02 UTC

In article <c465bf09-ea54-4d33-9766-e6e5141b0ffbn@googlegroups.com>,
Hugh Aguilar <hughaguilar96@gmail.com> wrote:
>On Friday, August 18, 2023 at 1:51:49 AM UTC-7, none albert wrote:
>> Good project to begin is ... what interest you.
>
<SNIP>
>I remember that Jeff Fox described Albert van der Horst as a "two-plus-two"
>programmer. This was because Albert solves those Euler projects that have
>already been solved, sometimes centuries ago. This is like writing a program
>to calculate 2+2 --- you won't learn anything by doing this.

Concerning projecteuler.net
It is true that problems that are accepted have a solution and are
verified by multiple methods that the solution is correct.
It is also true that in a certain period they created very hard problems,
where the criterion was that the solution was only not on the internet, but
there were no real clues to be found on the internet.
Of those I have solved a few. (rating 95 or 100).

It is challenging to use Forth for problems that are sent in by folks
that wanted Haskell to look good.

<SNIP>
>
>So, the real problem is not finding something that interests you.
>The problem is finding something with real-world application that is
>more complicated than a 'hello world' program with numbers.

No. Learning Forth is not about "real-world applications".
On the other hand it is virtually impossible to concentrate on
a problem that don't interest you.

Groetjes Albert
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor