Skip to content

Conversation

@fingolfin
Copy link
Member

First iteration -- based on the sketches in https://github.com/gap-system/gap-logo/blob/main/gap-logo-ascii.txt but using a "rotated" / "flipped" version of the logo in anticipation of us changing the logo orientation (clearly we could also flip it back).

I am sure this could be improved. Perhaps e.g. @mtorpey would be interested in that ;-).

Here is a "preview" of the current state:

$ ./gap
   . - O
  /   /  \    GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 O---O    |   Architecture: aarch64-apple-darwin24-default64-kv10
  \   \  /    Web: https://www.gap-system.org
   ` - O
 Configuration:  gmp 6.3.0, GASMAN, readline
 Loading the library and packages ...
 Packages:   AClib 1.3.3, Alnuth 3.2.1, AtlasRep 2.1.9, AutoDoc 2025.05.09,
             AutPGrp 1.11.1, Browse 1.8.21, CaratInterface 2.3.7, CRISP 1.4.8,
             Cryst 4.1.29, CrystCat 1.1.10, CTblLib 1.3.11,
             curlInterface 2.4.2, FactInt 1.6.3, FGA 1.5.0, Forms 1.2.13,
             GAPDoc 1.6.7, genss 1.6.9, IO 4.9.3, IRREDSOL 1.4.4,
             LAGUNA 3.9.7, orb 5.0.1, PackageManager 1.6.3, Polenta 1.3.11,
             Polycyclic 2.17, PrimGrp 4.0.0, RadiRoot 2.9, recog 1.4.4,
             ResClasses 4.7.3, SmallGrp 1.5.4, Sophus 1.27, SpinSym 1.5.2,
             StandardFF 1.0, TomLib 1.2.11, TransGrp 3.6.5, utils 0.91
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
gap>

@mtorpey
Copy link
Contributor

mtorpey commented Sep 24, 2025

Delightful! As you hinted, I've tried a few different things myself, and the best I could come up with was:

  ●    G  GAP 4.15dev-74-g0a4774e built on 2025-02-06 12:48:35+0000
   ● ● A  https://www.gap-system.org
  ●    P  Architecture: x86_64-pc-linux-gnu-default64-kv10
 Configuration:  gmp 6.3.0, GASMAN, readline
 Loading the library and packages ...
 Packages:   curlInterface 2.4.0, GAPDoc 1.6.7, IO 4.9.1, PackageManager 1.6.3, PrimGrp 3.4.4, SmallGrp 1.5.4, TransGrp 3.6.5
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'

after struggling with getting the lines down. I'd certainly be in favour of the current pull request.

@mtorpey
Copy link
Contributor

mtorpey commented Sep 24, 2025

As a bit of a side note, it occurs to me we could introduce colour using the old 033 codes. I did this for my first attempt, and it looked alright:

image

but there's a problem, which is that the line wrapping is based on the number of characters before colours are rendered, so in narrow windows it's weirdly cut off:

image

I tried looking into the line wrapping logic myself, but it was a bit beyond me. I just thought I'd mention it in case anyone had any expertise that might allow colour to be added to the ascii logo somehow.

EDIT: The above style is achieved by:

diff --git a/lib/init.g b/lib/init.g
index c99553b23..049606145 100644
--- a/lib/init.g
+++ b/lib/init.g
@@ -434,7 +434,7 @@ function( prefix, values, suffix )
 end);
 
 BindGlobal( "ShowKernelInformation", function()
-  local sysdate, btop, vert, bbot, config, str, gap;
+  local sysdate, btop, vert, bmid, bbot, config, str, gap;
 
   if GAPInfo.Date <> "today" then
     sysdate := " of ";
@@ -447,19 +447,25 @@ BindGlobal( "ShowKernelInformation", function()
   fi;
 
   if GAPInfo.TermEncoding = "UTF-8" then
-    btop := "┌───────┐\c"; vert := "│"; bbot := "└───────┘\c";
+  #btop := "┌───────┐\c"; vert := "│"; bbot := "└───────┘\c";
+    btop := "   \033[94m●\033[0m \033[1;31mG\033[0m";
+    bmid := "\033[92m●\033[0m \033[91m●\033[0m  \033[1;31mA\033[0m";
+    bbot := "   \033[93m●\033[0m \033[1;31mP\033[0m";
   else
-    btop := "*********"; vert := "*"; bbot := btop;
+    btop := "*********";
+    vert := "*";
+    bmid := "*  GAP  *";
+    bbot := btop;
   fi;
   if IsHPCGAP then
     gap := "HPC-GAP";
   else
     gap := "GAP";
   fi;
-  Print( " ",btop,"   ",gap," ", GAPInfo.BuildVersion,
+  Print( "  ",btop,"  ",gap," ", GAPInfo.BuildVersion,
          sysdate, "\n",
-         " ",vert,"  GAP  ",vert,"   https://www.gap-system.org\n",
-         " ",bbot,"   Architecture: ", GAPInfo.Architecture, "\n" );
+         "  ",bmid,"  https://www.gap-system.org\n",
+         "  ",bbot,"  Architecture: ", GAPInfo.Architecture, "\n" );
   if IsHPCGAP then
     Print( "             Maximum concurrent threads: ",
        GAPInfo.KernelInfo.NUM_CPUS, "\n");

if anyone wants to try debugging it.

Comment on lines +455 to +459
Print( """ . - O """, "\n" );
Print( """ / / \ """, gap, " ", GAPInfo.BuildVersion, sysdate, "\n" );
Print( """ O---O | """, "Architecture: ", GAPInfo.Architecture, "\n" );
Print( """ \ \ / """, "Web: https://www.gap-system.org", "\n" );
Print( """ ` - O """, "\n" );
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Print( """ . - O """, "\n" );
Print( """ / / \ """, gap, " ", GAPInfo.BuildVersion, sysdate, "\n" );
Print( """ O---O | """, "Architecture: ", GAPInfo.Architecture, "\n" );
Print( """ \ \ / """, "Web: https://www.gap-system.org", "\n" );
Print( """ ` - O """, "\n" );
Print( """ ,-> (@) """, "\n" );
Print( """ v / ^ """, gap, " ", GAPInfo.BuildVersion, sysdate, "\n" );
Print( """ (@)-(@) ) """, "Architecture: ", GAPInfo.Architecture, "\n" );
Print( """ ^ \ v """, "Web: https://www.gap-system.org", "\n" );
Print( """ `-> (@) """, "\n");

Ill throw my hat into the ring too:

   ,-> (@)   
  v    / ^   GAP 4.16dev-18-gd3d75c4 built on 2025-09-23 23:00:44+0100
 (@)-(@)  )  Architecture: x86_64-pc-linux-gnu-default64-kv10
  ^    \ v   Web: https://www.gap-system.org
   `-> (@)   
 Configuration:  gmp 6.2.1, GASMAN
 Loading the library and packages ...
 Packages:   AClib 1.3.3, Alnuth 3.2.1, AtlasRep 2.1.9, AutoDoc 2025.05.09, AutPGrp 1.11.1, Browse 1.8.21, CaratInterface 2.3.7, CRISP 1.4.8, Cryst 4.1.30, CrystCat 1.1.10, 
             CTblLib 1.3.11, FactInt 1.6.3, FGA 1.5.0, Forms 1.2.13, GAPDoc 1.6.7, genss 1.6.9, IO 4.9.3, IRREDSOL 1.4.4, LAGUNA 3.9.7, orb 5.0.1, PackageManager 1.6.3, 
             Polenta 1.3.11, Polycyclic 2.17, PrimGrp 4.0.0, RadiRoot 2.9, recog 1.4.4, ResClasses 4.7.3, SmallGrp 1.5.4, Sophus 1.27, SpinSym 1.5.2, StandardFF 1.0, TomLib 1.2.11, 
             TransGrp 3.6.5, utils 0.92
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
gap>

Using escape codes like @mtorpey I can get the following:

screenshot_20250924

In addition to the wrapping issues for colors I guess we also need to consider what happens if a terminal doesn't support them.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whoops did not mean to start a review!

@james-d-mitchell
Copy link
Contributor

james-d-mitchell commented Sep 24, 2025

I like this one:

493245889-76f429b9-403d-436e-badb-712de88edf85

best. I'm sorry to say that the ascii art version look strictly worse than the current banner in my eyes (sorry!)

@fingolfin

This comment was marked as outdated.

@james-d-mitchell

This comment was marked as outdated.

@mtorpey
Copy link
Contributor

mtorpey commented Sep 25, 2025

If we're still at the brainstorming stage, I could mention that we have a lot more of unicode at our disposal, which could improve things. Looking at Max's design above, we can use box-drawing characters and geometric shapes to smarten it up:

   . - O
  /   /  \    GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 O---O    |   Architecture: aarch64-apple-darwin24-default64-kv10
  \   \  /    Web: https://www.gap-system.org
   ` - O

   .───●.   G
  ╱   ╱  ╲     GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 ●───●    ) A  Architecture: aarch64-apple-darwin24-default64-kv10
  ╲   ╲  ╱     Web: https://www.gap-system.org
   `───●'   P

(I've also incorporated the vertical "G A P" letters, which look good in the real logo.)

Then again, there's something more playful and fun about pure ascii which is lost here. :)

Note that the current logo uses box-drawing characters, and ascii-only displays have a fallback:

 ┌───────┐   GAP 4.15dev-74-g0a4774e built on 2025-02-06 12:48:35+0000
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-pc-linux-gnu-default64-kv10

 *********   GAP 4.15dev-74-g0a4774e built on 2025-02-06 12:48:35+0000
 *  GAP  *   https://www.gap-system.org
 *********   Architecture: x86_64-pc-linux-gnu-default64-kv10

and we could have a similar approach.

@wilfwilson
Copy link
Member

I like this one:

493245889-76f429b9-403d-436e-badb-712de88edf85 best. I'm sorry to say that the ascii art version look strictly worse than the current banner in my eyes (sorry!)

I agree with James's comment. Good work though, everyone contributing! I certainly have no relevant skills in this area to contribute towards the effort.

@fingolfin
Copy link
Member Author

I do like @mtorpey version as well, although the black&white version less so.

@mtorpey could you also provide a render of a pure ASCII version, say with * for dots? Once in B&W and once in color?

We are also considering to flip/rotate the logo, like here https://github.com/gap-system/gap-logo/tree/mh/rotated-60?tab=readme-ov-file#preview so you could also do that

@mtorpey
Copy link
Contributor

mtorpey commented Sep 26, 2025

UTF-8, b&w
image

UTF-8, colour
image

ASCII, b&w
image

ASCII, colour
image

I can make a pull request if that'd be helpful.

P.S. Code is at mtorpey@dba5b23

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants