mirror of
				https://github.com/Brandon-Rozek/website.git
				synced 2025-11-04 07:11:14 +00:00 
			
		
		
		
	[New] Posts on cloc, python interrupts, and zsh&snaps
This commit is contained in:
		
							parent
							
								
									a44c57f028
								
							
						
					
					
						commit
						d9e8f4aab9
					
				
					 3 changed files with 107 additions and 0 deletions
				
			
		
							
								
								
									
										42
									
								
								content/blog/cloc.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								content/blog/cloc.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,42 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					title: "cloc"
 | 
				
			||||||
 | 
					date: 2020-01-25T10:24:16-05:00
 | 
				
			||||||
 | 
					draft: false
 | 
				
			||||||
 | 
					images: []
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**C**ount **L**ines **o**f **C**ode is an application included in the standard Ubuntu repositories that counts the lines of code separated by programming language.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is able to separate out blank lines, comment lines, and actual code lines in the count.  It's quick and easy to use for giving a quick statistic on any given code repository.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To count lines of code in the current directory,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					cloc .
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					An example from my website repository:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					1019 text files.
 | 
				
			||||||
 | 
					894 unique files.                                          
 | 
				
			||||||
 | 
					158 files ignored.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					github.com/AlDanial/cloc v1.82  T=0.58 s (1501.1 files/s, 213974.9 lines/s)
 | 
				
			||||||
 | 
					-----------------------------------------------------------------------
 | 
				
			||||||
 | 
					Language             files          blank        comment           code
 | 
				
			||||||
 | 
					-----------------------------------------------------------------------
 | 
				
			||||||
 | 
					HTML                   581          14457           4041          69754
 | 
				
			||||||
 | 
					Markdown               248           6758              0          14620
 | 
				
			||||||
 | 
					XML                      9           1201              0           5291
 | 
				
			||||||
 | 
					JavaScript               8            478           1282           2623
 | 
				
			||||||
 | 
					JSON                    11              0              0           1875
 | 
				
			||||||
 | 
					CSS                      7            216             47           1048
 | 
				
			||||||
 | 
					TOML                     3             22             17            120
 | 
				
			||||||
 | 
					SVG                      1              2              0             20
 | 
				
			||||||
 | 
					Bourne Shell             1              0              0              3
 | 
				
			||||||
 | 
					-----------------------------------------------------------------------
 | 
				
			||||||
 | 
					SUM:                   869          23134           5387          95354
 | 
				
			||||||
 | 
					-----------------------------------------------------------------------
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										24
									
								
								content/blog/pythoninterrupts.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								content/blog/pythoninterrupts.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					title: "Quick Python: Interrupts"
 | 
				
			||||||
 | 
					date: 2020-01-25T09:51:34-05:00
 | 
				
			||||||
 | 
					draft: false
 | 
				
			||||||
 | 
					images: []
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This post is part of a new series I'm starting where I quickly outline small Python snippets.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you have an application that you want to gracefully exit when the user presses CTRL-C here's the short snippet
 | 
				
			||||||
 | 
					```python
 | 
				
			||||||
 | 
					import signal
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Function that gets called when interrupt is found
 | 
				
			||||||
 | 
					def signal_handler(sig, frame):
 | 
				
			||||||
 | 
					  print('You pressed Ctrl+C!')
 | 
				
			||||||
 | 
					  sys.exit(0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Attach the function to the interrupt signal
 | 
				
			||||||
 | 
					signal.signal(signal.SIGINT,signal_handler)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print('Press Ctrl+C')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
							
								
								
									
										41
									
								
								content/blog/zshandsnaps.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								content/blog/zshandsnaps.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					title: "Zsh and Snaps"
 | 
				
			||||||
 | 
					date: 2020-01-25T09:46:23-05:00
 | 
				
			||||||
 | 
					draft: false
 | 
				
			||||||
 | 
					images: []
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In case I forget again, by default when snaps are installed it doesn't populate in the `zsh` shell. To enable this add the following to `/etc/zsh/zprofile`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In case you don't have `apps-bin-path.sh` in `/etc/profile.d/`, then here's the file as of this date:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					# shellcheck shell=sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Expand $PATH to include the directory where snappy applications go.
 | 
				
			||||||
 | 
					snap_bin_path="/snap/bin"
 | 
				
			||||||
 | 
					if [ -n "${PATH##*${snap_bin_path}}" -a -n "${PATH##*${snap_bin_path}:*}" ]; then
 | 
				
			||||||
 | 
					    export PATH=$PATH:${snap_bin_path}
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ensure base distro defaults xdg path are set if nothing filed up some
 | 
				
			||||||
 | 
					# defaults yet.
 | 
				
			||||||
 | 
					if [ -z "$XDG_DATA_DIRS" ]; then
 | 
				
			||||||
 | 
					    export XDG_DATA_DIRS="/usr/local/share:/usr/share"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Desktop files (used by desktop environments within both X11 and Wayland) are
 | 
				
			||||||
 | 
					# looked for in XDG_DATA_DIRS; make sure it includes the relevant directory for
 | 
				
			||||||
 | 
					# snappy applications' desktop files.
 | 
				
			||||||
 | 
					snap_xdg_path="/var/lib/snapd/desktop"
 | 
				
			||||||
 | 
					if [ -n "${XDG_DATA_DIRS##*${snap_xdg_path}}" -a -n "${XDG_DATA_DIRS##*${snap_xdg_path}:*}" ]; then
 | 
				
			||||||
 | 
					    export XDG_DATA_DIRS="${XDG_DATA_DIRS}:${snap_xdg_path}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Source: [hackel](https://askubuntu.com/users/263969/hackel) on [Ask Ubuntu](https://askubuntu.com/questions/910821/programs-installed-via-snap-not-showing-up-in-launcher).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue