mirror of
https://git.theinfopunk.com/punk/thewwwdotcom-blog.git
synced 2024-12-26 18:56:36 -05:00
first
This commit is contained in:
parent
4e7f4b139a
commit
db67aec7bb
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "themes/anatole"]
|
||||
path = themes/anatole
|
||||
url = https://github.com/lxndrblz/anatole.git
|
0
.hugo_build.lock
Normal file
0
.hugo_build.lock
Normal file
5
archetypes/default.md
Normal file
5
archetypes/default.md
Normal file
@ -0,0 +1,5 @@
|
||||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
52
config.toml
Normal file
52
config.toml
Normal file
@ -0,0 +1,52 @@
|
||||
baseURL = "https://example.com"
|
||||
languageCode = "en"
|
||||
DefaultContentLanguage = "en"
|
||||
title = "Hello, Friend."
|
||||
publishdir = "/home/user-data/www/thewwwdotcom.com"
|
||||
|
||||
# theme as hugo module
|
||||
#theme = "github.com/lxndrblz/anatole"
|
||||
# theme as git submodule
|
||||
theme = "anatole"
|
||||
|
||||
summarylength = 10
|
||||
enableEmoji = true
|
||||
enableRobotsTXT = false
|
||||
|
||||
|
||||
# Syntax highlighting
|
||||
pygmentsUseClasses = true
|
||||
pygmentsCodeFences = true
|
||||
pygmentsCodefencesGuessSyntax = true
|
||||
|
||||
# Localized dates requires Hugo version 0.87.0
|
||||
localizedDates = false
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe=true
|
||||
|
||||
[taxonomies]
|
||||
category = "categories"
|
||||
series = "series"
|
||||
tag = "tags"
|
||||
|
||||
[related]
|
||||
includeNewer = true
|
||||
threshold = 80
|
||||
toLower = true
|
||||
[[related.indices]]
|
||||
name = 'keywords'
|
||||
weight = 100
|
||||
[[related.indices]]
|
||||
name = 'tags'
|
||||
weight = 80
|
||||
|
||||
[services]
|
||||
# Enable Disqus.Disqus.Shortname
|
||||
[services.disqus]
|
||||
#shortname = 'your-disqus-shortname'
|
||||
# Google Analytics
|
||||
[services.googleAnalytics]
|
||||
#ID = 'G-MEASUREMENT_ID'
|
51
config/_default/config.toml
Normal file
51
config/_default/config.toml
Normal file
@ -0,0 +1,51 @@
|
||||
baseURL = "https://thewwwdotcom.com"
|
||||
languageCode = "en"
|
||||
DefaultContentLanguage = "en"
|
||||
title = "Hello, Friend."
|
||||
|
||||
# theme as hugo module
|
||||
#theme = "github.com/lxndrblz/anatole"
|
||||
# theme as git submodule
|
||||
theme = "anatole"
|
||||
|
||||
summarylength = 10
|
||||
enableEmoji = true
|
||||
enableRobotsTXT = false
|
||||
|
||||
|
||||
# Syntax highlighting
|
||||
pygmentsUseClasses = true
|
||||
pygmentsCodeFences = true
|
||||
pygmentsCodefencesGuessSyntax = true
|
||||
|
||||
# Localized dates requires Hugo version 0.87.0
|
||||
localizedDates = false
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe=true
|
||||
|
||||
[taxonomies]
|
||||
category = "categories"
|
||||
series = "series"
|
||||
tag = "tags"
|
||||
|
||||
[related]
|
||||
includeNewer = true
|
||||
threshold = 80
|
||||
toLower = true
|
||||
[[related.indices]]
|
||||
name = 'keywords'
|
||||
weight = 100
|
||||
[[related.indices]]
|
||||
name = 'tags'
|
||||
weight = 80
|
||||
|
||||
[services]
|
||||
# Enable Disqus.Disqus.Shortname
|
||||
[services.disqus]
|
||||
#shortname = 'your-disqus-shortname'
|
||||
# Google Analytics
|
||||
[services.googleAnalytics]
|
||||
#ID = 'G-MEASUREMENT_ID'
|
5
config/_default/languages.toml
Normal file
5
config/_default/languages.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[en]
|
||||
title = "My blog"
|
||||
weight = 1
|
||||
LanguageName = "EN"
|
||||
contentDir = "content/english"
|
29
config/_default/menus.en.toml
Normal file
29
config/_default/menus.en.toml
Normal file
@ -0,0 +1,29 @@
|
||||
[[main]]
|
||||
name = "Home"
|
||||
identifier = "home"
|
||||
weight = 100
|
||||
url = "/"
|
||||
|
||||
[[main]]
|
||||
name = "Blog Archives"
|
||||
weight = 200
|
||||
identifier = "posts"
|
||||
url = "/post/"
|
||||
|
||||
[[main]]
|
||||
name = "Resume/CV"
|
||||
weight = 300
|
||||
identifier = "portfolio"
|
||||
url = "https://https.www.thewwwdotcom.com"
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
weight = 400
|
||||
identifier = "about"
|
||||
url = "/about/"
|
||||
|
||||
[[footer]]
|
||||
name = "CC BY 4.0"
|
||||
weight = 1
|
||||
identifier = "imprint"
|
||||
url = "https://creativecommons.org/licenses/by/4.0/"
|
79
config/_default/params.toml
Normal file
79
config/_default/params.toml
Normal file
@ -0,0 +1,79 @@
|
||||
title = "Hello, Friend."
|
||||
author = "Jason Evans"
|
||||
#copyright = "2020-2021"
|
||||
description = "It's a blog."
|
||||
profilePicture = "images/hello.jpg"
|
||||
keywords = ""
|
||||
favicon = "favicons/"
|
||||
# example ["css/custom.css"]
|
||||
customCss = []
|
||||
# example ["js/custom.js"]
|
||||
customJs = []
|
||||
mainSections = ["post"]
|
||||
images = ["images/hello.jpg"]
|
||||
doNotLoadAnimations = false
|
||||
# Form Spree Contact Form
|
||||
#contactFormAction = "https://formspree.io/f/your-form-hash-here"
|
||||
#contactFormReCaptcha = "your-site-key-here"
|
||||
# Google Fonts
|
||||
#googleFonts = ["Indie+Flower", "Roboto:ital,wght@0,100;0,400;0,700;1,400"]
|
||||
# Google Site Verify
|
||||
#googleSiteVerify = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
singleDateFormat = "2/1/2006"
|
||||
indexDateFormat = "2/1/2006"
|
||||
listDateFormat = "2/1/2006"
|
||||
# Commento Comments
|
||||
# CommentoURL = "https://commento.example.com/js/commento.js"
|
||||
# Read More links for truncated summaries
|
||||
# readMore = true
|
||||
# postSectionName = "blog"
|
||||
# relatedPosts = true
|
||||
# numberOfRelatedPosts = 3
|
||||
|
||||
|
||||
reversepagetitle = true # When set to 'true', the Window Title will be reversed to 'Title | Author' instead of the default 'Author | Title'
|
||||
|
||||
# hidesidebar = true
|
||||
|
||||
[simpleAnalytics]
|
||||
# enable = true
|
||||
# customurl = "https://analytics.example.com"
|
||||
|
||||
[plausibleAnalytics]
|
||||
# domain = "example.com"
|
||||
# serverURL = "https://analytics.example.com"
|
||||
|
||||
[umami]
|
||||
# serverURL = "example.com"
|
||||
# id = "94db1cb1-74f4-4a40-ad6c-962362670409"
|
||||
# trackerScriptName = "mycustomscriptname.js"
|
||||
|
||||
## Math settings
|
||||
[math]
|
||||
enable = false # options: true, false. Enable math support globally, default: false. You can always enable math on per page.
|
||||
use = "katex" # options: "katex", "mathjax". default is "katex".
|
||||
|
||||
## Social links
|
||||
# use 'fa-brands' when brand icons, use 'fas' when standard solid icons.
|
||||
[[socialIcons]]
|
||||
icon = "fa-brands fa-linkedin"
|
||||
title = "Linkedin"
|
||||
url = "https://www.linkedin.com/in/jasonsevans/"
|
||||
|
||||
[[socialIcons]]
|
||||
icon = "fa-brands fa-github"
|
||||
title = "GitHub"
|
||||
url = "https://github.com/tgeek77"
|
||||
|
||||
[[socialIcons]]
|
||||
icon = "fa-brands fa-twitter"
|
||||
title = "X"
|
||||
url = "https://x.com/usenetnerd"
|
||||
|
||||
[[socialIcons]]
|
||||
icon = "fa-solid fa-envelope"
|
||||
title = "e-mail"
|
||||
url = "mailto:at@thewwwdotcom.com"
|
||||
|
||||
[mermaid]
|
||||
enable = false
|
25
content/english/_index.md
Normal file
25
content/english/_index.md
Normal file
@ -0,0 +1,25 @@
|
||||
+++
|
||||
author = "Hugo Authors"
|
||||
+++
|
||||
|
||||
<!--
|
||||
This file is left intentionally empty by default to be backwards compatible with the initial theme setup.
|
||||
|
||||
Although the theme has advanced a little bit and it now allows to specify the content on the main page (even if the list of posts/articles is not intended).
|
||||
This can be:
|
||||
- with the list of posts/articles (default: `mainSections = ["post"]) or
|
||||
- without the list of posts/articles (by setting `mainSections = [""]`)
|
||||
|
||||
Markdown supported, ie:
|
||||
|
||||
```
|
||||
# Welcome
|
||||
|
||||
- Hugo :rocket:
|
||||
- Hugo theme :rocket:
|
||||
|
||||
Don't forget to check the README.md file!
|
||||
```
|
||||
|
||||
Remember that you can also specify a section header for the posts below by configuring the `mainSectionsTitle` parameter in the front matter of this file.
|
||||
-->
|
17
content/english/about.md
Normal file
17
content/english/about.md
Normal file
@ -0,0 +1,17 @@
|
||||
+++
|
||||
title = "About"
|
||||
description = "Hugo, the world's fastest framework for building websites"
|
||||
date = 2024-08-15T20:33:30+02:00
|
||||
aliases = ["about-us", "about-hugo", "contact"]
|
||||
author = "Jason"
|
||||
+++
|
||||
|
||||
Hi, I'm Jason. My C.V. is a globe-trotting adventure through many areas of the IT world.
|
||||
I've been tinkering, troubleshooting, and teaching tech for longer than most servers have been online.
|
||||
From the bustling tech hub of The Research Triangle Park, NC to the serene landscapes and charm of Prague, I've left my footprint across the internet and on at least a couple continents.
|
||||
|
||||
**About This Blog:**
|
||||
|
||||
I've been blogging in one form or another since 2002. You'll find many old posts here that might seem weird, outdated, or even immature. That's because they are. Over the years, I've grown a lot, and these early posts are a testament to that evolution.
|
||||
|
||||
From time to time, I get the urge to write again, which is why this blog exists today. It's a platform to share what I've learned with others and to keep a journal of my experiences.
|
5
content/english/archives.md
Normal file
5
content/english/archives.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
date: 2019-05-28
|
||||
type: section
|
||||
layout: 'archives'
|
||||
---
|
17
content/english/awards.md
Normal file
17
content/english/awards.md
Normal file
@ -0,0 +1,17 @@
|
||||
+++
|
||||
title = "Awards"
|
||||
description = "Hugo Awards, an annual literary award for the best science fiction or fantasy works"
|
||||
date = "2022-04-10"
|
||||
aliases = ["awards"]
|
||||
author = "Hugo Authors"
|
||||
+++
|
||||
|
||||
Hugo Award - from Wikipedia: [Hugo Award](https://en.wikipedia.org/wiki/Hugo_Award)
|
||||
|
||||
The Hugo Award is an annual literary award for the best science fiction or fantasy works and achievements of the previous year, given at the World Science Fiction Convention and chosen by its members. The Hugo is widely considered the premier award in science fiction. The award is administered by the World Science Fiction Society. It is named after Hugo Gernsback, the founder of the pioneering science fiction magazine Amazing Stories. Hugos were first given in 1953, at the 11th World Science Fiction Convention, and have been awarded every year since 1955.
|
||||
|
||||
- Best Novel 1953 Stories of 40,000 words or more
|
||||
- Best Novella 1968 Stories of between 17,500 and 40,000 words
|
||||
- Best Novelette 1955 Stories of between 7,500 and 17,500 words
|
||||
- Best Short Story 1955 Stories of less than 7,500 words
|
||||
- Best Series 2017 Series of works
|
13
content/english/certifications.md
Normal file
13
content/english/certifications.md
Normal file
@ -0,0 +1,13 @@
|
||||
+++
|
||||
title = "Certifications"
|
||||
description = "Hugo Certifications"
|
||||
date = "2022-04-10"
|
||||
aliases = ["certifications"]
|
||||
author = "Hugo Authors"
|
||||
+++
|
||||
|
||||
## 3 Best Hugo Courses, Training, Classes & Tutorials Online
|
||||
|
||||
1. “Migrate from WordPress to Hugo, Step by Step” Our Best Pick 2022
|
||||
2. Create a Static Site With Hugo 2021
|
||||
3. Créez votre site statique avec Hugo 2020
|
7
content/english/contact.md
Normal file
7
content/english/contact.md
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
author: Hugo Authors
|
||||
title: Contact
|
||||
date: 2019-03-08
|
||||
description: Contact Page
|
||||
contact: true
|
||||
---
|
8
content/english/imprint.md
Normal file
8
content/english/imprint.md
Normal file
@ -0,0 +1,8 @@
|
||||
# Legal Disclosure
|
||||
|
||||
Information in accordance with the applicable law
|
||||
|
||||
Jane Doe\
|
||||
Anatole Street 10\
|
||||
2016 GoHugo\
|
||||
Germany
|
5
content/english/portfolio/_index.md
Normal file
5
content/english/portfolio/_index.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
title: 'Portfolio'
|
||||
draft: false
|
||||
description: 'Welcome to my Portfolio!'
|
||||
---
|
8
content/english/post/100-books-every-man-should-read.md
Normal file
8
content/english/post/100-books-every-man-should-read.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "100 Books Every Man Should Read"
|
||||
date: "2016-11-30"
|
||||
categories:
|
||||
- "books"
|
||||
---
|
||||
|
||||
Today I stumbled upon [100 Books Every Man Should Read](http://www.artofmanliness.com/2016/11/28/100-books-every-man-read/) via Reddit. It's a good list. There is only one that I find gut-wrenchingly terrible and a few that I would add:. Hint: I loathe pop psychology and self-help books.
|
17
content/english/post/2-meter-j-poles.md
Normal file
17
content/english/post/2-meter-j-poles.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "2 Meter J-Poles"
|
||||
date: "2005-07-16"
|
||||
tags:
|
||||
- "antennas"
|
||||
- "hamfests"
|
||||
---
|
||||
|
||||
First of all, I want to say thanks to the staff of Hamblog.com for the reintroduction of their fine website.
|
||||
|
||||
I went to the Cary, NC Hamfest this morning. This is the same hamfest where I passed the Technician class license exam last year. That means that I have been a licensed ham for one year now. Hooray!
|
||||
|
||||
I was mostly broke today, so I didn’t pick up anything tremendous. I just scrounged around, looking for connectors and doodads that I didn’t want to buy are Radio Shack. I did pick up a nice 1:1 balun for $1. It looks to be in good condition and is cased inside PVC. I also picked up some cheap 300ohm twinlead. 100′ for $2!
|
||||
|
||||
I bought this with dipoles in mind, but I remembered seeing a website or two about 2-Meter J-pole made with this stuff. I didn’t currently have a working 2-meter antenna. My magmount base is screwed. I haven’t found out where though. I just know that the SWR is shot to heck. I went to this page first: [http://www.mvw.net/radio/jpole.html](http://www.mvw.net/radio/jpole.html). The illustration was kinda confusing, but this one: [http://www.bloomington.in.us/~wh2t/Jpole.htm](http://www.bloomington.in.us/%7Ewh2t/Jpole.htm) helped fill in the gaps.
|
||||
|
||||
I built, and taped it to a tall cardboard box. It worked! My signal report was weaker than I liked, but it was better than nothing.
|
6
content/english/post/2022-04-02-long-time-no-post.md
Normal file
6
content/english/post/2022-04-02-long-time-no-post.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Long time no post"
|
||||
date: "2022-04-02"
|
||||
---
|
||||
|
||||
For the past year, I've been posting to a private server that I was running. Now that server is offline because I need to save money and so I'll be writing here again.
|
14
content/english/post/2022-04-13-usenet-newsreader-reviews.md
Normal file
14
content/english/post/2022-04-13-usenet-newsreader-reviews.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "Usenet Newsreader Reviews"
|
||||
date: "2022-04-13"
|
||||
---
|
||||
|
||||
This is an idea that I'm playing around with. Here are some categories for any reviews. They could later depending on what I learn while doing the reviews.
|
||||
|
||||
1. Availability
|
||||
2. Installation
|
||||
3. Setup
|
||||
4. Posting Articles
|
||||
5. Filtering and Killfiles
|
||||
6. Miscellaneous Features
|
||||
7. Final Comments
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "The Wonders of Modern Life"
|
||||
date: "2022-04-19"
|
||||
---
|
||||
|
||||
Last Friday, my wife and I packed up our car and drove 9.5 hours south from Prague, Czech Republic through Austria and Slovenia to a small coastal town in Croatian on the Adriatic sea. We used the Waze app on my Android phone for guidance all the way there. We stayed in an Airbnb that I found online. On the way to Croatia, we stopped outside Saltzburg, Austria for lunch. Just outside of Ljubliana, Slovenia, we topped up on diesel and had a drink and a short break.
|
||||
|
||||
On Saturday, we drove 90 minutes to Trieste, Italy. Except for a small problem where I put the wrong address into the Waze app, we drove to the Miramare castle parking lot through the narrow Italian streets in my big (by Italian standards) SUV. Afterward, we looked for a shopping center in Trieste where we could buy some wine and gifts for family and friends back in Prague. I found one on Google and we were there 15 minutes later.
|
||||
|
||||
On Sunday, we went to the Roman coliseum in Pula, Croatia. Pula is about 90 minutes away in the opposite direction from Trieste. It seemed to be a popular tourist location even on a major holiday. Parking was a bit rough but not unbearable. In truth, understanding how to use the parking meter was the only time where we had much of a problem concerning language on the entire trip.
|
||||
|
||||
I am blessed and privileged to fluently speak the language that is the _lingua franca_ of much of the world today. Yet for all of my adventures on this short vacation, I can say if I didn't speak English, but still had a relatively good understanding of technology, the difficulty level of this trip would not have been substantially greater. This is a great wonder of modern life. In previous decades or centuries, journeys like this would be rare and would require much more bravery. This was true even 50 years ago with a car.
|
||||
|
||||
This freedom to travel far and wide is made possible by technological innovation. I used an app on my smartphone to provide reliable verbal directions to a small village that I had never heard of before. I used a website on my computer to find an apartment for rent which I paid for online. I used a search engine on my phone to get a conversion rate on my money. I used ATMs from banks I never heard of to get Euros and Croatian Kuna that were programmed in 4 to 5 different languages. These are all things that have never been possible in the past.
|
||||
|
||||
We live in amazing times. If we ever lost all of this, it would be a tragedy and because of that, I don't want to take it for granted. We can't assume that this progress will still be here tomorrow or next year. It can be taken away. We can regress.
|
90
content/english/post/2022-05-14-distrobox-is-awesome.md
Normal file
90
content/english/post/2022-05-14-distrobox-is-awesome.md
Normal file
@ -0,0 +1,90 @@
|
||||
---
|
||||
title: "Distrobox is Awesome"
|
||||
date: "2022-05-14"
|
||||
---
|
||||
|
||||
## What is Distrobox?
|
||||
|
||||
[Distrobox](https://github.com/89luca89/distrobox) is a project that I learned about a few months ago from [Fedora magazine](https://fedoramagazine.org/run-distrobox-on-fedora-linux/).
|
||||
|
||||
Distrobox is a piece of software that will allow you to run containerized terminal and graphical-based applications from many Linux distributions on many other Linux distributions.
|
||||
|
||||
For example:
|
||||
|
||||
- You can run applications from Arch's AUR on openSUSE.
|
||||
- You can run applications from .deb files that are only available for Ubuntu on Fedora.
|
||||
- You can run applications from an old version of Debian on a current Manjaro system without fighting with dependency hell.
|
||||
- You can even run entire desktop environments on operating systems that never supported them.
|
||||
|
||||
Because the applications are running in containers, they do not interact with the base system's package management system.
|
||||
|
||||
## How have I been using Distrobox?
|
||||
|
||||
When I started using Distrobox, I started wondering what are the limits of what I could do with this system? I was able to install my favorite Usenet newsreader, Knode from Debian 8, and openSUSE on whatever system I wanted. It opened whole new doors for experimenting with software that may be long forgotten.
|
||||
|
||||
Could I run a simple windows manager like i3, Sway, or IceWM in Distrobox? It took some trial and error, but yes I could.
|
||||
|
||||
Now, with that said, we are working with containers. When you run an application in Distrobox, it mainly sees your actual home directory. Outside of your home directory, it sees the container's filesystem. If you save something to your home directory, it gets saved to your real home directory and you can open it up like you could normally. If you save something to /usr/local/ or any other directory outside of your home directory, it will only be saved in the container and not to your actual base filesystem.
|
||||
|
||||
Let's take that one step further. Let's say I MATE as my base openSUSE desktop environment and I have 3 containers with other desktop environments. I have an Arch Distrobox container with i3, I have a Fedora Distrobox container with XFCE, and I have a Debian Distrobox container with IceWM. I can run applications from any of these containers on the base openSUSE MATE installation. However, I can't run applications from Fedora on Debian or from Debian on Arch, etc. That's the limitation with running these containers.
|
||||
|
||||
## How do I run Windows Managers and Desktop Environments?
|
||||
|
||||
As I said earlier, this took a fair amount of trial and error to get this right, and I'm sure there are lots of things that could make this easier.
|
||||
|
||||
For instruction on actually installing Distrobox, check out the [installation instruction page](https://distrobox.privatedns.org/#installation). This will vary depending on your Linux distro.
|
||||
|
||||
Let's begin by installing the IceWM window manager in a Distrobox container. We'll start with an Ubuntu container:
|
||||
|
||||
Create and enter the container:
|
||||
|
||||
`distrobox-create ubuntu --image docker.io/library/ubuntu`
|
||||
`distrobox-enter ubuntu`
|
||||
|
||||
Now that we're in our new Ubuntu container, let's install IceWM. This where things start getting difficult. Even if you're a pro at installing packages in Ubuntu or Debian, it can be really difficult to understand what exactly you need to install. My suggestion is to start with the wiki for your distro of choice for the window manager to desktop environment that you're trying to install.
|
||||
|
||||
According to the [Ubuntu Wiki for IceWM](https://help.ubuntu.com/community/IceWM), we need to install package for the base installation:
|
||||
|
||||
`sudo apt-get install icew`m
|
||||
|
||||
This will take some time to complete depending on your hardware.
|
||||
|
||||
Next, we need to see how to start IceWM. Part of the IceWM installation is the creation of /usr/share/xsessions/icewm-session.desktop. This is what tells your display manager how to start IceWM. Inside of this file is a line that says:
|
||||
|
||||
`Exec=/usr/bin/icewm-session`
|
||||
|
||||
This is the command that we will need to start IceWM. Let's copy that file to our home directory and then use it again in a minute:
|
||||
|
||||
`cp /usr/share/xsessions/icewm-session.desktop ~/`
|
||||
|
||||
We can exit out of the container for now and work in the base OS:
|
||||
|
||||
`exit`
|
||||
|
||||
The way we run applications from inside of the container in our base OS is with the distrobox-enter command:
|
||||
|
||||
`/usr/bin/distrobox-enter -T -n [container] -- "[app]"`
|
||||
|
||||
This command would run the \[app\] application from the \[container\]. However, you can't use this command in a desktop file like the icewm-session.desktop files that we saved earlier, so we need to make one more step to create a bash script to do this for is:
|
||||
|
||||
`#!/bin/bash xhost +SI:localuser:$USER /usr/bin/distrobox-enter -T -n ubuntu -- "icewm-session"`
|
||||
|
||||
`xhost +SI:localuser:$USER` will allow graphical applications to be run from containers only for the current user. Without this, the icewm-session application could not start.
|
||||
|
||||
Save that in /usr/local/bin or some other location in your path and make it executable with chmod.
|
||||
|
||||
`sudo chmod +x /usr/local/bin/icewm`
|
||||
|
||||
In the icewm-session.desktop file that we saved earlier, we can change `Exec=/usr/bin/icewm-session` to `Exec=/usr/local/bin/icewm` and then save it to the /usr/share/xsessions on our base OS:
|
||||
|
||||
`sudo cp ~/icewm-session.desktop /usr/share/xsessions/icewm-session.desktop`
|
||||
|
||||
Now when log out, you should see IceWM as an option in your display manager. When you log in with it, you will be in the Ubuntu container. Even if you are not running Ubuntu as your base OS, you will be like you did.
|
||||
|
||||
![](https://cloudyday.tech.blog/wp-content/uploads/2022/05/untitled.png?w=1024)
|
||||
|
||||
## Summary
|
||||
|
||||
Distrobox is an amazing tool and I plan on using it as much as I can.
|
||||
|
||||
IceWM is probably not many people's desktop of choice, but it is small, light on resources, and easy to get going. Take this as a sample of how you can use Distrobox to be so much more than just running applications. You can try our whole new Linux distros without fussing with VMs or changing your current distro.
|
14
content/english/post/2022-08-04-an-update.md
Normal file
14
content/english/post/2022-08-04-an-update.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "An Update"
|
||||
date: "2022-08-04"
|
||||
---
|
||||
|
||||
There have been a lot of changes going on for me in the past few months. Without going onto a lot of details that I would rather not share, I've changed a lot in my personal and online life and I've taken on some new interests and possible changes in my future.
|
||||
|
||||
This blog has been running in one form or another for many years and I don't want to get rid of it but it will be mainly focused on things that interest in me in the Usenet world.
|
||||
|
||||
My new blog is https://blog.syntopicon.info and it will be my new general-interest blog but also focused on my other upcoming interests that I'm not going to share here as much.
|
||||
|
||||
This blog is being moved to https://blog.theuse.net
|
||||
|
||||
By the way, why did I start hosting my own wordpress server again when I have an account on [wordpress.com](http://cloudyday.tech.blog)? Because worspress.com sucks. You can no longer create new blogs without a paid account. For the same cost of a paid account, I was able to buy a VPS server and have total control of everything and have plenty of resources left over to restart my usenet server, gemini server, and other services.
|
6
content/english/post/_index.md
Normal file
6
content/english/post/_index.md
Normal file
@ -0,0 +1,6 @@
|
||||
+++
|
||||
aliases = ["posts", "articles", "blog", "showcase", "docs"]
|
||||
title = "Posts"
|
||||
author = "Hugo Authors"
|
||||
tags = ["index"]
|
||||
+++
|
10
content/english/post/a-little-linux-geek-humor.md
Normal file
10
content/english/post/a-little-linux-geek-humor.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "A little Linux Geek humor"
|
||||
date: "2006-10-30"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
![](images/sandwich.png)
|
||||
|
||||
(from [xkcd.com](http://xkcd.com/c149.html))
|
10
content/english/post/a-new-linux.md
Normal file
10
content/english/post/a-new-linux.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "A New Linux"
|
||||
date: "2006-04-19"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I changes Linux distributions like I change blog templates. I’m always looking for something new. I’m currently trying [Zenwalk](http://en.wikipedia.org/wiki/Zenwalk) linux. It is my first [Slackware](http://en.wikipedia.org/wiki/Slackware) distro. and I am having a lot of fun with it. It is a clean, simple distribution without a lot of bells and whistles. The developers are using the [KISS principle](http://en.wikipedia.org/wiki/KISS%20principle) which I appreciate. I’ve had to install a few packages that do not come with the distro., but that’s not much of a problem. It’s just a something that you have to deal with. I think I even like this better than [Ubuntu](http://en.wikipedia.org/wiki/Ubuntu), and I would not be afraid of sitting a Linux newbie in front of it, especially if they just want internet, email, and chat. The [XFCE](http://en.wikipedia.org/wiki/XFCE) interface is one of my favorites. It is simple, sleek, fast, and it will remind you of Windows. It even comes with Java 1.5 preinstalled, so that’s one less worry. There are three software packages that I can not live without, and I’ve had some trouble finding them, but they are here or at LinuxPackages.net. They are [amaroK](http://en.wikipedia.org/wiki/amaroK), [Lyx](http://en.wikipedia.org/wiki/Lyx), and [Scribus](http://en.wikipedia.org/wiki/Scribus). Amarok is my iTunes, Scribus is my Microsoft Publisher/Adobe Illustrator, and Lyx is a program that will make any written piece of tripe look like a professional publisher put it together. It is a godsend for writing college papers. I will eventually go back to Ubuntu, but I want to stay here for a bit. Maybe until the next Ubuntu version comes out. The problem with Slackware packages is something called [Dependency hell](http://en.wikipedia.org/wiki/Dependency%20hell). This is something that I have seen little of in Ubuntu. Dependancy Hell is not a problem for the novice who is content with a few pieces of software that work well, but for the Linux adventurer, it can drive you insane.
|
||||
|
||||
Technorati Tags: [zenwalk](http://technorati.com/tag/zenwalk), [linux](http://technorati.com/tag/linux), [slackware](http://technorati.com/tag/slackware), [lyx](http://technorati.com/tag/lyx), [scribus](http://technorati.com/tag/scribus), [amaroK](http://technorati.com/tag/amaroK)
|
8
content/english/post/a-new-look-and-a-new-focus.md
Normal file
8
content/english/post/a-new-look-and-a-new-focus.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "A new look and a new focus."
|
||||
date: "2006-02-13"
|
||||
tags:
|
||||
- "electronics"
|
||||
---
|
||||
|
||||
I have decided, with the help of my wife, to return to school and pursue a degree in electronics. I will be adding links here soon to resources that I find online to help prepare me for this task. I hope to have my Extra class license before I start classes this fall. I also hope to bone up on math, programming, and logic before then also. Whatever resources I find, I will post here.
|
@ -0,0 +1,80 @@
|
||||
---
|
||||
title: "About Patching: What is a Patch in SLE and OpenSUSE?"
|
||||
date: "2017-09-05"
|
||||
---
|
||||
|
||||
A while back I wrote a post on why you should patch your servers. I think it surprised some people. I got at least one comment from twitter saying, "I'm surprised you get so many tickets on this topic since security is so important in enterprise server environments." And yet, we do. At any current time, we have multiple tickets asking for RCA (Root Cause Analysis) for a server crash or hang when the server has not been patched in month, years, or even ever. Sometimes they never register the server to receive patched and so never patch their server beyond what is in the base version that we ship in the beginning. [![](images/Selection_006.png)](https://www.suse.com/communities/blog/files/2017/09/Selection_006.png)
|
||||
|
||||
This post isn't to complain. Its to help alleviate the problem. The first step is to discuss, what are patches and what do they do. Using a SUSE Customer Center (SCC) account, you can go to https://scc.suse.com/patches to view detailed information on all of our patches. I can get a list of them so far using this command:
|
||||
|
||||
jsevans@linux-rtf9:~> sudo zypper patches
|
||||
Refreshing service 'Containers\_Module\_12\_x86\_64'.
|
||||
Refreshing service 'SUSE\_Linux\_Enterprise\_Server\_12\_SP2\_x86\_64'.
|
||||
Refreshing service 'SUSE\_Package\_Hub\_12\_SP2\_x86\_64'.
|
||||
Loading repository data...
|
||||
Reading installed packages...
|
||||
Repository | Name | Category | Severity | Interactive | Status | Summary
|
||||
--------------------------------+-----------------------------------------+-------------+-----------+-------------+------------+----------------------------------------------------------------------------------
|
||||
SLES12-SP2-Updates | SUSE-SLE-SERVER-12-SP2-2017-990 | security | important | --- | needed | Security update for glibc
|
||||
SLES12-SP2-Updates | SUSE-SLE-SERVER-12-SP2-2017-994 | security | critical | reboot | needed | Security update for the Linux Kernel
|
||||
SLES12-SP2-Updates | SUSE-SLE-SERVER-12-SP2-2017-998 | security | important | --- | not needed | Security update for openvp
|
||||
|
||||
As you can see, I need to apply three patches to this server. Since patch, "SUSE-SLE-SERVER-12-SP2-2017-994" is listed as a critical update, we'll review what makes this so important:
|
||||
|
||||
jsevans@linux-rtf9:~> zypper patch-info SUSE-SLE-SERVER-12-SP2-2017-994
|
||||
Loading repository data...
|
||||
Reading installed packages...
|
||||
|
||||
Information for patch SUSE-SLE-SERVER-12-SP2-2017-994:
|
||||
------------------------------------------------------
|
||||
Repository : SLES12-SP2-Updates
|
||||
Name : SUSE-SLE-SERVER-12-SP2-2017-994
|
||||
Version : 1
|
||||
Arch : noarch
|
||||
Vendor : maint-coord@suse.de
|
||||
Status : applied
|
||||
Category : security
|
||||
Severity : critical
|
||||
Created On : Mon 19 Jun 2017 05:28:39 PM CEST
|
||||
Interactive : reboot
|
||||
Summary : Security update for the Linux Kernel
|
||||
Description :
|
||||
|
||||
The SUSE Linux Enterprise 12 SP2 kernel was updated to receive various security and bugfixes.
|
||||
|
||||
The following security bugs were fixed:
|
||||
|
||||
- CVE-2017-1000364: The default stack guard page was too small and could be "jumped over" by userland programs using
|
||||
more than one page of stack in functions and so lead to memory corruption. This update extends the stack guard page
|
||||
to 1 MB (for 4k pages) and 16 MB (for 64k pages) to reduce this attack vector. This is not a kernel bugfix, but a
|
||||
hardening measure against this kind of userland attack.(bsc#1039348)
|
||||
|
||||
The following non-security bugs were fixed:
|
||||
|
||||
- There was a load failure in the sha-mb encryption implementation (bsc#1037384).
|
||||
Provides : patch:SUSE-SLE-SERVER-12-SP2-2017-994 = 1
|
||||
Conflicts : \[10\]
|
||||
kernel-default.nosrc < 4.4.59-92.20.2
|
||||
kernel-default.x86\_64 < 4.4.59-92.20.2
|
||||
kernel-default-base.x86\_64 < 4.4.59-92.20.2
|
||||
kernel-default-devel.x86\_64 < 4.4.59-92.20.2
|
||||
kernel-devel.noarch < 4.4.59-92.20.2
|
||||
kernel-macros.noarch < 4.4.59-92.20.2
|
||||
kernel-source.noarch < 4.4.59-92.20.2
|
||||
kernel-source.src < 4.4.59-92.20.2
|
||||
kernel-syms.src < 4.4.59-92.20.2
|
||||
kernel-syms.x86\_64 < 4.4.59-92.20.2
|
||||
|
||||
In other words, this patch was written to avoid a possible security issue from a rogue application.
|
||||
|
||||
A quick and easy way to review what patches are needed for your system, simply run:
|
||||
|
||||
zypper patches | grep needed | grep -v "not "
|
||||
|
||||
This will allow you view the complete summary of all of your needed patches, you can run:
|
||||
|
||||
for i in \`zypper lp | grep -i needed | awk '{ print $3 }'\`; do zypper patch-info $i; done
|
||||
|
||||
If you haven't patched in a while, this can be a lot of information. However, if you need to justify why you should patch, this is a great way to summarize the information. Another option is to visit [https://www.suse.com/support/update/](https://www.suse.com/support/update/) which is a web-based repository for specific packages with much of the same information.
|
||||
|
||||
In my next post, I'll discuss ways to intelligently apply patches to minimize downtime. In the meantime, here are some more [resources](https://www.suse.com/documentation/sles-12/singlehtml/book_sle_admin/book_sle_admin.html#sec.zypper.softup).
|
@ -0,0 +1,24 @@
|
||||
---
|
||||
title: "What is a CVE and How Can It Benefit Me?"
|
||||
date: "2017-10-10"
|
||||
---
|
||||
|
||||
Like a lot of the things that I write here, this is a question that came up in a ticket that I worked on recently. A customer recently received a message like this:
|
||||
|
||||
> Samba is a freely available file- and printer-sharing application maintained and developed by the Samba Development Team. Samba allows users to share files and printers between operating systems on UNIX and Windows platforms. Samba is prone to a security-bypass vulnerability because it fails to properly enforce SMB signing when certain configuration options is enabled. Successfully exploiting this issue may allow attackers to bypass security restrictions and perform unauthorized actions by conducting a man-in-the-middle attack. This may lead to other attacks. The following versions are vulnerable: Samba 3.0.25 through 4.4.15 Samba 4.5.x versions prior to 4.5.14 Samba 4.6.x versions prior to 4.6.8.
|
||||
|
||||
![](images/pros-vs-cons-450x299.jpg)
|
||||
|
||||
This doesn't actually tell us a lot. I could ping one of the Samba developers and ask them if they are aware of this vulnerability, if we've ever patched it, and if not what the status of it is. That's could be a lot of time waiting for a reply and taking time out of the developer's day to answer a fairly straightforward customer service question. However, there is an easier way.
|
||||
|
||||
When a software vulnerability is detected, it is reported as a CVE (Common Vulnerabilities and Exposures) number for that specific application. In this case, I found the CVE number that best matched the description that I was given and I was able to show the customer that we had patched it and which patch it was in.
|
||||
|
||||
One famous example was the "Heartbleed Vulnerability" from a few years ago which is CVE-2014-0160. SUSE retains a list of all CVE's that we review and patch here: [https://www.suse.com/security/cve/](https://www.suse.com/security/cve/). As you can see here: [https://www.suse.com/security/cve/CVE-2014-0160/](https://www.suse.com/security/cve/CVE-2014-0160/) Heartbleed was patched in all versions of SLE 11 and 12 as well as OpenSUSE 12, 13, Leap, and Tumbleweed.
|
||||
|
||||
For those concerned about their system's security, CVE's are a great way to make sure that newly found vulnerabilities have been patched in their OS of choice.
|
||||
|
||||
More information:
|
||||
|
||||
- [https://www.cvedetails.com/](https://www.cvedetails.com/)
|
||||
- [https://www.us-cert.gov/](https://www.us-cert.gov/)
|
||||
- [https://cve.mitre.org/](https://cve.mitre.org/)
|
14
content/english/post/about-the-linux-community.md
Normal file
14
content/english/post/about-the-linux-community.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "About the Linux Community"
|
||||
date: "2006-04-19"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I’ve always sort of compared the Linux community to the Ham Radio community of a previous generation. I can say this both as a dedicated Linux user and as a ham. The Linux community is as diverse as any. There are going to jerks and snobs. There are going to be people who demand that everyone compiles everything from source or use an archaic distribution, and there are those who are happy just installing everything from a Knoppix CD. The people and the support are there, and since we are living in an online world, it doesn’t really matter a whole lot where the help physically comes from. Quite frankly, I’ve come to embrace the Linux community more than any other online, because there are so many of newbies who want to learn and who want to help each other out. Open Source is a new frontier, and many of us just want to help each other out.
|
||||
|
||||
I was a Mac user for around 6 months. I had a 500mhz G3 iMAC. It ran OSX 10.2 well, though slowly. I experienced more putdowns and snide remarks about my ancient hardward from the Mac community than from anyone in the Windows or Linux community. Maybe, I just happened to run into a few jerks, and everybody else is cool, but I really got the feeling that Mac users just used their computers to do the basics, and very few really questioned how things worked. “It just works” is (or was) an Apple motto. Those who got everything to work, never questioned it. If your scanner doesn’t work with OSX, don’t worry, Apple will gladly sell you an overpriced one that will do everything you need and you will never have to configure anything manually.
|
||||
|
||||
In the Linux community, a lot of things don’t work right. We come into Linux expecting that fact, and so we are there to help each other.
|
||||
|
||||
Technorati Tags: [linux](http://technorati.com/tag/linux)
|
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "Adventures with Kubeadm on OpenSUSE Kubic"
|
||||
date: "2018-08-21"
|
||||
---
|
||||
|
||||
[![](images/RCBmwsp0pyQ0DyfrrxdtrbQW0.png)](https://asciinema.org/a/RCBmwsp0pyQ0DyfrrxdtrbQW0)
|
||||
|
||||
This video is a little kludgy. It was literally my first time putting together the cluster and if you notice at the end, it doesn't actually work. None of the worker nodes are actually usable. Hopefully that will be fixed soon.
|
||||
|
||||
linux-3q2c:~ # kubectl get nodes NAME STATUS ROLES AGE VERSION linux-3q2c NotReady master 3m v1.11.1 linux-fykp NotReady <none> 1m v1.11.1 linux-gbv8 NotReady <none> 51s v1.11.1
|
||||
|
||||
In the meantime, thanks to this [post](https://pastebin.com/raw/bJB0zJLD), I've reinstalled with cri-o and now have a fully functional cluster.
|
||||
|
||||
jsevans@jserver:~> kubectl get nodes
|
||||
NAME STATUS ROLES AGE VERSION
|
||||
linux-3q2c Ready master 2h v1.11.1
|
||||
linux-fykp Ready <none> 1h v1.11.1
|
||||
linux-gbv8 Ready <none> 1h v1.11.1
|
||||
|
||||
What have I been doing with my new cluster?
|
||||
|
||||
I installed the Kubernetes dashboard, Helm, and Wordpress with Helm. I've also had to really dig into what it means to use RBAC. In CaaS Platform 1-3, a lot of your RBAC stuff was already done for you. Now I've had to specifically set RBAC to get the Dashboard credentials working as well as to get Tiller working. It's a learning experience and it's good to get these fundamentals down pat.
|
||||
|
||||
[![Screenshot from 2018-08-21 20-56-47](images/screenshot-from-2018-08-21-20-56-47.png)](https://i1.wp.com/cloudydaytech.files.wordpress.com/2018/08/screenshot-from-2018-08-21-20-56-47.png)
|
||||
|
||||
[![Screenshot from 2018-08-21 20-58-13](images/screenshot-from-2018-08-21-20-58-13.png)](https://theuse.net/wp-content/uploads/2018/08/screenshot-from-2018-08-21-20-58-13.png)
|
15
content/english/post/adventures-with-qemu.md
Normal file
15
content/english/post/adventures-with-qemu.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Adventures with Qemu"
|
||||
date: "2006-08-14"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I first saw [Qemu](http://fabrice.bellard.free.fr/qemu/) again on the [Elivecd](http://www.elivecd.org) development live cd, and I was certainly intregued. I've been looking for an open source alternative to VMWare, and I think I've found a good one. The version found in the Ubuntu repository left a lot to be desired. After a bit of Googling, I found a walkthrough for compiling it from source [here](http://www.hants.lug.org.uk/cgi-bin/wiki.pl?LinuxHints/QemuCompilation). Surprisingly, the directions worked well with only a couple minor changes.
|
||||
|
||||
I am now able to install and run Windows 2000 and DSL Linux from inside Ubuntu. The speed leaves a lot to be desired, but it is functional, and all of the software that I've tried has worked. Compiling from source also gives you an accelerator kernel module that is closed-source and so can not be found in any repositories that I have searched.
|
||||
|
||||
I also suggest [Qemu Launcher](http://emeitner.f2o.org/qemu_launcher). This gives Qemu a VMWare feel and makes using Qemu a breeze.
|
||||
|
||||
|
||||
Technorati Tags: [qemu](http://technorati.com/tag/qemu), [emulator](http://technorati.com/tag/emulator), [ubuntu](http://technorati.com/tag/ubuntu)
|
18
content/english/post/advice-for-newbies.md
Normal file
18
content/english/post/advice-for-newbies.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "Advice for Newbies"
|
||||
date: "2020-01-28"
|
||||
categories:
|
||||
- "general-tech"
|
||||
- "linux"
|
||||
- "system-administration"
|
||||
---
|
||||
|
||||
I originally wrote this as a reply to a Reddit post but as I saved it, comments were blocked.
|
||||
|
||||
![2867374530_5feabdfbce_b](images/2867374530_5feabdfbce_b.jpg)Give yourself little tasks and projects to do. Think of it as being like model kit building. You start with the easy kits like a plane with just a few pieces and as you get better you pick up new things like painting, sanding, and eventually making bigger better kits.
|
||||
|
||||
So, start with small things. For example, write a small program with a for-loop and get to know what all if the commands are really doing. This is your basic kit. Add in some variables. Add in user input, and keep going trying new things. Eventually, challenge yourself by learning how to work with a GUI. Sometimes your program will break. This isn't a bad thing. It teaches you how to debug. What's important is to take your time and experiment.
|
||||
|
||||
The same goes for aspiring system engineers. Learn how to create a virtual machine and install Linux in it. Then learn how to create a web server and then how to get PHP and MySQL working, etc.
|
||||
|
||||
A computer course can teach you how to write good code or what all of the system services do that you need but what's most important is that you don't give up and never lose your curiosity.
|
12
content/english/post/alternative-wallpapers.md
Normal file
12
content/english/post/alternative-wallpapers.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "Alternative Wallpapers"
|
||||
date: "2018-05-18"
|
||||
categories:
|
||||
- "general"
|
||||
- "ham"
|
||||
- "linux"
|
||||
---
|
||||
|
||||
\[gallery ids="899,900" type="rectangular" link="file"\]
|
||||
|
||||
Since my last post was so popular, here are a couple replacement WP's that I made myself from schematics for a classic Heathkit HW101 transceiver.
|
20
content/english/post/an-introduction-to-gnupg-for-windows.md
Normal file
20
content/english/post/an-introduction-to-gnupg-for-windows.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "An Introduction to GnuPG for Windows"
|
||||
date: "2008-11-04"
|
||||
categories:
|
||||
- "general"
|
||||
tags:
|
||||
- "gnupg"
|
||||
- "gpg"
|
||||
- "tutorial"
|
||||
---
|
||||
|
||||
**An Introduction to GnuPG for Windows**
|
||||
|
||||
_What is it?_ GnuPG or “GPG” is a free and open source cryptography software package based on the PGP “Pretty Good Privacy” software system. GPG 1.0 was released in 1999 and steady development has continued since then. Unlike many software packages that you have to wait for new versions to become available, GPG is an open source application. That means that developers are constantly working on this software and new updates are produced regularly and free of charge. This software will not simply become abandoned by a single developer after a few years because people are always welcome to download the source code, make improvements, and keep the project alive. GPG is also interoperable with dozens of operating systems from all versions of Windows 95 and up, Linux, Unix variants including Sun Microsystems Solaris operating system and Apple’s OSX operating system.
|
||||
|
||||
_What can it do for me?_ Imagine a lockbox with a small keyhole. You own the key and anything inside of the lockbox is reasonably safe as long as you don’t give away or lose the key. Computer data can be locked in the same way. The lock is called encryption. Unlike the flimsy lock or key that may come with a lockbox, GPG uses a highly advanced encryption system that is on par with those used by the US Government. You can use GPG to encrypt your personal files on your desktop, emails and or files that you send to a co-worker or family member.
|
||||
|
||||
_How does it work?_ Unlike the lockbox illustration, GPG gives you two keys. The first is the private key. This is similar to the key that you have with your lockbox. It can be used to unlock the encrypted data so you can use it. It’s best the keep this key secret as you don’t want just anyone having access to it. One of the best strategies is to keep it on a floppy or on a USB flash drive that is physically secured. The second key is the public key. This is the key that you use to encrypt data. The public key does not have the credentials nor does it contain the data needed to decrypt any lock software. Furthermore, it is impossible to derive the encryption from the public key. The public key is meant for you to keep on your computer and to share with others. Why would you want to give other people your encryption key? If your colleague wants to send an important and confidential document to you, they could lock it, and only your private key could unlock it. If someone were to intercept that document they could not read it without your private key.
|
||||
|
||||
_Where can I find more information?_ There is an abundant amount of information on the web concerning GPG, PGP, and other personal encryptions software packages. One good place to start is Gpg4Win for Novices. This is an online document that will guide you through setting up your GPG in windows on a basic level. It can be found at: [http://www.gpg4win.org/handbuecher/novices.html](http://www.gpg4win.org/handbuecher/novices.html). For those who are more technically oriented and have more time to read long technical manuals, check out the official documentation at: [http://www.gnupg.org/documentation/manuals/gnupg/](http://www.gnupg.org/documentation/manuals/gnupg/). Gpg4Win can be downloaded at [http://www.gpg4win.org/](http://www.gpg4win.org/).
|
18
content/english/post/announcement.md
Normal file
18
content/english/post/announcement.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "Announcement"
|
||||
date: "2020-04-30"
|
||||
categories:
|
||||
- "usenet"
|
||||
---
|
||||
|
||||
From news.groups.newgroups:
|
||||
|
||||
This is an official communication from the Big-8 Management Board. Please note that followups are set to news.groups.
|
||||
|
||||
After a careful review of the Big 8 Management Board's activity and process, all remaining members of the Big 8 Management Board opted not to consider re-election and instead have voted to install two new volunteers as the new members of the Big 8 Management Board. These two volunteers are:
|
||||
|
||||
Tristan Miller Jason Evans
|
||||
|
||||
We believe these volunteers have the technical and social skills necessary to maintain the Big-8. Please give them your support while they develop their vision for the future mission and goals of the Big 8 Board.
|
||||
|
||||
Kathy Morgan, Chairperson Emeritus Bill Horne, former Chairperson
|
30
content/english/post/anonymity-is-important.md
Normal file
30
content/english/post/anonymity-is-important.md
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
title: "Anonymity is Important"
|
||||
date: "2018-11-28"
|
||||
---
|
||||
|
||||
Let's begin with something useful.
|
||||
|
||||
In order to use Tor, you ideally need a browser that can access it. The Tor Browser on desktop platforms, formerly known as the Tor Browser Bundle, and the Orfox Browser with the Orbot app on Android are the suggested browsers. Why? Tor takes anonymity seriously.
|
||||
|
||||
The four log entries below are from 4 browsers that are using Tor.
|
||||
|
||||
Brave:
|
||||
127.0.0.1 - - \[10/Nov/2018:12:56:19 +0000\] "GET /favicon.ico HTTP/1.1" 404 209 "http://irvdwucxcq6kb2nm.onion/" "Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
|
||||
|
||||
Firefox:
|
||||
127.0.0.1 - - \[10/Nov/2018:13:00:58 +0000\] "GET /favicon.ico HTTP/1.1" 404 152 "-" "Mozilla/5.0 (X11; Linux x86\_64; rv:62.0) Gecko/20100101 Firefox/62.0"
|
||||
|
||||
Tor Browser
|
||||
127.0.0.1 - - \[10/Nov/2018:12:57:27 +0000\] "GET /favicon.ico HTTP/1.1" 404 152 "-" "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0"
|
||||
|
||||
Orfox
|
||||
127.0.0.1 - - \[10/Nov/2018:13:04:53 +0000\] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (Android; Mobile; rv:52.0) Gecko/20100101 Firefox/52.0"
|
||||
|
||||
The first log entry is from the Brave browser (https://www.brave.com) which has Tor built in into their Private Window mode. This is a really neat concept, but you gain a lot of information about the person using this browser and that makes them stand out. You can see which website that I am trying to access. You can see that I am running 64-bit Linux. You can also see that I am running a browser based on Chrome. None of these things tell you exactly who I am but they fingerprint me as someone who stands out. The goal of anonymity is it blend in with the rest of the internet.
|
||||
|
||||
The second entry is normal unmodified Firefox running on Tor. This is a little better. It almost completely matches the entry for Tor Browser, except that it gives away my operating system and it is a not running the same version as the Tor Browser.
|
||||
|
||||
I didn't change to a Windows PC to test the Tor Browser, all versions will always report the same information. It will always report that it is being used in Window since it is the most widely used operating system. It's important to keep it up to date not only to apply bugfixes but to keep in line with all of the rest of the Tor Browser users.
|
||||
|
||||
The final entry is for Orfox. Yes, you can see that I am running it on Android as it is based on the Firefox app for Android. This is a bit of a negative. Preferably you would want it to appear to be the same as the normal Tor browser but there is probably a trade off. All copies of Orfox, no matter the device or version of Android, should look the same. However in order to get mobile versions of websites suitable for a mobile device, the browser needs to identify itself as a mobile browser. We'll discuss more about fingerprinting in a later chapter.
|
8
content/english/post/apartment-antennas.md
Normal file
8
content/english/post/apartment-antennas.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "Apartment Antennas"
|
||||
date: "2005-11-21"
|
||||
tags:
|
||||
- "antennas"
|
||||
---
|
||||
|
||||
MFJ has an antenna that is marketed towards apartment dwellers called the MFJ-1622. Barker and Williamson have a similar product called the AP-10B. Both of these products look good, but the price is mighty high. They run from $89 for the AP-10B to 99 for the MFJ-1622. The other problem is that, at least according to eham.net, the set up leaves a lot of be desired, and the performance can be lackluster. If we don't have $100 to spend on an antenna, what are the other options? It seems to me that these antennas are made of three main components. 1. a whip 2. a loading coil and 3. a counterpoise. I am wondering if something could be made akin to a hamstick dipole. In case you are not aware, a hamstick is a whip antenna that is attached to a long loading coil that is usually used for mobile operation. The hamstick dipole is two dipoles connected with a metal plate that can be clamped to a support pole. Hamsticks have two main problems. First, they are narrowband antennas. In other words, they have to be retuned regularly to keep swr low and they require a counterpoise like a car body. The dipole configuration effectively doubles the available bandwidth and it solves the problem of the counterpoise. But this creates one more problem. Who wants a 20' dipole in their apartment? Not to mention RF burns on family members who accidentally touch it. If you notice one thing about the advertised apartment antennas, then have a length of wire to take care of the counterpoise. Why not do the same with a single hamstick? Clamp it to a patio rail or sturdy piece of furniture, stick one end out of a window or on a patio and leave a curled up piece of insulated wire at the base for the counterpoise. One more thing, if you are in a really touchy complex and you try this, I would get some hobby paint and paint it black. Most HF activity is best at night and a black antenna would be much harder to see. Pass along any ideas that you might have. Links: MFJ-1622 [http://www.mfjenterprises.com/products.php?prodid=MFJ-1622](http://www.mfjenterprises.com/products.php?prodid=MFJ-1622) eHam Review [http://www.eham.net/reviews/detail/2035](http://www.eham.net/reviews/detail/2035) Cost $99.95 B&W AP-10B [http://www.bwantennas.com/ama/ap10b.ama.htm](http://www.bwantennas.com/ama/ap10b.ama.htm) eHam Review [http://www.eham.net/reviews/detail/667](http://www.eham.net/reviews/detail/667) Cost $89.00
|
@ -0,0 +1,93 @@
|
||||
---
|
||||
title: "Bedrock Linux: Strangest Linux Distro Ever?"
|
||||
date: "2019-06-09"
|
||||
---
|
||||
|
||||
# What is Bedrock Linux?
|
||||
|
||||
From their website:
|
||||
|
||||
> **Bedrock Linux** is a **meta Linux distribution** which allows users to utilize features from other, typically mutually exclusive distributions. Essentially, users can mix-and-match components as desired. For example, one could have:
|
||||
>
|
||||
> - The bulk of the system from an old/stable distribution such as CentOS or Debian.
|
||||
> - Access to cutting-edge packages from Arch Linux.
|
||||
> - Access to Arch's AUR.
|
||||
> - The ability to automate compiling packages with Gentoo's portage
|
||||
> - Library compatibility with Ubuntu, such as for desktop-oriented proprietary software.
|
||||
> - Library compatibility with CentOS, such as for workstation/server oriented proprietary software.
|
||||
>
|
||||
> All at the same time, all working together like one, largely cohesive operating system.
|
||||
|
||||
So, what is this thing? Bedrock Linux is a package manager compatibility overlay. Ever wanted to use CentOS or Arch packages on your Debian system? Bedrock Linux will let you do that.
|
||||
|
||||
# Strata
|
||||
|
||||
A stratos in Bedrock Linux is a package management overlay. For example, if you want to add a CentOS Strata, you run:
|
||||
|
||||
$ sudo brl fetch centos
|
||||
|
||||
The BRL app will then download yum and it's required apps and libraries into the overlay. Once it's done you can then yum install whatever you want.
|
||||
|
||||
Have multiple versions of the same package? Use:
|
||||
|
||||
$ strat \[stratus name\] \[packagename\]
|
||||
|
||||
For example with the Nano editor:
|
||||
|
||||
tux@debian:~$ strat arch nano -V
|
||||
GNU nano, version 4.2
|
||||
(C) 1999-2011, 2013-2019 Free Software Foundation, Inc.
|
||||
(C) 2014-2019 the contributors to nano
|
||||
Email: nano@nano-editor.org Web: https://nano-editor.org/
|
||||
Compiled options: --enable-utf8
|
||||
tux@debian:~$ strat debian nano -V
|
||||
GNU nano, version 2.7.4
|
||||
(C) 1999..2016 Free Software Foundation, Inc.
|
||||
(C) 2014..2016 the contributors to nano
|
||||
Email: nano@nano-editor.org Web: https://nano-editor.org/
|
||||
Compiled options: --disable-libmagic --disable-wrapping-as-root --enable-utf8
|
||||
tux@debian:~$ strat centos nano -V
|
||||
GNU nano version 2.3.1 (compiled 04:47:52, Jun 10 2014)
|
||||
(C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
|
||||
2008, 2009 Free Software Foundation, Inc.
|
||||
Email: nano@nano-editor.org Web: http://www.nano-editor.org/
|
||||
Compiled options: --enable-color --enable-extra --enable-multibuffer --enable-nanorc --enable-utf8
|
||||
|
||||
# There are problems
|
||||
|
||||
It's not as easy as it sounds. In order to install Bedrock Linux, you must have a compatible base OS. Here is the list that's currently on the website:
|
||||
|
||||
| Distro | `Hijack`\-able | `Fetch`\-able | Maintainer |
|
||||
| --- | --- | --- | --- |
|
||||
| Alpine Linux | Yes | Yes | paradigm |
|
||||
| Arch Linux | Yes | Yes | paradigm |
|
||||
| CentOS | Known issues | Yes | paradigm |
|
||||
| Clear Linux | Mixed reports | Experimental support | N/A |
|
||||
| CRUX | Known issues | No | N/A |
|
||||
| Debian | Yes | Yes | paradigm |
|
||||
| Devuan | Needs investigation | Yes | paradigm |
|
||||
| Elementary OS | Yes, but limited testing | No | N/A |
|
||||
| Exherbo | Yes | In development | Wulf C. Krueger |
|
||||
| Fedora | Yes | Yes | paradigm |
|
||||
| Gentoo Linux | Yes | Yes | paradigm |
|
||||
| GoboLinux | Known issues | No | N/A |
|
||||
| GuixSD | Needs investigation | No | N/A |
|
||||
| Manjaro | Yes, but pamac/octopi broken | No | N/A |
|
||||
| Mint | Needs investigation | No | N/A |
|
||||
| MX Linux | Known issues | No | N/A |
|
||||
| NixOS | Known issues | No | N/A |
|
||||
| OpenSUSE | Yes | Experimental support | N/A |
|
||||
| OpenWRT | Needs investigation | Experimental support | N/A |
|
||||
| Raspbian | Yes | Yes | paradigm |
|
||||
| Slackware Linux | Known issues | Experimental support | N/A |
|
||||
| Solus | Yes | Experimental support | N/A |
|
||||
| Ubuntu | Yes | Yes | paradigm |
|
||||
| Void Linux | Yes | Yes | paradigm |
|
||||
|
||||
Hijack-able distros are suitable base installations. Fetch-able distros can be used as overlays.
|
||||
|
||||
However this isn't entirely true or at least not up to date. My first attempt was with OpenSUSE Tumbleweed. After installing, it failed to boot. My second attempt was with Fedora 30. Same resume. It worked on the third try with vanilla Debian. Finally, while Fedora is listed as fetch-able, I couldn't install it because the brl application couldn't find a suitable mirror.
|
||||
|
||||
# Should I give it a try?
|
||||
|
||||
Yes! It's a very interesting project, but don't do it on any machine where you need your data to be protected. A spare VM is the ideal platform until it becomes more stable.
|
16
content/english/post/beyond-cheese.md
Normal file
16
content/english/post/beyond-cheese.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "Beyond Cheese!"
|
||||
date: "2006-08-08"
|
||||
tags:
|
||||
- "general-amateur-radio"
|
||||
---
|
||||
|
||||
This belongs in Ham Radio Hall of Fame for cheesiest Ham Radio Promo video.
|
||||
|
||||
[http://64.27.98.24/clip.ram](http://64.27.98.24/clip.ram)
|
||||
|
||||
https://www.youtube.com/watch?v=5V9Qkd3dElw
|
||||
|
||||
Thanks to [AF4K](http://www.af4k.com)
|
||||
|
||||
_Come and join us on the airwaves........_ _You'll feel free and be happy too!_
|
120
content/english/post/certifications.md
Normal file
120
content/english/post/certifications.md
Normal file
@ -0,0 +1,120 @@
|
||||
---
|
||||
title: "Certifications"
|
||||
date: "2008-11-27"
|
||||
categories:
|
||||
- "general"
|
||||
tags:
|
||||
- "certification"
|
||||
- "cisco"
|
||||
- "comptia"
|
||||
- "ebook"
|
||||
- "leaning"
|
||||
- "linux"
|
||||
- "lpi"
|
||||
- "red-hat"
|
||||
- "study-guide"
|
||||
- "wiki"
|
||||
---
|
||||
|
||||
![broken-computer-1](images/broken-computer-1.jpg "broken-computer-1")On October 17th, I was laid off from what was supposed to be a long term contract at IBM after having previously laid off at another job at a certain ailing mortgage company. Job hunting as been really tough and the only thing that has looked really good so far is sales job at Tiger Direct.
|
||||
|
||||
What's holding me back, besides the terrible economy, is the fact that I may have 8 years of experience working at a help desk, but I don't have a single technical certification to "prove" what I know. Sadly, too many hiring decisions are made by folks who can't tell a cd-rom drive from a cup holder, and technical certifications are the only things they have to tell them if you know what you're talking about. Personally, I find the dependence on technical certifications to be silly at best, but those are the rules that we have to live by.
|
||||
|
||||
For those of you who are also jobless and looking to improve your resume, here are some links with important information for those who are also looking to get their technical certs. This post is by no means complete or exhaustive. I'll past more on the certifications page as I have time.
|
||||
|
||||
**Certification Companies**
|
||||
|
||||
- [Cisco](http://www.cisco.com/web/learning/le3/learning_career_certifications_and_learning_paths_home.html)
|
||||
- [CompTIA](http://www.comptia.org/)
|
||||
- RedHat
|
||||
- LPI (Linux Professional Institute)
|
||||
|
||||
**Cisco Exams**
|
||||
|
||||
**Entry**
|
||||
|
||||
- [CCENT Cisco Certified Entry Networking Technician](http://www.cisco.com/web/learning/le3/le2/le45/learning_certification_level_home.html)
|
||||
- [ICND1 Training](http://tools.cisco.com/E-Learning-IT/LPCM/LpcmLLController?action=CourseDesc&COURSE_ID=5117)
|
||||
|
||||
**Associate**
|
||||
|
||||
- [CCNA Cisco Certified Network Associate](http://www.cisco.com/web/learning/le3/le2/le0/le9/learning_certification_type_home.html)
|
||||
- [CCDA Cisco Certified Design Associate](http://www.cisco.com/web/learning/le3/le2/le0/le4/learning_certification_type_home.html)
|
||||
- [CCNA Security Involves Implementing Cisco IOS Network Security](http://www.cisco.com/web/learning/le3/le2/le0/le1/learning_certification_type_home.html)
|
||||
- [CCNA Voice Involves Implementing Cisco IOS Unified Communications](http://www.cisco.com/web/learning/le3/le2/le0/le3/learning_certification_type_home.html)
|
||||
- [CCNA Wireless Implementing Cisco Unified Wireless Networking Essentials](http://www.cisco.com/web/learning/le3/le2/le0/le2/learning_certification_type_home.html)
|
||||
|
||||
**Professional**
|
||||
|
||||
- [CCNP Cisco Certified Network Professional](http://www.cisco.com/web/learning/le3/le2/le37/le10/learning_certification_type_home.html)
|
||||
- [CCDP Cisco Certified Design Professional](http://www.cisco.com/web/learning/le3/le2/le37/le5/learning_certification_type_home.html)
|
||||
- [CCIP Cisco Certified Internetwork Professional](http://www.cisco.com/web/learning/le3/le2/le37/le8/learning_certification_type_home.html)
|
||||
- [CCSP Cisco Certified Security Professional](http://www.cisco.com/web/learning/le3/le2/le37/le54/learning_certification_type_home.html)
|
||||
- [CCVP Cisco Certified Voice Professional](http://www.cisco.com/web/learning/le3/le2/le37/le65/learning_certification_type_home.html)
|
||||
|
||||
**Expert**
|
||||
|
||||
- [CCIE Cisco Certified Internetwork Expert](http://www.cisco.com/web/learning/le3/ccie/index.html)
|
||||
- [CCDE Cisco Certified Design Expert](http://www.cisco.com/web/learning/le3/ccde/index.html)
|
||||
|
||||
**Specialist**
|
||||
|
||||
- [Advanced Routing and Switching](http://www.cisco.com/web/learning/le3/le2/le41/le75/learning_certification_type_home.html)
|
||||
- [Data Center](http://www.cisco.com/web/learning/le3/le2/le41/le99/learning_certification_type_home.html)
|
||||
- [Foundation for Channel Partners](http://www.cisco.com/web/learning/le3/le2/le41/le91/learning_certification_type_home.html)
|
||||
- [IP Communications](http://www.cisco.com/web/learning/le3/le2/le41/le79/learning_certification_type_home.html)
|
||||
- [Security](http://www.cisco.com/web/learning/le3/le2/le41/le85/learning_certification_type_home.html)
|
||||
- [Wireless LAN](http://www.cisco.com/web/learning/le3/le2/le41/le86/learning_certification_type_home.html)
|
||||
|
||||
**CompTIA Exams**
|
||||
|
||||
- [CompTIA A+ Certification](http://certification.comptia.org/a/default.aspx)
|
||||
- [A+ Study Guide for A+ Essentials and 220-602](http://www.mcmcse.com/comptia/aplus/notes/aplus_essentials.shtml)
|
||||
- [A+ Essentials 2006 Study Guide](http://studynotes.net/Essentials-Study-Guide)
|
||||
- [A+ Certification Resources](http://aplus.atspace.org/index.htm) (Network+ also! Lots of good links)
|
||||
- [CompTIA Network+ Certification](http://certification.comptia.org/network/default.aspx)
|
||||
- [CompTIA RFID+ Certification](http://certification.comptia.org/rfid/default.aspx)
|
||||
- [CompTIA Security+ Certification](http://certification.comptia.org/security/default.aspx)
|
||||
- [CompTIA Server+ Certification](http://certification.comptia.org/server/default.aspx)
|
||||
- [CompTIA CTT+ Certification](http://certification.comptia.org/ctt/default.aspx)
|
||||
- [CompTIA CDIA+ Certification](http://certification.comptia.org/cdia/default.aspx)
|
||||
- [CompTIA Linux+ Certification](http://certification.comptia.org/linux/default.aspx)
|
||||
- [CompTIA Project+ Certification](http://certification.comptia.org/project/default.aspx)
|
||||
- [CompTIA Convergence+ Certification](http://certification.comptia.org/convergence/default.aspx)
|
||||
- [CEA-CompTIA DHTI+ Certification](http://certification.comptia.org/dhti/default.aspx)
|
||||
- [CompTIA PDI+ Certification](http://certification.comptia.org/pdi/default.aspx)
|
||||
|
||||
**Redhat Exams**
|
||||
|
||||
- [Red Hat Certified Technician (RHCT)](http://www.redhat.com/certification/rhct/)
|
||||
- [Red Hat Certified Engineer (RHCE)](http://www.redhat.com/certification/rhce/)
|
||||
- [RHCE and RHCT Exam Preparation Guide](http://www.redhat.com/certification/rhct/prep_guide/)
|
||||
- [Red Hat Certified Datacenter Specialist (RHCDS)](http://www.redhat.com/certification/rhcds/)
|
||||
- [Red Hat Certified Security Specialist (RHCSS)](http://www.redhat.com/certification/rhcss/)
|
||||
- [Red Hat Certified Architect (RHCA)](http://www.redhat.com/certification/rhca/)
|
||||
|
||||
**LPI Exams**
|
||||
|
||||
- [LPI Linux Certification - Wikibooks](http://en.wikibooks.org/wiki/LPI_Linux_Certification)
|
||||
- [LPI 101 Certification Practice Test](http://gnosis.cx/publish/programming/exam101.html)
|
||||
- [Ubuntu Certified Professional](http://www.ubuntu.com/training/certificationcourses) (Part of the expanded LPI Certification)
|
||||
- [LPI Certification Self-Study Guide](http://www.happy-monkey.net/LPI/html/)
|
||||
- [LPI - General Linux 1 - Testemulation](http://www.linux-praxis.de/lpisim/lpi.html)
|
||||
- [Linux Professional Institute exam prep](http://www-128.ibm.com/developerworks/linux/lpi/101.html) (From IBM, you must register to use)[](http://www-128.ibm.com/developerworks/linux/lpi/101.html)
|
||||
|
||||
**General Training Resources**
|
||||
|
||||
- [How to Study for a Certification Exam](http://certification.about.com/od/entrylevelcertification1/ht/howtostudy.htm)
|
||||
- [Free Quiz & Practice Questions - Quiz School](http://www.proprofs.com/quiz-school/)
|
||||
- [Certification-crazy.net](http://www.certification-crazy.net) (somewhat out of date)
|
||||
- [CertCities](http://certcities.com/)
|
||||
- [Certification Magazine](http://www.certmag.com/)
|
||||
- [Computer Certification Information (About.com)](http://certification.about.com/)
|
||||
- [CramSession](http://www.cramsession.com/) (You might find their study free study guides useful, but I didn't think they were all that good compared to the amount of spam they send.
|
||||
- [Richard M. Roberts](http://www.rmroberts.com/)
|
||||
- [Wikiversity Computer Science Courses](http://en.wikiversity.org/wiki/School:Computer_Science#Major_divisions)
|
||||
|
||||
**"Other" Training Resources**
|
||||
|
||||
- [torrentz.com](http://torrentz.com)
|
||||
- [chmpdf.com](http://chmpdf.com)
|
8
content/english/post/coming-to-osc18.md
Normal file
8
content/english/post/coming-to-osc18.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "Coming to oSC18..."
|
||||
date: "2018-04-28"
|
||||
---
|
||||
|
||||
I was incredibly excited to get this message earlier this week and now to finish my presentation.
|
||||
|
||||
![](images/2018-04-28-10_57_51-mail-message-from_-_ddemaiosuse-de_.png)
|
File diff suppressed because one or more lines are too long
25
content/english/post/container-confession.md
Normal file
25
content/english/post/container-confession.md
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
title: "Container Confession"
|
||||
date: "2018-04-08"
|
||||
categories:
|
||||
- "docker-containers-and-kubernetes"
|
||||
---
|
||||
|
||||
Hi, my name is Jason and I use containers in other containers and I'm unhappy that I can't run even other containers inside of those.
|
||||
|
||||
I'm not a big fan of Canonical's [snapd](https://docs.snapcraft.io/core/snapd) application containers, but they have one application there that I can't get anywhere else for openSUSE outside of building it all from source and that is [LXD](https://www.ubuntu.com/containers/lxd). LXD is a hypervisor for Linux Containers a.k.a. LXC. With LXD, I can create full system containers that have much of the same functionality as VMs without the virtualization overhead and unlike Docker application containers, it provides a full environment to work in, not just enough to run one application.
|
||||
|
||||
My goal is to use LXD to create very quick and small environments to play with new tools in a safe sandbox. If I screw something up, I can create a new VM in less than 10 seconds or revert it to a previous save state even quicker instead of the time it takes to do the same in Virtualbox or KVM.
|
||||
|
||||
One of the things that I would like to do is play with Docker containers in my LXC container that is running in a snapd container. Well, that just doesn't work. Mostly apparmor is confused and by default, it is doing it's job.
|
||||
|
||||
root@docker-test:~# docker run -it hello-world
|
||||
Unable to find image 'hello-world:latest' locally
|
||||
latest: Pulling from library/hello-world
|
||||
ca4f61b1923c: Pull complete
|
||||
Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
|
||||
Status: Downloaded newer image for hello-world:latest
|
||||
docker: Error response from daemon: Could not check if docker-default AppArmor profile was loaded: open /sys/kernel/security/apparmor/profiles: permission denied.
|
||||
root@docker-test:~#
|
||||
|
||||
So, that's what I'm playing with today. If I get it to work, I'll post it here.
|
@ -0,0 +1,36 @@
|
||||
---
|
||||
title: "Create a complete Tor Onion Service with Docker and OpenSUSE (EXPANDED)"
|
||||
date: "2018-05-27"
|
||||
---
|
||||
|
||||
https://www.youtube.com/watch?v=iUxiTk6w1sc&t=1076s
|
||||
|
||||
I wrote this presentation on the weekends in April and May and it's didn't have quite the details that I wanted to put into it. Mostly I wanted it to be short and engaging. Putting in every detail that I wanted would have (I thought) been long and boring. I would like to take the time here to expand what went into the presentation and to make it a little more interesting.
|
||||
|
||||
![htw1 (1)](images/htw1-1.png)
|
||||
|
||||
I don't really like these diagrams. They already existed on tor-project.org and were made by the EFF but it's too high level and they don't really tell the story that I wanted to tell. The actual description on how onion services with is here: https://www.torproject.org/docs/onion-services.html.en
|
||||
|
||||
I could have done a better job than what I did. The way that I prefer to describe it is like this:
|
||||
|
||||
_After configuring your /etc/tor/torrc file, you run **systemctl tor start** and the local Tor daemon reaches out to the Tor networks and lets it know that you are running a local onion service. This creates a two-way link between your machine and the Tor network which is UDP traffic rather than TCP/IP as the Tor network never sees your actual local IP._
|
||||
|
||||
If I'm honest with myself, this is still pretty weak but it's better than what I had. The best thing would be to take the information from Tor website almost verbatim and made slides but I didn't do that.
|
||||
|
||||
![Screenshot_20180527_142714](images/screenshot_20180527_142714.png)
|
||||
|
||||
I glossed over this when I should have made more slides to help fill out the presentation. The brief anecdotes and really touch on a lot of reason why I think people should be using onion services such as:
|
||||
|
||||
![Screenshot_20180527_143138](images/screenshot_20180527_143138.png)
|
||||
|
||||
Being in the spotlight might just mean having a job where people know who you are. No matter who you are, there is a good chance that your political ideas will offend someone. Personally, I keep a strict no religion/no politics policy for myself at work. I just nod my head to everyone like I agree and/or understand. At home, it's a different story. I am a political person and I care deeply about politics but I don't want that interfering with my role at my company and I'm not alone. This is the point that would have had more punch than what I made and would have been a better case study on why onion sites are useful and needed.
|
||||
|
||||
![Screenshot_20180527_144036](images/screenshot_20180527_1440361.png)
|
||||
|
||||
The first two should have been one topic and the last should have been a call back to a better description of how the onion routing and encryption works.
|
||||
|
||||
![Silk_Road_Marketplace_Item_Screen](images/silk_road_marketplace_item_screen.jpg)
|
||||
|
||||
Nefarious websites such as [Silk Road](https://en.wikipedia.org/wiki/Silk_Road_(marketplace)) and the [Playpen](https://en.wikipedia.org/wiki/Playpen_(website)) were better case studies on how onion services are misused.
|
||||
|
||||
Finally, I think more details on how the docker-compose files are built would have been more useful as well as some hands-on interaction. Those file are all at my [Github](https://github.com/tgeek77) but I ran through them so quickly I didn't really give the audience time to see them during the presentation.
|
103
content/english/post/creating-onion-services-on-openbsd.md
Normal file
103
content/english/post/creating-onion-services-on-openbsd.md
Normal file
@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "Creating Onion Services on OpenBSD"
|
||||
date: "2020-01-05"
|
||||
categories:
|
||||
- "tor"
|
||||
---
|
||||
|
||||
OpenBSD is a new beast for me. I'm still learning, experimenting, and trying out new things. Yesterday I was able to create 3 onion services on it quite easily but it takes time to learn the correct order of operations and to learn how to find out why things don't work when you think they should.
|
||||
|
||||
## A word about OpenBSD
|
||||
|
||||
OpenBSD isn't friendly to newbies. The developers, users, and management work to make the best and most secure OS that they can. When you work with OpenBSD, it is assumed that you have at least a moderate to advanced amount of Linux or Unix knowledge and experience before starting and that you know how to read documentation, man pages, etc. Don't bother asking for help unless you've done your homework first. Here's an unedited quote from a recent mailing list post:
|
||||
|
||||
> \> I never read
|
||||
>
|
||||
> Please stop wasting our time then.
|
||||
|
||||
## Setting up Tor
|
||||
|
||||
It will become obvious in a minute, but it's important to set up your Tor onion services first and your web server later. We will be setting up 3 onion services with 3 completely different addresses that have completely different websites associated with them.
|
||||
|
||||
First install Tor:
|
||||
|
||||
pkg\_add tor
|
||||
|
||||
Enable the tor service:
|
||||
|
||||
rcctl enable tor
|
||||
|
||||
Here is my [torrc](https://gist.github.com/tgeek77/90539363f90ffeadd47e3f315b551bf5) file. It can be a little hard to see, but I enabled separate logging and debugging for Tor when I was working through this. If you don't, it can be hard to see why something isn't working. For example, mine kept failing but I couldn't get a good error as to why until I did this. The reason was because I hand't actually created the /var/tor/ directories nor set them to the correct permissions. I didn't see that until I starting watching those logs.
|
||||
|
||||
Here is how I set up the configuration for each site. These are the directories that I forgot to create. They contain the public and private keys and the hostname for each onion service.
|
||||
|
||||
HiddenServiceDir /var/tor/site1
|
||||
HiddenServicePort 80 127.0.0.1:8080
|
||||
|
||||
HiddenServiceDir /var/tor/site2
|
||||
HiddenServicePort 80 127.0.0.1:8081
|
||||
|
||||
HiddenServiceDir /var/tor/site3
|
||||
HiddenServicePort 80 127.0.0.1:8082
|
||||
|
||||
Each onion service is running internally on port 8080, 8081, or 8082, etc. This is the port that the actual OpenBSD OS will see running. However, tor will be expecting traffic to come in on the standard http port 80. You might be wondering how this works. Tor will be advertising my onion service on port 80. That traffic will come in via tor and get translated to the internal port that the OS will use.
|
||||
|
||||
Once I had this running correctly, I finally started tor.
|
||||
|
||||
rcctl start tor
|
||||
|
||||
Once tor is up an running, check each HiddenServiceDir for the hostname of each onion service. You will need them to test the web server.
|
||||
|
||||
## Setting up httpd
|
||||
|
||||
OpenBSD has it's own web server that comes with the standard installation called httpd. This is not the same as the Apache httpd that comes with Redhat or Ubuntu. This is a secure minimalist webserver which might actually be ideal for Onion services.
|
||||
|
||||
By default, you can't just start the httpd service and have it running with a default configuration like you can with Apache or Nginx. You actually need to create an /etc/httpd.conf file first. Here is [mine](https://gist.github.com/tgeek77/5e5bd3d67d7724c026db41206b078840).
|
||||
|
||||
\## Site 1
|
||||
|
||||
server "tpsh5cb4zl73pwymkkuopl4roibk4envf6k3ybdcdzuhuztrytsnxxqd.onion" {
|
||||
listen on \* port 8080
|
||||
root "/htdocs/tpsh5cb4zl73pwymkkuopl4roibk4envf6k3ybdcdzuhuztrytsnxxqd.onion"
|
||||
}
|
||||
|
||||
# Include additional MIME types
|
||||
types {
|
||||
include "/usr/share/misc/mime.types"
|
||||
}
|
||||
|
||||
## Site 2
|
||||
|
||||
server "ueaireabdst7uqupz5dlrt5vhltgid3wyz4esgwd7buug7nc2absawyd.onion" {
|
||||
listen on \* port 8081
|
||||
root "/htdocs/ueaireabdst7uqupz5dlrt5vhltgid3wyz4esgwd7buug7nc2absawyd.onion"
|
||||
}
|
||||
|
||||
## Site 3
|
||||
|
||||
server "r6udfh5el5bigkpnh7twtsx3j6w6cxmyexlaa23vacqugq7jo6hxlryd.onion" {
|
||||
listen on \* port 8082
|
||||
root "/htdocs/r6udfh5el5bigkpnh7twtsx3j6w6cxmyexlaa23vacqugq7jo6hxlryd.onion"
|
||||
}
|
||||
|
||||
The first things is the define the name of the url that traffic will be coming in on. I got this from the onion hostname that was generated by tor. Secondly, that hostname needs to be matched with the internal port number that tor will be sending traffic to. Finally you need to tell the web server where to find the actual html that make up that website. I used the complete onion name for that directory. That's not actually necessary but to me it is helpful. Be careful: although the line of code says "root" it is not the compete directory. htdocs is actually under /var/www/.
|
||||
|
||||
You can test your web server's configuration without actually starting it by running:
|
||||
|
||||
httpd -n
|
||||
|
||||
Once you get a "configuration OK" status, you can enable and start it
|
||||
|
||||
rcctl enable httpd
|
||||
|
||||
rcctl start httpd
|
||||
|
||||
A really great resource for starting to work with this web server is [here](https://www.openbsdhandbook.com/services/webserver/basic_webserver/). I would suggest waiting 30 seconds or so after starting the web server to check the urls with the Tor Browser or you can check them directly using the internal ports with curl.
|
||||
|
||||
## Final thoughts:
|
||||
|
||||
OpenBSD put [security](https://www.openbsd.org/security.html) before performance.
|
||||
|
||||
> OpenBSD believes in strong security. Our aspiration is to be NUMBER ONE in the industry for security (if we are not already there). Our open software development model permits us to take a more uncompromising view towards increased security than most vendors are able to. We can make changes the vendors would not make. Also, since OpenBSD is exported with [cryptography](https://www.openbsd.org/crypto.html), we are able to take cryptographic approaches towards fixing security problems.
|
||||
|
||||
Security is not privacy and it is certainly not anonymity and yet these things work well together. This focus makes OpenBSD the right match for those who want to use Tor and why I will always suggest that people avoid Windows or Macs for those who are serious about privacy because they put those platforms put user experience and sales before anything else on top of being closed source.
|
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "Creating the Ultimate Container Playground: LXD on Kubic"
|
||||
date: "2018-06-03"
|
||||
categories:
|
||||
- "docker-containers-and-kubernetes"
|
||||
- "linux"
|
||||
- "system-administration"
|
||||
---
|
||||
|
||||
# Introduction
|
||||
|
||||
LXC (Linux Containers) are whole-system containers. They are meant to be able to do just about anything you can do with a VM with a percentage of the system resources and and a tiny startup time.
|
||||
|
||||
# During Installation:
|
||||
|
||||
During installation, you can pretty much choose defaults for everything except you will need to create two additional btrfs subvolumes and if you gave your VM more than 30G of space, you will need to specify that manually because the installer will only recognize 30G by default.
|
||||
|
||||
Create btrfs subvolumes for: /snap /media
|
||||
|
||||
# After Installation
|
||||
|
||||
Add the snappy repo
|
||||
|
||||
sudo zypper addrepo --refresh http://download.opensuse.org/repositories/system:/snappy/openSUSE\_Tumbleweed/ snappy
|
||||
|
||||
Create the last subvolume needed for snappy
|
||||
|
||||
sudo btrfs subvolume create /var/lib/snapd
|
||||
|
||||
Install snappy
|
||||
|
||||
sudo transactional-update pkg install snapd
|
||||
|
||||
## reboot
|
||||
|
||||
Enable and start the snapd service
|
||||
|
||||
sudo systemctl enable snapd && sudo systemctl start snapd
|
||||
|
||||
Install the LXD snap
|
||||
|
||||
sudo snap install lxd
|
||||
|
||||
# Setup
|
||||
|
||||
Initialize LXD
|
||||
|
||||
lxd init (choose defaults to make life easier the first time)
|
||||
|
||||
Create your first LXC container. The first time you create the container, LXD will download the image. After that any new containers build from that image will start very quickly.
|
||||
|
||||
lxc launch images:opensuse/42.3 opensuse
|
||||
|
||||
Enter into your first container
|
||||
|
||||
lxc exec opensuse bash
|
@ -0,0 +1,314 @@
|
||||
---
|
||||
title: "Creating the Ultimate Container Playground: Salt in LXD"
|
||||
date: "2018-06-03"
|
||||
categories:
|
||||
- "docker-containers-and-kubernetes"
|
||||
- "linux"
|
||||
---
|
||||
|
||||
# Introduction: Installing Saltstack
|
||||
|
||||
The great thing about being able to spin up several new system containers running multiple Linux distros is that you get to experiment with software like Saltstack without the hassle of creating multiple VM's. This can be especially daunting on a machine that is lacking resources.
|
||||
|
||||
The following directions are how I installed Salt on multiple containers running at the same time but using less that 2G of RAM total for testing. Saltstack easily controlled all of their very different package manager and system configurations effortlessly.
|
||||
|
||||
## Master and Minion on OpenSUSE
|
||||
|
||||
zypper in salt-master salt-minion
|
||||
|
||||
echo "10.132.120.155" >> /etc/hosts
|
||||
|
||||
systemctl enable salt-master
|
||||
|
||||
systemctl start salt-master
|
||||
|
||||
systemctl enable salt-minion
|
||||
|
||||
systemctl start salt-minion
|
||||
|
||||
## Minion on Fedora
|
||||
|
||||
dnf install salt-minion
|
||||
|
||||
echo "10.132.120.155" >> /etc/hosts
|
||||
|
||||
systemctl enable salt-minion
|
||||
|
||||
systemctl start salt-minion
|
||||
|
||||
## Minion on Ubuntu
|
||||
|
||||
apt update
|
||||
|
||||
sudo apt install salt-minion
|
||||
|
||||
echo "10.132.120.155" >> /etc/hosts
|
||||
|
||||
systemctl enable salt-minion
|
||||
|
||||
systemctl restart salt-minion
|
||||
|
||||
## Minion on Arch
|
||||
|
||||
pacman -S salt
|
||||
|
||||
echo "10.132.120.155" >> /etc/hosts
|
||||
|
||||
systemctl enable salt-minion
|
||||
|
||||
systemctl start salt-minion
|
||||
|
||||
## Minion on CentOS
|
||||
|
||||
vim /etc/yum.repos.d/saltstack.repo (see https://docs.saltstack.com/en/latest/topics/installation/rhel.html)
|
||||
|
||||
echo "10.132.120.155" >> /etc/hosts
|
||||
|
||||
yum install salt-minion
|
||||
|
||||
systemctl enable salt-minion
|
||||
|
||||
systemctl start salt-minion
|
||||
|
||||
## Set up Salt Master
|
||||
|
||||
opensuse:~ # salt-key -A
|
||||
The following keys are going to be accepted:
|
||||
Unaccepted Keys:
|
||||
opensuse
|
||||
ubuntu.lxd
|
||||
arch
|
||||
fedora
|
||||
centos
|
||||
Proceed? \[n/Y\] y
|
||||
Key for minion opensuse accepted.
|
||||
Key for minion ubuntu.lxd accepted.
|
||||
Key for minion arch accepted.
|
||||
Key for minion fedora accepted.
|
||||
Key for minion centos accepted.
|
||||
|
||||
# Testing Saltstack
|
||||
|
||||
**opensuse:~ #** salt '\*' grains.get os
|
||||
ubuntu.lxd:
|
||||
Ubuntu
|
||||
centos:
|
||||
CentOS
|
||||
arch:
|
||||
Arch
|
||||
fedora:
|
||||
Fedora
|
||||
opensuse:
|
||||
SUSE
|
||||
|
||||
**opensuse:~ #** salt '\*' grains.get saltversion
|
||||
fedora:
|
||||
2017.7.3
|
||||
ubuntu.lxd:
|
||||
2017.7.4
|
||||
centos:
|
||||
2018.3.0
|
||||
opensuse:
|
||||
2018.3.0
|
||||
arch:
|
||||
2018.3.0
|
||||
|
||||
## Install a package
|
||||
|
||||
**opensuse:~ #** salt '\*' pkg.install mutt
|
||||
arch:
|
||||
\----------
|
||||
mailcap:
|
||||
\----------
|
||||
new:
|
||||
2.1.48+14+g5811758-1
|
||||
old:
|
||||
mutt:
|
||||
\----------
|
||||
new:
|
||||
1.10.0-1
|
||||
old:
|
||||
centos:
|
||||
\----------
|
||||
mailcap:
|
||||
\----------
|
||||
new:
|
||||
2.1.41-2.el7
|
||||
old:
|
||||
mutt:
|
||||
\----------
|
||||
new:
|
||||
5:1.5.21-27.el7
|
||||
old:
|
||||
tokyocabinet:
|
||||
\----------
|
||||
new:
|
||||
1.4.48-3.el7
|
||||
old:
|
||||
urlview:
|
||||
\----------
|
||||
new:
|
||||
0.9-15.20121210git6cfcad.el7
|
||||
old:
|
||||
fedora:
|
||||
\----------
|
||||
mailcap:
|
||||
\----------
|
||||
new:
|
||||
2.1.48-2.fc27
|
||||
old:
|
||||
mutt:
|
||||
\----------
|
||||
new:
|
||||
5:1.9.2-1.fc27
|
||||
old:
|
||||
perl-Time-Local:
|
||||
\----------
|
||||
new:
|
||||
1:1.250-394.fc27
|
||||
old:
|
||||
tokyocabinet:
|
||||
\----------
|
||||
new:
|
||||
1.4.48-9.fc27
|
||||
old:
|
||||
urlview:
|
||||
\----------
|
||||
new:
|
||||
0.9-22.20131022git08767a.fc27
|
||||
old:
|
||||
opensuse:
|
||||
\----------
|
||||
exim:
|
||||
\----------
|
||||
new:
|
||||
4.86.2-20.1
|
||||
old:
|
||||
libgc1:
|
||||
\----------
|
||||
new:
|
||||
7.2d-11.3
|
||||
old:
|
||||
libgmime-2\_6-0:
|
||||
\----------
|
||||
new:
|
||||
2.6.20-6.3
|
||||
old:
|
||||
libgpgme11:
|
||||
\----------
|
||||
new:
|
||||
1.9.0-1.3
|
||||
old:
|
||||
libkyotocabinet16:
|
||||
\----------
|
||||
new:
|
||||
1.2.76-16.1
|
||||
old:
|
||||
liblua5\_2:
|
||||
\----------
|
||||
new:
|
||||
5.2.4-6.1
|
||||
old:
|
||||
libmysqlclient18:
|
||||
\----------
|
||||
new:
|
||||
10.0.34-32.2
|
||||
old:
|
||||
libnotmuch4:
|
||||
\----------
|
||||
new:
|
||||
0.22.1-3.17
|
||||
old:
|
||||
libpq5:
|
||||
\----------
|
||||
new:
|
||||
9.6.8-15.1
|
||||
old:
|
||||
libspf2-2:
|
||||
\----------
|
||||
new:
|
||||
1.2.10-8.1
|
||||
old:
|
||||
libtalloc2:
|
||||
\----------
|
||||
new:
|
||||
2.1.10-2.3.1
|
||||
old:
|
||||
libxapian22:
|
||||
\----------
|
||||
new:
|
||||
1.2.21-5.3
|
||||
old:
|
||||
mutt:
|
||||
\----------
|
||||
new:
|
||||
1.8.2-1.7
|
||||
old:
|
||||
mutt-doc:
|
||||
\----------
|
||||
new:
|
||||
1.8.2-1.7
|
||||
old:
|
||||
mutt-lang:
|
||||
\----------
|
||||
new:
|
||||
1.8.2-1.7
|
||||
old:
|
||||
perl-Expect:
|
||||
\----------
|
||||
new:
|
||||
1.32-5.1
|
||||
old:
|
||||
perl-IO-Tty:
|
||||
\----------
|
||||
new:
|
||||
1.12-6.1
|
||||
old:
|
||||
python-curses:
|
||||
\----------
|
||||
new:
|
||||
2.7.13-27.3.1
|
||||
old:
|
||||
python-urwid:
|
||||
\----------
|
||||
new:
|
||||
1.3.0-6.2
|
||||
old:
|
||||
urlscan:
|
||||
\----------
|
||||
new:
|
||||
0.8.3-1.2
|
||||
old:
|
||||
urlview:
|
||||
\----------
|
||||
new:
|
||||
0.9-737.1
|
||||
old:
|
||||
w3m:
|
||||
\----------
|
||||
new:
|
||||
0.5.3.git20161120-163.3
|
||||
old:
|
||||
ubuntu.lxd:
|
||||
\----------
|
||||
imap-client:
|
||||
\----------
|
||||
new:
|
||||
1
|
||||
old:
|
||||
libgpgme11:
|
||||
\----------
|
||||
new:
|
||||
1.10.0-1ubuntu1
|
||||
old:
|
||||
libtokyocabinet9:
|
||||
\----------
|
||||
new:
|
||||
1.4.48-11
|
||||
old:
|
||||
mutt:
|
||||
\----------
|
||||
new:
|
||||
1.9.4-3
|
||||
old:
|
||||
**opensuse:~ #**
|
16
content/english/post/damn-small-linux.md
Normal file
16
content/english/post/damn-small-linux.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "Damn Small Linux"
|
||||
date: "2006-09-05"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I've been interested in Damn Small Linux for a while. The frugal intallation's ability to load the entire OS into RAM is awesome. The ability to mount different add-on programs to the OS (ala OSX) and have a very up to date OS is another. It doesn leave a bit to be desired, but overall, it is a very good Linux for slower hardware. I'm currently running the standard HDD installation on the 866mhz P3 with 256megs or Ram. It is fast and reliable. I do have a few complaints though.
|
||||
|
||||
1\. the default kernel option contains the nodma command. I am aware of the dangers of using DMA with some hardware, but there should be a grub option with dma enabled by default.
|
||||
|
||||
2\. Some packages much be manually remounted after a reboot. One such package is IceWM. I would think that a window manager would be automatically remounted so it does not break X.
|
||||
|
||||
3\. There is no apt-get repository just for DSL and the updates from the default Debian repository make break your system. This makes using apt-get treacherous.
|
||||
|
||||
There is much more good about this distro. than bad, and I suggest that everyone with an old 200 or 300mhz P2 PC try it out. A PPC or Sparc version for old Mac's and Sun workstations might be interesting also.
|
38
content/english/post/daps-in-a-container.md
Normal file
38
content/english/post/daps-in-a-container.md
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
title: "DAPS in a Container"
|
||||
date: "2020-09-28"
|
||||
categories:
|
||||
- "docker-containers-and-kubernetes"
|
||||
- "documentation"
|
||||
---
|
||||
|
||||
[DAPS](https://opensuse.github.io/daps/) is OpenSUSE's "DocBook Authoring and Publishing Suite" that is used to build documentation for [SUSE](https://documentation.suse.com/) and [OpenSUSE](https://doc.opensuse.org/). It actually requires A LOT of dependencies when being installed and for that reason alone, it's actually better to run it in a container. This is my image and how I use it.
|
||||
|
||||
`docker run -v ~/myproject/:/home/user jsevans/daps:latest daps -d DC-project epub`
|
||||
|
||||
Command Breakdown:
|
||||
|
||||
`docker run` \- Run the command in the container:
|
||||
|
||||
`-v ~/myproject/:/home/user` - Maps a local directory called _~/myproject_ to a directory in the container called _/home/user_. _/home/user_ is the default directory that is used by the daps command, so it is best to map this directory rather than needing any extra command line components.
|
||||
|
||||
`jsevans/daps:latest` - This is the image that I've created. It is based on OpenSUSE Tumbleweed but it is stable enough for this use. However, it is a large image ~1.2GB due to the number of dependencies.
|
||||
|
||||
`daps -d DC-project epub` - This is the actual command line argument for creating an EPUB ebook using DAPS. I use [Asciidoc](https://opensuse.github.io/daps/doc/daps-asciidoc.html) as my markup language since I don't really want to learn docbook.
|
||||
|
||||
**My Dockerfile**:
|
||||
|
||||
FROM opensuse/tumbleweed
|
||||
MAINTAINER Jason Evans <jsevans@opensuse.com>
|
||||
|
||||
RUN zypper refresh
|
||||
RUN zypper --non-interactive in daps git
|
||||
|
||||
ENV HOME /home/user
|
||||
RUN useradd --create-home --home-dir $HOME user \\
|
||||
&& chown -R user $HOME
|
||||
|
||||
WORKDIR $HOME
|
||||
USER user
|
||||
|
||||
CMD \[ "/usr/bin/daps" \]
|
@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "Deploying Wordpress with SUSE CaaS Platform"
|
||||
date: "2018-03-06"
|
||||
categories:
|
||||
- "docker-containers-and-kubernetes"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
While you may never have a reason to deploy Wordpress on CaaSP, the following exercise will give you a way to see how persistent storage, deployments, and NodePort networking work in Kubernetes work. It is my belief that a decent understanding of the theory around Kubernetes is useful, but an actual hands-on understanding will help fill in gaps where theory alone misses. It is assumed that you have already built your own cluster and have kubectl working. Example files are on Github and are free to download.
|
||||
|
||||
### Storage
|
||||
|
||||
#### NFS
|
||||
|
||||
The persistent storage strategy that we will be using example below uses NFS as the Persistent Volume (pv). An example /etc/exports is below.
|
||||
|
||||
/NFS/nfs1 \*(rw,no\_root\_squash,sync,no\_subtree\_check)
|
||||
/NFS/nfs2 \*(rw,no\_root\_squash,sync,no\_subtree\_check)
|
||||
|
||||
It's important that the CaaSP cluster be allowed to access the NFS share and that no\_root\_squash be enabled as the Persistent Volume will be writing to the NFS share as root.
|
||||
|
||||
### Persistent Volume
|
||||
|
||||
[NFS-volumes.yaml](https://github.com/tgeek77/caasp-wordpress/blob/master/NFS-volumes.yaml) is where persistent data for the Wordpress installation will reside. The PV mounts the NFS shares. The file is in yaml format which means that spaces are important and never use tabs. Edit this file to point to two separate NFS shares and then you can deploy it.
|
||||
|
||||
kubectl create -f NFS-volumes.yaml
|
||||
|
||||
## Deployment
|
||||
|
||||
#### Secret
|
||||
|
||||
The MySQL database needs a root password in order to be started. We create a secret in Kubernetes that the MySQL deployment can pick up and apply to the new MySQL Pod.
|
||||
|
||||
kubectl create secret generic mysql-pass --from-literal=password=YOUR\_PASSWORD
|
||||
|
||||
### MySQL Deployment
|
||||
|
||||
The [MySQL Deployment](https://github.com/tgeek77/caasp-wordpress/blob/master/mysql-deployment.yaml) has three parts. They are the Service, the Persistent Volume Claim (PVC), and the Pod deployment.
|
||||
|
||||
kubectl create -f mysql-deployment.yaml
|
||||
|
||||
#### Service
|
||||
|
||||
The Service is the networking element of the deployment. It allows Wordpress to connect to MySQL on port 3306.
|
||||
|
||||
#### Persistent Volume Claim
|
||||
|
||||
The PVC connects to the PV that we created previously. When the PVC is created successfully, the PV will be bound to it and persistent files will be able to be written to the NFS share that the PV is based on.
|
||||
|
||||
#### Pod
|
||||
|
||||
A Pod will be created from the mysql:5.6 image pulled from hub.docker.com and put into a container. Containers in the Kubernetes world are called Pods.
|
||||
|
||||
### Wordpress Deployment
|
||||
|
||||
The [Wordpress Deployment](https://github.com/tgeek77/caasp-wordpress/blob/master/wordpress-deployment.yaml) is very similar to the MySQL deployment. However, we will need to be able to access Wordpress, the application from the outside. In the service section of the wordpress deployment file, we see that the service type is NodePort. This is important to note because with this, we can access the installation from outside.
|
||||
|
||||
kubectl create -f wordpress-deployment.yaml
|
||||
|
||||
## Review
|
||||
|
||||
The following section will review all of the parts of a successfully installed Wordpress deployment using the steps above.
|
||||
|
||||
#### Review Persistent Volumes
|
||||
|
||||
$ kubectl get pv
|
||||
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
|
||||
local-pv-1 20Gi RWO Retain Bound default/wp-pv-claim 2h
|
||||
local-pv-18 20Gi RWO Retain Bound default/mysql-pv-claim 2h
|
||||
|
||||
#### Review Secrets
|
||||
|
||||
$ kubectl get secrets
|
||||
NAME TYPE DATA AGE
|
||||
mysql-pass Opaque 1 2h
|
||||
|
||||
#### Review Persistent Volume Claims
|
||||
|
||||
$ kubectl get pvc
|
||||
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
|
||||
mysql-pv-claim Bound local-pv-18 20Gi RWO 2h
|
||||
wp-pv-claim Bound local-pv-1 20Gi RWO 2h
|
||||
|
||||
#### Review Services
|
||||
|
||||
$ kubectl get services
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
wordpress NodePort 172.24.11.97 <none> 80:30941/TCP 2h
|
||||
wordpress-mysql ClusterIP None <none> 3306/TCP 2h
|
||||
|
||||
#### Review Pods
|
||||
|
||||
$ kubectl get pods
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
wordpress-db8f78568-n45nv 1/1 Running 0 2h
|
||||
wordpress-mysql-7b4ffb6fb4-9r8tl 1/1 Running 0 2h
|
||||
|
||||
## Accessing Your Deployment
|
||||
|
||||
In the section on the Wordpress deployment, I mentioned that our Wordpress service will use NodePort. In the section where we reviewed the services, we see that NodePort type for Wordpress and that it is listening on ports 80:30941. This means that Wordpress is looking for traffic to come in on port 80 but our cluster will actually be listening on port 30941. Find the IP of any of your worker nodes and combine that with your NodePort port to access your new Wordpress deployment. Example: [http://192.168.0.1:30941](http://192.168.0.1:30941/).
|
||||
|
||||
This guide is an adaption from the Kubetnetes.io's [Deploying WordPress and MySQL with Persistent Volumes](https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/) which was produced under a [Creative Commons Attribution 4.0](https://github.com/kubernetes/website/blob/master/LICENSE) license.
|
19
content/english/post/documentation-and-asciidoc.md
Normal file
19
content/english/post/documentation-and-asciidoc.md
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
title: "Documentation and Asciidoc"
|
||||
date: "2019-04-19"
|
||||
categories:
|
||||
- "documentation"
|
||||
- "projects"
|
||||
---
|
||||
|
||||
A few weeks ago I wrote a guide for [installing OpenSUSE Kubic](https://github.com/tgeek77/kubic-quickstart/blob/master/pdf/OpenSUSE%20Kubic:%20Installation.pdf). I wrote it using my team at work's lab manual templates in LibreOffice and then exported the output as a PDF. If you ever take a course from [SUSE Training](https://training.suse.com/), you will receive a complete lab manual like this as a part of your course materials.
|
||||
|
||||
I received some good and some less-than-good feedback for this guide from people at SUSECON and on IRC. So a few days ago I began converting the source files from LibreOffice .odt files to AsciiDoc text files and I put them on [github](https://github.com/tgeek77/kubic-quickstart/tree/master/lab/adoc).
|
||||
|
||||
AsciiDoc is great as a markup language. I can make some very nice and professional output with only a basic "cheat sheet". The problem is what format do you want your exported to be like? If you want just a standard html, then you can use the asciidoc or the asciidoctor application to export it to html and it looks great. If you want PDF, which is generally how I like distributing documents like this, it isn't quite what I'm looking for.
|
||||
|
||||
So far, I've found three ways to export from AsciiDoc to PDF. You can use asciidoctor-pdf which is a plugin for asciidoctor. The [asciidoctor-pdf](https://github.com/tgeek77/kubic-quickstart/blob/master/pdf/OpenSUSE%20Kubic:%20Installation-adoc.pdf) output is nice. It looks quite professional. In the build that I'm linking to, there are some formatting issues that I hadn't tackled yet, but overall it's a nice looking document. The second method is with [DAPS](https://opensuse.github.io/daps/). DAPS is a technical writing tool from the SUSE Documentation team. In the latest version, 3.0.0, it works natively with AsciiDoc. An intro to AsciiDoc with DAPS can be found [here](https://opensuse.github.io/daps/doc/daps-asciidoc.html). The output from my files looks like [this](https://github.com/tgeek77/kubic-quickstart/blob/master/lab/build/Kubic-Project/Kubic-Project_color_en.pdf). Again, it looks pretty nice. However if you look at both of these PDF files from asciidoctor and DAPS, and compare it with the link to my original PDF from LibreOffice above, you will see some important changes. In the original, we in the SUSE Training team have a specific color palette that we use for our documents and I wanted to create a nearly 1:1 translation from LibreOffice to AsciiDoc. Bold Monospace Blue for commands, Bold Monospace Green for urls and filenames, Bold Light Gray for field names. Also, page breaks between sections. This isn't possible at the time being without me learning how to write my own custom XSLT stylesheets (which probably isn't going to happen). Is this a negative on AsciiDoc? No, it's still easier than learning Docbook or TeX. It means that I will need to change how I format my documents using AsciiDoc's conventions if I use these tools, not my own.
|
||||
|
||||
I mentioned that there are three ways to export from AsciiDoc to PDF. The third is with a tool called [AsciidocFX](https://asciidocfx.com). This is a really cool tool that seems to no longer be actively maintained. It gave me the formatting that I wanted in the [PDF output](https://github.com/tgeek77/kubic-quickstart/raw/master/pdf/OpenSUSE%20Kubic:%20Installation-asciidocfx.pdf), but sadly it gave me a ugly title page which I can probably live with for now. I have mixed feelings about this project. On the one hand, it gives me pretty much what I want but on the other hand, if it isn't being actively maintained, it's a bummer. I also have the question whether the color palette that we use for training docs is really as important I think and perhaps I should stick with the standard formatting so that anything that I write look, at least from a format perspective, like what anyone else would write.
|
||||
|
||||
I will decide on a standard format soon. The OpenSUSE Kubic installation guide won't be the last free guide that I write. I'm constantly working on new guides, slide decks, etc. for my day job at SUSE Training, but I also want to contribute to the various open-source communities that I work with more and I think this is a great way to do it.
|
22
content/english/post/does-it-leak-tumbleweed-edition.md
Normal file
22
content/english/post/does-it-leak-tumbleweed-edition.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: "Does it Leak? -- Tumbleweed Edition"
|
||||
date: "2019-01-27"
|
||||
---
|
||||
|
||||
The following is a spreadsheet that I put together this weekend testing Linux applications and how well the work on Tor.
|
||||
|
||||
The first column is the name of the application and the second is the Linux distribution. In this case, I am using the latest build of OpenSUSE Tumbleweed with the latest patches applied.
|
||||
|
||||
The Torsocks column is whether or not the application is compatible with torsocks which is a wrapper around an application that send it's networking requests to Tor instead of the standard internet.
|
||||
|
||||
The Proxy column is whether or not the application supports a SOCKS5 proxy with a DNS Proxy, specifically the one used by the Tor application.
|
||||
|
||||
The DNS Leak column is a test that I ran with Wireshark to see if any of the applications were misbehaving with DNS. i.e. Did they try to use DNS even though I set a proxy not to use it and/or did they go around the torsocks application and use DNS directly?
|
||||
|
||||
In the No DNS Test, I commented out the nameserver entry in /etc/resolv.conf so that the VM that I was using as a whole would not have access to DNS. Would the application be able to use DNS via Tor alone?
|
||||
|
||||
Finally, I tested to see if the application could reach a .onion site. I don't have a OpenSUSE Repo in an .onion site or a steaming service like youtube to try so I didn't test those.
|
||||
|
||||
<table class="wp-block-table"><tbody><tr><td><strong>Application</strong></td><td><strong>Linux</strong></td><td><strong>Torsocks</strong></td><td><strong>Proxy</strong></td><td><strong>DNS Leak</strong></td><td><strong>No DNS Test</strong></td><td><strong>.onion</strong></td></tr><tr><td>Firefox</td><td>Tumbleweed</td><td>No</td><td>Yes</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>Zypper</td><td>Tumbleweed</td><td>Yes</td><td>No</td><td>No</td><td>Pass</td><td>n/a</td></tr><tr><td>Links</td><td>Tumbleweed</td><td>No</td><td>Yes</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>Lynx</td><td>Tumbleweed</td><td>Yes</td><td>No</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>w3m</td><td>Tumbleweed</td><td>Yes</td><td>No</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>curl</td><td>Tumbleweed</td><td>Yes</td><td>Yes</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>Chromium</td><td>Tumbleweed</td><td>No</td><td>Yes</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>Brave</td><td>Tumbleweed</td><td>No</td><td>Yes</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>Otter</td><td>Tumbleweed</td><td>No</td><td>Yes</td><td>No</td><td>Pass</td><td>Yes</td></tr><tr><td>Youtube-dl</td><td>Tumbleweed</td><td>Yes</td><td>No</td><td>No</td><td>Pass</td><td>n/a</td></tr></tbody></table>
|
||||
|
||||
My findings were that none of the applications that I tested had DNS Leaks though there could be other issues that I did not test for. If your concern is strictly about privacy and not being tracked, the official Tor Browser is the way to go. However I am keenly interested in other applications for Tor so this is my first step in finding what could be possible.
|
15
content/english/post/e17.md
Normal file
15
content/english/post/e17.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "e17"
|
||||
date: "2006-08-09"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
Is [e17](http://enlightenment.org/) the killer app that Linux has been waiting for?
|
||||
|
||||
I downloaded the Ubuntu binaries for e17 last night, and I was blown away. My computer's specs are modest by most geek-machine comparisons, but the eye candy was brilliant. The speed of the desktop was very good and everything was nicely arranged by default to give a pleasent view of this desktop manager. Mac snobs like to gripe about how easy everything is to use and how well everything is laid out. With the slight lurning curve of understanding how Linux packages work as opposed to the hunt, download, and install philosphy of Mac and Windows users, I think a well thoughtout Linux based on a clean e17 desktop could be the bridging point for those on the fence between the Mac's and PC's. A Linux box will be, by design, will be cheaper than a Mac and runs on the same hardware as Windows, but has the same ease of use as a Mac. In my opinion, the biggest problem with Linux going mainstream is native hardware support and 3rd Party software.
|
||||
|
||||
A live cd containing e17 can be found [here](http://elivecd.org/). Download it, burn it, and enjoy it.
|
||||
|
||||
|
||||
Technorati Tags: [linux](http://technorati.com/tag/linux), [e17](http://technorati.com/tag/e17), [enlightenment](http://technorati.com/tag/enlightenment)
|
20
content/english/post/email-consolidation.md
Normal file
20
content/english/post/email-consolidation.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "Email Consolidation"
|
||||
date: "2019-08-06"
|
||||
---
|
||||
|
||||
I've got too many email addresses.
|
||||
|
||||
I have:
|
||||
|
||||
- 2 for work
|
||||
- 1 alias for opensuse.org
|
||||
- 1 paid account with protonmail with 5 addresses shared in that account
|
||||
- 1 very old gmail account (I signed up the first day I heard about it).
|
||||
- 1 seznam account (Czech provider)
|
||||
- 1 installation of mail-in-a-box with 4 domains that I own but only one real account that I use
|
||||
- 1 librem.one account (this is a mistake and a disappointment)
|
||||
|
||||
The goal is to change all of the services, mailing lists, etc that I use to point to a single email account either directly or through aliases so that all of my email is in one place with the exception of my work email which should always stay separate. Also, to get people to only email me at the one account.
|
||||
|
||||
to be continued...
|
54
content/english/post/fixing-archive-orgs-pdfs.md
Normal file
54
content/english/post/fixing-archive-orgs-pdfs.md
Normal file
@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Fixing Archive.org's PDFs"
|
||||
date: "2018-07-16"
|
||||
---
|
||||
|
||||
Here's the [webpage](https://archive.org/details/gri_33125014521633) for a very early edition of Huckleberry Finn. If you open the PDF using a modern PC or tablet, it will look fine though a little slow to load. If you open it on your Kindle, Nook Color, or some other older Ebook reader that displays PDFs, you're in for a shock.
|
||||
|
||||
\[gallery ids="927,928,926" type="rectangular"\]
|
||||
|
||||
Each page in these PDFs are actually 3 images. When put together by a modern PDF reader, they make one nice scanned PDF page. If you're not suing a modern reader, you see all 3 layers separately. This makes the book unreadable. Even if you are using a modern reader, these PDFs have a noticeable lag time compared to other documents because it is loading 3 images per page.
|
||||
|
||||
This guide which show you how to eliminate the first two images and reverse the third image to be white on black. Will this 100% fix the book? No. However if you value text over presentation, it does make the book readable on any device including the good old E-ink Kindle.
|
||||
|
||||
Step 1. Install the applications (OpenSUSE)
|
||||
|
||||
sudo zypper in pdfmod imagemagick pandoc grename
|
||||
|
||||
Step 2. Convert the PDF to images. Create a directory for the files to go to first:
|
||||
|
||||
mkdir huck
|
||||
pdfimages huckleberry.pdf huck/
|
||||
|
||||
Step 3. The files that are created are all -xxx.ppm and .pbm: Bash doesn't like this. I use grename to rename every file so that they don't begin with a hyphen
|
||||
|
||||
Step 4. cd to the directory and delete the extra image files:
|
||||
|
||||
cd huck
|
||||
rm \*.ppm
|
||||
|
||||
Step 5. Reverse the images of the .pbm files. This will create a new copy of the files with inverted colors.
|
||||
|
||||
for i in \*; do convert -monochrome -colors 2 -depth 1 -negate $i in-$i; done
|
||||
|
||||
Step 6. Move the completed files to a next directory and delete the originals
|
||||
|
||||
mkdir finished
|
||||
mv in\* finished/
|
||||
rm \*.pbm
|
||||
|
||||
Step 7. cd to the finished directory and create a new pdf. This will take time and may freeze your computer. Be patient.
|
||||
|
||||
cd finished
|
||||
convert \`ls -v\` huck\_bw.pdf
|
||||
|
||||
Step 8. Shrink your newly created PDF because it is far too large right now.
|
||||
|
||||
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \\
|
||||
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=huck\_bw\_final.pdf huck\_bw.pdf
|
||||
|
||||
Your new PDF is complete. It is not a pretty as the original but it is more handy.
|
||||
|
||||
I then use pdfmod to edit the metadata so the ebook is easier to work with in calibre.
|
||||
|
||||
I'm very interested if anyone has found a better way to do this with open source software that retains the color of the original but without the multiple layers.
|
11
content/english/post/g33k-b33r.md
Normal file
11
content/english/post/g33k-b33r.md
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
title: "G33K B33R"
|
||||
date: "2008-11-04"
|
||||
categories:
|
||||
- "general"
|
||||
tags:
|
||||
- "bawls"
|
||||
- "geek"
|
||||
---
|
||||
|
||||
[![](images/geekbeer-150x150.jpg "geekbeer")](http://geekspaces.net/geek/wp-content/uploads/2008/08/geekbeer.jpg)I picked up Bawls [G33K B33R](http://www.bawls.com/g33kb33r.html) at our unfriendly neighborhood Tiger Direct yesterday, and I have to say that I was pleasently surprised. G33K B33R is not the worst root beer out there. I would say that it is not quite as fulfilling as A&W from the tap with lots of head, but it is much better than the root beer from Jones Soda or even Barq’s. I enojeyed it except for the price at $2/bottle and the fact that I have to go across town to find a bottle. Definately worth a try if you’re not a penny pincher like me and you enjoy a cold root beer.
|
10
content/english/post/geek-a-thon.md
Normal file
10
content/english/post/geek-a-thon.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "Geek-A-Thon"
|
||||
date: "2005-08-27"
|
||||
tags:
|
||||
- "miscellaneous-geek"
|
||||
---
|
||||
|
||||
Last Friday and Saturday, I volunteered with an organization called the [Kramden Institute](http://www.kramden.org/) to refurbish PC’s for underprivledged children in Durham, NC. Here is the website of the [Geekathon](http://www.kramden.org/geek-a-thon.htm), including one of my wife and me.
|
||||
|
||||
![](http://photos31.flickr.com/37771857_84a1ed6478.jpg?v=0)
|
106
content/english/post/getting-help-on-linux.md
Normal file
106
content/english/post/getting-help-on-linux.md
Normal file
@ -0,0 +1,106 @@
|
||||
---
|
||||
title: "Getting Help on Linux"
|
||||
date: "2021-07-01"
|
||||
categories:
|
||||
- "general-tech"
|
||||
- "linux"
|
||||
---
|
||||
|
||||
## Man
|
||||
|
||||
The **man** command is short for **man**ual. It allows you to read the instruction manual for almost every command in Linux and other Unix-like operating systems. Don't know how to use an application? The first thing to do is to run the man command and then the name of the application.
|
||||
|
||||
Below is an excerpt of the manual for the man command itself.
|
||||
|
||||
\> **man** man
|
||||
|
||||
Man: find all matching manual pages (set MAN\_POSIXLY\_CORRECT to avoid this)
|
||||
\* man (1)
|
||||
man (7mp)
|
||||
man (1p)
|
||||
Man: What manual page do you want?
|
||||
Man: 1
|
||||
|
||||
NAME
|
||||
man - an interface to the on-line reference manuals
|
||||
|
||||
SYNOPSIS
|
||||
man \[-C file\] \[-d\] \[-D\] \[--warnings\[=warnings\]\] \[-R encoding\] \[-L locale\] \[-m system\[,...\]\] \[-M path\] \[-S list\] \[-e extension\] \[-i|-I\]
|
||||
\[--regex|--wildcard\] \[--names-only\] \[-a\] \[-u\] \[--no-subpages\] \[-P pager\] \[-r prompt\] \[-7\] \[-E encoding\] \[--no-hyphenation\] \[--no-justification\] \[-p
|
||||
string\] \[-t\] \[-T\[device\]\] \[-H\[browser\]\] \[-X\[dpi\]\] \[-Z\] \[\[section\] page\[.section\] ...\] ...
|
||||
man -k \[apropos options\] regexp ...
|
||||
man -K \[-w|-W\] \[-S list\] \[-i|-I\] \[--regex\] \[section\] term ...
|
||||
man -f \[whatis options\] page ...
|
||||
man -l \[-C file\] \[-d\] \[-D\] \[--warnings\[=warnings\]\] \[-R encoding\] \[-L locale\] \[-P pager\] \[-r prompt\] \[-7\] \[-E encoding\] \[-p string\] \[-t\] \[-T\[device\]\]
|
||||
\[-H\[browser\]\] \[-X\[dpi\]\] \[-Z\] file ...
|
||||
man -w|-W \[-C file\] \[-d\] \[-D\] page ...
|
||||
man -c \[-C file\] \[-d\] \[-D\] page ...
|
||||
man \[-?V\]
|
||||
|
||||
DESCRIPTION
|
||||
man is the system's manual pager. Each page argument given to man is normally the name of a program, utility or function. The manual page associ-
|
||||
ated with each of these arguments is then found and displayed. A section, if provided, will direct man to look only in that section of the manual.
|
||||
The default action is to search in all of the available sections following a pre-defined order ("0 1 n l 8 3 2 5 4 9 6 7 1x 3x 4x 5x 6x 8x 1bind
|
||||
3bind 5bind 7bind 8bind 1cn 8cn 1m 1mh 5mh 8mh 1netpbm 3netpbm 5netpbm 0p 1p 3p 3posix 1pgsql 3pgsql 5pgsql 3C++ 8C++ 3blt 3curses 3ncurses 3form
|
||||
3menu 3db 3gdbm 3f 3gk 3paper 3mm 5mm 3perl 3pm 3pq 3qt 3pub 3readline 1ssl 3ssl 5ssl 7ssl 3t 3tk 3tcl 3tclx 3tix 7l 7nr 8c Cg g s m" by default,
|
||||
unless overridden by the SECTION directive in /etc/manpath.config), and to show only the first page found, even if page exists in several sections.
|
||||
|
||||
Why is it that I was given a list of options for the man command? That's because there are more than one manuals written for "man". One is the manual application. One is the a macro. Another is a reference in the programmer's dictionary. Sometimes you have to read them in order to find the one that you need.
|
||||
|
||||
## Apropos
|
||||
|
||||
Apropos searches manuals called manuals. The search function searches both name names and descriptions. If you run something like "apropos the", you're going to get pretty much every manual in the English language, so it's good to keep your search specific. If you need to know how to use x11, then
|
||||
|
||||
\> **apropos** apropos
|
||||
|
||||
apropos (1) - search the manual page names and descriptions
|
||||
|
||||
> **apropos** x11
|
||||
|
||||
firefox (1) - a Web browser for X11 derived from the Mozilla browser
|
||||
fonts-config (1) - configures installed X11 fonts.
|
||||
icewm (1) - lightweight X11 window manager
|
||||
pax11publish (1) - PulseAudio X11 Credential Utility
|
||||
pbmtox10bm (1) - convert a PBM image to an X11 bitmap
|
||||
pbmtoxbm (1) - convert a PBM image to an X11 bitmap
|
||||
pnmtoxwd (1) - convert a PNM into an X11 window dump
|
||||
ppmtopuzz (1) - convert a PPM image to an X11 "puzzle" file
|
||||
ppmtoxpm (1) - convert a PPM image to an X11 pixmap
|
||||
start-pulseaudio-x11 (1) - PulseAudio Sound Server X11 Startup Script
|
||||
x11-ssh-askpass (1x) - an X11-based pass-phrase dialog for use with OpenSSH
|
||||
X11::Auth (3pm) - Perl module to read X11 authority files
|
||||
X11::Keysyms (3pm) - Perl module for names of X11 keysyms
|
||||
X11::Protocol (3pm) - Perl module for the X Window System Protocol, version 11
|
||||
X11::Protocol::Connection (3pm) - Perl module abstract base class for X11 client to server connections
|
||||
X11::Protocol::Connection::FileHandle (3pm) - Perl module base class for FileHandle-based X11 connections
|
||||
X11::Protocol::Connection::INETFH (3pm) - Perl module for FileHandle-based TCP/IP X11 connections
|
||||
X11::Protocol::Connection::INETSocket (3pm) - Perl module for IO::Socket::INET-based X11 connections
|
||||
X11::Protocol::Connection::Socket (3pm) - Perl module base class for IO::Socket-based X11 connections
|
||||
X11::Protocol::Connection::UNIXFH (3pm) - Perl module for FileHandle-based Unix-domain X11 connections
|
||||
X11::Protocol::Connection::UNIXSocket (3pm) - Perl module for IO::Socket::UNIX-based X11 connections
|
||||
X11::Protocol::Ext::BIG\_REQUESTS (3pm) - Perl module for the X11 protocol Big Requests extension
|
||||
X11::Protocol::Ext::DPMS (3pm) - Perl module for the X11 Protocol DPMS Extension
|
||||
X11::Protocol::Ext::RENDER (3pm) - Perl module for the X Rendering Extension
|
||||
X11::Protocol::Ext::SHAPE (3pm) - Perl module for the X11 Protocol Nonrectangular Window Shape Extension
|
||||
X11::Protocol::Ext::XC\_MISC (3pm) - Perl module for the X11 Protocol XC-MISC Extension
|
||||
X11::Protocol::Ext::XFree86\_Misc (3pm) - Perl module for the XFree86 Misc Extension
|
||||
x11perf (1) - X11 server performance test program
|
||||
x11perfcomp (1) - X11 server performance comparison program
|
||||
xbmtopbm (1) - convert an X11 or X10 bitmap to a PBM image
|
||||
xfontsel (1) - point and click selection of X11 font names
|
||||
xkbctrl (1) - get X11 keyboard data according to console keyboard mapname
|
||||
xli (1x) - load images into an X11 window or onto the root window
|
||||
xloadimage (1x) - load images into an X11 window or onto the root window
|
||||
Xmark (1) - summarize x11perf results
|
||||
Xorg (1) - X11R7 X server
|
||||
xpmtoppm (1) - convert an X11 pixmap to a PPM image
|
||||
xrestop (1) - monitor server resources used by X11 clients
|
||||
xwdtopnm (1) - convert an X11 or X10 window dump file to a PNM image
|
||||
|
||||
## Whatis
|
||||
|
||||
Whatis gives just a brief description of what a command does.
|
||||
|
||||
\> whatis whatis whatis (1) - display one-line manual page descriptions
|
||||
|
||||
Help on the web
|
11
content/english/post/greetings-from-the-new-laptop.md
Normal file
11
content/english/post/greetings-from-the-new-laptop.md
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
title: "Greetings from the new laptop!"
|
||||
date: "2006-05-09"
|
||||
tags:
|
||||
- "general-tech"
|
||||
- "linux"
|
||||
---
|
||||
|
||||
Well, I've successfully installed [DamnSmallLinux](http://www.damnsmalllinux.org), and I like it. 50 Megs, and I have everything that I want. Right now, I am writing this using Flock, which does not come with D.S.L. It is being processed by my main pc and is being displayed on my laptop though something called X11 Forwarding. I'm just thrilled. This kicks some real butt!
|
||||
|
||||
technorati tags: [damn-small-linux](http://technorati.com/tag/damn-small-linux), [linux](http://technorati.com/tag/linux)
|
8
content/english/post/ham-tidbit.md
Normal file
8
content/english/post/ham-tidbit.md
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: "Ham Tidbit"
|
||||
date: "2008-11-15"
|
||||
categories:
|
||||
- "general"
|
||||
---
|
||||
|
||||
I was watching Sanctuary on the Scifi Channel and noticed that in one room were a couple of older model Yaesu rigs, some kind of SWR meter that I couldn't identify, and a green cube Heathkit SWR meter.
|
13
content/english/post/heathstuff.md
Normal file
13
content/english/post/heathstuff.md
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "Heathstuff"
|
||||
date: "2008-11-04"
|
||||
categories:
|
||||
- "general"
|
||||
tags:
|
||||
- "heathkit"
|
||||
- "resources"
|
||||
---
|
||||
|
||||
t’s no secret that one of my hobbies is ham radio. I’ve got a few projects lying around that I would like to see working. Today while looking for information on refurbishing a Heathkit SB-101 transceiver, I found a website called Heathstuff with lots of useful information related to Heathkit radios. The link is here: [http://www.kiyoinc.com/heathstuff.html](http://www.kiyoinc.com/heathstuff.html)
|
||||
|
||||
Sadly, the pages have not been updated since February 2004. The owner, AH6GI, has a lot of good information here, and I hope it helps you out.
|
16
content/english/post/helloworld.md
Normal file
16
content/english/post/helloworld.md
Normal file
@ -0,0 +1,16 @@
|
||||
+++
|
||||
title = 'Hello World'
|
||||
date = 2024-08-15T20:33:30+02:00
|
||||
draft = false
|
||||
+++
|
||||
|
||||
|
||||
Hi, I'm Jason. My C.V. is a globe-trotting adventure through many areas of the IT world.
|
||||
I've been tinkering, troubleshooting, and teaching tech for longer than most servers have been online.
|
||||
From the bustling tech hub of The Research Triangle Park, NC to the serene landscapes and charm of Prague, I've left my footprint across the internet and on at least a couple continents.
|
||||
|
||||
**About This Blog:**
|
||||
|
||||
I've been blogging in one form or another since 2002. You'll find many old posts here that might seem weird, outdated, or even immature. That's because they are. Over the years, I've grown a lot, and these early posts are a testament to that evolution.
|
||||
|
||||
From time to time, I get the urge to write again, which is why this blog exists today. It's a platform to share what I've learned with others and to keep a journal of my experiences.
|
18
content/english/post/how-can-i-get-malware.md
Normal file
18
content/english/post/how-can-i-get-malware.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "How can I get Malware?"
|
||||
date: "2017-08-01"
|
||||
categories:
|
||||
- "general-tech"
|
||||
---
|
||||
|
||||
[![](images/virus-450x190.png)](https://www.suse.com/communities/blog/files/2017/08/virus.png)I received an email this morning. I'm actually expecting a package that has been held for some time and when I saw it, it seems potentially legit at first. But then I realized that I don't use my work email for personal things like that. When I saw that it came from someone who didn't have a UPS email address, and there is a .zip attachment. I don't know for sure that this attachment has a virus or any kind of malware, but I won't take the chance on company hardware.
|
||||
|
||||
In the past few months [ransomware](https://en.wikipedia.org/wiki/Ransomware) such as [WannaCry](https://www.suse.com/communities/blog/no-tearswannacry-linux-unless-wine/) has been a big thing in IT news. It is a program that encrypts (locks) your documents and files so that you can't use them until you pay someone a ransom. Like a virus, then often move from machine to machine on a network. How do these things start? They usually start with emails like this one. Someone opens an attachment that they think is legitimate and then they find that they can't use their data anymore and if they don't have backups, then they might be out a lot of money. If it happens on a corporate network, they could be out millions.
|
||||
|
||||
How can you be safe?
|
||||
|
||||
- Don't open attachments that you aren't expecting.
|
||||
- Be smart about email. If you don't know who the email is from, never open an attachment.
|
||||
- Report suspicious email like this to your Information Security team or Email administrator so they can be blocked in the future.
|
||||
|
||||
Malware attacks happen, but they don't have to happen to you. A bit of savvy about how these things works can save a lot of headaches.
|
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "How I Would Use OS to Solve a Problem in the World"
|
||||
date: "2016-12-01"
|
||||
categories:
|
||||
- "tech"
|
||||
---
|
||||
|
||||
Ben Heck is sponsoring a contest for a Raspberry Pi Laptop.
|
||||
|
||||
https://youtu.be/ckRiXECkXIA
|
||||
|
||||
Here's my entry.
|
||||
|
||||
Privacy, security, and information.
|
||||
|
||||
These are three things that any responsible internet user should be aware of. This includes the privacy of personal information ranging from personal tastes to financial information; security for everything from phone photos to government spying; and the ability to share information that we want with whom we want without restriction. Linux and open source are the prime means by which these things happen; but that's not all. It also requires a grassroots efforts to educate and convince people to use new technologies and not simply follow the path of least resistance.
|
||||
|
||||
For example:
|
||||
|
||||
Privacy: Big data harvests everything about our lives and we should have the ability to opt out. More works needs to go into this but it has to come from the open source community who doesn't have vested interests in getting advertising revenue.
|
||||
|
||||
Security: The [DNC leaks](https://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Fwikileaks.org%2Fdnc-emails%2F) to Wikileaks would never have happened if the DNC had a firm policy within their ranks to only allow official internal emails that are encrypted with [GnuPG](https://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Fwww.gnupg.org%2F). Any hacks would have resulted in thousands of encrypted emails which could not have been easily leaked. What needs to happen next is that we need to get people to use this technology and to make the technology easier to use. Projects like [enigmail](https://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Fwww.enigmail.net%2Findex.php%2Fen%2F) in [Thunderbird](https://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Fwww.mozilla.org%2Fen-GB%2Fthunderbird%2F) are great but they are not easy for the un-saavy computer user to use. There is no excuse for shoddy security but it does explain why people on an individual level don't adopt them more readily. Projects like GnuPG need to grow and evolve and from there become a part of our daily internet lives.
|
||||
|
||||
Information: What do you do when the things that you want to know and share are restricted by government regimes and overzealous lawmakers? You find new ways to share information. Projects like [Tor](https://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Ftorproject.org%2F) get a bad wrap for being the means by which some truly evil people share pictures of abused children; but it's also how people in countries and Iran, Syria, China, and others get information out. Projects like Tor need increased funding, visibility, and volunteers to keep it free and secure from any and all government and corporate meddling. If we're not free to share our ideas then we aren't free.
|
||||
|
||||
The challenge was to you how I would use Linux or Open Source to solve a problem in the world. I gave you three real world problems that can best be solved with Linux and open source software. I hope someone reads this and finds the suggestions to be things that the want to help with.
|
111
content/english/post/how-low-can-you-go.md
Normal file
111
content/english/post/how-low-can-you-go.md
Normal file
@ -0,0 +1,111 @@
|
||||
---
|
||||
title: "How Low Can You Go?"
|
||||
date: "2017-05-23"
|
||||
---
|
||||
|
||||
Every since my days on dial-up internet and telnet MUD's, I've always been interested in low-bandwidth utilities. After all, not every user get's to live in an area that provides unlimited high-speed broadband. Some, like those who depend on cellular or satellite internet, have to choose between work and watching a few YouTube videos.
|
||||
|
||||
This post will introduce some tools that will help you make the most out of a limited or high-latency Internet connection.
|
||||
|
||||
### Mosh
|
||||
|
||||
https://mosh.org/
|
||||
|
||||
zypper in mosh
|
||||
|
||||
(SLES, Leap, Tumbleweed)
|
||||
|
||||
#### What does it do?
|
||||
|
||||
Mosh is a replacement for SSH. It uses the normal SSH protocol to initiate the connection to the remote server. However, after connecting, MOSH's true magic begins. Rather than continuing using TCP port 22, MOSH changes to UDP, yet it is still encrypted. Due to its fault-tolerance nature, TCP tends to be quite slow and unresponsive when bandwidth is low and latency is high. UDP, on the other hand, isn't worried about getting every byte correct. If a packet or two gets dropped, the connection stays up and continues working. Recently, I took a train from Prague to Nuremberg using the train's complementary wifi. While traveling through rural areas, the connection often dropped to a crawl and yet my connection to my home computer never dropped.
|
||||
|
||||
#### How do I use it?
|
||||
|
||||
Install mosh on the computer that you are using and the computer that you want to connect to, the connect like you would using ssh.
|
||||
|
||||
mosh jsevans@myserver
|
||||
|
||||
Really, it's that easy. There's no extra daemon to start or configure. Mosh uses SSH to connect to the other server and activate Mosh on the receiving end and the two communicate.
|
||||
|
||||
### Alpine
|
||||
|
||||
https://www.washington.edu/alpine/
|
||||
|
||||
zypper in alpine
|
||||
|
||||
(Leap, Tumbleweed)
|
||||
|
||||
### What does it do?
|
||||
|
||||
Alpine is a text-based email client. Why would anyone use an antique like that? Easy, if email is important and your internet is limited, then Alpine might be your best option. With that said there is a learning curve, but it's not as crazy as it seems at first.
|
||||
|
||||
#### How do I use it?
|
||||
|
||||
Below is a sample of what you will see at the main menu.
|
||||
|
||||
ALPINE 2.20 MAIN MENU Folder: INBOX No Messages
|
||||
|
||||
? HELP - Get help using Alpine
|
||||
|
||||
C COMPOSE MESSAGE - Compose and send a message
|
||||
|
||||
I MESSAGE INDEX - View messages in current folder
|
||||
|
||||
L FOLDER LIST - Select a folder to view
|
||||
|
||||
A ADDRESS BOOK - Update address book
|
||||
|
||||
S SETUP - Configure Alpine Options
|
||||
|
||||
Q QUIT - Leave the Alpine program
|
||||
|
||||
For Copyright information press "?"
|
||||
\[Folder "INBOX" opened with 0 messages\]
|
||||
? Help P PrevCmd R RelNotes
|
||||
O OTHER CMDS > \[ListFldrs\] N NextCmd K KBLockH
|
||||
|
||||
Help, Compose, Setup, and Quit are self-explanatory. Message Index opens your Inbox and Folder List lists all of your email folders. The hardest part is setting it up for the first time. The University of Virginia has a fantastic [tutorial](https://www.cs.virginia.edu/~csadmin/wiki/index.php/Setting_up_Pine_(Alpine)_for_IMAP_Gmail) for first-time installation using Gmail.
|
||||
|
||||
### Screen
|
||||
|
||||
https://www.gnu.org/software/screen/
|
||||
|
||||
#### What does it do?
|
||||
|
||||
Many system administrators know about Screen, but it's one of those tools that seems a little too mysterious for many new users. The main use of Screen is to create persistent shells. That means that if you start a new Screen session using the screen command, you can close that window and return to exactly where you left off.
|
||||
|
||||
#### How do I use it?
|
||||
|
||||
Try it for yourself. Run screen, then yast to get to console-mode yast, then close the window. If you were using yast on a remote server and the connection dropped, you might have lost all of your work. Open a new terminal window and type screen -x and you'll see yast exactly how you left it. Screen has many more uses than that and the following [tutorial](https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/) will help you get the most out of it.
|
||||
|
||||
Using Screen in conjunction with Mosh can make even dial-up speeds bearable at the command line.
|
||||
|
||||
### And now for something completely different.
|
||||
|
||||
There's enough material out there to write a book or two on different text-based applications that can make life easier when bandwidth is limited, but I wanted to show something that could actually make system administration much easier for the admin who needs to work in the field. Did you know you can install a VM with KVM or Xen using only the console?
|
||||
|
||||
#### How do I do it?
|
||||
|
||||
There are basically three steps. First, install the virt-install application on your client machine.
|
||||
|
||||
sudo zypper in virt-install
|
||||
|
||||
Secondly, log into the remote machine and create an image to be used for storage for the new VM
|
||||
|
||||
qemu-img create -f qcow2 ./workspace/VM/opensuse42.2.qcow2 60G
|
||||
|
||||
Finally, the following command will use the ssh protocol to create the new VM and you will see everything in your console. Sadly, it doesn't work with Mosh, but it does work quite well with Screen. Didn't know that SUSE products had a text-only installation mode? It's there and it works beautifully.
|
||||
|
||||
virt-install
|
||||
--connect qemu+ssh://jsevans@10.0.1.35/system
|
||||
--name leap42
|
||||
--ram 2048 --disk path=/workspace/VM/opensuse42.2.qcow2
|
||||
--vcpus 1
|
||||
--os-type linux --os-variant generic
|
||||
--network network=default
|
||||
--graphics none
|
||||
--console pty,target\_type=serial
|
||||
--location 'http://download.opensuse.org/distribution/leap/42.2/repo/oss/'
|
||||
--extra-args 'console=ttyS0,115200n8 serial'
|
||||
|
||||
Rather than giving one long command, it's sometimes easier to break them down like this. You can still copy and paste the text here to test it for yourself. Just remember to replace my information with your own. On the second line of the command, I use the connect option to connect to the remote server with /system at the end of the command. Most of these options probably seem normal if you're used to creating VM's in virt-manager in KVM or even in VMWare for that matter. However, the location and extra-args options need some explanation. This installation technique only works with network installs so basically you need to install from a remote HTTP or FTP server and supply the URL or you'll need to mount an ISO and serve the files via HTTP or FTP. You can see the url in the location option. The extra-args option tells KVM to emulate a serial connection similar to plugging in a serial cable to the back of a server and connecting directly. There is no virtual video card so there will be not be a remote VNC to view a GUI. There is only the serial connection. One difference in the final installation is that the kernel line will include directions for sending all text to the serial output. This makes booting your new VM easier to troubleshoot when booting. This technique isn't limited to just SUSE products. Raymii.org has a fantastic [guide](https://raymii.org/s/articles/virt-install_introduction_and_copy_paste_distro_install_commands.html) on how to do remote installations with several other distributions.
|
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "How to Write a Review of a Linux Distro"
|
||||
date: "2008-11-04"
|
||||
categories:
|
||||
- "general"
|
||||
tags:
|
||||
- "linux"
|
||||
- "reviews"
|
||||
- "writing"
|
||||
---
|
||||
|
||||
Mark Gregson over at [Linux.com](http://www.linux.com/feature/139593) [Linux.com](https://web.archive.org/web/20081107053737/http://www.linux.com/feature/139593) has a great article on how to write reviews for Linux distribution. I know I’ve cut corners when trying to review distros in the past, and I hope to take him up on his tips in the future.
|
50
content/english/post/hugo-dev.md
Normal file
50
content/english/post/hugo-dev.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
title: "Podman and My Hugo Development Environment"
|
||||
date: 2024-08-16T12:01:31Z
|
||||
Description: "How I use Hugo with Podman."
|
||||
Tags: [Hugo, Podman]
|
||||
Categories: [tech]
|
||||
DisableComments: false
|
||||
---
|
||||
|
||||
I prefer to keep my main OS clean and uncluttered, avoiding installing too many programs that I don't use frequently. When I first learned about virtual machines (VMs) many years ago, I realized how useful they could be for experimenting without risking my main system.
|
||||
|
||||
About 10 years ago, I discovered Docker containers. For me, containers became the ideal development environment. Unlike VMs, which take time to set up and install, containers allow you to have a fully functional environment ready in seconds. Since then, I've transitioned from Docker to Podman, though the commands remain largely the same.
|
||||
|
||||
Hugo is a simple application to work with. Running hugo will convert your Markdown files into HTML and save them to the public directory. If you run hugo server, it starts a basic web server to test your site locally. While there are many options available for both of these commands, these are the two I use most often.
|
||||
|
||||
But what if I don’t want to install the latest version of Hugo directly on my OS? I can run Hugo in a Podman container based on Ubuntu. Here’s how I set up the container for development:
|
||||
|
||||
```bash
|
||||
podman run -it \
|
||||
-v ~/git/thewwwdotcom-blog/:/blog \
|
||||
-p 1313:1313 \
|
||||
ubuntu:latest \
|
||||
bash
|
||||
```
|
||||
|
||||
Let’s break down this command:
|
||||
* `podman run -it`: Starts a new container in interactive mode.
|
||||
* `-v ~/git/thewwwdotcom-blog/:/blog`: Mounts my local Hugo files from ~/git/thewwwdotcom-blog/ into the /blog directory inside the container.
|
||||
* `-p 1313:1313`: Maps port 1313 from the container to the host, allowing me to access the Hugo server in my browser.
|
||||
* `ubuntu:latest`: Specifies the latest Ubuntu LTS image for the container.
|
||||
* `bash`: Opens a BASH shell inside the container for further command-line interaction.
|
||||
Once inside the container, you’ll be in an Ubuntu terminal shell, regardless of the host OS.
|
||||
|
||||
Now, let's install a text editor and Hugo. I prefer Micro for simple edits:
|
||||
|
||||
```bash
|
||||
apt update && apt install hugo micro
|
||||
```
|
||||
With everything installed, I can start the Hugo server:
|
||||
```bash
|
||||
cd /blog
|
||||
hugo server \
|
||||
--baseURL 127.0.0.1 \
|
||||
--bind 127.0.0.1
|
||||
```
|
||||
Setting the baseURL and bind options ensures that the test site runs locally as it would on the internet, but restricted to my machine.
|
||||
|
||||
Finally, I can open http://127.0.0.1:1313 in my browser to view the temporary version of my website.
|
||||
|
||||
![Alt text]( /images/screenshot-blog-2024-08-16_14-30.png )
|
22
content/english/post/i-deleted-everything.md
Normal file
22
content/english/post/i-deleted-everything.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: "I Deleted Everything"
|
||||
date: "2017-04-13"
|
||||
---
|
||||
|
||||
[![](images/15732146_10153971957132331_3243386425123940827_o-450x300.jpg)](https://www.suse.com/communities/blog/files/2017/04/15732146_10153971957132331_3243386425123940827_o.jpg)I goofed.
|
||||
|
||||
I'm an avid hobbyist photographer and I happen to live in one of the most beautiful cities in the world. Needless to say, I take a lot of pictures. Recently I upgraded the drive in my home desktop from a slow HDD to 256G SSD. My workflow is like this: I take pictures, I copy the RAW files from my SD Card to my 1.5TB external drive and then copy the ones that aren't blurry or terrible to my local hard drive for editing and the best ones that are edited get promoted to Flickr. The SSD would make this a lot easier and faster because RAW image files tend to be relatively huge and time consuming to process.
|
||||
|
||||
I added the new SSD, installed Tumbleweed, copied my personal files from the old disk to the new one and then deleted the files on the old disk. I had plans to use it for another project. Except one thing; I was in the wrong directory when I deleted everything. All 400GB of pictures were gone. I immediately stopped everything because I knew that deleting files doesn't actually remove them from the disk. It simply makes them able to be rewritten and I didn't want to risk that happening.
|
||||
|
||||
How I recovered.
|
||||
|
||||
OpenSUSE Leap and Tumbleweed have an application called [QPhotoRec](https://software.opensuse.org/package/qphotorec?search_term=qphotorec) that saved me.
|
||||
|
||||
I loaded the application with the gnomesu command as it needs root access to run:
|
||||
|
||||
gnomesu -c qphotorec
|
||||
|
||||
From here I was able to choose my disk, the kind of filesystem that I was using and where I [![](images/QPhotoRec_Screenshot-450x444.png)](https://www.suse.com/communities/blog/files/2017/04/QPhotoRec_Screenshot.png)wanted the files to be restored to and then I let it run. It's not a fast process. It took around 8 hours to restore my 400GB and even then there was two thing that I wasn't able to restore; the filenames and their directories. All of my files had their correct extensions but they were missing the filenames that they originally had and the directories they were in. Also, files inside of other files such as .iso or .tar files were also recovered including thumbnail photos that were stored in other files. QPhotoRec tries to make _educated guesses_ about what is and is not a file and recovered everything but it's not perfect. My job then was to reorganize my files into some semblance of how they were previously but at least they were there again.
|
||||
|
||||
Mistakes happen and hardware breaks. Files get deleted, sometimes important files. The best way to proceed is to always to keep backups (all of my most important files are encrypted and on a remote server) but when disaster happens through human error or otherwise, it's good to know that there are options.
|
16
content/english/post/i-need-a-new-open-source-project.md
Normal file
16
content/english/post/i-need-a-new-open-source-project.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "I need a new open source project"
|
||||
date: "2018-08-27"
|
||||
---
|
||||
|
||||
A few years ago I wrote [this rousing email](http://lists.tldp.org/go.to?list=discuss&cmd=showmsg&msgnum=12696) about the Linux Documentation Project and I made waves in a mailing list that lay mostly dormant for years. After the list was rejuvenated, I set out to learn git, then then to find pieces of Linux documentation all around the web and add it. The idea was, find a central place (i.e. TLDP) to store all of the documentation from here and there and then replicate that central store all over the globe for redundancy so it is never lost. I had big goals and then nothing really came of it.
|
||||
|
||||
_sigh_
|
||||
|
||||
Why did nothing happen? 99% was me and my own laziness/busyness/etc. The other 1% was that there isn't a community there. The mailing lists are dead. The wiki is never updated. New documents are rarely added and old ones are never retired (not deleted, just retired). I felt almost alone in this huge wasteland of a site with so much potential.
|
||||
|
||||
I need a new open source project
|
||||
|
||||
I want to find a project that I can help with, can make a difference in, and that has a community that is actively working in it.
|
||||
|
||||
I have a few projects in mind. I'll post more when I make a decision.
|
26
content/english/post/i-see-pretty-colors.md
Normal file
26
content/english/post/i-see-pretty-colors.md
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "I See Pretty Colors!"
|
||||
date: "2005-07-12"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
[Windows Longhorn 5203 Screenshots](http://www.flexbeta.net/main/comments.php?catid=1&shownews=13839)
|
||||
|
||||
Here are a few free screenshots of the new Windows version that is due out next year. It will be called, "Longhorn".
|
||||
|
||||
I see a lot of "eye candy" here i.e. a lot of fancy graphics. The problem is that it will require equally fancy hardware to support it, not to mention the cost of the OS itself.
|
||||
|
||||
This is Fedora Core 4: [http://shots.osdir.com/slideshows/363\_or/1.png](http://shots.osdir.com/slideshows/363_or/1.png) [http://shots.osdir.com/slideshows/362\_or/1.png](http://shots.osdir.com/slideshows/362_or/1.png)
|
||||
|
||||
This is Knoppix 3.9 [http://www.softpedia.com/screenshots//Knoppix-Live-GNULinux\_2.jpg](http://www.softpedia.com/screenshots//Knoppix-Live-GNULinux_2.jpg)
|
||||
|
||||
This is Mandrake Linux using Super Karamba [http://meowing.ccm.uc.edu/~ico/Linux/Borealis/Borealis\_manual/2.0/desktop1.jpg](http://meowing.ccm.uc.edu/~ico/Linux/Borealis/Borealis_manual/2.0/desktop1.jpg)
|
||||
|
||||
This is an unknown distro running the Enlightenment Window Manager [http://xwinman.org/screenshots/enl-jackson.jpg](http://xwinman.org/screenshots/enl-jackson.jpg)
|
||||
|
||||
Both Linux and Windows offers some pretty impressive eye candy, but two things stand out.
|
||||
|
||||
1\. In Linux, the desktop is so customizable, that you won't believe it. Everything is changeable, and you don't even need to be a programmer to do it.
|
||||
|
||||
2\. You can have an impressive looking **(and functional!)** desktop with very modest hardware requirements under Linux. If you have anything less than a 1Ghz PC, I would bet that you may have to upgrade your PC in order to run the newest version of Windows. This isn't necessarily the case with Linux.
|
14
content/english/post/i-want-a-wii.md
Normal file
14
content/english/post/i-want-a-wii.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "I want a Wii"
|
||||
date: "2006-08-02"
|
||||
tags:
|
||||
- "general-tech"
|
||||
---
|
||||
|
||||
I haven't been this excited about a video game system since the Super Nintendo. Not to mention, this will be the first video game system that I will buy new. With the exception of my family's Original NES, every video game system that I have ever owned has been used.
|
||||
|
||||
[http://wii.nintendo.com/home.html](http://wii.nintendo.com/home.html)
|
||||
|
||||
![](images/controller_feature_wht.png)
|
||||
|
||||
Technorati Tags: [wii](http://technorati.com/tag/wii)
|
10
content/english/post/i-want-my-linux-back.md
Normal file
10
content/english/post/i-want-my-linux-back.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "I want my Linux back"
|
||||
date: "2005-12-15"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I got a really good deal on a [iMac](http://en.wikipedia.org/wiki/iMac) 500mhz computer for my birthday. What would normally cost $150-200 on ebay cost me $50 because the guy didn’t know what he had. I wanted a computer that I could just do my work on and know that it is stable enough to not crash everytime I turned around. My reason for leaving [Linux](http://en.wikipedia.org/wiki/Linux) is 2-fold. 1. Serena’s PC crashed and I gave her mine and install WinXP on it for her. 2. I like to tinker with Linux too much, and so I end up breaking it a little too often. Don’t get me wrong, Linux is a fine and stable OS, but I like to play a little too much.
|
||||
|
||||
As for the iMac. **It’s a lie. It doesn’t “just” work.** I’ve had to invest a lot of time downloading new software to get it to do what I want. I’m not rich, or even very middle-class. I can’t afford the newest version of Appleworks or even MS Office, so I use [OpenOffice](http://en.wikipedia.org/wiki/OpenOffice) 2.0 RC3 (There’s not a 2.0 Stable version out for [OSX](http://en.wikipedia.org/wiki/OSX)). I can’t afford graphic editing software, so I use a buggy old version of TheGimp. Most of my software is either open source or not 100% legal **cough**. Furthermore, my periferals don’t even work. Neither [OSX](http://en.wikipedia.org/wiki/OSX) or [OS9](http://en.wikipedia.org/wiki/OS9) can see my scanner or my USB CD Burner. Linux could. Until I networked my printer through the [Microsoft Windows](http://en.wikipedia.org/wiki/Microsoft%20Windows) box and installed special Open Source drivers, it couldn’t see the printer (Mac’s don’t have [parallel port](http://en.wikipedia.org/wiki/parallel%20port)s anymore). Mac’s may “just work” when you buy the newest periferals, but as for me, it’s not doing the job. Next spring, I will buy a new PC mobo with an [Athlon 64](http://en.wikipedia.org/wiki/Athlon%2064) processor. I will install [Debian](http://en.wikipedia.org/wiki/Debian) and [White Box](http://www.whiteboxlinux.org/) Linux, and I won’t go back.
|
16
content/english/post/icom-ic-f3s-radio.md
Normal file
16
content/english/post/icom-ic-f3s-radio.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "Icom IC-F3S Radio"
|
||||
date: "2006-06-13"
|
||||
tags:
|
||||
- "radios"
|
||||
---
|
||||
|
||||
I haven't posted here in a while. I just found some useful information on a radio that I am researching.
|
||||
|
||||
Ebay has tons of these radios for dirt cheap. According to several websites, they are sturdy and very reliable, but they are only programmable via PC. Details about how to do this are scant.
|
||||
|
||||
The programming software is Icom CS-F3 software. It is for MSDOS and Windows in DOS mode only. If you take your time, you can find this software on Google for free rather than spending $35-40 for it. It took me around an hour to find it. I'm not going to say anymore than that Russians can be friendly.
|
||||
|
||||
The programming cable is Icom OPC-478. There are a few homebrew designs for this cable out there. This cable is used for many different Icom models and can be easily found online.
|
||||
|
||||
Programming guides, user manuals, and even repair manuals can be found on Google with enough patience.
|
12
content/english/post/ideas-and-projects-for-qrp.md
Normal file
12
content/english/post/ideas-and-projects-for-qrp.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "Ideas and Projects for QRP"
|
||||
date: "2006-09-07"
|
||||
tags:
|
||||
- "homebrew-qrp"
|
||||
---
|
||||
|
||||
[Ideas and Projects for QRP](http://www.antentop.org/library/shelf_ipqrp.htm)
|
||||
|
||||
Published by free e- magazine AntenTop
|
||||
|
||||
HT to [TheDXZone.com](http://www.dxzone.com/)
|
@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "In Defense of Tumblweed: Why @BryanLunduke is wrong"
|
||||
date: "2019-05-01"
|
||||
---
|
||||
|
||||
What is OpenSUSE Tumbleweed?
|
||||
|
||||
OpenSUSE Tumbleweed is a cutting-edge Linux distribution from the OpenSUSE team. It uses the latest versions of software applications and the Linux kernel for those who want to see what will be coming up in other Linux distributions in 6-months to a year or more from the time that they appear in Tumbleweed. This means that there are bugs; lots of them. Things break, This is the price that you pay for having the very cutting edge or software technology.
|
||||
|
||||
What did Bryan Lunduke actually say?
|
||||
|
||||
https://youtu.be/IVXqfKcD5PQ?t=810
|
||||
|
||||
Let's break down his complaints. There are only two.
|
||||
|
||||
- SUSE Studio
|
||||
- YaST (ugly, cumbersome, hard to use, stupid, bloated)
|
||||
|
||||
The first complaint is an application stack that doesn't actually have anything directly to do with Tumbleweed. I never used it. It was going by the wayside when I started using OpenSUSE as my daily OS of choice. The source code is still out there and maybe it should be forked and brought back to life. I don't know. I can't argue with this point because it is a red herring and has nothing to do the OpenSUSE Tumbleweed distribution.
|
||||
|
||||
The second list of complaints is pretty vague, but his complaint is basically that YaST has issues that are causing it to bring does the entire distribution as a whole.
|
||||
|
||||
![](images/screenshot-at-2019-05-01-13-39-57.png)
|
||||
|
||||
What is YaST?
|
||||
|
||||
YaST (Yet Another Setup Tool) is a set of system management tools that are grouped together in a single management application called YaST though they can be installed and run separately as needed.
|
||||
|
||||
The modules allow the user to easily control most administrative functions that might be needed. Not all of the modules are the same though. Some such as the printer and scanner modules suck. Other modules like the Software Management module are great. I consider this to be on par with Debian's Synaptic package management tool which is freaking amazing. If unevenness in the quality of the modules is the reason why he dislikes it so much, then it's not a completely wrong reason but it's not a really good one either.
|
||||
|
||||
I say that it's a given that some of the modules are out of date or need a fresh new rewrite, but that's not specifically what he is saying. He keeps his complaints vague and oddly personal. I'm not privy to much of the inner-workings of the OpenSUSE distribution but I've seen from social media that there is some bad blood there between him and folks in OpenSUSE and I really hope this isn't just a rant against them instead of really against the distribution.
|
||||
|
||||
With that aside, let's talk about the real issue with YaST and any GUI based configuration tool. It is yet another level of abstraction away from actually working with the operating system. For example, YaST has an module called HTTP Server. If you run it, it will set up Apache and any modules like PHP for you and will give you some basic options for tuning it without actually needing to work with the command line or configuration files directly. If someone told me that they had been a system administrator for 5 years but they had only ever used YaST, I wouldn't hire them because many times things break and they can't be fixed with YaST. Tools like YaST should mainly be a time saver not a replacement for good configuration and I think that's what it is currently.
|
||||
|
||||
Even with my own genuine complaints above, they don't really co-inside with Bryan Lunduke's complains (it's ugly, cumbersome, hard to use, stupid, and bloated) because I can't see all of that. It's no more ugly than any other tool (besides real nerds care about function over form). Granted, some of the modules are cumbersome and hard to use, but not all of them. It's "stupid, stupid and it's stupid" what the heck is that supposed to mean? Use your words Lunduke! Don't just emote. "It's bloated." There are currently 183 total YaST modules. Many will never be used by an end user because they are only used during installation. However if you were to install them all, it would take up 176MiB which would average out to .96MiB per module. There are some required Ruby libraries that I'm not taking into account here, but this really isn't what I would call bloat. You can even uninstall the modules that you don't want without causing a huge fuss.
|
||||
|
||||
Let's Wrap Up
|
||||
|
||||
Bryan Lunduke is wrong when he says that OpenSUSE Tumbleweed is one of the worst distros out right now. He is wrong when he says that YaST is dragging down the entire distro. YaST has problems, but they aren't what he says they are.
|
56
content/english/post/installing-the-tor-browser.md
Normal file
56
content/english/post/installing-the-tor-browser.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "Installing The Tor Browser"
|
||||
date: "2018-11-14"
|
||||
categories:
|
||||
- "tor"
|
||||
---
|
||||
|
||||
We'll do this in four parts for Windows, Linux, Mac, and Android users.
|
||||
|
||||
#### Windows
|
||||
|
||||
1. Go to: https://www.torproject.org/projects/torbrowser.html.en
|
||||
2. Download the latest version for Windows
|
||||
3. Run the installer
|
||||
4. You will now see a new folder on your Desktop. Open that and run Tor Browser.
|
||||
5. Click Connect
|
||||
6. Congrats, you are on Tor!
|
||||
7. Go to https://check.torproject.org/ in the Tor Browser
|
||||
|
||||
#### Linux
|
||||
|
||||
1. Go to: https://www.torproject.org/projects/torbrowser.html.en
|
||||
2. Download the latest version for Linux
|
||||
3. Open a command line
|
||||
4. Unzip the application. Replace xxxxxx with the current version that you downloaded
|
||||
|
||||
`tar -xvJf tor-browser-linux64-xxxxxx.tar.xz`
|
||||
|
||||
5. You will now see a new folder. Open that and run Tor Browser.
|
||||
|
||||
`cd tor-browser_en`
|
||||
|
||||
6. Run the application
|
||||
|
||||
`./start-tor-browser.desktop`
|
||||
|
||||
7. Click Connect
|
||||
8. Congrats, you are on Tor!
|
||||
9. Go to https://check.torproject.org/ in the Tor Browser
|
||||
|
||||
#### Mac
|
||||
|
||||
1. Go to: https://www.torproject.org/projects/torbrowser.html.en
|
||||
2. Download the latest version for Mac
|
||||
3. Run the installer
|
||||
4. You will now see a new folder on your Desktop. Open that and run Tor Browser.
|
||||
5. Click Connect
|
||||
6. Congrats, you are on Tor!
|
||||
7. Go to https://check.torproject.org/ in the Tor Browser
|
||||
|
||||
#### Android
|
||||
|
||||
1. Go to the app store and download the following two apps: Orfox and Orbot. Both are from The Tor Project. Orbot is the Tor service. Orfox is the Android implementation of the Tor Browser. There are many "Dark Web" and "Onion" android apps and many of them are bogus and may steal your data or are just scams.
|
||||
2. Start Orbot and connect to the Tor network.
|
||||
3. Start Orfox
|
||||
4. Go to https://check.torproject.org/ in Orfox.
|
28
content/english/post/intro-to-nip-io-and-xip-io.md
Normal file
28
content/english/post/intro-to-nip-io-and-xip-io.md
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "Intro to nip.io (and xip.io)"
|
||||
date: "2021-08-17"
|
||||
---
|
||||
|
||||
I've got a VM on my server whose IP address is 172.99.1.2. I can ssh using my test user, tux, by using:
|
||||
|
||||
ssh tux@172.99.1.2
|
||||
|
||||
Let's say that I need a fully qualified domain name (FQDN) for this vm but I don't have a private DNS server set up, I don't have want to buy a domain name, and I don't want to deal with editing /etc/hosts on every machine that will access it. I can use nip.io to access it.
|
||||
|
||||
ssh tux@172.99.1.2.nip.io
|
||||
|
||||
nip.io dynamically points to whatever IP address is in front of nip.io. That's all it does. This is similar to a DNS A-Record. This is not limited to real world IP address.
|
||||
|
||||
ssh 127.0.0.1.nip.io
|
||||
|
||||
This is an example of how nip.io doesn't care which IP address that you use. It just points to the IP address in the FQDN. What if you're working with a complex configuration and need several subdomains to point to that server that would be similar to DNS CNAMES?
|
||||
|
||||
curl blog.172.99.1.2.nip.io
|
||||
curl backend.172.99.1.2.nip.io
|
||||
curl cheesemonger.172.99.1.2.nip.io
|
||||
|
||||
Just put the name of the subdomain in front of the ip address to create one and then let NGINX or whatever ingress you have point traffic to the correct place.
|
||||
|
||||
Of course, this isn't meant to be used for a production server, but it is pretty great for development/training/testing purposes.
|
||||
|
||||
I also mention xip.io which was a service that did the exact same thing as nip.io but it has been offline for some time. There's no telling if or when it will come back, but if it does then that's another option.
|
6
content/english/post/introduction.md
Normal file
6
content/english/post/introduction.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
date: "2016-11-30"
|
||||
---
|
||||
|
||||
This blog is about literature, technology (mostly Linux), and my experiences as an American living in Prague.
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "I’ve lost my key. Can you pass me that banana?"
|
||||
date: "2008-11-04"
|
||||
categories:
|
||||
- "general"
|
||||
tags:
|
||||
- "hacking"
|
||||
- "lockpicking"
|
||||
---
|
||||
|
||||
[Patrick White from the Globe and Mail](http://www.theglobeandmail.com/) has an interesting article on a section of the hacker community that even I wasn’t aware of. Amatuer lockpicking, a sort of offline cousin to computer hacking, is gaining interest in the hacker community and is even showcased at the annual [Defcon](https://www.defcon.org/) conference. See the entire article [here](http://www.theglobeandmail.com/servlet/story/RTGAM.20080711.wlpicking11/BNStory/lifeMain/home) [here](https://web.archive.org/web/20090413150816/http://www.theglobeandmail.com:80/servlet/story/RTGAM.20080711.wlpicking11/BNStory/lifeMain/home). HT to [lewrockwell.com](http://geekspaces.net/geek/lewrockwell.com)
|
||||
|
||||
Other Links:
|
||||
|
||||
- [Lockpicking101.com](http://www.lockpicking101.com/)
|
||||
- [White House High-Security Locks Broken: Bumped and Picked at DefCon](http://blog.wired.com/27bstroke6/2007/08/jennalynn-a-12-.html)
|
32
content/english/post/kde-vs-xfce-vs-gnome.md
Normal file
32
content/english/post/kde-vs-xfce-vs-gnome.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "KDE vs XFCE vs Gnome"
|
||||
date: "2019-12-23"
|
||||
categories:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
[Chris Titus](https://www.youtube.com/watch?v=fo45bo1jvZI) recently vlogged about an [article](https://www.forbes.com/sites/jasonevangelho/2019/10/23/bold-prediction-kde-will-steal-the-lightweight-linux-desktop-crown-in-2020/#7ad25b3a26d2) showing that KDE 5.17 is now smaller than XFCE 4.14 in memory usage. The article says that in their tests, XFCE actually uses more RAM than KDE. I was very interested in this, but I couldn't quite believe it and so I ran my own tests.
|
||||
|
||||
First of all, we need to compare apples to apples. I created an [OpenSUSE VM](https://app.vagrantup.com/opensuse/boxes/Tumbleweed.x86_64) using Vagrant with KVM/libvirt. It had 4 cores and 4192MB of RAM. This VM has no graphical interface at all. As soon as I got it up, I took the first "No X" measurement. After patching using **zypper dup**, I took the second "No X" reading. Every reading in this blog post was using the **free -m** command. I then shut down the VM and cloned it 3 times so each copy should be completely the same.
|
||||
|
||||
I installed the desktop environments into their respective VMs using the following commands:
|
||||
|
||||
zypper in -t pattern kde
|
||||
|
||||
zypper in -t pattern xfce
|
||||
|
||||
zypper in -t pattern gnome
|
||||
|
||||
After desktop environment was done, I then installed the **lightdm** display manager. This wasn't actually necessary with Gnome because it installs **gdm** as a dependency.
|
||||
|
||||
After that, I started the display manager with:
|
||||
|
||||
systemctl set-default graphical && systemctl isolate graphical
|
||||
|
||||
Once I logging into the graphical environment, I ran **xterm** and then **free -m** for the first reading. I then rebooted each machine, and logged in for the second reading. I then installed and started libreoffice-writer. I created a new spreadsheet. That is the "Libreoffice" reading. Finally, I closed LibreOffice and took the third reading.
|
||||
|
||||
The results are a little surprising. The averages speak for themselves. KDE does use more than XFCE but not to a shocking amount. In fact, according to the average, only about 68MB. What's really surprising is how much more Gnome uses than the either two -- nearly 200MB more that KDE!
|
||||
|
||||
Finally, I also did a **df -kh** after installing libreoffice-writer on each. KDE is in fact that disk hog by a wide margin and that's even comparing it to Gnome + gdm + lightdm.
|
||||
|
||||
<table border="0" cellspacing="0"><colgroup width="114"></colgroup><colgroup width="74"></colgroup><colgroup width="76"></colgroup><colgroup width="73"></colgroup><colgroup width="62"></colgroup><tbody><tr><td align="center" height="17"><b>Desktop</b></td><td align="center"><b>Test No</b></td><td align="center"><b>RAM (MB)</b></td><td align="center"><b>Disk (GB)</b></td><td align="center"><b>Version</b></td></tr><tr><td align="left" height="17">No X</td><td align="right">1</td><td align="right">54</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">No X</td><td align="right">2</td><td align="right">58</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17"><b>Average</b></td><td align="left"></td><td align="right"><span style="color:#c9211e;">56</span></td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17"><b> </b></td><td align="left"></td><td align="left"><span style="color:#c9211e;"> </span></td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">Gnome</td><td align="right">1</td><td align="right">471</td><td align="left"></td><td align="left">3.34.2</td></tr><tr><td align="left" height="17">Gnome</td><td align="right">2</td><td align="right">501</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">Gnome</td><td align="right">3</td><td align="right">508</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">Gnome</td><td align="left">Libreoffice</td><td align="right">547</td><td align="right">1.9</td><td align="left"></td></tr><tr><td align="left" height="17"><b>Average</b></td><td align="left"></td><td align="right"><span style="color:#c9211e;">507</span></td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17"><b> </b></td><td align="left"></td><td align="left"><span style="color:#c9211e;"> </span></td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">KDE</td><td align="right">1</td><td align="right">327</td><td align="left"></td><td align="left">5.17.4</td></tr><tr><td align="left" height="17">KDE</td><td align="right">2</td><td align="right">284</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">KDE</td><td align="right">3</td><td align="right">291</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">KDE</td><td align="left">Libreoffice</td><td align="right">330</td><td align="right">2.3</td><td align="left"></td></tr><tr><td align="left" height="17"><b>Average</b></td><td align="left"></td><td align="right"><span style="color:#c9211e;">308</span></td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17"><b> </b></td><td align="left"></td><td align="left"><span style="color:#c9211e;"> </span></td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">XFCE</td><td align="right">1</td><td align="right">216</td><td align="left"></td><td align="left">4.14</td></tr><tr><td align="left" height="17">XFCE</td><td align="right">2</td><td align="right">230</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">XFCE</td><td align="right">3</td><td align="right">241</td><td align="left"></td><td align="left"></td></tr><tr><td align="left" height="17">XFCE</td><td align="left">Libreoffice</td><td align="right">272</td><td align="right">1.8</td><td align="left"></td></tr><tr><td align="left" height="17"><b>Average</b></td><td align="left"></td><td align="right"><span style="color:#c9211e;">240</span></td><td align="left"></td><td align="left"></td></tr></tbody></table>
|
31
content/english/post/lattepanda-gigglescore.md
Normal file
31
content/english/post/lattepanda-gigglescore.md
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
title: "LattePanda Gigglescore"
|
||||
date: "2019-04-22"
|
||||
---
|
||||
|
||||
A Gigglescore is a ratio score of price to performance for single-board-computers like the LattePanda or Raspberry Pi. A lower Gigglescore means a better value for the money. A higher one is worse. You can see more here: https://gigglescore.com/
|
||||
|
||||
My LattePanda:
|
||||
|
||||
sudo ./benchmark.sh 149
|
||||
Repository 'openSUSE-Leap-15.0-Non-Oss' is up to date.
|
||||
Repository 'openSUSE-Leap-15.0-Oss' is up to date.
|
||||
Repository 'openSUSE-Leap-15.0-Update' is up to date.
|
||||
Repository 'openSUSE-Leap-15.0-Update-Non-Oss' is up to date.
|
||||
All repositories have been refreshed.
|
||||
Category5.TV SBC Benchmark v1.1
|
||||
Powered by sysbench 1.0.11
|
||||
Number of threads for this SBC: 4
|
||||
Performing CPU Benchmark… WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
|
||||
576.760 events per second. Price: Ģ930.02 per unit.
|
||||
Performing RAM Benchmark… WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
|
||||
3,625,781.466 events per second. Price: Ģ0.15 per unit.
|
||||
Performing Mutex Benchmark… WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
|
||||
6.873 events per second. Price: Ģ7.80 per unit.
|
||||
|
||||
**Total Giggle cost of this board: Ģ1,397.58**
|
||||
|
||||
Giggles (Ģ) are a cost comparison that takes cost and performance into account. While the figure itself is not a direct translation of a dollar value, it works the same way: A board with a lower Giggle value costs less for the performance.
|
||||
If a board has a high Giggle value, it means for its performance, it is expensive. Giggles help you determine if a board is better bang-for-the-buck, even if it has a different real-world dollar value. Total Giggle cost does not include I/O since that can be impacted by which SD card you choose. Lower Ģ is better.
|
||||
|
||||
Being that the suggested retail price is currently $149, we get a Gigglescore of 1,397.58. This is right between the Raspberry Pi 3 B+ and the ODROID XU4 in terms of value for the dollar.
|
24
content/english/post/lattepanda.md
Normal file
24
content/english/post/lattepanda.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
title: "LattePanda"
|
||||
date: "2018-08-19"
|
||||
---
|
||||
|
||||
I picked up a new [toy](https://www.lattepanda.com/products/3.html) this week to replace my aging and rarely-used Raspberry Pi 3 (original). It came with Windows 10 already on it and I immediate went to the forums for a howto on installing Linux. There is a guide on how to install [Ubuntu 16.04](http://docs.lattepanda.com/content/OS/Win10HomeAndLTSB/#ubuntu-1604-lts-for-s70cr200-2g32g-version) but it seems to require a lot of extra steps (special kernel, etc). I figured it couldn't hurt to try it with OpenSUSE. At worst it would fail and I would be left with Ubuntu.
|
||||
|
||||
To my surprise, it worked and it was easier than the steps that were provided. The thing with the LattePanda is that it is UEFI-only. There is no legacy boot mode so if your distro doesn't have a UEFI-enabled installer, then you are out of luck.
|
||||
|
||||
Edit: It's not just UEFI only, it's **Trusted** UEFI only. That means that if your distro doesn't have a trusted EFI key, then the bios won't even recognize it. Canonical/Ubuntu, Redhat/CentOS/Fedora, and SUSE/OpenSUSE have trusted EFI keys and work. Mostly, I think because they have corporate sponsorship and they have a vested interest in working with hardware vendors.
|
||||
|
||||
Here's the basic steps:
|
||||
|
||||
1. Flash the "Ubuntu" bios (this will allow you to boot the Linux USB key)
|
||||
2. Burn the OpenSUSE iso to a USB 3.0 Key
|
||||
3. When trying to boot with the key, it froze when the installer brought up the GUI. Workaround: Reboot and add "textmode=1" to the boot loader for the installer.
|
||||
|
||||
![Screenshot at 2018-08-18 15-23-30](images/screenshot-at-2018-08-18-15-23-30.png)
|
||||
|
||||
1. Install using ncurses installer. It's a little clunky but all of the options are there.
|
||||
|
||||
![ss3](images/ss3.png) 5. Reboot after the installer finishes. Everything is as it should be. No more freezes, no special kernel, everything works great.
|
||||
|
||||
One last thing. The LattePanda has both HDMI and composite. Linux assumes composite out is Display 1 and HDMI is Display 2. If you are running headless, then this is fine. If not, you will need to with your desktop environment to disable Display 1. I tend to use the i3 desktop for work and this was easy for me to workaround. It can be a hassle for others. I think this will be the case no matter which distro you use.
|
22
content/english/post/learning-code-the-old-fashioned-way.md
Normal file
22
content/english/post/learning-code-the-old-fashioned-way.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: "Learning Code the Old Fashioned way"
|
||||
date: "2004-12-29"
|
||||
tags:
|
||||
- "general-amateur-radio"
|
||||
---
|
||||
|
||||
Warning! **INCREDIBLY POLITICALLY INCORRECT MATERIAL AHEAD**![](http://www.theologygeekblog.us/main/%21)!
|
||||
|
||||
I’m currently trying to pass my General Class Amateur Radio exam, and I found the following [book](http://www.zerobeat.net/tasrt/index.html) online. As you may be able to tell, it was written several years ago. When I read this book, I get the image of an older gruff gentleman telling me the best way that he knows how to learn Morse Code. He really doesn’t give a damn for my new-fangled ways of doing things, but he sincerely wants me to learn. Here’s the introduction:
|
||||
|
||||
> Almost anyone who can learn to read can learn the \[Morse\] code. There is no such thing as a normal person who wanted to learn the code and couldn’t. “I can’t learn the code” nearly always translates into “I won’t commit myself to the time necessary to learn it,” or that a person doesn’t really want to, even though he may think he does. Age, whether young or old, and intelligence, bright or dull, are no barriers. Youngsters of four or five can learn quickly, and oldsters of 90 have succeeded,too. You wouldn’t want to admit that a four-year old or a 90-year-old could outdo you, would you? It doesn’t require superior intelligence, just right application.Most handicaps, such as blindness or even deafness, have not stopped those who want to learn. Deaf people have been able to learn and receive using their fingers on the driver of a speaker at 30 wpm or on the knob of an electromagnetically driven “key knob” bouncing up and down at 20 wpm. (Even some people with dislexia have been able to learn to a useful extent.) It is easy if you really want to learn it and then go about learning it in the right way. Any person of reasonable intelligence can learn the Morse code and become a very good operator, able to copy it with a pencil at 25 wpm and send it clearly, smoothly and readably.
|
||||
>
|
||||
> There is no real justification for the statement that “some people just can’t learn the code.” (They don’t want to.) It’s a matter of motivation, the secret of learning any skill. If you are one of those who tried in the past and somehow didn’t make it, or got stuck at 8 or 10 or 12 wpm, take heart. Forget what you previously “learned”, and start over with the principles set forth here, and you will succeed.
|
||||
>
|
||||
> Some Naturally Learn Faster than Others Just as some people have a knackfor learning to play golf or tennis more quickly than others, so some have a special knack for learning the code. They catch on more quickly, but most of us take a bit longer. Kids tend to pick out the sound patterns easily and naturally without straining so they learn very fast.
|
||||
|
||||
Why is this politically incorrect? Phrases like, “_“I can’t learn the code” nearly always translates into “I won’t commit myself to the time necessary to learn it,” or that a person doesn’t really want to, even though he may think he does._” and “_“There is no real justification for the statement that “some people just can’t learn the code.” (They don’t want to.)”_” tell the reader that they can’t give phony excuses to the author nor to themselves. The words, “it’s not fair” have a profound place in the vocabulary of political correctness. It’s the ultimate cop-out for mediocrity. The author here is telling the reader that they can learn with enough effort. It’s not a far stretch to say that “it’s not fair that …\[fill in the blank\]” would not be an acceptable answer to why a person can not learn Morse code.
|
||||
|
||||
Furthermore…”It is easy if you really want to learn it and then go about learning it in the right way. ” What?! The **RIGHT WAY**?! How **JUDGEMENTAL![](http://www.theologygeekblog.us/main/%21)**
|
||||
|
||||
What also attracts me to this style of writing is that the substance of the book is about learning morse code. Period. The author does not go off on tangents about other topics. The book is concise and to the point. I may be going out on a limb here, but even that may irk some people because of the short attention span of most people today really will by an hinderance to them learning something like Morse code. Of course, as the author of this book says, “It’s a matter of motivation, the secret of learning any skill.” By cutting off all excuses, it leave the potential learner one of two choices. Give up or try harder. It’s not difficult to guess which one is easier.
|
12
content/english/post/learning-cw-2.md
Normal file
12
content/english/post/learning-cw-2.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "Learning CW"
|
||||
date: "2005-11-21"
|
||||
tags:
|
||||
- "general-amateur-radio"
|
||||
---
|
||||
|
||||
Last January, I passed the General Class written test with flying colors. I also failed the CW test miserably. In June, I failed it again, and I have one month to take it one last time or else I have to retake the written class test over again. I'm not looking forward to that at all. So, I'm putting my nose to the grindstone and I will pass the test next time.
|
||||
|
||||
My first learning method was visually. I was using a book called [Morse Code for the Rest of Us](http://www.users.qwest.net/~danhayman/) that had each letter in code written with cute little pictures. I learned the code that way, and I can even send code at a decend rate now, but I can't hear it. I have trouble telling the dit's from the dah's. After a few seconds, I get lost and everything jumbles together. That's the problem with learning CW visually, or so I'm told. You have to start learning code by ear. That way, your ears pick up the sounds and start recognizing the patterns immediately.
|
||||
|
||||
Now I am using [K7QO's Code Course](http://www.k7qo.net/). The only problem I see now is with me. I have to make the time to do this. I wish I had more patience for this kind of thing. I know that once I can hear the code and translate it instantly, I will never loose it and I will be up to 20WPM in no time. It's getting there that will be the problem.
|
34
content/english/post/lets-talk-about-anonymity-online.md
Normal file
34
content/english/post/lets-talk-about-anonymity-online.md
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
title: "Let's Talk About Anonymity Online"
|
||||
date: "2019-12-21"
|
||||
categories:
|
||||
- "tor"
|
||||
---
|
||||
|
||||
Let me show you what it looks like from the internet's point of view when I go to a simple website using a normal Browser (Brave):
|
||||
|
||||
> 111.222.333.444 - - \[18/Dec/2019:16:29:05 +0000\] "GET / HTTP/1.1" 200 7094 "-" "Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
|
||||
|
||||
The 111.222.333.444 would be my IP address. With that, anyone can get a lot of information about. With just a simple google search, you can actually see in the general vicinity where an IP address originates from. For example, the public IP address for Google is 172.217.23.238. You can use services like https://whatismyipaddress.com/ to what company owns an IP and a map to where it is located. In this case, the IP for Google is probably in a datacenter in Kansas. When I look up my personal IP, the website shows a map of Prague and the company that I use for my internet provider.
|
||||
|
||||
What does this mean? To any website that I visit and I don't say who I am, **I am anonymous but I am trackable**. My IP address and many other things about my computer and my browser give me an unique fingerprint. From the website that I run, if I wanted, I could see a list of every IP address that ever visited, where they come from, what kind of computer they use, what browser they use, what resolution their screen is, and a lot more. A law enforcement or legal organization can easily find out who I am personally by contacting my internet service provider and then I am no longer anonymous at all. Anonymity is a very tenuous concept online. It really isn't difficult to find out who someone is in real life if you have the means to do so.
|
||||
|
||||
Now let's change gears. You're probably heard about Tor. I know I've written about it a lot here. Tor is a way to make yourself both **anonymous and untrackable**. Furthermore it makes your true IP address a secret so even law enforcement have a very hard time tracking down someone using it. Your ISP doesn't know what you do online.
|
||||
|
||||
Let's see what it looks like when visit my website using the Tor Browser:
|
||||
|
||||
> 45.66.35.35 - - \[18/Dec/2019:16:49:41 +0000\] "GET / HTTP/1.1" 200 7094 "-" "Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0"
|
||||
|
||||
The IP address is not mine. It belongs to an exit node which is run by a Tor volunteer. These IP addresses are publicly known and are often banned from many websites (we'll talk about that later). Even though I am still running Linux, Tor Browser says that I am running Firefox on Windows 10. In fact every Tor Browser user appears to be running Windows 10 and they all have fake IP addresses.
|
||||
|
||||
If I do something that people don't like, the best they could do it to contact and possibly ban the exit node but it is no simple feat to find someone using Tor. It takes a lot of big-government level money and resources to do so and even then it takes a lot of work.
|
||||
|
||||
Why is this important? Isn't the amount of privacy that I have online enough? After all, if I log into Twitter or Reddit, I can create a new account and never tell anyone my real name. I am anonymous aren't I?
|
||||
|
||||
To a point, you are anonymous but only on the most basic level. Again, it takes very little to pinpoint who you are in real life. Do one of [these types of people](https://2019.www.torproject.org/about/torusers.html.en) sound like you? This list was written from a specific point of view. The thing that gets me most of all is that there are people in this world and perhaps in your country who are willing to use violence to keep opinions that they don't like quiet. It is easy to keep quiet and hope not to get caught up. It is difficult to speak what you believe where the consequence could be loss of employment, injury, imprisonment, or even death. Anonymity isn't cowardice. Sometimes it's the only safe way to be heard.
|
||||
|
||||
Before I finish up, I have to talk about the negatives of anonymity. First and most obvious is that many online companies do not want you to be anonymous. They make money from giving you ads and tracking what you do. Do not be surprised if many website, including Google, stop working when using Tor. They have no reason to allow you to use their services if they can't make money off of you and every reason to discourage it.
|
||||
|
||||
Secondly, bad people also use Tor. Not nearly as many as there are on the open internet, but they are there. Some are criminals. Some are merely trolls. A few do terrible things under the cover of anonymity online. Those are probably the stories that you have heard in the media and not about those who live under repressive regimes.
|
||||
|
||||
Not everyone agrees with me, but I believe that anonymity is important and it is crucial for safety online.
|
20
content/english/post/linux-newbies-shouldnt-dual-boot.md
Normal file
20
content/english/post/linux-newbies-shouldnt-dual-boot.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "Linux newbies shouldn't dual boot"
|
||||
date: "2020-08-27"
|
||||
categories:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
If you lurk around many Linux support forums, you are bound to see the regular post that looks something like this:
|
||||
|
||||
Hi, I'm new to Linux. I tried to dual boot Windows and Ubuntu, now I can't use my computer at all because it has errors. Help!!!
|
||||
|
||||
Troubleshooting Grub errors is difficult enough. Troubleshooting Grub errors when you know very little about how any of it works or when getting help from strangers on the internet is even more difficult to nearly impossible.
|
||||
|
||||
I offer 3 suggestions for newbs who want to learn Linux other than dual booting.
|
||||
|
||||
1. Use a virtual machine. Download Virtualbox on any platform, and install Linux there. It is a little slower than a real computer, but it is safe. If something breaks, nothing is lost. Just start again.
|
||||
2. Use bootable live installations. [OpenSUSE](https://software.opensuse.org/distributions/leap#Live-ports), [Ubuntu](https://ubuntu.com/tutorials/try-ubuntu-before-you-install#1-getting-started), and others allow you to use their Linux distribution from a USB key without ever installing it. This is faster that a VM and when rebooted, it's like it was never there.
|
||||
3. Get a dedicated Linux machine. I'm not talking about spending a ton of money on something new. A raspberry pi will do nicely. So would an old machine from Craigslist. Something that would be used only for Linux and that's all.
|
||||
|
||||
All of these are safe alternatives. I suggest the first option though because it costs nothing except time and your data will be safe.
|
28
content/english/post/lyx.md
Normal file
28
content/english/post/lyx.md
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "LyX"
|
||||
date: "2017-04-19"
|
||||
---
|
||||
|
||||
[![](images/Screenshot-at-2017-04-18-16-35-41-450x432.png)](https://www.suse.com/communities/blog/files/2017/04/Screenshot-at-2017-04-18-16-35-41.png)Linux distributions are generally full of packages that have specific uses that most people don't need or maybe they just don't know that they need. In my [previous post](https://www.suse.com/communities/blog/i-deleted-everything/) I wrote about [QPhotoRec](https://software.opensuse.org/package/qphotorec?search_term=qphotorec) which I had never used before my little accident that actually saved me a huge headache. I didn't know that this application existed until I started researching how to undelete applications in Linux and I was pleasantly surprised that it was already included in OpenSUSE. The application below is one of many that I've found that make life easier for me and maybe it will for you too.
|
||||
|
||||
In the words of the developers, LyX is a WYSIWYM (what you see is what you mean) document processor. This is opposed to WYSIWYG (what you see is what you get) word processors like LibreOffice Writer or Microsoft Word. What does that mean? It means that what you see on the screen is only an approximation of what will go into the document. Instead of giving you a 1 to 1 representation, LyX handles the typesetting elegantly to create beautiful professional documents that would require a lot of extra work to get right in a conventional word processor. Thre is an example of this blog post written in LyX with output as a PDF at the end of this article. I didn't choose any special fonts or any special settings to impress you. I just chose the defaults and you can see the difference in quality.
|
||||
|
||||
LyX is based on LaTeX which was originally developed as a cross-platform language for publishing academic papers. With LyX it's relatively easy to include a formula like:
|
||||
|
||||
![](images/Screenshot-at-2017-04-18-15-52-18.png)
|
||||
|
||||
However, anyone who has worked with writing papers on Microsoft Word or LibreOffice can attest to it being somewhat less friendly. It can be used to write papers of course, but also full books, screenplays, and scripts, in many different formats.
|
||||
|
||||
You can try out LyX by installing it with zypper using:
|
||||
|
||||
sudo zypper in lyx
|
||||
|
||||
Creating a simple beautiful document is actually quite easy. Input your text first, highlight the sections that need special attention such as title, author, section, chapter headings, etc., apply the format from the menu bar, and save and then preview your document by going to Document --> View \[PDF (pdflatex)\]. LyX will then save your file as a temporary PDF and open it in your local PDF Reader. When you do this, prepare to see a document that looks like it was professional typeset for a textbook.
|
||||
|
||||
Any application this powerful is undoubtedly complex. I won't make you think that everything is very easy and there is no learning curve. There is, but it's really not as steep as first appears. To get you started, here are a few resources to get started with LyX.
|
||||
|
||||
LyX Homepage: [https://www.lyx.org/](https://www.lyx.org/) LyX Tutorials: [http://wiki.lyx.org/LyX/Tutorials](http://wiki.lyx.org/LyX/Tutorials)
|
||||
|
||||
I hope to present you with more random yet useful applications in the future buried in the OpenSUSE repository.
|
||||
|
||||
This [article](https://www.suse.com/communities/blog/files/2017/04/Lyx.pdf) via LyX.
|
@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "Minimum requirements for Windows Vista"
|
||||
date: "2006-05-18"
|
||||
tags:
|
||||
- "general-tech"
|
||||
---
|
||||
|
||||
This [article](http://arstechnica.com/news.ars/post/20060518-6863.html) details the requirements for the new Windows Vista OS.
|
||||
|
||||
> Minimum Requirements (Vista-Capable PCs): \* 800 MHz Intel-compatible processor \* 512MB of RAM \* DirectX 9.0-Capable Graphics Processor \* 20GB HDRecommended Requirements
|
||||
>
|
||||
> (Premium-Ready PCs): \* 1 GHz Intel-compatible processor \* 1GB RAM \* DirectX 9.0-Capable Graphics Processor, with 128MB graphics memory. (64MB of graphics memory to support a single monitor less than 1,310,720 pixels \[no more than 1440x900\]; 128MB of graphics memory to support a single monitor at resolutions from 1,310,720 to 2,304,000 pixels \[no more than 1920x1200\]; 256MB of graphics memory to support a single monitor at resolutions higher than 2,304,000 pixels \[more than 1920x1200\]). \* 40GB HD with at least 15GB "free space"
|
||||
|
||||
It goes on to say,
|
||||
|
||||
> Of course, we here in the Orbiting HQ want to stress that these specification recommendations are _minimum, minimum, minimum!_ If you have a PC with a 1 GHz processor, 1GB of RAM, and a 128MB DirectX 9.0-compliant video card... you'd be insane to install Windows Vista (in our not-so-humble opinions.)
|
||||
|
||||
And then the Linux users laugh with glee at the sad little Windows users.
|
20
content/english/post/more-on-icom-ic-f3s.md
Normal file
20
content/english/post/more-on-icom-ic-f3s.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "More on Icom IC-F3S"
|
||||
date: "2006-07-24"
|
||||
tags:
|
||||
- "radios"
|
||||
---
|
||||
|
||||
I finally bought one a couple of weeks ago. I got it off ebay for less that $10, though S/H brought it up to nearly $20. I also had to pick up three extra pieces of hardware. First, I got the programming cable and software, also from Ebay. Secondly, I got an alkaline (AA) battery pack and a rubber duck antenna from [American Communication Systems](http://www.ameradio.com).
|
||||
|
||||
The software is easy enough to use. However, it is very odd that the programming cable was not compatible with either of my two laptops. One is a P1 166mhz, the other a P4 1.7Ghz. However, it worked fine with my desktop. Also, if you are running Windows 2000 or XP, you must make an MSDOS boot disk to run this software unless you are a real guru and know about dual booting different partitions. For the majority of folks out there, that is not an option. Sorry Mac users, I'm not aware of any options for you.
|
||||
|
||||
I set up my frequencies, CTCSS tones, and button options, and "cloned" the new information to my radio. It works great for an HT that costs under $50 total. The 5watts really does a good job, and I'm sure that once I get a real 2m antenna on my car, it will work much better for mobile use.
|
||||
|
||||
A note about the antenna. This radio uses a Motorola MX connecter for the antenna jack. This is not a standard kind of jack, though you can buy an MX to BNC adapter so that you can use standard antennas with it. The cheapest adaptors that I have seen are around $16. Yeah, that's a lot of money for a little piece of metal.
|
||||
|
||||
The biggest downer about this radio, and the thing that will keep a lot of people away, is that it is only programmable by computer. I handle this by doing research ahead of time. I looked up all of the local repeaters and simplex frequencies and programmed them in the radio ahead of time. That way, I will be able to hear what I need ahead of time. Each channel can also be given a 7-digit identifyer, so you are not totally blind to what you are hearing. For example, #16 on my radio is the [JARS](http://jars.net) repeater is Clayton, NC. I programmed the indentifyer to read "JARS" when it gets to that frequency. The radio holds 36 channels (i.e. memories) and that should be good for most hams who want something cheap to keep in their cars or while hiking.
|
||||
|
||||
One last thing, this radio is a Police/Military issue device. Therefore, it transmits and receives the entire 138 to 174Mhz portion of the VHF band. This makes it a much more powerful radio that your average ham HT. It's not my job to lecture anyone on being a good ham, so I won't. It's just good to know that this is there. I personally think it's nice to be able to pick up the weather band on a ham HT, because you never know when it is going to come in handy
|
||||
|
||||
Technorati Tags: [icom](http://technorati.com/tag/icom), [ic-f3s](http://technorati.com/tag/ic-f3s), [ht](http://technorati.com/tag/ht),[](http://technorati.com/tag/)
|
10
content/english/post/more-thoughts-on-linux.md
Normal file
10
content/english/post/more-thoughts-on-linux.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "More Thoughts on Linux"
|
||||
date: "2006-02-27"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I'm a Linux user. Like you, I started with Mandrake. It was an early version (5.1) and it was very rough and unpolished. I gave it up quickly. Later on, I bought Mandrake 8.1 and was re-introduced to the magic of Linux. Mandrake 8.1 could actually do stuff. It's package manager (urpmi) actually worked and was easy to understand. Though, I have to point out that Linux packages (RPM and DEB) are a totally different paradigm compared to installing software on Windows or OSX.
|
||||
|
||||
Anyway, I am currently running Debian and Ubuntu, and this leads me to point out something crucial. Linux is not perfect and is not ready for the novice Windows user. I set my wife up with a copy of Ubuntu with all of the standard programs installed. She wanted to use Yahoo! Messenger. So, I downloaded the Unix/Linux version from Yahoo! and installed it. However, the version online didn't provide Voice or Webcam Chat. Sorry, no dice. Well, what about Macromedia Shockwave? She likes playing cute little games online when she get off of work. Sorry again. Macromedia hasn't published a copy of Shockwave for Linux. How about Yahoo! Music? Nope. I think if she were using her computer more for writing papers and basic stuff like that, Ubunutu would have done just fine. However, the lack of commercial vendor support is keeping Linux away from the average user. Right now, a computer newbie can hop on a Linux distrabution like Mandriva or Ubuntu and have no problem using it. They would never even have to open a command prompt. The problem is with the gadgets that users are used to using on Windows are not available on Linux and this where it falls flat. Linux is great and has been much more secure for the average user for much longer than Windows. It's design inherently keeps the user's computer safer. It's just missing those little things to satisfy the average user.
|
12
content/english/post/my-adventure-with-windows.md
Normal file
12
content/english/post/my-adventure-with-windows.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "My adventure with Windows"
|
||||
date: "2006-06-05"
|
||||
tags:
|
||||
- "general-tech"
|
||||
---
|
||||
|
||||
So, I upgraded the memory in my laptop and decided to try something crazy. I installed Windows 98 on it.
|
||||
|
||||
Win98, required a lot of work to gather up drivers for my ancient hardware, but it does handle the hardware, namely my wifi card, better than Linux. However, there is a really big problem. It is nearly too slow to be useful. I've installed Firefox, Opera, K-Meleon, and the usual I.E., of all of them, Opera is the fastest, but it still sucks badly. Reading websites is painful. I've considered even installing Netscape 4.7, and even though that would be a faster browser, it lacks CSS capabilities. [DSL Linux](http://www.damnsmalllinux.org/) is just all around faster. One kudo for Windows is all of the software out there for it. I found a couple of programs that I am really enjoying. They are [yBook](http://www.spacejock.com/yBook.html) and [yWriter](http://www.spacejock.com/yWriter.html). yBook is a "paperback emulator" (LOL!) it can open txt, rtf, html, and pdb ebooks and display them as if you were reading them in a book. It's a little slow, but quite usable. yWriter is a "novel builder". I'm working on some fiction and this little program is very handy. If this software were made available for Linux, I would go back to Linux and never look back. So, I think I will keep a dual boot between Win98 and DSL for the time being. It's sad that Microsoft doesn't put more thought into being backwards compatible whith their operating systems, but that wouldn't make them as much money.
|
||||
|
||||
Technorati Tags: [windows](http://technorati.com/tag/windows), [linux](http://technorati.com/tag/linux), [ybook](http://technorati.com/tag/ybook), [ywriter](http://technorati.com/tag/ywriter), [ebooks](http://technorati.com/tag/ebooks)
|
39
content/english/post/my-day-with-fedora.md
Normal file
39
content/english/post/my-day-with-fedora.md
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
title: "My Day with Fedora"
|
||||
date: "2018-10-30"
|
||||
---
|
||||
|
||||
I used Fedora 28 today for work instead of my usual OpenSUSE Leap 15 installation. Here's how it went.
|
||||
|
||||
My setup:
|
||||
|
||||
- Intel© Core™ i7-4500U CPU @ 1.80GHz × 2
|
||||
- 16GB Ram
|
||||
- 250G SSD
|
||||
|
||||
Here's the software that I needed for work today:
|
||||
|
||||
- Synergy
|
||||
- LibreOffice > 6.0
|
||||
- Chromium Browser
|
||||
- Spotify
|
||||
- NFS
|
||||
- virt-manager
|
||||
- Graphical multi-tab text editor
|
||||
- Tilix
|
||||
- Pidgin
|
||||
- Hexchat
|
||||
- KeepassXC
|
||||
|
||||
I use Synergy as a virtual KVM between my home server machine that handles my storage, email, etc. and this brings us our first real problems. The "software" application in Gnome doesn't list Synergy even when I search for it and I was wondering if I would have to go download the RPM it's creator (I have a valid license so that's not really a problem). I ran 'dnf search synergy' and there it was. If your software installation tool only covers "best of" software but not everything then it's usefulness is only marginal at best.
|
||||
|
||||
I installed Synergy and when I ran it I received an error that I shouldn't close it because there is no systray available. This is a pet peeve that I have with a lot of distros who use Gnome 3. Either the systray isn't enabled or isn't available at all. The fact is that a lot of applications still use it. Of the ones that I use, Synergy, Pidgin, KeepassXC, and Hexchat all fall into those categories. I like having a clean work environment and being able to minimize apps to the systray helps with that. And so I said goodbye to the pure Fedora experience and installed Cinnamon (It also wasn't available from the GUI software application) and the rest of the apps from the CLI.
|
||||
|
||||
Everything else went as expected. I didn't have any more hiccups as long as I used the dnf command to install the apps. I mounted the directories from my home server to my workstation with NFS so I didn't have to worry about data loss. I did notice lag from the time that some apps were launched until they were ready that I didn't notice with OpenSUSE, but I didn't do a real measurement so that was entirely subjective.
|
||||
|
||||
There really wasn't anything keeping me from doing my work that couldn't be worked around in a matter of minutes.
|
||||
|
||||
Suggestions for Fedora:
|
||||
|
||||
- Bring back the systray into Gnome 3
|
||||
- Remember yumex? It was an awkward but very powerful graphical tool for Yum. Bring it back at make it your primary software installation tool.
|
10
content/english/post/my-e17-desktop.md
Normal file
10
content/english/post/my-e17-desktop.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
title: "My e17 desktop"
|
||||
date: "2006-08-14"
|
||||
tags:
|
||||
- "linux"
|
||||
---
|
||||
|
||||
I'll post some links later
|
||||
|
||||
[![e17 Desktop](images/desktop.thumbnail.jpg)](http://ki4gmx.files.wordpress.com/2006/08/desktop.jpg)
|
19
content/english/post/my-new-project.md
Normal file
19
content/english/post/my-new-project.md
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
title: "My new project?"
|
||||
date: "2006-09-13"
|
||||
tags:
|
||||
- "electronics"
|
||||
---
|
||||
|
||||
[![](images/tn_amfm108k.jpg)](http://www.morsex.com/elenco/amfm108k.jpg)
|
||||
**AM/FM RADIO KIT - ELECTRONICS COURSE**
|
||||
Modular instruction and construction.
|
||||
[![](images/skill2.gif)](http://www.morsex.com/building/skill.htm)
|
||||
|
||||
Training Course of 52 pages is divided up into 9 lessons: Audio Amplifier, AM Detector, AM IF, AM Amplifier, AM Mixer & Oscillator, FM Detector, 1st FM IF, 2nd FM IF, FM RF Stages. "Superheterodyne" receiver of standard AM(amplitude modulation) and FM (frequency modulated) broadcast frequencies. Includes stand. Req. 9V battery (not included)
|
||||
|
||||
Product Code EL-AMFM108K $34.95
|
||||
|
||||
From [elenco](http://www.morsex.com/elenco/)
|
||||
[
|
||||
](http://technorati.com/tag/electronics)
|
55
content/english/post/my-ssh-trick.md
Normal file
55
content/english/post/my-ssh-trick.md
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
title: "My SSH Trick"
|
||||
date: "2018-04-08"
|
||||
categories:
|
||||
- "linux"
|
||||
- "tech"
|
||||
- "tor"
|
||||
---
|
||||
|
||||
10 hours of jetlag and rainy afternoon naps don't mix. It's 2 minutes to 2AM here in Provo, UT and I can't sleep so I'm blogging.
|
||||
|
||||
I want to ssh into a machine that doesn't have any external IP. In the case of my situation at home, I get a 192.168... IP from my ISP because of a shared connection. In other cases, I have VM's with natted IP's that also have no direct way in.
|
||||
|
||||
I could pay for a VPN service and vpn into these machines, but instead I'm using a free way of doing it. I use Tor.
|
||||
|
||||
Here's how it works, the Tor service reaches out to the Tor network and is listening on port 22 (or whatever port I choose for ssh) for incoming requests. I use "torsocks ssh zzzzzzzzz.onion" from my laptop and I am in. This bypasses the external internet and gives me a pretty secure route from my laptop to my home machine only via Tor.
|
||||
|
||||
Here's how I set it up with OpenSUSE
|
||||
|
||||
On your remote or inaccessible server:
|
||||
|
||||
$ sudo zypper in tor
|
||||
|
||||
This installs the tor service and the torsocks proxy app.
|
||||
|
||||
$ sudo vim /etc/tor/torrc
|
||||
|
||||
Uncomment the following lines:
|
||||
|
||||
HiddenServiceDir /var/lib/tor/hidden\_service/
|
||||
HiddenServicePort 22 127.0.0.1:22
|
||||
|
||||
$sudo systemctl start tor
|
||||
|
||||
The service is now started and you should have a new .onion address
|
||||
|
||||
$ cat /var/lib/tor/hidden\_service/hostname
|
||||
|
||||
On your local machine/laptop/etc:
|
||||
|
||||
$ sudo zypper in tor
|
||||
|
||||
$ sudo systemctl start tor
|
||||
|
||||
$ torsocks ssh xxxxxxxxx.onion
|
||||
|
||||
This is a cool trick. Of course you can use it on any server/VM/etc even if they do have accessible IP's. In those cases, I suggest that you close the firewall on port 22 and allow it to be only accessible via Tor. There is no need to have extra ports open to the internet.
|
||||
|
||||
Using Tor is a great way to add security to your network communication. In addition to the SSH encryption, the packets have additional encryption due to the nature of how Tor works.
|
||||
|
||||
About privacy. You also benefit from the inherent privacy of the Tor network which you might not get if you believe that your ISP, etc is gathering data on it's users. If they are monitoring packets are that interested, they can probably see that you are using Tor but they can't see what you are doing or where you are connecting. Is it more or less private that using the Tor Browser? I don't know. It's worth looking into. My feeling is that since ssh is low-bandwidth, has no possible extra problems that browsers have such as javascript, vulnerabilities, etc. it probably is as safe or safer.
|
||||
|
||||
Anyway, I hope this helps people out if you're like me and have to make do with an ISP that makes using the web just a little harder.
|
||||
|
||||
One last thing. Tor is more laggy than a straight connection. You're not doing anything wrong, it's just a side-effect of how this all works.
|
34
content/english/post/notes-on-honor.md
Normal file
34
content/english/post/notes-on-honor.md
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
title: "Notes on Honor"
|
||||
date: "2016-11-30"
|
||||
categories:
|
||||
- "books"
|
||||
---
|
||||
|
||||
Taken from Syntopicon Vol 1
|
||||
|
||||
The notions of honor and fame are sometimes used as if their meanings were interchangeable, and sometimes as if each had a distinct connotation.
|
||||
|
||||
Well, yeah. I would never have thought that they two were in any way directly related. It seems more often that famous people are dishonorable and honorable people are rarely well know outside of a relatively small circle.
|
||||
|
||||
The authors who see no difference between a man’s honor and his fame are opposed on fundamental issues of morality to those who think the standards of honor are independent of the causes of fame. This opposition will usually extend to psychological issues concerning human motivation and to political issues concerning power and justice. It entails contrary views of the role of rewards and punishments in the life of the individual and of society.
|
||||
|
||||
I guess I fall into the latter camp.
|
||||
|
||||
The meaning of honor seems to involve in addition the notion of worth or dignity. But whether a man is virtuous or not, whether he _deserves_ the good opinion of his fellowmen, does not seem to be the indispensable condition on which his fame or infamy rests. Nor does his good or ill repute in the community necessarily signify that he is a man of honor or an honorable man.
|
||||
|
||||
Yes, this is pretty much where I stand, but then the author goes on it say this:
|
||||
|
||||
Where others consider what it means for a person to be honorable, Nietzsche substitutes the notion of nobility. Nietzsche’s hero, the superman, is noble.
|
||||
|
||||
I would not have guessed that Nietzsche's superman is either noble or honorable. I always thought that he is nearly the opposite of both.
|
||||
|
||||
“The manifestation of the value we set on one another,” writes Hobbes, “is that which is commonly called Honoring and Dishonoring. To value a man at a high rate, is to _honor_ him; at a low rate, is to _dishonor_ him. But high and low, in this case, is to be understood by comparison to the rate that each man setteth on himself.”
|
||||
|
||||
A good groundwork definition of honor, though maybe missing something.
|
||||
|
||||
"Let men rate themselves at the highest value they can; yet their true value is no more than it is esteemed by others."
|
||||
|
||||
My gut reaction is to use this quote as a proof against having unrealistic self-esteem. This is dynamite and the kind of thing that will drive modern people into a murderous frenzy because it minimizes their self worth and makes true worth something external to them. [Full chapter](https://ebooks.adelaide.edu.au/h/hobbes/thomas/h68l/chapter10.html).
|
||||
|
||||
.
|
20
content/english/post/on-writing-dockerfiles.md
Normal file
20
content/english/post/on-writing-dockerfiles.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
title: "On writing dockerfiles"
|
||||
date: "2017-08-23"
|
||||
categories:
|
||||
- "docker-containers-and-kubernetes"
|
||||
---
|
||||
|
||||
I came across an email yesterday before I went home in our internal Docker mailing list. The author was looking for a Tomcat container written using SLES as a base-image. I didn't remember coming across anything like that so I checked dockerhub. There were several there, but most of them, including the official one from Apache, were build on Debian or Ubuntu. I found [one](https://hub.docker.com/r/dordoka/tomcat/) that uses a binary package in a tarball created by Apache. I created a plain container shell:
|
||||
|
||||
docker run -it sles12sp2 /bin/bash
|
||||
|
||||
Then I went through the dockerfile line by line making sure it worked. It didn't right away. Suse products tend to put things into their own paths rather than the ones that Ubuntu/Debian uses and I fixed the dockerfile accordingly. It only took 20 minutes or so to test, build, and get it running.
|
||||
|
||||
I published the final version [here](https://github.com/tgeek77/Dockerfiles/tree/master/Tomcat-opensuse) using OpenSUSE instead of SLES. It's also on dockerhub as: jsevans/tomcat-opensuse. This is how I use open source software. I take what others who are smarter than I am have made, build on it to make something better or at least different, and then give back to the community. Maybe my little hack will help someone else also.
|
||||
|
||||
One more thing.
|
||||
|
||||
Why didn't I just add "zypper in tomcat" to my dockerfile? I tried that at first. However, like many Linux distros that moved to SystemD, services like Tomcat will not start without a real instance of SystemD running already. Some distros include that into their images like Ubuntu. Others like SLES/OpenSUSE and CentOS/Fedora don't so you have to find alternative ways to install some applications.
|
||||
|
||||
That leads be to ask, will we see a day soon when applications are created to be "container ready"? The applications could be included in a container as is without needing to worry about dependencies to system processes like SystemD.
|
78
content/english/post/onion-services-in-windows-10.md
Normal file
78
content/english/post/onion-services-in-windows-10.md
Normal file
@ -0,0 +1,78 @@
|
||||
---
|
||||
title: "Onion Services in Windows 10"
|
||||
date: "2019-03-15"
|
||||
categories:
|
||||
- "tor"
|
||||
coverImage: "selection_010.png"
|
||||
---
|
||||
|
||||
## Notes:
|
||||
|
||||
The following is a proof of concept tutorial on how to create a Tor onion service on Windows 10 using Ubuntu in Windows Subsystem for Linux. This has not been security tested by anyone in the Tor project. It is also not exactly the same directions that I would give someone who wants create an onion service in Linux. Namely that WSfL doesn't use systemd the way it is meant to be used natively. Instead you have to start system daemons using the old SysV method with /etc/init.d/ Also, services do not continue running after the window has been closed. If someone can find a workaround for that, I'll gladly update this tutorial.
|
||||
|
||||
As for Apache and Tor, they seem to be working normally as long as the Ubuntu window is not closed. The default path for the Apache web server is: **/var/www/html/index.html**. More info on how to build a website with Apache can be found all over the web.
|
||||
|
||||
## On with the tutorial!
|
||||
|
||||
First, open powershell 64-bit as administrator:
|
||||
|
||||
![](images/selection_001.png)
|
||||
|
||||
Enable Windows Subsystem for Linux and reboot:
|
||||
|
||||
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
|
||||
|
||||
![](images/selection_002.png)
|
||||
|
||||
![](images/selection_003.png)
|
||||
|
||||
After rebooting, go to the Microsoft Store and search for Ubuntu 18.04 LTS
|
||||
|
||||
![](images/selection_004.png)
|
||||
|
||||
Install the App but beware that you will be forced to sign in with a Microsoft account.
|
||||
|
||||
- ![](images/selection_005.png)
|
||||
|
||||
- ![](images/selection_006.png)
|
||||
|
||||
|
||||
Open the new app. You will be prompted to create a local Linux account. This will not be tied to anything else. It is only for your computer.
|
||||
|
||||
![](images/selection_008.png)
|
||||
|
||||
Update the packages in Ubuntu to the latest versions:
|
||||
|
||||
sudo apt update -y && sudo apt upgrade -y
|
||||
|
||||
Install Tor and Apache:
|
||||
|
||||
sudo apt install apache2 tor -y
|
||||
|
||||
Edit the tor configuration:
|
||||
|
||||
sudo nano /etc/tor/torrc
|
||||
|
||||
Remove the # signs from before the following lines:
|
||||
|
||||
DataDirectory /var/lib/tor
|
||||
HiddenServiceDir /var/lib/tor/hidden\_service/
|
||||
HiddenServicePort 80 127.0.0.1:80
|
||||
|
||||
The result should look something like this:
|
||||
|
||||
![](images/selection_009.png)
|
||||
|
||||
Save by hitting CTRL-x
|
||||
|
||||
Start apache and then tor:
|
||||
|
||||
sudo /etc/init.d/apache2 start && sudo /etc/init.d/tor start
|
||||
|
||||
Get your new .onion site url:
|
||||
|
||||
sudo cat /var/lib/tor/hidden\_service/hostname
|
||||
|
||||
Try your new onion service in Tor Browser!
|
||||
|
||||
![](images/selection_010.png)
|
14
content/english/post/oscillators.md
Normal file
14
content/english/post/oscillators.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "Learning"
|
||||
date: "2006-04-04"
|
||||
tags:
|
||||
- "electronics"
|
||||
---
|
||||
|
||||
So far, my journey to increase my knowledge of electronics has been going pretty slowly. Thanks to Pete Millett's [Technical Books Online](http://www.pmillett.com/tecnical_books_online.htm) site, I have learn a lot about the basics of electronics, and I am beginning to really see how oscillators work. This is something that isn't really explained in most resources that are online or otherwise.
|
||||
|
||||
To those who put electronics tutorials and the like online: Why must you assume that the reader is either a math whiz or already intimately understands the workings of electronics. You don't explain how things work without tons of math, you assume that we just need to know that they work. Maybe I'm dumb, but I learn best by being able to picture what is going on and then applying math to it. The ARRL Handbook is guilty of this as well! The only books that really take time to explain most of this stuff is the older books and books like "[Now you're talking!](http://www.amazon.com/gp/product/0872597970/103-3369102-8195859?v=glance&n=283155)"
|
||||
|
||||
Anyway, I'm going back to the old books and the books for true amateurs. I really need to enroll in an online algebra/geometry/trig class.
|
||||
|
||||
Technorati Tags: [electronics](http://technorati.com/tag/electronics), [arrl](http://technorati.com/tag/arrl), [ham radio](http://technorati.com/tag/ham%20radio)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user