Compare commits
	
		
			27 Commits
		
	
	
		
			4b3f853072
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						c88211d161
	
				 | 
					
					
						|||
| 
						
						
							
						
						1ed4b3bcee
	
				 | 
					
					
						|||
| 
						
						
							
						
						299f3df84e
	
				 | 
					
					
						|||
| 
						
						
							
						
						75137199da
	
				 | 
					
					
						|||
| 
						
						
							
						
						d6cc275d6f
	
				 | 
					
					
						|||
| 
						
						
							
						
						67ac7abb3f
	
				 | 
					
					
						|||
| 
						
						
							
						
						69a8757c9f
	
				 | 
					
					
						|||
| 
						
						
							
						
						addefeefef
	
				 | 
					
					
						|||
| 
						
						
							
						
						a33f0ce8f1
	
				 | 
					
					
						|||
| 
						
						
							
						
						46402622c8
	
				 | 
					
					
						|||
| 
						
						
							
						
						d511f9061c
	
				 | 
					
					
						|||
| 
						
						
							
						
						a1ea4324d0
	
				 | 
					
					
						|||
| 
						
						
							
						
						ec2117a0a5
	
				 | 
					
					
						|||
| 
						
						
							
						
						88f7257a9a
	
				 | 
					
					
						|||
| 
						
						
							
						
						05663a0435
	
				 | 
					
					
						|||
| 
						
						
							
						
						7302550209
	
				 | 
					
					
						|||
| 
						
						
							
						
						71dd6d4cb2
	
				 | 
					
					
						|||
| 
						
						
							
						
						64f7f65f0b
	
				 | 
					
					
						|||
| 
						
						
							
						
						e4c00239fa
	
				 | 
					
					
						|||
| 
						
						
							
						
						3cbd7042b2
	
				 | 
					
					
						|||
| 
						
						
							
						
						190fff9bae
	
				 | 
					
					
						|||
| 
						
						
							
						
						324fad6a5a
	
				 | 
					
					
						|||
| 
						
						
							
						
						ffd0080a31
	
				 | 
					
					
						|||
| 
						
						
							
						
						feeee8431f
	
				 | 
					
					
						|||
| 
						
						
							
						
						fe07d7f076
	
				 | 
					
					
						|||
| 
						
						
							
						
						67e51cefb9
	
				 | 
					
					
						|||
| 
						
						
							
						
						f68e8c0df8
	
				 | 
					
					
						
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,4 +1,3 @@
 | 
				
			|||||||
*.pdf
 | 
					*.pdf
 | 
				
			||||||
*.epub
 | 
					*.epub
 | 
				
			||||||
Makefile
 | 
					 | 
				
			||||||
*.xcf
 | 
					*.xcf
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										23
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					help: ## Print the help message
 | 
				
			||||||
 | 
						$(info Make a single pdf by hitting the tab key a lot)
 | 
				
			||||||
 | 
						@awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z._-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
 | 
				
			||||||
 | 
							sort | \
 | 
				
			||||||
 | 
							column -s ':' -t
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Search should not include slides separated by '***', as those are for mdp, not pandoc.
 | 
				
			||||||
 | 
					markdown != find slides/ -maxdepth 2 -type f -name "*.md" -exec grep -LF '***' '{}' ';'
 | 
				
			||||||
 | 
					pdfs = $(patsubst %.md, %.pdf, $(markdown))
 | 
				
			||||||
 | 
					handouts = $(patsubst %.md, %_handout.pdf, $(markdown))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(pdfs): %.pdf: %.md
 | 
				
			||||||
 | 
						pandoc -t beamer -V theme:Warsaw -i $< -o $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(handouts): %_handout.pdf: %.md
 | 
				
			||||||
 | 
						pandoc -t beamer -V handout -V theme:Warsaw -i $< -o $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: pdfs
 | 
				
			||||||
 | 
					pdfs: $(pdfs) ## Generate all pdfs (try `make -j pdfs`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: clean
 | 
				
			||||||
 | 
					clean: ## Delete all pdfs
 | 
				
			||||||
 | 
						$(RM) $(pdfs)
 | 
				
			||||||
							
								
								
									
										19
									
								
								README.md
									
									
									
									
									
								
							
							
						
						@@ -1,5 +1,20 @@
 | 
				
			|||||||
# Radionice
 | 
					# Radionice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
First run ./configure to generate a Makefile using folders in this directory
 | 
					Usage: `make`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Dependecies:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### For Debian:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					sudo apt update
 | 
				
			||||||
 | 
					sudo apt install pandoc
 | 
				
			||||||
 | 
					sudo apt install tikzit
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### For Arch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					pacman -Sy pandoc texlive-binextra texlive-pictures texlive-latexrecommended texlive-fontsrecommended
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Then you can run make to generate pdf beamer slides
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,13 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/bash
 | 
					 | 
				
			||||||
FOLDERS=$(cd slides/ ; echo *)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
rm -f Makefile
 | 
					 | 
				
			||||||
echo -n 'all:' >> Makefile
 | 
					 | 
				
			||||||
for i in $FOLDERS ; do echo -n " $i.pdf" >> Makefile ; done
 | 
					 | 
				
			||||||
echo "" >> Makefile
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for i in $FOLDERS ; do echo -e "$i.pdf:\n\tpandoc -t beamer -V theme:Warsaw -i slides/$i/$i.md -o slides/$i/$i.pdf\n" >> Makefile ; done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo -ne "clean:\n\trm -f" >> Makefile
 | 
					 | 
				
			||||||
for i in $FOLDERS; do echo -n " slides/$i/$i.pdf" >> Makefile ; done
 | 
					 | 
				
			||||||
echo "" >> Makefile
 | 
					 | 
				
			||||||
							
								
								
									
										166
									
								
								slides/3Dprint/3DPrint.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,166 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 3D Printing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Machine brands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Creality Ender
 | 
				
			||||||
 | 
					- Prusa
 | 
				
			||||||
 | 
					- Elagoo
 | 
				
			||||||
 | 
					- Bamboo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					...and more
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Suggestion [Elagoo centauri](https://us.elegoo.com/products/centauri-carbon) - [40k](https://aldorshop.rs/proizvod/elegoo-centauri-carbon/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Main parts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Motors x,y,z
 | 
				
			||||||
 | 
					- Buildplate (print bad)
 | 
				
			||||||
 | 
					- Extruder
 | 
				
			||||||
 | 
					- Bowden tube
 | 
				
			||||||
 | 
					- Hotend
 | 
				
			||||||
 | 
					- Nozzle
 | 
				
			||||||
 | 
					- BL Touch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Filamets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- PLA and PLA+
 | 
				
			||||||
 | 
					- PETG 
 | 
				
			||||||
 | 
					- ASA/ABS
 | 
				
			||||||
 | 
					- Resin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					...and other
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Filament - variations 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - Dual colors
 | 
				
			||||||
 | 
					 - Shiny, glitter
 | 
				
			||||||
 | 
					 - Transparent
 | 
				
			||||||
 | 
					 - Glow in dark
 | 
				
			||||||
 | 
					 - Elastic 
 | 
				
			||||||
 | 
					 - Wood like
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Calibration and troubleshooting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[guide](https://teachingtechyt.github.io/calibration.html)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - bed leveling
 | 
				
			||||||
 | 
					 - line height
 | 
				
			||||||
 | 
					 - extruder tensioning
 | 
				
			||||||
 | 
					 - fillament temperature
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Modeling
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Blender
 | 
				
			||||||
 | 
					- FreeCAD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					... and a lot of propriatary tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Platforms and community
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Thingiverse](https://www.thingiverse.com)
 | 
				
			||||||
 | 
					- [Printables](https://www.printables.com/)
 | 
				
			||||||
 | 
					- [MyMiniFactory](https://www.myminifactory.com/)
 | 
				
			||||||
 | 
					- [GrabCAD](https://grabcad.com/library)
 | 
				
			||||||
 | 
					- [STL Finder](https://www.stlfinder.com/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					... and much more
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Slicing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Prusa Slicer 
 | 
				
			||||||
 | 
					- Cura 
 | 
				
			||||||
 | 
					- Bamboo lab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Supports
 | 
				
			||||||
 | 
					- Positioning
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Some techniques
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Color change
 | 
				
			||||||
 | 
					- Inserting magnets
 | 
				
			||||||
 | 
					- Combining with other things
 | 
				
			||||||
 | 
					    - screws
 | 
				
			||||||
 | 
					    - marbles
 | 
				
			||||||
 | 
					    - spinners
 | 
				
			||||||
 | 
					    - electronics
 | 
				
			||||||
 | 
					- Afterjobs
 | 
				
			||||||
 | 
					    - sanding
 | 
				
			||||||
 | 
					    - polishing
 | 
				
			||||||
 | 
					    - coloring
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Monitoring
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Builtin from vendor
 | 
				
			||||||
 | 
					- [OctoPrint](https://octoprint.org/)
 | 
				
			||||||
 | 
					    - OctoPi
 | 
				
			||||||
 | 
					    - OctoPhone
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note: don't expose, use home VPN, tailscale or similar
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Uses and projects
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fixing stuff
 | 
				
			||||||
 | 
					- Upgrading stuff
 | 
				
			||||||
 | 
					- Tools, skadis
 | 
				
			||||||
 | 
					- Home appliances
 | 
				
			||||||
 | 
					- Electronic devices (ESP, arduino, etc) 
 | 
				
			||||||
 | 
					- Toys
 | 
				
			||||||
 | 
					- Gifts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Resources - Subreddits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- r/FixMyPrint
 | 
				
			||||||
 | 
					- r/functionalprint
 | 
				
			||||||
 | 
					- r/3Dprinting
 | 
				
			||||||
 | 
					- r/PrintedMinis
 | 
				
			||||||
 | 
					- r/3dprinter
 | 
				
			||||||
 | 
					- r/3DPrintTech
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Serbia
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [DMZ forum post](https://forum.dmz.rs/t/3d-printing/417/4)
 | 
				
			||||||
 | 
					- [Voxellab](https://voxellab.rs/)
 | 
				
			||||||
 | 
					- [Radnja u staklencu](https://3dmarket.rs/3D/3d-stampaci/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Misc and upgrades
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Printed parts / upgrades
 | 
				
			||||||
 | 
					- Nozzle brush (automated cleaning)
 | 
				
			||||||
 | 
					- Filament cleaner
 | 
				
			||||||
 | 
					- Filament case and heataer
 | 
				
			||||||
 | 
					- Silicone instead of springs for leveling
 | 
				
			||||||
 | 
					- Sanding tools
 | 
				
			||||||
 | 
					- Custom firmware upgrades
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/01-resin.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 589 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/02-1-main-parts.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 80 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/02-2-parts.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 55 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/02-3-extruder.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 22 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/02-3-parts-of-a-3d-printer-hot-end.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 22 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/02-4-main-parts.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 112 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/02-5-silicone_sock.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 60 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/03-01-multycolor.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 276 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/03-02-sprincles.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 504 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/03-04-wood-like.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/03-3-glitter.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 903 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/04-01-bed-leveling.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 267 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/04-02-bed-leveling.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 99 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/04-03-bed-leveling.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 157 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/04-03-extruder-tension.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 611 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/04-04-extruder-tension.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 746 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/05-drill-sanding.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 263 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/05-fillament-cleaner.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 27 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/05-nozzle-brush-.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 111 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/05-nozzle-brush-holder.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 98 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/05-silicone_bed.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 61 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/06-octopi.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 155 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/06-octoprint.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 208 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/07-riced-ender-before-after.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 135 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/07-riced-ender-upgrades.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 110 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/07-riced-ender.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 216 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/3Dprint/pics/07-riced-ender.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 708 KiB  | 
							
								
								
									
										320
									
								
								slides/DeGoogle/Slides.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,320 @@
 | 
				
			|||||||
 | 
					<div style="margin: 0 auto; max-width: 960px">
 | 
				
			||||||
 | 
					  <p><img src="de-Google-1-1.png" alt="image" width="100%" /></p>
 | 
				
			||||||
 | 
					  <h2 id="why-bother">Why bother?</h2>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        Free and open source,
 | 
				
			||||||
 | 
					        <a href="https://en.wikipedia.org/wiki/Android_(operating_system)">AOSP</a>, F-Droid,
 | 
				
			||||||
 | 
					        <a href="https://en.wikipedia.org/wiki/MicroG">microG</a>,…
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>Privacy, spyware, ad-blocking,…</p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>Bloatware, performance, memory,…</p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>Higher android version, permacomputing.</p>
 | 
				
			||||||
 | 
					      <p><del>Anonimity</del></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h2 id="app-stores">App stores</h2>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/en/packages/com.aurora.store/">Aurora store</a>
 | 
				
			||||||
 | 
					      - anon
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/">F-droid</a> - FOSS app store
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/en/packages/com.machiav3lli.fdroid/">Neo store</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      - update & default repos (IzzyOnDroid)
 | 
				
			||||||
 | 
					      <a href="https://github.com/ImranR98/Obtainium">Obtainium</a> - Directly
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      From the Source <a href="https://open-store.io/">Open store</a> - ubuntu
 | 
				
			||||||
 | 
					      touch
 | 
				
			||||||
 | 
					      <a href="https://en.wikipedia.org/wiki/Progressive_web_app">PWA</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <p><code>Blacklisting same apps</code></p>
 | 
				
			||||||
 | 
					  <h2 id="apps-and-alternatives">Apps and alternatives</h2>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      Playstore ->
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/en/packages/com.aurora.store/">Aurora Store</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      Chrome -> Firefox foxus / Fennec
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/en/packages/de.marmaro.krt.ffupdater/">FFUpdater</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      Google search -> <a href="https://docs.searxng.org/">SearXNG</a>,
 | 
				
			||||||
 | 
					      <a href="https://github.com/hnhx/librex">LibreX</a>, DDG Maps ->
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/packages/app.organicmaps/">Organic maps</a> or
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://osmand.net/">OsmAnd</a> Youtube ->
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://newpipe.net/">NewPipe</a>,
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://freetubeapp.io/">FreeTube</a> Drive ->
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://syncthing.net/">Syncthing</a>,
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/packages/io.github.x0b.rcx/">RCX</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      Office
 | 
				
			||||||
 | 
					      ->
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/en/packages/at.tomtasche.reader/">LibreOffice & OpenOffice</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      Mail ->
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/packages/com.fsck.k9/">K-9 Mail</a> /
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/packages/eu.faircode.email/">Fairmail</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      Music/Video ->
 | 
				
			||||||
 | 
					      <a href="https://f-droid.org/packages/org.videolan.vlc/">VLC</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					    Reddit ->
 | 
				
			||||||
 | 
					    <a href="https://f-droid.org/en/packages/geddit.buzl.uk/">Geddit</a> (no API
 | 
				
			||||||
 | 
					    directly) Wikipedia ->
 | 
				
			||||||
 | 
					    <a href="https://f-droid.org/packages/org.greatfire.wikiunblocked.fdroid/">Wiki Unblocked</a>
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					    <a href="https://f-droid.org/packages/org.jak_linux.dns66/">DNS66</a> -
 | 
				
			||||||
 | 
					    DNS-Based Host Blocking (ad block)
 | 
				
			||||||
 | 
					    <a href="https://f-droid.org/packages/app.fedilab.nitterizeme/">UntrackMe</a>
 | 
				
			||||||
 | 
					    - cleaning urls and redirecting like LibRedirect Extension
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					    ->
 | 
				
			||||||
 | 
					    <strong><a href="https://github.com/offa/android-foss">Full FOSS app list</a></strong>
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <h2 id="operating-systems-custom-roms">Operating systems (Custom ROMs)</h2>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p><a href="https://wiki.lineageos.org/devices/">LineageOS</a></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p><a href="https://lineage.microg.org/">LineageOS for microG</a></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        <a href="https://divestos.org/pages/devices">DivestOS</a> -> soft
 | 
				
			||||||
 | 
					        fork on LinageOS
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        <a href="https://crdroid.net/downloads">crDroid</a> -> customized
 | 
				
			||||||
 | 
					        fork on LinageOS
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p><a href="https://www.droidontime.com/devices">DotOS</a></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p><a href="https://paranoidandroid.co/">Paranoid android</a></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p><a href="https://projectelixiros.com/download">ProjectElixirOS</a></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p><a href="https://evolution-x.org/download">evolutionX</a></p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        <a href="https://doc.e.foundation/devices">/e/os/</a> ->
 | 
				
			||||||
 | 
					        partialy FOSS
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        <a href="https://grapheneos.org/releases">GrapheneOS</a> -> only for
 | 
				
			||||||
 | 
					        pixel phones
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        <a href="https://calyxos.org/docs/guide/device-support/">Calyxos</a>
 | 
				
			||||||
 | 
					        -> pixels & fairphone
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        <a href="https://get.pixelexperience.org/">PixelExp</a> -> OS like
 | 
				
			||||||
 | 
					        google pixel
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h4 id="linux-phone-os">Linux phone OS</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://postmarketos.org/download/">PostmarketOS</a> -
 | 
				
			||||||
 | 
					      <a href="https://wiki.postmarketos.org/wiki/Devices">wiki devices</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li><a href="https://devices.droidian.org/">Droidian</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://mobian-project.org/">Mobian</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://devices.ubuntu-touch.io/">Ubuntu touch </a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://www.kali.org/docs/nethunter/">Kali Nethunter</a></li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					    -> <a href="https://linuxstans.com/linux-phone/">Linux phones list</a>
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <h3 id="prioritize-for">Prioritize for</h3>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>Unlockable</li>
 | 
				
			||||||
 | 
					    <li>Device is supported (TWRP and OS)</li>
 | 
				
			||||||
 | 
					    <li>Supports microG</li>
 | 
				
			||||||
 | 
					    <li>Last updated</li>
 | 
				
			||||||
 | 
					    <li>Highest android version</li>
 | 
				
			||||||
 | 
					    <li>Bootloader relocking</li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <p>!!! ATENTION !!! Device can be bricked!</p>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>Check if unlockable, has TWRP and OS version listed</li>
 | 
				
			||||||
 | 
					    <li>Backup your data</li>
 | 
				
			||||||
 | 
					    <li>Full battery and work while charging</li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      Enable <code>Allow OEM unlocking</code> under
 | 
				
			||||||
 | 
					      <code>Developer options</code> in Settings if available
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>Check many sources and people’s experience</li>
 | 
				
			||||||
 | 
					    <li>Tripple check everything</li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://divestos.org/pages/bootloader">Unlock bootloader</a>
 | 
				
			||||||
 | 
					      (data wipe)
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h4 id="custom-recovery-software">Custom recovery software</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://twrp.me/Devices/">TWRP</a>
 | 
				
			||||||
 | 
					      <a href="https://en.wikipedia.org/wiki/TWRP_(software)">wiki</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li><a href="https://orangefox.download/device">Orange fox</a></li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <p><code>Recovery boot shortcut != fastboot shortcut</code></p>
 | 
				
			||||||
 | 
					  <table>
 | 
				
			||||||
 | 
					    <thead>
 | 
				
			||||||
 | 
					      <tr>
 | 
				
			||||||
 | 
					        <th>Name</th>
 | 
				
			||||||
 | 
					        <th>Model</th>
 | 
				
			||||||
 | 
					        <th>SoC</th>
 | 
				
			||||||
 | 
					        <th><strong>Codename</strong></th>
 | 
				
			||||||
 | 
					      </tr>
 | 
				
			||||||
 | 
					    </thead>
 | 
				
			||||||
 | 
					    <tbody>
 | 
				
			||||||
 | 
					      <tr>
 | 
				
			||||||
 | 
					        <td>Samsung Galaxy S4</td>
 | 
				
			||||||
 | 
					        <td>GT-I9505</td>
 | 
				
			||||||
 | 
					        <td>Snapdragon</td>
 | 
				
			||||||
 | 
					        <td><strong>jfltexx</strong></td>
 | 
				
			||||||
 | 
					      </tr>
 | 
				
			||||||
 | 
					      <tr>
 | 
				
			||||||
 | 
					        <td>Samsung Galaxy S7</td>
 | 
				
			||||||
 | 
					        <td>SM-G935F</td>
 | 
				
			||||||
 | 
					        <td>Exynos</td>
 | 
				
			||||||
 | 
					        <td><strong>hero2lte</strong></td>
 | 
				
			||||||
 | 
					      </tr>
 | 
				
			||||||
 | 
					    </tbody>
 | 
				
			||||||
 | 
					  </table>
 | 
				
			||||||
 | 
					  <h2 id="my-exp">My exp</h2>
 | 
				
			||||||
 | 
					  <p>
 | 
				
			||||||
 | 
					    Samsung -> <a href="https://odinflashtool.com/">Odin</a>-
 | 
				
			||||||
 | 
					    <a href="https://odinflashtool.com/downloads/download-jodin3/">jOdin</a>,
 | 
				
			||||||
 | 
					    <a href="https://glassechidna.com.au/heimdall/">heimdall</a> -> s4, s7
 | 
				
			||||||
 | 
					    & s8 Xiomi -> SIM + xiomi acc, win app -> 7d approval (insta
 | 
				
			||||||
 | 
					    wipe) -> Redmi Note 7 & 8T LG ->
 | 
				
			||||||
 | 
					    <a href="https://developer.lge.com/resource/mobile/RetrieveBootloader.dev">Not supported anymore</a>,
 | 
				
			||||||
 | 
					    <a href="https://www.xda-developers.com/lg-exits-smartphone-business/">Exiting the smartphone business</a>
 | 
				
			||||||
 | 
					    -> G6
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
 | 
					  <p>LinageOS, crDroidOS, divestOS, dotOS, /e/OS, pixelExpirance</p>
 | 
				
			||||||
 | 
					  <p>Flash from microSD</p>
 | 
				
			||||||
 | 
					  <h2 id="usefull-links">Usefull links</h2>
 | 
				
			||||||
 | 
					  <h4 id="reddit-subs">Reddit subs</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li><a href="https://www.reddit.com/r/degoogle/">DeGoogle</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://www.reddit.com/r/fossdroid">FossDroid</a></li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://www.reddit.com/r/LineageOS">LinageOS</a>/
 | 
				
			||||||
 | 
					      <a href="https://www.reddit.com/r/DivestOS/">DivestOS</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li><a href="https://www.reddit.com/r/tuxphones">Tuxphones</a></li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h4 id="phones">Phones</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li><a href="https://www.pine64.org/pinephone/">Pinephone</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://puri.sm/products/librem-5/">Librem 5</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://shop.fairphone.com/">Fairphone</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://store.fxtec.com/">F(x)tec</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://volla.online/en/index.html">Volla Phone</a></li>
 | 
				
			||||||
 | 
					    <li><a href="https://www.shiftphones.com/en/">Shiftphone</a></li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h4 id="guides">Guides</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://xdaforums.com/all-forums-by-manufacturer">XDA Forums</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://www.xda-developers.com/install-adb-windows-macos-linux/">adb-tools</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://www.reddit.com/r/fossdroid/comments/o1gmb8/the_im_new_to_fdroid_starter_pack/">New to
 | 
				
			||||||
 | 
					        FossDroid</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://gofoss.net/intro-free-your-phone/">Gofoss free your phone</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h4 id="check-os-and-device">Check OS and device</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://en.wikipedia.org/wiki/List_of_custom_Android_distributions">List of custom Android
 | 
				
			||||||
 | 
					        distributions</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://linuxstans.com/linux-phone/">Linux Phone: All Options Compared</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li><a href="https://many.tuxphones.com/">Can My Phone Run Linux?</a></li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					  <h4 id="other">Other</h4>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://github.com/Genymobile/scrcpy">Screen copy (scrcpy)</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://en.wikipedia.org/wiki/Open-source_hardware">Open source hardware</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://www.phoronix.com/news/KDE-Plasma-Mobile-6-Porting">KDE Plasma Mobile 6 Porting</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					    <li>
 | 
				
			||||||
 | 
					      <a href="https://blogs.gnome.org/shell-dev/2022/09/09/gnome-shell-on-mobile-an-update/">Gnome sneak peak 2022</a>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								slides/DeGoogle/de-Google-1-1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 116 KiB  | 
							
								
								
									
										205
									
								
								slides/DeGoogle/unlockBootloader.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,205 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					-> # DeGoogle your phone
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Why bother?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Privacy, spyware, ad-blocking,...
 | 
				
			||||||
 | 
					- Bloatware, performance, memory,...
 | 
				
			||||||
 | 
					- Higher android version 
 | 
				
			||||||
 | 
					- Permacomputing, reusing old devices
 | 
				
			||||||
 | 
					- Free and open source 
 | 
				
			||||||
 | 
					- AOSP Android Open Source Project
 | 
				
			||||||
 | 
					- F-Droid 
 | 
				
			||||||
 | 
					- microG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-> *Dont expect anonimity*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Obtaining apps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Aurora store
 | 
				
			||||||
 | 
					- F-droid
 | 
				
			||||||
 | 
					- IzzyOnDroid repo
 | 
				
			||||||
 | 
					- Neo store
 | 
				
			||||||
 | 
					- Obtainium
 | 
				
			||||||
 | 
					- PWA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Blacklisting apps` on different stores, 
 | 
				
			||||||
 | 
					avoiding adds/payments, etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Apps and alternatives 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Playstore -> *Aurora Store*
 | 
				
			||||||
 | 
					Chrome -> *Fennec*
 | 
				
			||||||
 | 
					Google search -> *SearXNG LibreX, DDG*
 | 
				
			||||||
 | 
					Maps -> *Organic maps, OsmAnd*
 | 
				
			||||||
 | 
					Youtube -> *NewPipe, FreeTube*
 | 
				
			||||||
 | 
					Drive -> *Syncthing, Nextcloud*
 | 
				
			||||||
 | 
					Office -> *LibreOffice & OpenOffice*
 | 
				
			||||||
 | 
					Mail -> *Thunderbird*
 | 
				
			||||||
 | 
					Music/Video player -> *VLC*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DNS66, RethingDNS - DNS-Based Host Blocking 
 | 
				
			||||||
 | 
					UntrackMe - url clean, redirecs (LibRedirect) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-> ## Operating system (_Custom ROMs_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_ROM (Read-Only Memory):_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Originally, the term ROM referred 
 | 
				
			||||||
 | 
					to a type of computer memory where 
 | 
				
			||||||
 | 
					**data could only be read, not written or modified.**
 | 
				
			||||||
 | 
					In the context of mobile devices, 
 | 
				
			||||||
 | 
					"ROM" has come to refer to the firmware or operating system 
 | 
				
			||||||
 | 
					software that is installed on the device. 
 | 
				
			||||||
 | 
					This includes the core Android operating system along with 
 | 
				
			||||||
 | 
					any additional software and customizations 
 | 
				
			||||||
 | 
					made by the device manufacturer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Distros
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- *LineageOS*
 | 
				
			||||||
 | 
					- *LineageOS with microG*
 | 
				
			||||||
 | 
					- *DivestOS* -> soft fork on LinageOS
 | 
				
			||||||
 | 
					- *crDroid* -> customized fork on LinageOS
 | 
				
			||||||
 | 
					- many more
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- */e/os/* -> partialy FOSS
 | 
				
			||||||
 | 
					- *GrapheneOS* -> only for pixel phones
 | 
				
			||||||
 | 
					- *Calyxos* -> pixels & fairphone
 | 
				
			||||||
 | 
					- *PixelExp* -> OS like google pixel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Linux phone OS 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- PostmarketOS 
 | 
				
			||||||
 | 
					- Droidian 
 | 
				
			||||||
 | 
					- Mobian
 | 
				
			||||||
 | 
					- Ubuntu touch
 | 
				
			||||||
 | 
					- Kali Nethunter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Prioritize for
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Unlockable
 | 
				
			||||||
 | 
					- Device is supported (TWRP and CustomROM)
 | 
				
			||||||
 | 
					- Supports microG
 | 
				
			||||||
 | 
					- Last updated
 | 
				
			||||||
 | 
					- Highest android version
 | 
				
			||||||
 | 
					- Bootloader relocking
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Prepare
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Check if unlockable
 | 
				
			||||||
 | 
					- Backup your data
 | 
				
			||||||
 | 
					- Full battery and work while charging
 | 
				
			||||||
 | 
					- Use data cable
 | 
				
			||||||
 | 
					- Enable *Allow OEM unlocking* under *Developer options*
 | 
				
			||||||
 | 
					- Tripple check everything
 | 
				
			||||||
 | 
					- Unlock bootloader
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					->  `!!!ATENTION - Device can be bricked!!!`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Unlocking bootloader
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- install adb tools 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*Recovery mode*
 | 
				
			||||||
 | 
					*Fastboot mode*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Different combo keys or commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| Name      | Model     | SoC        | **Codename**  |
 | 
				
			||||||
 | 
					| --------- | --------- | ---------- | --------- |
 | 
				
			||||||
 | 
					| Galaxy S4 | GT-I9505  | Snapdragon | **jfltexx**   |
 | 
				
			||||||
 | 
					| Galaxy S7 | SM-G935F  | Exynos     | **hero2lte**  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Some commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					adb devices
 | 
				
			||||||
 | 
					fastboot devices
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					adb reboot bootloader
 | 
				
			||||||
 | 
					adb reboot recovery
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					adb push rom.img /sdcard/ 
 | 
				
			||||||
 | 
					adb sideload rom.img 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					adb shell 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fastboot boot recovery.img
 | 
				
			||||||
 | 
					fastboot flash recovery recovery.img
 | 
				
			||||||
 | 
					fastboot reboot bootloader
 | 
				
			||||||
 | 
					fastboot reboot recovery
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					heimdall flash --RECOVERY twrp.img --no-reboot 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Flashing recovery software
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- TWRP
 | 
				
			||||||
 | 
					- Orange fox
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flash from microSD
 | 
				
			||||||
 | 
					ADB push
 | 
				
			||||||
 | 
					ADB sideload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installing Custom ROM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Subforum for the device on XDA forums
 | 
				
			||||||
 | 
					- microSD Flash or ADB Sidelaod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Variations 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*Samsung* -> many options, heimdall (FOSS, linux)
 | 
				
			||||||
 | 
					*Xiomi* -> SIM + acc, win -> 7d approval (insta wipe) 
 | 
				
			||||||
 | 
					*LG* -> Not supported anymore
 | 
				
			||||||
 | 
					*Huawei* -> locked
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Some are unlocked by default (Fairphone, Pixel)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Reddit subs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- /r/degoogle
 | 
				
			||||||
 | 
					- /r/fossdroid
 | 
				
			||||||
 | 
					- /r/LineageOS
 | 
				
			||||||
 | 
					- /r/tuxphones
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Links
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Screen copy (scrcpy)](https://github.com/Genymobile/scrcpy)
 | 
				
			||||||
 | 
					- [Heimdall](https://github.com/Benjamin-Dobell/Heimdall)
 | 
				
			||||||
 | 
					- [TWRP](https://www.twrp.me/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										65
									
								
								slides/algebragrupe/algebragrupe.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					title:
 | 
				
			||||||
 | 
					- Algebra (Grupe)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					theme:
 | 
				
			||||||
 | 
					- Warsaw
 | 
				
			||||||
 | 
					colortheme:
 | 
				
			||||||
 | 
					- orchid
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Uvod
 | 
				
			||||||
 | 
					- Skupovi
 | 
				
			||||||
 | 
					    - Celi brojevi (beskonacni)
 | 
				
			||||||
 | 
					    - Ostatci pre deljenju (konacne)
 | 
				
			||||||
 | 
					- Operacije
 | 
				
			||||||
 | 
					    - mnozenje (binarna)
 | 
				
			||||||
 | 
					    - negacija (unarna)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Grupe
 | 
				
			||||||
 | 
					- Rezlutat ostaje unutar skupa
 | 
				
			||||||
 | 
					- Neutral
 | 
				
			||||||
 | 
					- Inverz
 | 
				
			||||||
 | 
					- Asocijativnost
 | 
				
			||||||
 | 
					- Abelove grupe (komutativnost)
 | 
				
			||||||
 | 
					- Ciklicne grupe (ostatak pri deljenju)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Podgrupe
 | 
				
			||||||
 | 
					- Celi/Racionalni brojevi
 | 
				
			||||||
 | 
					- Red grupe
 | 
				
			||||||
 | 
					- Red podgrupe deli red grupe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Kriptografija
 | 
				
			||||||
 | 
					- Skup poruka m odredjene velicine
 | 
				
			||||||
 | 
					- Operacija sifrovanja/potpisivanja $\oplus$
 | 
				
			||||||
 | 
					    - jednosmerna (kao i hash funkcije)
 | 
				
			||||||
 | 
					- Neutral (e)
 | 
				
			||||||
 | 
					- Inverz kljuceva (k1, k2)
 | 
				
			||||||
 | 
					    - $k1 \oplus k2 \equiv e$
 | 
				
			||||||
 | 
					- Sifrovanje/Potpisivanje ( $c \equiv m \oplus k1$ )
 | 
				
			||||||
 | 
					- Desifovanje/Provera ( $c \oplus k2 \equiv m$ )
 | 
				
			||||||
 | 
					- Asocijativnost
 | 
				
			||||||
 | 
					    - $c \oplus k2 \equiv (m \oplus k1) \oplus k2 \equiv m \oplus (k1 \oplus k2)$
 | 
				
			||||||
 | 
					    - $m \oplus (e) \equiv m$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Kljucevi
 | 
				
			||||||
 | 
					- Jedan kljuc (simetricna)
 | 
				
			||||||
 | 
					    - $k1 \equiv k2$
 | 
				
			||||||
 | 
					    - $1 \oplus 1 \equiv 0 \mod 2$ (komplement)
 | 
				
			||||||
 | 
					- Dva kljuca (asimetricna)
 | 
				
			||||||
 | 
					    - $2+3 \equiv 0 \mod 5$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Razmena kljuceva
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Razmena kljuceva
 | 
				
			||||||
 | 
					- Diffie–Hellman (DH)
 | 
				
			||||||
 | 
					    - parametri (g,n,...)
 | 
				
			||||||
 | 
					    - Abelova grupa (komutativnost)
 | 
				
			||||||
 | 
					    - $g \oplus a \oplus b \equiv g \oplus b \oplus a$
 | 
				
			||||||
 | 
					    - $(g \oplus a) \oplus b \equiv (g \oplus b) \oplus a$
 | 
				
			||||||
 | 
					    - $A \oplus b \equiv B \oplus a$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Sifrovanje/Potpisivanje
 | 
				
			||||||
 | 
					- Direktno sifrovanje (RSA)
 | 
				
			||||||
 | 
					- DH + simetcina = asimetricna (EC)
 | 
				
			||||||
							
								
								
									
										226
									
								
								slides/ansible/ansible.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,226 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					title: Ansible
 | 
				
			||||||
 | 
					author: Malin
 | 
				
			||||||
 | 
					theme: Warsaw
 | 
				
			||||||
 | 
					colortheme: orchid
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# First: Idempotence
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## My Setup Script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					# Place locale info
 | 
				
			||||||
 | 
					echo 'LANG=en_GB.UTF-8' >> /etc/locale.conf
 | 
				
			||||||
 | 
					/etc/default/libc-locales
 | 
				
			||||||
 | 
					xbps-reconfigure -fy glibc-locales
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Start cron service
 | 
				
			||||||
 | 
					xbps-install -y crontab
 | 
				
			||||||
 | 
					ln -s /etc/sv/cronie /var/service
 | 
				
			||||||
 | 
					sv start crontab
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  Add default dot files
 | 
				
			||||||
 | 
					git clone https://gitlab.com/andonome/mkdots.git /etc/skel/.dots
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					useradd -m ghost
 | 
				
			||||||
 | 
					usermod -aG wheel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Error: no package 'cron tab'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					# Place locale info
 | 
				
			||||||
 | 
					echo 'LANG=en_GB.UTF-8' >> /etc/locale.conf
 | 
				
			||||||
 | 
					/etc/default/libc-locales
 | 
				
			||||||
 | 
					xbps-reconfigure -fy glibc-locales
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Start cron service
 | 
				
			||||||
 | 
					xbps-install -y cronie
 | 
				
			||||||
 | 
					ln -s /etc/sv/cronie /var/service
 | 
				
			||||||
 | 
					sv start cronie
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  Add default dot files
 | 
				
			||||||
 | 
					git clone https://gitlab.com/andonome/mkdots.git /etc/skel/.dots
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					useradd -m ghost
 | 
				
			||||||
 | 
					usermod -aG wheel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> ...loading locales
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Error: No command 'git'
 | 
				
			||||||
 | 
					> Error: user already exists
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					# Place locale info
 | 
				
			||||||
 | 
					echo 'LANG=en_GB.UTF-8' >> /etc/locale.conf
 | 
				
			||||||
 | 
					/etc/default/libc-locales
 | 
				
			||||||
 | 
					xbps-reconfigure -fy glibc-locales
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Start cron service
 | 
				
			||||||
 | 
					xbps-install -y cronie git
 | 
				
			||||||
 | 
					ln -s /etc/sv/cronie /var/service
 | 
				
			||||||
 | 
					sv start cronie
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#  Add default dot files
 | 
				
			||||||
 | 
					git clone https://gitlab.com/andonome/mkdots.git /etc/skel/.dots
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					useradd -m ghost
 | 
				
			||||||
 | 
					usermod -G wheel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> `$ cat /etc/locale.conf`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					LC_COLLATE=C
 | 
				
			||||||
 | 
					LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					LANG=en_GB.UTF-8
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> `$ ???`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					grep en_GB /etc/locale.conf || \
 | 
				
			||||||
 | 
					    echo 'LANG=en_GB.UTF-8' >> /etc/locale.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# So Ansible...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					ansible --module-name=ping localhost
 | 
				
			||||||
 | 
					ansible -m package -a 'upgrade=yes' localhost
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Lines in Files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					ansible -m lineinfile -a 'line=test create=yes path=/tmp/x' localhost
 | 
				
			||||||
 | 
					ansible -m say -a 'voice=en_GB msg="Testing"' localhost
 | 
				
			||||||
 | 
					ansible -m say -a 'voice=en_GB msg="Testing"' localhost
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# More Hosts!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Hark at the hosts in `~/.ssh/config`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					Host soft
 | 
				
			||||||
 | 
					    HostName soft.dmz.rs
 | 
				
			||||||
 | 
					    Port 2222
 | 
				
			||||||
 | 
						User ghost
 | 
				
			||||||
 | 
						IdentityFile ~/.ssh/id_rsa
 | 
				
			||||||
 | 
					Host krov
 | 
				
			||||||
 | 
						HostName krov.dmz.rs
 | 
				
			||||||
 | 
						User malin
 | 
				
			||||||
 | 
					Host kralizec
 | 
				
			||||||
 | 
						HostName dmz.rs
 | 
				
			||||||
 | 
						User root
 | 
				
			||||||
 | 
					Host laka
 | 
				
			||||||
 | 
						HostName 192.168.0.50
 | 
				
			||||||
 | 
						IdentityFile ~/.ssh/id_rsa
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Hosts in toml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```toml
 | 
				
			||||||
 | 
					[webby]
 | 
				
			||||||
 | 
					nginx12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[webby:vars]
 | 
				
			||||||
 | 
					user=alice
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is easy to read, but breaks standards.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`ansible-play -i hosts.toml playbooks/mmcli`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Better to stick with standards, even if you can't read it!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Very yaml:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yml
 | 
				
			||||||
 | 
					all:
 | 
				
			||||||
 | 
					  vars:
 | 
				
			||||||
 | 
					    ansible_python_interpreter: /usr/bin/python3.13
 | 
				
			||||||
 | 
					    cow_selection: random
 | 
				
			||||||
 | 
					    username: ghost
 | 
				
			||||||
 | 
					    locale: Europe/Belgrade
 | 
				
			||||||
 | 
					    libc_locale: en_GB.UTF-8 UTF-8
 | 
				
			||||||
 | 
					  children:
 | 
				
			||||||
 | 
					    arch:
 | 
				
			||||||
 | 
					      children:
 | 
				
			||||||
 | 
					        archyay:
 | 
				
			||||||
 | 
					          hosts:
 | 
				
			||||||
 | 
					            ratking:
 | 
				
			||||||
 | 
					            archkube:
 | 
				
			||||||
 | 
					            nimbus:
 | 
				
			||||||
 | 
					    void:
 | 
				
			||||||
 | 
					      hosts:
 | 
				
			||||||
 | 
					        hex:
 | 
				
			||||||
 | 
					    debian:
 | 
				
			||||||
 | 
					      vars:
 | 
				
			||||||
 | 
					        ansible_python_interpreter: /usr/bin/python3.12
 | 
				
			||||||
 | 
					      hosts:
 | 
				
			||||||
 | 
					        laka:
 | 
				
			||||||
 | 
					        proxmox:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`ansible-play -i hosts.yml playbooks/mmcli`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# What it Does
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Installs packages
 | 
				
			||||||
 | 
					- Copies configs *to* host
 | 
				
			||||||
 | 
					- Fetches files *from* host
 | 
				
			||||||
 | 
					    * Backup ssl certs
 | 
				
			||||||
 | 
					    * Backup ssh identify keys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check the Repository Here!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`[ $git_repo_address ]`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										22
									
								
								slides/ansible/examples/bind.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Compile BIND
 | 
				
			||||||
 | 
					  hosts: hex
 | 
				
			||||||
 | 
					  become: false
 | 
				
			||||||
 | 
					  environment:
 | 
				
			||||||
 | 
					    PATH: '{{ ansible_env.PATH }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tasks:
 | 
				
			||||||
 | 
					    - name: Git pull BIND
 | 
				
			||||||
 | 
					      ansible.builtin.git:
 | 
				
			||||||
 | 
					        repo: https://gitlab.com/bindrpg/core.git
 | 
				
			||||||
 | 
					        dest: "{{ ansible_user_dir }}/core"
 | 
				
			||||||
 | 
					        clone: true
 | 
				
			||||||
 | 
					        verify_commit: true
 | 
				
			||||||
 | 
					        version: master
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Make BIND
 | 
				
			||||||
 | 
					      community.general.make:
 | 
				
			||||||
 | 
					        chdir: "{{ ansible_user_dir }}/core"
 | 
				
			||||||
 | 
					        jobs: 3
 | 
				
			||||||
 | 
					        target: all
 | 
				
			||||||
							
								
								
									
										27
									
								
								slides/ansible/examples/mmcli.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Install Mermaid ASCII
 | 
				
			||||||
 | 
					  hosts: laka
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tasks:
 | 
				
			||||||
 | 
					    - name: Install deps
 | 
				
			||||||
 | 
					      ansible.builtin.package:
 | 
				
			||||||
 | 
					        name:
 | 
				
			||||||
 | 
					          - git
 | 
				
			||||||
 | 
					          - golang
 | 
				
			||||||
 | 
					          - make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Ensure local src dir exists
 | 
				
			||||||
 | 
					      ansible.builtin.file:
 | 
				
			||||||
 | 
					        path: /usr/local/src/
 | 
				
			||||||
 | 
					        state: directory
 | 
				
			||||||
 | 
					        mode: '0755'
 | 
				
			||||||
 | 
					    - name: Clone mermaid-ascii
 | 
				
			||||||
 | 
					      ansible.builtin.git:
 | 
				
			||||||
 | 
					        repo: https://github.com/AlexanderGrooff/mermaid-ascii.git
 | 
				
			||||||
 | 
					        dest: /usr/local/src/mermaid-ascii/
 | 
				
			||||||
 | 
					        update: yes
 | 
				
			||||||
 | 
					    - name: Install mermaid
 | 
				
			||||||
 | 
					      community.general.make:
 | 
				
			||||||
 | 
					        chdir: /usr/local/src/mermaid-ascii/
 | 
				
			||||||
 | 
					        target: install
 | 
				
			||||||
							
								
								
									
										10
									
								
								slides/ansible/examples/tlmgr.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Install tlmgr
 | 
				
			||||||
 | 
					  hosts: june
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tasks:
 | 
				
			||||||
 | 
					    - name: Install texlive
 | 
				
			||||||
 | 
					      ansible.builtin.script: mintex.sh
 | 
				
			||||||
 | 
					      args:
 | 
				
			||||||
 | 
					        creates: /usr/local/bin/tlmgr
 | 
				
			||||||
							
								
								
									
										18
									
								
								slides/ansible/examples/transmission.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Make crontab
 | 
				
			||||||
 | 
					  hosts: june
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tasks:
 | 
				
			||||||
 | 
					    - name: Late-night transmission start
 | 
				
			||||||
 | 
					      ansible.builtin.cron:
 | 
				
			||||||
 | 
					        name: start transmission
 | 
				
			||||||
 | 
					        minute: 0
 | 
				
			||||||
 | 
					        hour: 3
 | 
				
			||||||
 | 
					        job: /usr/bin/systemctl start transmission
 | 
				
			||||||
 | 
					    - name: Late-night transmission end
 | 
				
			||||||
 | 
					      ansible.builtin.cron:
 | 
				
			||||||
 | 
					        name: stop transmission
 | 
				
			||||||
 | 
					        minute: 0
 | 
				
			||||||
 | 
					        hour: 6
 | 
				
			||||||
 | 
					        job: /usr/bin/systemctl stop transmission
 | 
				
			||||||
							
								
								
									
										24
									
								
								slides/ansible/examples/tspreed.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: Install tspreed
 | 
				
			||||||
 | 
					  hosts: october
 | 
				
			||||||
 | 
					  become: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tasks:
 | 
				
			||||||
 | 
					    - name: Ensure local src dir exists
 | 
				
			||||||
 | 
					      ansible.builtin.file:
 | 
				
			||||||
 | 
					        path: /usr/local/src/
 | 
				
			||||||
 | 
					        state: directory
 | 
				
			||||||
 | 
					        mode: '0755'
 | 
				
			||||||
 | 
					    - name: Install make
 | 
				
			||||||
 | 
					      ansible.builtin.package:
 | 
				
			||||||
 | 
					        name: make
 | 
				
			||||||
 | 
					        state: present
 | 
				
			||||||
 | 
					    - name: Clone tspreed
 | 
				
			||||||
 | 
					      ansible.builtin.git:
 | 
				
			||||||
 | 
					        repo: https://github.com/n-ivkovic/tspreed.git
 | 
				
			||||||
 | 
					        dest: /usr/local/src/tspreed
 | 
				
			||||||
 | 
					        update: yes
 | 
				
			||||||
 | 
					    - name: Install tspreed
 | 
				
			||||||
 | 
					      community.general.make:
 | 
				
			||||||
 | 
					        chdir: /usr/local/src/tspreed
 | 
				
			||||||
 | 
					        target: install
 | 
				
			||||||
@@ -10,13 +10,21 @@ colortheme:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Uvod
 | 
					# Uvod
 | 
				
			||||||
- Šta je ekonomija?
 | 
					- Šta je ekonomija?
 | 
				
			||||||
 | 
					    - istorija
 | 
				
			||||||
 | 
					    - trampa
 | 
				
			||||||
 | 
					    - kovanice i papirni novac
 | 
				
			||||||
 | 
					    - "slobodna" trgovina
 | 
				
			||||||
	- raspodela resursa
 | 
						- raspodela resursa
 | 
				
			||||||
	- efikasnost
 | 
						- efikasnost i evektivnost
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Uvod
 | 
					# Uvod
 | 
				
			||||||
- Šta je novac?
 | 
					- Šta je novac?
 | 
				
			||||||
 | 
					    - banke
 | 
				
			||||||
 | 
					    - ponuda i traznja
 | 
				
			||||||
	- moć odlučivanja u raspodeli resursa
 | 
						- moć odlučivanja u raspodeli resursa
 | 
				
			||||||
	- likvidnost
 | 
						- likvidnost
 | 
				
			||||||
 | 
					    - bruto domaci proizvod (BDP eng GDP)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Štednja
 | 
					# Štednja
 | 
				
			||||||
- Štednja
 | 
					- Štednja
 | 
				
			||||||
@@ -47,6 +55,7 @@ colortheme:
 | 
				
			|||||||
- Brokeri
 | 
					- Brokeri
 | 
				
			||||||
	- domaći
 | 
						- domaći
 | 
				
			||||||
	- strani
 | 
						- strani
 | 
				
			||||||
 | 
					    - wall street
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Kripto
 | 
					# Kripto
 | 
				
			||||||
- Novac
 | 
					- Novac
 | 
				
			||||||
@@ -62,10 +71,33 @@ colortheme:
 | 
				
			|||||||
	- iluzija sposobnosti
 | 
						- iluzija sposobnosti
 | 
				
			||||||
	- zakoni
 | 
						- zakoni
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Uspesi sistema
 | 
				
			||||||
 | 
					- Uspesi sistema
 | 
				
			||||||
 | 
					 - brz napredak u poljima interesovanja (profita)
 | 
				
			||||||
 | 
					 - masovna proizvodnja
 | 
				
			||||||
 | 
					 - poslovi i obucavanje naroda
 | 
				
			||||||
 | 
					 - 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Neuspesi i kritika sistema
 | 
				
			||||||
 | 
					- Kritika
 | 
				
			||||||
 | 
					   - planirano zastarevanje
 | 
				
			||||||
 | 
					   - ciklicna potrosnja
 | 
				
			||||||
 | 
					   - ekoloska katastrofa
 | 
				
			||||||
 | 
					   - automatizacija
 | 
				
			||||||
 | 
					   - besmisleni poslovi
 | 
				
			||||||
 | 
					   - robovanje profitu
 | 
				
			||||||
 | 
					   - kompetitivnost i ratovi
 | 
				
			||||||
 | 
					   - sve na prodaju
 | 
				
			||||||
 | 
					   - kriza u ciklusima
 | 
				
			||||||
 | 
					   - najbogatijih 1%
 | 
				
			||||||
 | 
					   - maltuzianizm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Kako da se obogatim?
 | 
					# Kako da se obogatim?
 | 
				
			||||||
- Kako zaraditi?
 | 
					- Kako zaraditi?
 | 
				
			||||||
	- roditi se bogat
 | 
						- nasledstvo
 | 
				
			||||||
	- krasti
 | 
					 | 
				
			||||||
	- rad i štednja
 | 
						- rad i štednja
 | 
				
			||||||
 | 
					    - investicije
 | 
				
			||||||
 | 
					    - kradja
 | 
				
			||||||
	- sreća
 | 
						- sreća
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,62 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
title:
 | 
					 | 
				
			||||||
- The Extended Mind and Licensing
 | 
					 | 
				
			||||||
author:
 | 
					 | 
				
			||||||
- Malin
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
theme:
 | 
					 | 
				
			||||||
- Warsaw
 | 
					 | 
				
			||||||
colortheme:
 | 
					 | 
				
			||||||
- orchid
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# History
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Started with Clark and Chalmers
 | 
					 | 
				
			||||||
- [Chalmers at Ted](https://yt.artemislena.eu/watch?v=ksasPjrYFTg)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Cyborg Manifesto
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Or maybe Donna Haraway?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Original Extended Minds
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Notebooks
 | 
					 | 
				
			||||||
- Counting on fingers
 | 
					 | 
				
			||||||
- Fil-o-fax
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Electronic Extended Minds
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Phones
 | 
					 | 
				
			||||||
- Computers
 | 
					 | 
				
			||||||
- Google?
 | 
					 | 
				
			||||||
- Note-apps?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Intuition Pumps
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Proprioception and teeth
 | 
					 | 
				
			||||||
- The feeling of loss over theft
 | 
					 | 
				
			||||||
- Second brains
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Requirements
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- 'to-hand'
 | 
					 | 
				
			||||||
- Repetition
 | 
					 | 
				
			||||||
- Locus
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
> Do you know where they live?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Counter Requirements
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
> Skin and bone
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Does *Ghost in the Shell* count?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# The Point and the Future
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# End Notes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
> Can you code in the sand?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -54,7 +54,7 @@ Does *Ghost in the Shell* count?
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# The Point and the Future
 | 
					# The Point and the Future
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# End Notes
 | 
					# End Notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 358 KiB  | 
							
								
								
									
										243
									
								
								slides/joyous_bash/joyous_bash.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,243 @@
 | 
				
			|||||||
 | 
					# Shut Up!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					echo blacklist pcspkr >  /etc/modprobe.d/nobeep.conf
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Standard Visuals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `cbonsai`
 | 
				
			||||||
 | 
					- `asciiquarium`
 | 
				
			||||||
 | 
					- `top`
 | 
				
			||||||
 | 
					    * `ZH4W`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Another Monday!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `cal --reform julian`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Weather
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					curl wttr.in
 | 
				
			||||||
 | 
					curl -s wttr.in/
 | 
				
			||||||
 | 
					curl wttr.in/Moon
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# `ls`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`ls -X`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# vim
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- blog!
 | 
				
			||||||
 | 
					- seriously, just write
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# `watch`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Watch Differences
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `watch -d stat "$file"`
 | 
				
			||||||
 | 
					- `watch -d ip a`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## With Makefiles
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					watch --chgexit ping -c 1 dmz.rs && sleep 3 && unison -batch pir
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Check Progress
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					watch 'ls **/*.pdf | column'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Watch Shell Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					watch -e ./script.sh
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Slow Down
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					function slow(){
 | 
				
			||||||
 | 
						ff=/tmp/bashpipe_$(date +%s)
 | 
				
			||||||
 | 
						mkfifo $ff 2>/dev/null
 | 
				
			||||||
 | 
						( cat $ff | perl -We 'use Time::HiRes;$|++;while(read(STDIN,$c,1)){Time::HiRes::usleep(15000);print $c;}' )& exec &> $ff
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Safety?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## `htop`?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## `speedtest`?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- **YES**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Notes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					alias no='$EDITOR .no.md'
 | 
				
			||||||
 | 
					function n(){
 | 
				
			||||||
 | 
						[ -z "$1" ] && cat .no.md || echo $@ >> .no.md
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# URL  Decoding
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					urldecode(){ : "${*//+/ }"; echo -e "${_//%/\\x}"; }
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Send Text
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					function sendtext(){
 | 
				
			||||||
 | 
						[ -f "$1" ] && \
 | 
				
			||||||
 | 
						cat "$1" | nc termbin.com 9999 || \
 | 
				
			||||||
 | 
						echo "$($1)" | nc termbin.com 9999
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Readline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Put this in `.inputrc`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```text
 | 
				
			||||||
 | 
					set editing-mode vi
 | 
				
			||||||
 | 
					set keymap vi
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# More Readline vi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```text
 | 
				
			||||||
 | 
					set editing-mode vi
 | 
				
			||||||
 | 
					set show-mode-in-prompt on
 | 
				
			||||||
 | 
					set vi-ins-mode-string "  "
 | 
				
			||||||
 | 
					set vi-cmd-mode-string "W "
 | 
				
			||||||
 | 
					set keymap vi
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# More Readline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```text
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set match-hidden-files off
 | 
				
			||||||
 | 
					set show-all-if-ambiguous on
 | 
				
			||||||
 | 
					set show-all-if-unmodified on
 | 
				
			||||||
 | 
					set colored-stats on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"\C- ": shell-expand-line
 | 
				
			||||||
 | 
					"\C-x": glob-expand-word
 | 
				
			||||||
 | 
					Control-g: "g\n"
 | 
				
			||||||
 | 
					Control-y: "| ccze\n"
 | 
				
			||||||
 | 
					Control-o: "\C-u lfcd\n\C-u"
 | 
				
			||||||
 | 
					Control-l: "\C-u clear -x && ls\n"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Synchronization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Syncthing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 'Just works'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Unison
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fuck haskell
 | 
				
			||||||
 | 
					- But actually it's good
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# `column`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					column -ts: -H PW,GID,shell -N User,PW,UID,GID,Description,Home,shell /etc/passwd
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					column -J -ts: -H PW,GID,shell -N User,PW,UID,GID,Description,Home,shell /etc/passwd | jq -r .table.[].user
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					b () 
 | 
				
			||||||
 | 
					{ 
 | 
				
			||||||
 | 
					    eval "cd $(for d in $(seq 1 $1);
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    printf ../;
 | 
				
			||||||
 | 
					done)"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# `eval`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Don't
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Clear Downloads
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					rm -rf ~/Downloads/*
 | 
				
			||||||
 | 
					echo "tmpfs $HOME/Downloads tmpfs defaults,size=1G 0 0" | sudo tee -a /etc/fstab
 | 
				
			||||||
 | 
					sudo systemctl daemon-reload # Only for systemd
 | 
				
			||||||
 | 
					sudo mount -a
 | 
				
			||||||
 | 
					mount | tail -1
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The Best: `yes`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `yes`
 | 
				
			||||||
 | 
					- `yes no`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										74
									
								
								slides/kombucha/gutMicrobiome.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Vaccines and modern medicine
 | 
				
			||||||
 | 
					- Antibiotic apocalipse
 | 
				
			||||||
 | 
					- Gut microbiome => immunity / mental health
 | 
				
			||||||
 | 
					- Transfer experiment
 | 
				
			||||||
 | 
					- PREbiotic / PRObiotic
 | 
				
			||||||
 | 
					- Fermented procucts (not pasteurization)
 | 
				
			||||||
 | 
						- kombucha
 | 
				
			||||||
 | 
						- kefir
 | 
				
			||||||
 | 
						- kimchi
 | 
				
			||||||
 | 
						- picked food
 | 
				
			||||||
 | 
						- kvas
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Komucha
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					![[scoby.jpg | 350]]
 | 
				
			||||||
 | 
					*Symbiotic culture of bacteria and yeast (SCOBY)*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					![[kombucha-jar.jpg | 350]]
 | 
				
			||||||
 | 
					*First fermentation*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Recepie:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 70g/l sugar
 | 
				
			||||||
 | 
					- green/black tea (not teabags)
 | 
				
			||||||
 | 
					- room temp
 | 
				
			||||||
 | 
					- 14 days -> 1st ferment
 | 
				
			||||||
 | 
					- 3-10 days -> 2nd ferment with fruit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- r/komucha
 | 
				
			||||||
 | 
					- Stores with healty foods selling commercially
 | 
				
			||||||
 | 
					- Many types of acids - low ph - microbes thrive
 | 
				
			||||||
 | 
					- 0.5% alcohol (USA regulations)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Don't toss those pineapple skins! Turn them into a delicious and refreshing Mexican probiotic drink called tepache. It's a great alternative to soda or kombucha and perfect for staying cool in the summer heat. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tepache Recipe:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Add the skins of 1 pineapple to a 2L jar.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mix in ½ cup sugar or brown sugar (piloncillo is typically used but I couldn't find it), 1 inch of ginger, and 1 cinnamon stick.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fill to the top with water.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Let it ferment for 5 days.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bottle it up for a second fermentation for 2 days. Then, chill in the fridge before serving.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Enjoy this bubbly, homemade treat! 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IS you would like the link a step by step YouTube video comment "YT Tepache"
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								slides/kombucha/kombucha-jar.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 48 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								slides/kombucha/scoby.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										119
									
								
								slides/makefiles/PS/general_make.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,119 @@
 | 
				
			|||||||
 | 
					# Generalizing Makefiles for All Occasions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Rules are bad,
 | 
				
			||||||
 | 
					- standards are good,
 | 
				
			||||||
 | 
					- habits are better.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# General Standards
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `make help`
 | 
				
			||||||
 | 
					- `make check`
 | 
				
			||||||
 | 
					- `sudo make install`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**NB:** we separate `make` from `make install` so that the files are not build with the user `root` as the owner.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Service Standards
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `make backup.tgz`
 | 
				
			||||||
 | 
					- `make install`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Service Backups in Two Files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `configs`: configuration files, all tracked in git.
 | 
				
			||||||
 | 
					- `store`: passwords and binary files, not tracked in git.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## New Abilities Unlocked
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Open Access Administration.
 | 
				
			||||||
 | 
					- Sharing admin configs with hacker spaces.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## BEHOLD: The Everything Makefile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					CONFIGS = $(patsubst /%,%,$(shell cat configs))
 | 
				
			||||||
 | 
					STORE = $(patsubst /%,%,$(shell cat store))
 | 
				
			||||||
 | 
					CP = mkdir -p $(dir $@) && cp -a
 | 
				
			||||||
 | 
					IGNORE_FILE = $(shell test -d .git/info && echo .git/info/exclude || echo .gitignore)
 | 
				
			||||||
 | 
					GIT_COMMIT = git commit -m"add $@" --no-gpg-sign --no-signoff
 | 
				
			||||||
 | 
					SELECTOR != command -v sk || command -v fzy || command -f fzf
 | 
				
			||||||
 | 
					.PHONY: all
 | 
				
			||||||
 | 
					all: init backup.tgz $(IGNORE_FILE)
 | 
				
			||||||
 | 
					backup.tgz: $(CONFIGS) $(STORE)
 | 
				
			||||||
 | 
						tar czf $@ $^
 | 
				
			||||||
 | 
					$(IGNORE_FILE): store
 | 
				
			||||||
 | 
						echo $(STORE) backup.tgz | tr ' ' '\n' > $@
 | 
				
			||||||
 | 
					.PHONY: init
 | 
				
			||||||
 | 
					init: configs store
 | 
				
			||||||
 | 
					configs store:
 | 
				
			||||||
 | 
						while con="$$(find /var /etc/ /sys/ -maxdepth 2 -mindepth 1 -type f 2>/dev/null  | $(SELECTOR) -p "Select files for $@\nPress Ctrl+d once done")"; do \
 | 
				
			||||||
 | 
						echo "$$con"; \
 | 
				
			||||||
 | 
						done > $@
 | 
				
			||||||
 | 
					$(CONFIGS): %: /%
 | 
				
			||||||
 | 
						$(CP) $< $@
 | 
				
			||||||
 | 
						git add $@
 | 
				
			||||||
 | 
						$(GIT_COMMIT)
 | 
				
			||||||
 | 
						$(info made git commit for $@)
 | 
				
			||||||
 | 
					$(STORE): %: /%
 | 
				
			||||||
 | 
						$(CP) $< $@
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						$(RM) -r $(CONFIGS) $(STORE) backup.tgz
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Example: Soft Serve Makefile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<br>
 | 
				
			||||||
 | 
					The `configs` file:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					/etc/soft-serve.conf
 | 
				
			||||||
 | 
					/var/lib/soft-serve/data/config.yaml
 | 
				
			||||||
 | 
					/var/lib/soft-serve/data/file
 | 
				
			||||||
 | 
					/etc/nginx/sites-enabled/soft.dmz.rs
 | 
				
			||||||
 | 
					/etc/nginx/sites-available/soft.dmz.rs
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<br>
 | 
				
			||||||
 | 
					The `store` file:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					/var/lib/soft-serve/data/lfs
 | 
				
			||||||
 | 
					/var/lib/soft-serve/data/repo
 | 
				
			||||||
 | 
					/var/lib/soft-serve/data/soft
 | 
				
			||||||
 | 
					/etc/letsencrypt/archive/soft
 | 
				
			||||||
 | 
					/etc/letsencrypt/live/soft.dm
 | 
				
			||||||
 | 
					/var/lib/soft-serve/data/ssh/
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Other Build Systems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> "*What if I want to use this other thing, instead of a makefile?"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Other Build Systems (Sans Heresy)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> "*What if I want to use this other thing, instead of a makefile?"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Easy: just use a Makefile.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ ... ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public/: src/
 | 
				
			||||||
 | 
					    python build_pages.py
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										34
									
								
								slides/makefiles/PS/omni_makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					CONFIGS = $(patsubst /%,%,$(shell cat configs))
 | 
				
			||||||
 | 
					STORE = $(patsubst /%,%,$(shell cat store))
 | 
				
			||||||
 | 
					CP = mkdir -p $(dir $@) && cp -a
 | 
				
			||||||
 | 
					IGNORE_FILE = $(shell test -d .git/info && echo .git/info/exclude || echo .gitignore)
 | 
				
			||||||
 | 
					GIT_COMMIT = git commit -m"add $@" --no-gpg-sign --no-signoff
 | 
				
			||||||
 | 
					SELECTOR != command -v sk || command -v fzy || command -f fzf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: all
 | 
				
			||||||
 | 
					all: init backup.tgz $(IGNORE_FILE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					backup.tgz: $(CONFIGS) $(STORE)
 | 
				
			||||||
 | 
						tar czf $@ $^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(IGNORE_FILE): store
 | 
				
			||||||
 | 
						echo $(STORE) backup.tgz | tr ' ' '\n' > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: init
 | 
				
			||||||
 | 
					init: configs store
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					configs store:
 | 
				
			||||||
 | 
						while con="$$(find /var /etc/ /sys/ -maxdepth 2 -mindepth 1 -type f 2>/dev/null  | $(SELECTOR) -p "Select files for $@\nPress Ctrl+d once done")"; do \
 | 
				
			||||||
 | 
						echo "$$con"; \
 | 
				
			||||||
 | 
						done > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(CONFIGS): %: /%
 | 
				
			||||||
 | 
						$(CP) $< $@
 | 
				
			||||||
 | 
						git add $@
 | 
				
			||||||
 | 
						$(GIT_COMMIT)
 | 
				
			||||||
 | 
						$(info made git commit for $@)
 | 
				
			||||||
 | 
					$(STORE): %: /%
 | 
				
			||||||
 | 
						$(CP) $< $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						$(RM) -r $(CONFIGS) $(STORE) backup.tgz
 | 
				
			||||||
							
								
								
									
										1
									
								
								slides/makefiles/dependency_ladder/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					*
 | 
				
			||||||
							
								
								
									
										16
									
								
								slides/makefiles/dependency_ladder/makes/books
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					MONTHS != date +%B && date -d '1 month' +%B
 | 
				
			||||||
 | 
					IP != dig +short myip.opendns.com @resolver1.opendns.com
 | 
				
			||||||
 | 
					CITY != curl -s http://api.db-ip.com/v2/free/$(IP) | grep city | cut -d: -f2 | tr -d '"'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TITLES = $(MONTHS)
 | 
				
			||||||
 | 
					TITLES += $(CITY)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BOOKS = $(patsubst %,Books/%.md,$(TITLES))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(BOOKS):
 | 
				
			||||||
 | 
						@mkdir -p $(@D)
 | 
				
			||||||
 | 
						fortune -l > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					progs += $(BOOKS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dross += Books/
 | 
				
			||||||
							
								
								
									
										10
									
								
								slides/makefiles/dependency_ladder/makes/cows
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					cows = $(patsubst Forts/fortune_%.md,Cows/cow-%.txt,$(wildcard Forts/fortune_*.md))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(cows): Cows/cow-%.txt: Forts/fortune_%.md
 | 
				
			||||||
 | 
						@mkdir -p $(@D)
 | 
				
			||||||
 | 
						cat $< | cowsay > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					progs += forts
 | 
				
			||||||
 | 
					progs += $(cows)
 | 
				
			||||||
 | 
					dross += Cows/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								slides/makefiles/dependency_ladder/makes/forts
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					fnums != seq 8 | sort -R | head -2
 | 
				
			||||||
 | 
					forts = $(patsubst %,Forts/fortune_%.md,$(fnums))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(forts):
 | 
				
			||||||
 | 
						@mkdir -p $(@D)
 | 
				
			||||||
 | 
						fortune -s > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					progs += $(forts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dross += Forts/
 | 
				
			||||||
							
								
								
									
										14
									
								
								slides/makefiles/dependency_ladder/makes/zoo
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					filter = $(shell cowsay -l | sort -R | head -1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zoo = $(patsubst Forts/fortune_%.md,Zoo/animal-%.md,$(forts))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(zoo): Zoo/animal-%.md: Forts/fortune_%.md
 | 
				
			||||||
 | 
						@mkdir -p $(@D)
 | 
				
			||||||
 | 
						echo '```' > $@
 | 
				
			||||||
 | 
						cat $< | cowsay -f $(filter) >> $@
 | 
				
			||||||
 | 
						echo '```' >> $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					progs += forts
 | 
				
			||||||
 | 
					progs += $(zoo)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dross += Zoo/
 | 
				
			||||||
							
								
								
									
										1
									
								
								slides/makefiles/examples/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					*
 | 
				
			||||||
							
								
								
									
										8
									
								
								slides/makefiles/examples/check
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					CHECKER = command -v
 | 
				
			||||||
 | 
					.PHONY: check
 | 
				
			||||||
 | 
					check:
 | 
				
			||||||
 | 
						$(CHECKER) fortune >/dev/null
 | 
				
			||||||
 | 
						$(CHECKER) cowsay >/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					file: | check
 | 
				
			||||||
 | 
						fortune | cowsay > $@
 | 
				
			||||||
							
								
								
									
										13
									
								
								slides/makefiles/examples/fort_1
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					forts/big_fort.txt: forts/short.txt forts/long.txt
 | 
				
			||||||
 | 
						cat forts/short.txt forts/long.txt > forts/big_fort.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/:
 | 
				
			||||||
 | 
						mkdir forts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/short.txt: forts/
 | 
				
			||||||
 | 
						fortune -s > forts/short.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/long.txt: forts/
 | 
				
			||||||
 | 
						fortune -l > forts/long.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								slides/makefiles/examples/fort_2
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					forts/big_fort.txt: forts/short.txt forts/long.txt
 | 
				
			||||||
 | 
							cat $^ > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					README.md:
 | 
				
			||||||
 | 
						echo "For an example makefile for python" > $@
 | 
				
			||||||
 | 
						echo "check out the nd6 dice-roller at" >> $@
 | 
				
			||||||
 | 
						echo "ssh -p 2222 soft.dmz.rs -t nd6" >> $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/: README.md
 | 
				
			||||||
 | 
						mkdir -p $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/short.txt: forts/
 | 
				
			||||||
 | 
						fortune -s > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/long.txt: forts/
 | 
				
			||||||
 | 
						fortune -l > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						rm -rf forts
 | 
				
			||||||
							
								
								
									
										1
									
								
								slides/makefiles/examples/omni_makefile
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					../PS/omni_makefile
 | 
				
			||||||
							
								
								
									
										18
									
								
								slides/makefiles/examples/pats
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					IMAGES = $(wildcard jpgs/*)
 | 
				
			||||||
 | 
					COL = $(patsubst jpgs/%,collection/%,$(IMAGES))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: help
 | 
				
			||||||
 | 
					help:
 | 
				
			||||||
 | 
						$(info try 'show' or 'output')
 | 
				
			||||||
 | 
					.PHONY: show
 | 
				
			||||||
 | 
					show:
 | 
				
			||||||
 | 
						$(info IMAGES is $(IMAGES))
 | 
				
			||||||
 | 
						$(info Col is $(COL))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: output
 | 
				
			||||||
 | 
					output: $(COL)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					collection/%.jpg: jpgs/%.jpg
 | 
				
			||||||
 | 
						mkdir -p $(@D)
 | 
				
			||||||
 | 
						cp $< $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								slides/makefiles/examples/rules
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					CP = ln -f
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					output: pngs/ldap.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jpgs/ldap.jpg: ../../ldap/ldap.jpg
 | 
				
			||||||
 | 
						mkdir -p $(dir $@)
 | 
				
			||||||
 | 
						$(CP) $< $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pngs/%.png: jpgs/%.jpg
 | 
				
			||||||
 | 
						mkdir -p $(dir $@)
 | 
				
			||||||
 | 
						$(info making $(@F) in $(@D))
 | 
				
			||||||
 | 
						magick $< $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						$(RM) -r pngs jpgs
 | 
				
			||||||
							
								
								
									
										10
									
								
								slides/makefiles/examples/vars
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					include /etc/os-release
 | 
				
			||||||
 | 
					DAY != date +%d
 | 
				
			||||||
 | 
					MESSAGE != fortune -s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					motd_$(DAY):
 | 
				
			||||||
 | 
						$(info Hello $(USER))
 | 
				
			||||||
 | 
						$(info Placing message:)
 | 
				
			||||||
 | 
						echo "Welcome to $(NAME)" > $@
 | 
				
			||||||
 | 
						echo $(MESSAGE) >> $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								slides/makefiles/makefiles.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					title:
 | 
				
			||||||
 | 
					- Making Makefiles
 | 
				
			||||||
 | 
					author:
 | 
				
			||||||
 | 
					- Malin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					theme:
 | 
				
			||||||
 | 
					- Warsaw
 | 
				
			||||||
 | 
					colortheme:
 | 
				
			||||||
 | 
					- orchid
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(presentation in presentation.md)
 | 
				
			||||||
							
								
								
									
										314
									
								
								slides/makefiles/presentation.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,314 @@
 | 
				
			|||||||
 | 
					# Intro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The fundamental problem:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					git submodule update --init soundscape
 | 
				
			||||||
 | 
					cargo build --release
 | 
				
			||||||
 | 
					install -pm755 target/release/tap /usr/local/bin/
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*But you can't type this for each run.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## First Solution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					git submodule update --init soundscape
 | 
				
			||||||
 | 
					cargo build --release
 | 
				
			||||||
 | 
					install -pm755 target/release/tap /usr/local/bin/
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					At this point, every test takes 10 minutes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Second Solution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					[ -f soundscape/.git ] || git submodule update --init soundscape
 | 
				
			||||||
 | 
					[ -f target/release/tap ] || cargo build --release
 | 
				
			||||||
 | 
					[ -f target/release/tap ] || \
 | 
				
			||||||
 | 
					    install -pm755 target/release/tap /usr/local/bin/
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Makefile Solutions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- input, process, output.
 | 
				
			||||||
 | 
					- automatic idempotence
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					INSTALL_DIR = /usr/local/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					soundscape/.git:
 | 
				
			||||||
 | 
					    git submodule update --init soundscape
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/usr/local/bin/tap: target/release/tap
 | 
				
			||||||
 | 
						install -pm755 target/release/tap $(INSTALL_DIR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					target/release/tap: src soundscape/.git
 | 
				
			||||||
 | 
						cargo build --release
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The Three Sigils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Readable, but slow:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make fort_1
 | 
				
			||||||
 | 
					forts/big_fort.txt: forts/short.txt forts/long.txt
 | 
				
			||||||
 | 
						cat forts/short.txt forts/long.txt > forts/big_fort.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/:
 | 
				
			||||||
 | 
						mkdir forts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/short.txt: forts/
 | 
				
			||||||
 | 
						fortune -s > forts/short.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/long.txt: forts/
 | 
				
			||||||
 | 
						fortune -l > forts/long.txt
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| Make this | From That | From These |
 | 
				
			||||||
 | 
					|:---------:|:---------:|:----------:|
 | 
				
			||||||
 | 
					|  `$@`     |  `$<`     |   `$^`     |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make fort_2
 | 
				
			||||||
 | 
					forts/big_fort.txt: forts/short.txt forts/long.txt
 | 
				
			||||||
 | 
							cat $^ > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/: README.md
 | 
				
			||||||
 | 
						mkdir $@
 | 
				
			||||||
 | 
					forts/short.txt: forts/
 | 
				
			||||||
 | 
						fortune -s > $@
 | 
				
			||||||
 | 
					forts/long.txt: forts/
 | 
				
			||||||
 | 
						fortune -l > $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Gotcha: Directories
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make fort_2
 | 
				
			||||||
 | 
					forts/big_fort.txt: forts/short.txt forts/long.txt
 | 
				
			||||||
 | 
							cat $^ > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					forts/: README.md
 | 
				
			||||||
 | 
						mkdir $@
 | 
				
			||||||
 | 
					forts/short.txt: forts/
 | 
				
			||||||
 | 
						fortune -s > $@
 | 
				
			||||||
 | 
					forts/long.txt: forts/
 | 
				
			||||||
 | 
						fortune -l > $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					README.md:
 | 
				
			||||||
 | 
					    echo "Find the fortunes in the fort dir" > $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make vars
 | 
				
			||||||
 | 
					include /etc/os-release
 | 
				
			||||||
 | 
					DAY != date +%d
 | 
				
			||||||
 | 
					MESSAGE != fortune -s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					motd_$(DAY):
 | 
				
			||||||
 | 
						$(info Placing message:)
 | 
				
			||||||
 | 
						echo "Welcome to $(NAME)" > $@
 | 
				
			||||||
 | 
						echo $(MESSAGE) >> $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Gotcha: Hanging Quotes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> echo "Welcome to "Arch Linux""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Add New Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					make -f vars -e MESSAGE="Red alert, all hands on deck!"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Gotcha: Quote, or Risk Escape
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					make -f vars -e MESSAGE="<h1> HTML Headers </h1>"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Gotcha: Variables from Shell
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This works:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					file:
 | 
				
			||||||
 | 
					    $(info Hello $(USER))
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					...but not this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					file:
 | 
				
			||||||
 | 
					    user=bob
 | 
				
			||||||
 | 
					    echo $user
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Nor this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					numbers:
 | 
				
			||||||
 | 
					    for x in 1 2 3 4 5; do
 | 
				
			||||||
 | 
					        echo $x
 | 
				
			||||||
 | 
					    done > $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Nor this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					numbers:
 | 
				
			||||||
 | 
					    for x in 1 2 3 4 5; do echo $x ; done > $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Ugly Fixes are Ugly
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This works, but don't.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					file:
 | 
				
			||||||
 | 
						for x in 1 2 ;\
 | 
				
			||||||
 | 
								do echo $$x ;\
 | 
				
			||||||
 | 
						done > $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Phonies, and the Problems with Lies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					.PHONY: clean
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
					    git clean -fdX
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Gotcha: Recompiling without Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make
 | 
				
			||||||
 | 
					CHECKER = command -v
 | 
				
			||||||
 | 
					.PHONY: check
 | 
				
			||||||
 | 
					check:
 | 
				
			||||||
 | 
						$(CHECKER) fortune >/dev/null
 | 
				
			||||||
 | 
						$(CHECKER) cowsay >/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					file: check # Needs a '|'
 | 
				
			||||||
 | 
						fortune | cowsay > $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Non-Compiling Checks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `make` -n
 | 
				
			||||||
 | 
					- *Gotcha*: shell output variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The Fourth Sigil: `%`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Create standardized rules with `%`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make rules
 | 
				
			||||||
 | 
					CP = ln -f
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					output: pngs/ldap.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jpgs/ldap.jpg: ../../ldap/ldap.jpg
 | 
				
			||||||
 | 
						mkdir -p $(dir $@)
 | 
				
			||||||
 | 
						$(CP) $< $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pngs/%.png: jpgs/%.jpg
 | 
				
			||||||
 | 
						mkdir -p $(dir $@)
 | 
				
			||||||
 | 
						$(info making $(@F) in $(@D))
 | 
				
			||||||
 | 
						magick $< $@
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bling: makefile2graph
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```graph
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					┌────────────────┐     ┌────────────────────┐
 | 
				
			||||||
 | 
					│ forts/long.txt │ ◀── │       forts/       │
 | 
				
			||||||
 | 
					└────────────────┘     └────────────────────┘
 | 
				
			||||||
 | 
					  │                      │
 | 
				
			||||||
 | 
					  │                      │
 | 
				
			||||||
 | 
					  │                      ▼
 | 
				
			||||||
 | 
					  │                    ┌────────────────────┐
 | 
				
			||||||
 | 
					  │                    │  forts/short.txt   │
 | 
				
			||||||
 | 
					  │                    └────────────────────┘
 | 
				
			||||||
 | 
					  │                      │
 | 
				
			||||||
 | 
					  │                      │
 | 
				
			||||||
 | 
					  │                      ▼
 | 
				
			||||||
 | 
					  │                    ┌────────────────────┐
 | 
				
			||||||
 | 
					  └──────────────────▶ │ forts/big_fort.txt │
 | 
				
			||||||
 | 
					                       └────────────────────┘
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Gotcha: The Binary is Called `make2graph`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Works with GUI tools maybe, IDK, I don't use Windows.
 | 
				
			||||||
 | 
					- Some systems can use `graph-easy`, but it's outdated.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Patsubst and Wildcards
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```make pats
 | 
				
			||||||
 | 
					IMAGES = $(wildcard jpgs/*)
 | 
				
			||||||
 | 
					COL = $(patsubst jpgs/%,collection/%,$(IMAGES))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: show
 | 
				
			||||||
 | 
					show:
 | 
				
			||||||
 | 
						$(info IMAGES is $(IMAGES))
 | 
				
			||||||
 | 
						$(info Col is $(COL))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: output
 | 
				
			||||||
 | 
					output: $(COL)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					collection/%.jpg: jpgs/%.jpg
 | 
				
			||||||
 | 
						mkdir -p $(@D)
 | 
				
			||||||
 | 
						cp $< $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use Cases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Backups
 | 
				
			||||||
 | 
					- Making Websites
 | 
				
			||||||
 | 
					    * `git clone https://gitlab.com/bindrpg/blag`
 | 
				
			||||||
 | 
					- `NOT installations`
 | 
				
			||||||
 | 
					    - ...but maybe installations?
 | 
				
			||||||
 | 
					- Setting
 | 
				
			||||||
							
								
								
									
										44
									
								
								slides/rss/rss.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					# RSS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Released in 1999
 | 
				
			||||||
 | 
					- Web feed
 | 
				
			||||||
 | 
					- Podcasts
 | 
				
			||||||
 | 
					- Aaron Swartz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Pros 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Decentralized
 | 
				
			||||||
 | 
					- No censure
 | 
				
			||||||
 | 
					- Cut the middle man 
 | 
				
			||||||
 | 
					- No ads
 | 
				
			||||||
 | 
					- Not much to monetize
 | 
				
			||||||
 | 
					- Offline reading (mountines, abroad)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Apps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- many clients
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Web feed
 | 
				
			||||||
 | 
					    - Thunderbird 
 | 
				
			||||||
 | 
					    - Feeder on F-Droid
 | 
				
			||||||
 | 
					- Podcasts
 | 
				
			||||||
 | 
					    - Gpodder
 | 
				
			||||||
 | 
					    - Antenna Pod on F-Droid
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Ideas to use in Decentrala 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- feed with events page on website
 | 
				
			||||||
 | 
					- some news or wiki
 | 
				
			||||||
 | 
					- forum thread 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										121
									
								
								slides/selfhosting/selfhosting.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,121 @@
 | 
				
			|||||||
 | 
					# Selfhosting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Why should I selfhost?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - Privacy
 | 
				
			||||||
 | 
					 - Security
 | 
				
			||||||
 | 
					 - Freedom
 | 
				
			||||||
 | 
					 - Can be cheaper
 | 
				
			||||||
 | 
					 - To learn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Hardware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - Any PC can become server
 | 
				
			||||||
 | 
					 - Mini PC
 | 
				
			||||||
 | 
					 - Single board computers (RasperryPi, etc.)
 | 
				
			||||||
 | 
					 - Desktop  
 | 
				
			||||||
 | 
					 - Enterprise
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Storage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - More than one hdd 
 | 
				
			||||||
 | 
					 - SAS vs HDD vs SSD vs NVMe
 | 
				
			||||||
 | 
					 - RAID, RAID controllers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### CPU
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Xeon 
 | 
				
			||||||
 | 
					- Rizen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### UPS and APC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Backups
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Network
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Router
 | 
				
			||||||
 | 
					- Switch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Software
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Linux containers (LXC) vs Virtual Machine (VM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Server Managers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - Proxmox
 | 
				
			||||||
 | 
					    - static ip on install
 | 
				
			||||||
 | 
					    - raid
 | 
				
			||||||
 | 
					 - XCP-ng
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Container and Managment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Docker
 | 
				
			||||||
 | 
					- Kubernetes (k8s) 
 | 
				
			||||||
 | 
					- Portainer
 | 
				
			||||||
 | 
					- Lilipod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Network
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Pfsense
 | 
				
			||||||
 | 
					- OpenWRT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Security
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Services
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Dmz Services
 | 
				
			||||||
 | 
					- Proxmox comunity scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Popular
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Home assistant
 | 
				
			||||||
 | 
					- Jellyfin
 | 
				
			||||||
 | 
					- Adblock
 | 
				
			||||||
 | 
					- LLMs
 | 
				
			||||||
 | 
					- Libredirect
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Nginx and SSL
 | 
				
			||||||
 | 
					    - Nginx Proxy Manager
 | 
				
			||||||
 | 
					    - Caddy
 | 
				
			||||||
 | 
					- VPN
 | 
				
			||||||
 | 
					    - Wireguard
 | 
				
			||||||
 | 
					    - Open VPN
 | 
				
			||||||
 | 
					- SSH
 | 
				
			||||||
 | 
					    - disable password login
 | 
				
			||||||
 | 
					    - ssh jump
 | 
				
			||||||
 | 
					    - local port forwarding
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Dashboards and analytics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Dashy
 | 
				
			||||||
 | 
					- Homepage
 | 
				
			||||||
 | 
					- Grafana
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Licences
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Copyleft
 | 
				
			||||||
 | 
					- Permissive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ---
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								slides/stajedecentrala/qrcode.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.7 KiB  | 
@@ -33,7 +33,8 @@ Ekipa koju interesuje :
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Lokacije
 | 
					# Lokacije
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- DC Krov hacklab
 | 
					- DC Krov
 | 
				
			||||||
- KC Grad radionce
 | 
					- KC Magacin
 | 
				
			||||||
- Matematicki Faklutet (cekamo)
 | 
					
 | 
				
			||||||
- Drugi fakulteti, skole?
 | 
					# Kontakt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||