added images, wrote on good out of the box experiences.
This commit is contained in:
		
							parent
							
								
									7c5dbba18b
								
							
						
					
					
						commit
						18c969f56a
					
				
					 8 changed files with 70 additions and 7 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								content/posts/clirenaissance/bash_prompt.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/clirenaissance/bash_prompt.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								content/posts/clirenaissance/editors.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/clirenaissance/editors.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 255 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								content/posts/clirenaissance/fish_prompt.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/clirenaissance/fish_prompt.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 15 KiB  | 
| 
						 | 
				
			
			@ -17,11 +17,16 @@ sed,,1974,c
 | 
			
		|||
bc,,1975,c
 | 
			
		||||
make,,1976,c
 | 
			
		||||
vi,,1976,c
 | 
			
		||||
bourne shell,,1979,c
 | 
			
		||||
awk,,1985,c
 | 
			
		||||
screen,,1987,c
 | 
			
		||||
bash,https://www.gnu.org/software/bash/,1989,c
 | 
			
		||||
zsh,https://www.zsh.org/,1990,c
 | 
			
		||||
vim,https://www.vim.org/,1991,c
 | 
			
		||||
midnight commander,,1994,c
 | 
			
		||||
ssh,,1995,c
 | 
			
		||||
curl,https://github.com/curl/curl,1996,c
 | 
			
		||||
fish,https://fishshell.com/,2005,c/rust
 | 
			
		||||
fossil,https://fossil-scm.org/home/doc/trunk/www/index.wiki,2006,c
 | 
			
		||||
tmux,https://github.com/tmux/tmux,2007,c
 | 
			
		||||
git,https://git-scm.com/,2008,c
 | 
			
		||||
| 
						 | 
				
			
			@ -115,6 +120,8 @@ led to a resurgence in development of command line utilities.
 | 
			
		|||
Instead of just developing completely new tools,
 | 
			
		||||
Ive noticed that people are rethinking and reinventing tools that have existed since the early days of Unix.
 | 
			
		||||
 | 
			
		||||
<!--TODO: add more here-->
 | 
			
		||||
 | 
			
		||||
## The lessons learned from the past
 | 
			
		||||
 | 
			
		||||
A large amount of the innovation in the area, I think, can be attributed to
 | 
			
		||||
| 
						 | 
				
			
			@ -144,15 +151,66 @@ better than bash. When starting fish for the first time, however, its powerful
 | 
			
		|||
autocompletion and information rich prompt are front and center with no
 | 
			
		||||
configuration required. Of course, fish still has the same level of
 | 
			
		||||
configurability as zsh, it just also has sensible defaults.
 | 
			
		||||
<!--TODO: insert pics of zsh command line without config vs fish command line without
 | 
			
		||||
config.-->
 | 
			
		||||
 | 
			
		||||
<!-- look at helix compared to (neo)vim-->
 | 
			
		||||
To demonstrate my point, this is the default prompt for zsh with no
 | 
			
		||||
configuration. It *only* shows the hostname, none of the advanced featurs you
 | 
			
		||||
can get out of a zsh prompt even without plugins.
 | 
			
		||||

 | 
			
		||||
Here is bash's prompt. It actually gives more info than zsh's, even though zsh
 | 
			
		||||
can do more when properly configured.
 | 
			
		||||

 | 
			
		||||
And here is fish's default prompt. It has a few colours, shows everything the
 | 
			
		||||
bash prompt does, and additionally shows the git branch we are on.
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
Text editors are another great example of the evolution of out of the box
 | 
			
		||||
defaults. Vim and Neovim both improved on their predecessors, but so much of
 | 
			
		||||
that improvement is locked behind extremely complex configuration experiences
 | 
			
		||||
and plugins. Heres four different terminal text editors with no configuration
 | 
			
		||||
applied:
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
Vi, (top left) is our baseline, and, as far as I can tell, doesnt actually
 | 
			
		||||
support much for configuration. What you see out of the box is more or less
 | 
			
		||||
whats there.
 | 
			
		||||
 | 
			
		||||
Vim (top right) greatly improved on Vi, adding things such as syntax highlighting, line
 | 
			
		||||
numbers, spellchecking, split windows, folding, and even basic autocompletion.
 | 
			
		||||
However, everything but syntax highligting is either extremely clunky or
 | 
			
		||||
outright disabled without configuration. (for example, the earliest things I did
 | 
			
		||||
when I first made a `.vimrc` was to enable indent folding, make some better
 | 
			
		||||
keybinds for navigating windows, and adding a line number ruler to the side)
 | 
			
		||||
 | 
			
		||||
Neovim (bottom left) further improved on Vim, adding support for Treesitter and the Language
 | 
			
		||||
Server Protocoll, but the out of the box experience is the *exact* same as vim!
 | 
			
		||||
In order to take advantage of the LSP and Treesitter support, you have to
 | 
			
		||||
install plugins, which means learning a Nvim package manager, learning how to
 | 
			
		||||
configure LSPs, and configuring a new LSP for every language you want to use it
 | 
			
		||||
with. (Or finding out about Mason and being OK with having multiple levels of
 | 
			
		||||
package management in your Nvim install alone). Dont get me wrong, Neovim is a
 | 
			
		||||
great editor once you get over the hump, I still use it as my daily driver, but
 | 
			
		||||
so much of its functionality is simply hidden.
 | 
			
		||||
 | 
			
		||||
Then we have the Helix (bottom right) editor. Colour scheme aside, everything is
 | 
			
		||||
just there. Helix doesnt have plugin support
 | 
			
		||||
[yet](https://github.com/helix-editor/helix/discussions/3806), but it has so
 | 
			
		||||
much stuff in core that, looking through my neovim plugins, pretty much all of
 | 
			
		||||
my neovim plugins are in the core editor! (ironically, the one feature that
 | 
			
		||||
helix is missing, [folding](https://github.com/helix-editor/helix/issues/1840),
 | 
			
		||||
is a core part of neovim, albiet one that requires some configuration to get
 | 
			
		||||
good use out of). Helix has a config file where you can change a huge amount of
 | 
			
		||||
settings, but its an extremely usable IDE out of the box, thanks to having all
 | 
			
		||||
of its features enabled by default.
 | 
			
		||||
 | 
			
		||||
### Friendly error messages
 | 
			
		||||
 | 
			
		||||
<!-- look at nushells error messages-->
 | 
			
		||||
 | 
			
		||||
[earlier](../nushell)
 | 
			
		||||
 | 
			
		||||
### Concise and discoverable documentation
 | 
			
		||||
 | 
			
		||||
<!-- look at zellij and helix and their built in keymap cheatsheets-->
 | 
			
		||||
| 
						 | 
				
			
			@ -173,7 +231,7 @@ config.-->
 | 
			
		|||
 | 
			
		||||
<!-- most of the new tools are written in rust and go.-->
 | 
			
		||||
 | 
			
		||||
<!-- rusts clap and gos cobra-->
 | 
			
		||||
<!-- rusts clap and gos cobra, CLI argument parsing libraries, help with this.-->
 | 
			
		||||
 | 
			
		||||
## Appendix: the tools
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -196,11 +254,16 @@ available, wikipedia otherwise, and sorting is by year first, then alphabetical.
 | 
			
		|||
|bc|1975|c|
 | 
			
		||||
|make|1976|c|
 | 
			
		||||
|vi|1976|c|
 | 
			
		||||
|bourne shell|1979|c|
 | 
			
		||||
|awk|1985|c|
 | 
			
		||||
|screen|1987|c|
 | 
			
		||||
|[bash](https://www.gnu.org/software/bash/)|1989|c|
 | 
			
		||||
|[zsh](https://www.zsh.org/)|1990|c|
 | 
			
		||||
|[vim](https://www.vim.org/)|1991|c|
 | 
			
		||||
|midnight commander|1994|c|
 | 
			
		||||
|ssh|1995|c|
 | 
			
		||||
|[curl](https://github.com/curl/curl)|1996|c|
 | 
			
		||||
|[fish](https://fishshell.com/)|2005|c/rust|
 | 
			
		||||
|[fossil](https://fossil-scm.org/home/doc/trunk/www/index.wiki)|2006|c|
 | 
			
		||||
|[tmux](https://github.com/tmux/tmux)|2007|c|
 | 
			
		||||
|[git](https://git-scm.com/)|2008|c|
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								content/posts/clirenaissance/zsh_prompt.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/clirenaissance/zsh_prompt.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 7.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								content/posts/ferrisSweepKeyboard/finished_keyboard.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/ferrisSweepKeyboard/finished_keyboard.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.9 MiB  | 
| 
						 | 
				
			
			@ -3,7 +3,7 @@ title = "Building My New Keyboard."
 | 
			
		|||
date = 2024-02-06T15:01:28-06:00
 | 
			
		||||
draft = false
 | 
			
		||||
[cover]
 | 
			
		||||
image = "layers/layer0"
 | 
			
		||||
image = "keyboard_with_case"
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
Ive been using a split keyboard at home now for several years,
 | 
			
		||||
| 
						 | 
				
			
			@ -17,8 +17,6 @@ Eventually, though, I stumbled upon the github page for the [Ferris Sweep](https
 | 
			
		|||
 | 
			
		||||
## The Basic Build
 | 
			
		||||
 | 
			
		||||
<!--TODO: insert pic of completed keyboard-->
 | 
			
		||||
 | 
			
		||||
The Sweep seemed simple enough that I could assemble it,
 | 
			
		||||
and after doing some shopping around, I was able to source all the parts I needed for under $100.
 | 
			
		||||
I ordered the pcb from JLPCB and the parts from [Keebio](https://keeb.io/) and [Lowprob.ca](https://lowprokb.ca/),
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +31,8 @@ and finally soldered the switches in. (I used choc purpz, a bit of a leap of fai
 | 
			
		|||
I did ruin one switch by letting a leg getting hot enough to melt the housing plastic,
 | 
			
		||||
and desoldering it was unexpectedly difficult, but not every build can be mistake free, right?
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
Flashing QMK was uneventful, working exactly as the [QMK docs](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/sweep) for the Ferris Sweep suggested.
 | 
			
		||||
I would, however, recommend flashing the micros _before_ doing any soldering,
 | 
			
		||||
I had to take my micros out of their sockets in order to access the boot buttons.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								content/posts/ferrisSweepKeyboard/keyboard_with_case.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								content/posts/ferrisSweepKeyboard/keyboard_with_case.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.2 MiB  | 
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue