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
 | 
					bc,,1975,c
 | 
				
			||||||
make,,1976,c
 | 
					make,,1976,c
 | 
				
			||||||
vi,,1976,c
 | 
					vi,,1976,c
 | 
				
			||||||
 | 
					bourne shell,,1979,c
 | 
				
			||||||
awk,,1985,c
 | 
					awk,,1985,c
 | 
				
			||||||
screen,,1987,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
 | 
					vim,https://www.vim.org/,1991,c
 | 
				
			||||||
midnight commander,,1994,c
 | 
					midnight commander,,1994,c
 | 
				
			||||||
ssh,,1995,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
 | 
					fossil,https://fossil-scm.org/home/doc/trunk/www/index.wiki,2006,c
 | 
				
			||||||
tmux,https://github.com/tmux/tmux,2007,c
 | 
					tmux,https://github.com/tmux/tmux,2007,c
 | 
				
			||||||
git,https://git-scm.com/,2008,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,
 | 
					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.
 | 
					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
 | 
					## The lessons learned from the past
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A large amount of the innovation in the area, I think, can be attributed to
 | 
					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
 | 
					autocompletion and information rich prompt are front and center with no
 | 
				
			||||||
configuration required. Of course, fish still has the same level of
 | 
					configuration required. Of course, fish still has the same level of
 | 
				
			||||||
configurability as zsh, it just also has sensible defaults.
 | 
					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
 | 
					### Friendly error messages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- look at nushells error messages-->
 | 
					<!-- look at nushells error messages-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[earlier](../nushell)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Concise and discoverable documentation
 | 
					### Concise and discoverable documentation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- look at zellij and helix and their built in keymap cheatsheets-->
 | 
					<!-- 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.-->
 | 
					<!-- 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
 | 
					## Appendix: the tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -196,11 +254,16 @@ available, wikipedia otherwise, and sorting is by year first, then alphabetical.
 | 
				
			||||||
|bc|1975|c|
 | 
					|bc|1975|c|
 | 
				
			||||||
|make|1976|c|
 | 
					|make|1976|c|
 | 
				
			||||||
|vi|1976|c|
 | 
					|vi|1976|c|
 | 
				
			||||||
 | 
					|bourne shell|1979|c|
 | 
				
			||||||
|awk|1985|c|
 | 
					|awk|1985|c|
 | 
				
			||||||
|screen|1987|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|
 | 
					|[vim](https://www.vim.org/)|1991|c|
 | 
				
			||||||
|midnight commander|1994|c|
 | 
					|midnight commander|1994|c|
 | 
				
			||||||
|ssh|1995|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|
 | 
					|[fossil](https://fossil-scm.org/home/doc/trunk/www/index.wiki)|2006|c|
 | 
				
			||||||
|[tmux](https://github.com/tmux/tmux)|2007|c|
 | 
					|[tmux](https://github.com/tmux/tmux)|2007|c|
 | 
				
			||||||
|[git](https://git-scm.com/)|2008|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
 | 
					date = 2024-02-06T15:01:28-06:00
 | 
				
			||||||
draft = false
 | 
					draft = false
 | 
				
			||||||
[cover]
 | 
					[cover]
 | 
				
			||||||
image = "layers/layer0"
 | 
					image = "keyboard_with_case"
 | 
				
			||||||
+++
 | 
					+++
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ive been using a split keyboard at home now for several years,
 | 
					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
 | 
					## The Basic Build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!--TODO: insert pic of completed keyboard-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The Sweep seemed simple enough that I could assemble it,
 | 
					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.
 | 
					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/),
 | 
					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,
 | 
					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?
 | 
					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.
 | 
					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 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.
 | 
					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