Simple Lib's - First Two ...

27 views
Skip to first unread message

Liberty Lover

unread,
Dec 5, 2025, 2:21:15 PM (yesterday) Dec 5
to Eiffel Users
Yes, I am forging ahead, but there is plenty of time to feedback/comment ...

https://youtu.be/tPZ2M1FIIOo


Liberty Lover

unread,
Dec 5, 2025, 5:03:28 PM (yesterday) Dec 5
to Eiffel Users

Liberty Lover

unread,
Dec 5, 2025, 5:17:14 PM (yesterday) Dec 5
to Eiffel Users
IF YOU DID NOT NOTICE — This has become a Christmas 2025 Challenge to get a suite of libraries for Eiffel built that will allow Eiffel in 2026 to compete directly with modern tech-stacks that are "fashionable" right now. NO JOKE. DOING THIS!!!

Liberty Lover

unread,
Dec 5, 2025, 5:40:43 PM (yesterday) Dec 5
to Eiffel Users
Pressing on ...

Simple HASH

Github: https://github.com/ljr1981/simple_hash
Docs: https://ljr1981.github.io/simple_hash/
Build Video: https://youtu.be/Rh3KhoK_W5U

Simple JWT

Github: https://github.com/ljr1981/simple_jwt
Docs: https://ljr1981.github.io/simple_jwt/
Build Video: https://youtu.be/Rh3KhoK_W5U (same)

I think I am two days ahead of schedule at the moment. Someone check my work? :-) 

Eric Bezault

unread,
Dec 5, 2025, 6:15:52 PM (yesterday) Dec 5
to eiffel...@googlegroups.com, Liberty Lover
On 05/12/2025 23:40, Liberty Lover wrote:
> I think I am two days ahead of schedule at the moment. Someone check my
> work? :-)

Yes. I don't watch the videos because it's too time consuming
(although I'm planning to watch them when time permits because
this is very instructive). But I'm reading the Readme files,
and the documentation which looks very nice and professional.
I also quickly browse through the code, but without diving
into the details. I just want to know what is there so that
I know where to look if I need these libraries in some future
projects.

--
Eric Bezault
mailto:er...@gobosoft.com
http://www.gobosoft.com

Liberty Lover

unread,
Dec 5, 2025, 6:37:29 PM (yesterday) Dec 5
to Eiffel Users
Eric,

Thank you for writing this.

Yes, the videos are for instruction and looking to see what I am doing -- both right and wrong. More eyes is good.

Thanks for the vote of confidence on the docs. 

Once I have this Christmas challenge in the can, I think the next step would be to turn the Eiffel community loose on the code for several purposes:

  1. Code review — really REALLY beat on it and make it break.
  2. Platforming — Once #1 is done, ensure the code is multi-platformed (Win/Lin/Apple)
  3. Installation — Ensure every platform has a smooth and well-documented installation for consumers.
  4. Delivery — Is "Iron" still working/viable? Do we have other or better delivery mechanisms?
  5. Other — What lays beyond? I don't know ...
I know that I am going to revisit each of these libs after the Christmas Challenge 2025 is done and use Claude to smash-them-in-the-face with research and looking for things that break and are not covered that need to be covered (e.g. RFCs, best-practice, gotcha-reviews, and so on).

Then comes the mock writing to give another layer of exercise, which will reveal unmet needs for high-level API crafting. I am ignoring all such matters on purpose in order to get the base libs in-the-can.

Best,

Larry

Eric Bezault

unread,
Dec 5, 2025, 6:43:57 PM (yesterday) Dec 5
to eiffel...@googlegroups.com, Liberty Lover
Hi Larry,

May I suggest that you try to use Github actions? It has the advantage
that each time you push a new commit, the tests will be run again.
And more: they can be executed on all platforms that you mentioned
in "2. Platforming" below.

Here is an example of Github Actions, for the Gobo Eiffel repository:

https://github.com/gobo-eiffel/gobo/actions/runs/19914183336
On 06/12/2025 0:37, Liberty Lover wrote:
> Eric,
>
> Thank you for writing this.
>
> Yes, the videos are for instruction and looking to see what I am doing
> -- both right and wrong. More eyes is good.
>
> Thanks for the vote of confidence on the docs.
>
> Once I have this Christmas challenge in the can, I think the next step
> would be to turn the Eiffel community loose on the code for several
> purposes:
>
> 1. Code review — really REALLY beat on it and make it break.
> 2. Platforming — Once #1 is done, ensure the code is multi-platformed
> (Win/Lin/Apple)
> 3. Installation — Ensure every platform has a smooth and well-
> documented installation for consumers.
> 4. Delivery — Is "Iron" still working/viable? Do we have other or
> better delivery mechanisms?
> 5. Other — What lays beyond? I don't know ...
> http://www.gobosoft.com <http://www.gobosoft.com>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> users+un...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/273a15fe-da51-4689-ab3c-f0b931b1b574n%40googlegroups.com <https://
> groups.google.com/d/msgid/eiffel-users/273a15fe-da51-4689-ab3c-
> f0b931b1b574n%40googlegroups.com?utm_medium=email&utm_source=footer>.



Liberty Lover

unread,
Dec 5, 2025, 8:56:46 PM (yesterday) Dec 5
to Eiffel Users
Interesting. I will look into it in the morning.

Until then, a little research goes a long way. All these libs built today need some deep attention.

claude_eiffel_op_docs/research/CHRISTMAS_SPRINT_DAY2_PLAN.md at main · ljr1981/claude_eiffel_op_docs

Scanning down that list will tell a very serious story -- BUT -- I am hopeful. :-) 

Nite-all!!

Ulrich Windl

unread,
3:32 AM (18 hours ago) 3:32 AM
to eiffel...@googlegroups.com
Hi,

two comments:

For

from
                i := a_bytes.lower
            until
                i > n + a_bytes.lower - 1
            loop
...

Assuming a_bytes doesn't change inside the loop (can the compiler find out?), will the compiler use a pre-evaluated temporary constant "n + a_bytes.lower - 1"?

Second: For a class handling BASE64 only the "is_valid_base64" seems overly verbose to me.

Ulrich

05.12.2025 23:03:28 Liberty Lover <rix....@gmail.com>:

> Simple UUID
>
> Github:  ljr1981/simple_uuid[https://github.com/ljr1981/simple_uuid]
> Docs:  simple_uuid - RFC 9562 UUID Generation for Eiffel[https://ljr1981.github.io/simple_uuid/]
> Build Video: https://youtu.be/zZmpyOlztK8
>
> Simple Base64
>
> Github:  ljr1981/simple_base64[https://github.com/ljr1981/simple_base64]
> Docs:   simple_base64 - RFC 4648 Base64 Encoding for Eiffel[https://ljr1981.github.io/simple_base64/]
> Build Video: (same as above)
>
>
>
>
> On Friday, December 5, 2025 at 2:21:15 PM UTC-5 Liberty Lover wrote:
>> Yes, I am forging ahead, but there is plenty of time to feedback/comment ...
>>
>> https://youtu.be/tPZ2M1FIIOo
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/4f2542c1-0034-48ea-8d86-e57d0ace9d93n%40googlegroups.com[https://groups.google.com/d/msgid/eiffel-users/4f2542c1-0034-48ea-8d86-e57d0ace9d93n%40googlegroups.com?utm_medium=email&utm_source=footer].

Ulrich Windl

unread,
3:35 AM (18 hours ago) 3:35 AM
to eiffel...@googlegroups.com
Hi!

What about "digest" instead of "hash", and JWT is too cryptic IMHO.

Ulrich

05.12.2025 23:40:43 Liberty Lover <rix....@gmail.com>:

> Pressing on ...
>
> Simple HASH
>
> Github: https://github.com/ljr1981/simple_hash
> Docs: https://ljr1981.github.io/simple_hash/
> Build Video: https://youtu.be/Rh3KhoK_W5U
>
> Simple JWT
>
> Github: https://github.com/ljr1981/simple_jwt
> Docs: https://ljr1981.github.io/simple_jwt/
> Build Video: https://youtu.be/Rh3KhoK_W5U (same)
>
> I think I am two days ahead of schedule at the moment. Someone check my work? :-) 
>
> On Friday, December 5, 2025 at 5:17:14 PM UTC-5 Liberty Lover wrote:
>> IF YOU DID NOT NOTICE — This has become a Christmas 2025 Challenge to get a suite of libraries for Eiffel built that will allow Eiffel in 2026 to compete directly with modern tech-stacks that are "fashionable" right now. NO JOKE. DOING THIS!!!
>>
>> On Friday, December 5, 2025 at 5:03:28 PM UTC-5 Liberty Lover wrote:
>>> Simple UUID
>>>
>>> Github:  ljr1981/simple_uuid[https://github.com/ljr1981/simple_uuid]
>>> Docs:  simple_uuid - RFC 9562 UUID Generation for Eiffel[https://ljr1981.github.io/simple_uuid/]
>>> Build Video: https://youtu.be/zZmpyOlztK8
>>>
>>> Simple Base64
>>>
>>> Github:  ljr1981/simple_base64[https://github.com/ljr1981/simple_base64]
>>> Docs:   simple_base64 - RFC 4648 Base64 Encoding for Eiffel[https://ljr1981.github.io/simple_base64/]
>>> Build Video: (same as above)
>>>
>>>
>>>
>>>
>>> On Friday, December 5, 2025 at 2:21:15 PM UTC-5 Liberty Lover wrote:
>>>> Yes, I am forging ahead, but there is plenty of time to feedback/comment ...
>>>>
>>>> https://youtu.be/tPZ2M1FIIOo
>>>>
>>>>
>
> --
> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/1c84021b-dbc9-4697-b24f-168cf2ea005an%40googlegroups.com[https://groups.google.com/d/msgid/eiffel-users/1c84021b-dbc9-4697-b24f-168cf2ea005an%40googlegroups.com?utm_medium=email&utm_source=footer].

Ulrich Windl

unread,
3:38 AM (18 hours ago) 3:38 AM
to eiffel...@googlegroups.com
Hi!

Next thing AI can do is make short and interesting extracts from long and boring videos, needing another nuclear plant 😉

Ulrich

Eric Bezault

unread,
4:22 AM (17 hours ago) 4:22 AM
to eiffel...@googlegroups.com, Liberty Lover
Hi Larry,

Ensuring correctness and security vulnerability (with DbC) is
one thing. Another thing that Claude can be challenged with
is performance. How can we make sure that it does not generate
code with low performance algorithms, e.g. O(n^2) when it's
possible to have an implementation in O(n)?
Is performance one of the criteria expressed in Clause's
context, and how can we check that it follows this criterion?
On 06/12/2025 2:56, Liberty Lover wrote:
> Interesting. I will look into it in the morning.
>
> Until then, a little research goes a long way. All these libs built
> today need some deep attention.
>
> claude_eiffel_op_docs/research/CHRISTMAS_SPRINT_DAY2_PLAN.md at main ·
> ljr1981/claude_eiffel_op_docs <https://github.com/ljr1981/
> claude_eiffel_op_docs/blob/main/research/CHRISTMAS_SPRINT_DAY2_PLAN.md>
>
> Scanning down that list will tell a very serious story -- BUT -- I am
> hopeful. :-)
>
> Nite-all!!
>
> On Friday, December 5, 2025 at 6:43:57 PM UTC-5 er...@gobosoft.com wrote:
>
> Hi Larry,
>
> May I suggest that you try to use Github actions? It has the advantage
> that each time you push a new commit, the tests will be run again.
> And more: they can be executed on all platforms that you mentioned
> in "2. Platforming" below.
>
> Here is an example of Github Actions, for the Gobo Eiffel repository:
>
> https://github.com/gobo-eiffel/gobo/actions/runs/19914183336
> <https://github.com/gobo-eiffel/gobo/actions/runs/19914183336>
>
> --
> Eric Bezault
> mailto:er...@gobosoft.com
> http://www.gobosoft.com <http://www.gobosoft.com>
> > http://www.gobosoft.com <http://www.gobosoft.com> <http://
> www.gobosoft.com <http://www.gobosoft.com>>
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Eiffel Users" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> > users+un...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> eiffel- <https://groups.google.com/d/msgid/eiffel->
> > users/273a15fe-da51-4689-ab3c-f0b931b1b574n%40googlegroups.com
> <http://40googlegroups.com> <https://
> > groups.google.com/d/msgid/eiffel-users/273a15fe-da51-4689-ab3c-
> <http://groups.google.com/d/msgid/eiffel-users/273a15fe-da51-4689-
> ab3c->
> > f0b931b1b574n%40googlegroups.com?
> utm_medium=email&utm_source=footer <http://40googlegroups.com?
> utm_medium=email&utm_source=footer>>.
>
>
>

Liberty Lover

unread,
5:09 AM (16 hours ago) 5:09 AM
to Eiffel Users
re:  Next thing AI can do is make short and interesting extracts from long and boring videos, needing another nuclear plant 😉

Oh my Lord, YES!!! ... that's on the todo list

Best,

Larry

Liberty Lover

unread,
5:12 AM (16 hours ago) 5:12 AM
to Eiffel Users
Eric,

Re: Performance!

Yes, I tried to address that with the Profiler tool. I got it to work (as I did about 10 years ago), but could not get it to penetrate below the first level of the call-stack. Otherwise, we would have that one in-the-can as well. I am open to suggestions. I think I left a message about that on another conversation thread.

Best,

Larry

Liberty Lover

unread,
5:13 AM (16 hours ago) 5:13 AM
to Eiffel Users
RE: Looooonnnnggggg boring videos

The upside is that one gets to see the very long boring process in raw detail to evaluate what both myself and Claude might be (or are) doing wrong. 

Best,

Larry

On Saturday, December 6, 2025 at 3:38:31 AM UTC-5 Ulrich W. wrote:

Eric Bezault

unread,
5:22 AM (16 hours ago) 5:22 AM
to eiffel...@googlegroups.com, Liberty Lover
On 06/12/2025 11:12, Liberty Lover wrote:
> Eric,
>
> Re: Performance!
>
> Yes, I tried to address that with the Profiler tool. I got it to work
> (as I did about 10 years ago), but could not get it to penetrate below
> the first level of the call-stack. Otherwise, we would have that one in-
> the-can as well. I am open to suggestions. I think I left a message
> about that on another conversation thread.

And this was my suggestion:

You wrote that profile is an option, not a setting. So you
might need to add this option not only in your target section,
but also on all libraries it uses.

lar...@eiffel.com

unread,
8:49 AM (12 hours ago) 8:49 AM
to eiffel...@googlegroups.com

What about using NotebookLM for that!

--

You received this message because you are subscribed to the Google Groups "Eiffel Users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/02f664aa-1ba4-4e50-a969-2a469a7dddeen%40googlegroups.com.

Liberty Lover

unread,
8:59 AM (12 hours ago) 8:59 AM
to eiffel...@googlegroups.com
RE:  What about using NotebookLM for that!

Please elaborate!? I have seen videos on my YT feed, but didn't watch them. What could that do for us?

Best,

Larry

lar...@eiffel.com

unread,
12:14 PM (9 hours ago) 12:14 PM
to eiffel...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages