massive update to fix issues from htmltest

This commit is contained in:
Don Harper 2020-08-22 16:32:22 -05:00
parent a6ebb354c8
commit 878ae417aa
88 changed files with 548 additions and 567 deletions

View file

@ -1,5 +1,9 @@
DirectoryPath: "public" DirectoryPath: "public"
IgnoreEmptyHref: true
IgnoreSSLVerify: true
EnforceHTTPS: true EnforceHTTPS: true
CacheExpires: "6h" CacheExpires: "6h"
IgnoreURLs:
- "linkedin.com"
IgnoreDirs: IgnoreDirs:
- "photos" - "photos"

View file

@ -78,7 +78,7 @@ preserveTaxonomyNames = true
[params.social] [params.social]
email = "duck@duckland.org" email = "duck@duckland.org"
twitter = "https://twitter.com/duckunix" twitter = "https://twitter.com/duckunix"
linkedin = "https://www.linkedin.com/in/donaldharper" linkedin = "https://www.linkedin.com/in/donaldharper/"
#stackoverflow = "full profile url in stackoverflow" #stackoverflow = "full profile url in stackoverflow"
instagram = "https://www.instagram.com/duckunix/" instagram = "https://www.instagram.com/duckunix/"
github = "https://github.com/duckunix" github = "https://github.com/duckunix"
@ -91,7 +91,7 @@ preserveTaxonomyNames = true
"Don is a computer guy stumbling through life trying to raise his kids and take some pictures" "Don is a computer guy stumbling through life trying to raise his kids and take some pictures"
] ]
twitter = "https://twitter.com/duckunix" twitter = "https://twitter.com/duckunix"
linkedin = "https://www.linkedin.com/in/donaldharper" linkedin = "https://www.linkedin.com/in/donaldharper/"
instagram = "https://www.instagram.com/duckunix/" instagram = "https://www.instagram.com/duckunix/"
github = "https://github.com/duckunix" github = "https://github.com/duckunix"

View file

@ -14,7 +14,7 @@ So,
What major apps do I use daily? Well, this is the list of apps that I currently use daily: What major apps do I use daily? Well, this is the list of apps that I currently use daily:
- [bash](https://www.gnu.org/software/bash/) - my shell of choice - [bash](https://www.gnu.org/software/bash/) - my shell of choice
- [screen](http://www.gnu.org/software/screen) - a shell multiplexer and more - [screen](https://www.gnu.org/software/screen) - a shell multiplexer and more
- mutt-ng - a mua on steroids - mutt-ng - a mua on steroids
- centericq - IM. How do you stay in touch? - centericq - IM. How do you stay in touch?
- snownews - an RSS feed reader - snownews - an RSS feed reader

View file

@ -16,6 +16,6 @@ Plus, I cannot get the same resolution on the console as I can under X.
So, what is a CLI user to do? Why, get a Window Manager (wm) that is meant for us! So, what is a CLI user to do? Why, get a Window Manager (wm) that is meant for us!
The features I look for include small footprint and full keyboard integration. The current one I use is wmi-10, but it is no longer under active development. The group working on it has moved to on to [wmii](http://www.wmi.de/wmii), but I do not like the changes, so I am off looking for a new one to use. The features I look for include small footprint and full keyboard integration. The current one I use is wmi-10, but it is no longer under active development. The group working on it has moved to on to [wmii](https://www.wmi.de/wmii), but I do not like the changes, so I am off looking for a new one to use.
From time to time, I will post how my search is going so you can see what is out there. From time to time, I will post how my search is going so you can see what is out there.

View file

@ -10,7 +10,7 @@ Another RSS reader?
Well, it seems that someone is reading this after all. Well, it seems that someone is reading this after all.
So, tonight I have been given a pointer to raggle ([http://www.raggle.org). I guess I need to install ruby to try it out...](http://www.raggle.org) So, tonight I have been given a pointer to raggle. I guess I need to install ruby to try it out...
Thanks to Philip McClure for the pointer. Thanks to Philip McClure for the pointer.

View file

@ -8,7 +8,7 @@ tags = ["cli"]
Disconnected IMAP Disconnected IMAP
================= =================
So, in an effort to get to the office earlier, I decided to try to figure out how to do disconnected IMAP. Well, the route I took was to use a tool called [mailsync](http://mailsync.sourceforge.net/) which is a cool tool to allow you to sync IAMP mailboxes. So, in an effort to get to the office earlier, I decided to try to figure out how to do disconnected IMAP. Well, the route I took was to use a tool called mailsync (was at mailsync.sourceforge.net) which is a cool tool to allow you to sync IAMP mailboxes.
So, my tack is to sync it down to my laptop, and read the email on the bus. I sync email down in the morning, and then in the evening, sync again. So far, so good. So, my tack is to sync it down to my laptop, and read the email on the bus. I sync email down in the morning, and then in the evening, sync again. So far, so good.

View file

@ -10,4 +10,4 @@ RSS Reader: Raggle
Well, after getting some time over the US holiday to try to get raggle built, I gave up. I am guessing that Fedora Core 5/6 are not very ruby friendly yet, as I could not find everything I needed very easily. I was able to get it almost all the way there, but I could not get the ruby-Ncurses rpm to build, and I am very strict about using the native package management system (ie RPM on a RPM based system, portage on Gentoo, apt on a Debian deviant), so I will not be trying this until I can get the RPMS. Well, after getting some time over the US holiday to try to get raggle built, I gave up. I am guessing that Fedora Core 5/6 are not very ruby friendly yet, as I could not find everything I needed very easily. I was able to get it almost all the way there, but I could not get the ruby-Ncurses rpm to build, and I am very strict about using the native package management system (ie RPM on a RPM based system, portage on Gentoo, apt on a Debian deviant), so I will not be trying this until I can get the RPMS.
In other news, I have found some more PIM type things to play with. Does anyone know of a good CLI Palm Pilot sync package? [Cold Sync seems to be dead, and I am not sure if it will talk to modern Pilots.](http://www.coldsync.org/) In other news, I have found some more PIM type things to play with. Does anyone know of a good CLI Palm Pilot sync package? [Cold Sync seems to be dead, and I am not sure if it will talk to modern Pilots.](https://www.coldsync.org/)

View file

@ -8,7 +8,7 @@ tags = ["cli","windowmanager"]
Window Manager for tty? Window Manager for tty?
======================= =======================
The package [screen](http://www.gnu.org/software/screen) is something that has been around for a long time. The package [screen](https://www.gnu.org/software/screen) is something that has been around for a long time.
With screen, you can have many session running on on tty, and you can switch to another session with out touching a mouse. With the proper configuration, you can get notified if there is some change (like if you have a IM client up) or if there is no output (say, if you are watching a compile session). With screen, you can have many session running on on tty, and you can switch to another session with out touching a mouse. With the proper configuration, you can get notified if there is some change (like if you have a IM client up) or if there is no output (say, if you are watching a compile session).
@ -19,10 +19,8 @@ One of the other really feature is cut and paste between sessions. The is very
### Screen References ### Screen References
- [BigAdmin Feature Article: Installing and Using GNU - [BigAdmin Feature Article: Installing and Using GNU
Screen](http://www.sun.com/bigadmin/features/articles/gnu_screen.html) Screen](https://www.sun.com/bigadmin/features/articles/gnu_screen.html)
- [Google Search: gnu screen - [Google Search: gnu screen
howto](http://www.google.com/search?num=100&hl=en&safe=off&client=firefox&rls=org.mozilla:en-US:unofficial&q=gnu+screen+howto&spell=1) howto](https://www.google.com/search?num=100&hl=en&safe=off&client=firefox&rls=org.mozilla:en-US:unofficial&q=gnu+screen+howto&spell=1)
- [BigAdmin Feature Article: Installing and Using GNU - [BigAdmin Feature Article: Installing and Using GNU
Screen](http://www.sun.com/bigadmin/features/articles/gnu_screen.html) Screen](https://www.sun.com/bigadmin/features/articles/gnu_screen.html)
- [GNU screen: start](http://aperiodic.net/screen/start)
- [GNU screen: tutorial](http://aperiodic.net/screen/tutorial)

View file

@ -10,21 +10,12 @@ cli bug/issue/task tracking system?
Fresh from freshmeat: Fresh from freshmeat:
http://www.ditrack.org/ https://www.ditrack.org/
What is DITrack? What is DITrack?
DITrack is a free, open source, lightweight, distributed issue (bug, DITrack is a free, open source, lightweight, distributed issue (bug, defect, ticket) tracking system using a [Subversion](https://subversion.tigris.org/) repository instead of a backend database. It is written in Python and runs in UNIX environment (*BSD, Linux, MacOS X).
defect, ticket) tracking system using a [Subversion](http://subversion.tigris.org/) repository instead
of a backend database. It is written in Python and runs in UNIX
environment (*BSD, Linux, MacOS X).
The project is inspired by the idea of [Subissue](http://subissue.tigris.org/) issue tracking system. The project is inspired by the idea of [Subissue](https://subissue.tigris.org/) issue tracking system.
However, while Subissue aims in merely replacing the traditional However, while Subissue aims in merely replacing the traditional database storage with Subversion repository, DITrack is a major rethought of the issue tracking system paradigm. The main difference is that instead of sticking to the centralized model (one database, one web interface, one mail integration machinery), DITrack treats underlying Subversion storage as a versioned distributed file system which enables benefits of truly distributed operation mode.
database storage with Subversion repository, DITrack is a major
rethought of the issue tracking system paradigm. The main difference
is that instead of sticking to the centralized model (one database,
one web interface, one mail integration machinery), DITrack treats
underlying Subversion storage as a versioned distributed file system
which enables benefits of truly distributed operation mode.

View file

@ -10,6 +10,6 @@ Strayed from the path
In two ways...first, I have not updated the site in a while, and I need to get back to updating it. In two ways...first, I have not updated the site in a while, and I need to get back to updating it.
Second, because I have not been true to my cli roots. I have moved from my default MUA of the last, oh, 8 years, and flirted with a GUI MUA, [thunderbird](http://www.mozillia.org). It was pretty. It was sexy. It let me see everything then and now. It tried to seduce me into using a GUI for more... Second, because I have not been true to my cli roots. I have moved from my default MUA of the last, oh, 8 years, and flirted with a GUI MUA, [thunderbird](https://www.mozilla.org). It was pretty. It was sexy. It let me see everything then and now. It tried to seduce me into using a GUI for more...
But, then I got behind in my email, and it was taking longer and longer to catch up. *sigh* Two days ago, I switched back, and now, I am fully caught up on my inbox, and making headway on my actionable items. But, then I got behind in my email, and it was taking longer and longer to catch up. *sigh* Two days ago, I switched back, and now, I am fully caught up on my inbox, and making headway on my actionable items.

View file

@ -8,7 +8,7 @@ tags = ["cli","todo"]
iKog - the simple todo list iKog - the simple todo list
=========================== ===========================
[iKog - the simple todo list](http://www.henspace.co.uk/ikog/index.html) [iKog - the simple todo list](https://www.henspace.co.uk/ikog/index.html)
So I am looking for a good to-to list manager, and I stumbled across So I am looking for a good to-to list manager, and I stumbled across
ikog.  ikog stands for "It Keeps On Growing", and it is a pretty nice ikog.  ikog stands for "It Keeps On Growing", and it is a pretty nice

View file

@ -8,13 +8,6 @@ tags = ["cli","games"]
Pacman for Console Pacman for Console
================== ==================
You are tired of hearing your GUI friends talking about their games? You are tired of hearing your GUI friends talking about their games? Tired of playing simple [Adventure](https://en.wikipedia.org/wiki/Colossal_Cave_Adventure)? Why not try Pacman for Console (was at doctormike.googlepages.com/pacman.html)?
Tired of playing simple
[Adventure](http://en.wikipedia.org/wiki/Colossal_Cave_Adventure)? Why
not try [Pacman for
Console](http://doctormike.googlepages.com/pacman.html)?
The game play is just like the old quarter game you played long ago, and The game play is just like the old quarter game you played long ago, and the best part, you can develop your own maps!
the best part, you can develop your own maps! Check out the screen
shot:\
![](https://sites.google.com/site/doctormike/_/rsrc/1256355717564/pacman-1-1-full.jpg?height=532&width=244)

View file

@ -8,20 +8,15 @@ tags = ["cli","screen","windowmanager"]
Screen - terminal multiplexer Screen - terminal multiplexer
============================= =============================
I usually have one screen running at all time, and in that screen I usually have one screen running at all time, and in that screen session, I ssh to various hosts that I am working, and have screen running on those hosts.
session, I ssh to various hosts that I am working, and have screen
running on those hosts.
### Additional Links ### Additional Links
* [gnu screen - Google Search](http://www.google.com/search?q=gnu+screen&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a) * [gnu screen - Google Search](https://www.google.com/search?q=gnu+screen&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a)
* [GNU Screen - GNU Project - Free Software Foundation (FSF)](http://www.gnu.org/software/screen/) * [GNU Screen - GNU Project - Free Software Foundation (FSF)](https://www.gnu.org/software/screen/)
* [GNU Screen - Summary \[Savannah\]](http://savannah.gnu.org/projects/screen/) * [GNU Screen - Summary \[Savannah\]](https://savannah.gnu.org/projects/screen/)
* [GNU Screen - Wikipedia, the free encyclopedia](http://en.wikipedia.org/wiki/GNU_Screen) * [GNU Screen - Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/GNU_Screen)
* [GNU Screen - Jonathan McPherson](http://jmcpherson.org/screen.html) * [GNU Screen - Jonathan McPherson](https://jmcpherson.org/screen.html)
* [Screen User's Manual](http://www.delorie.com/gnu/docs/screen/screen_toc.html) * [Remote terminal session management using screen](https://www.pixelbeat.org/docs/screen/) How to use screen to detach from and share terminal sessions
* [start \[GNU screen\]](http://aperiodic.net/screen/)
* [Deadman.org: SSH-Agent Forwarding and GNU Screen](http://www.deadman.org/sshscreen.html)
* [Remote terminal session management using screen](http://www.pixelbeat.org/docs/screen/) How to use screen to detach from and share terminal sessions
* [An Introduction to Screen](https://nathan.chantrell.net/linux/an-introduction-to-screen/) * [An Introduction to Screen](https://nathan.chantrell.net/linux/an-introduction-to-screen/)
* [screen - The Terminal Multiplexer](http://www.bangmoney.org/presentations/screen.html) Power Sessions with Screen * [screen - The Terminal Multiplexer](https://www.bangmoney.org/presentations/screen.html) Power Sessions with Screen

View file

@ -8,16 +8,9 @@ tags = ["cli","linux"]
Command-Line blog posts Command-Line blog posts
======================= =======================
So, it only seems fitting that I should talk about a command-line So, it only seems fitting that I should talk about a command-line interface to posting on this blog. No, I do not mean using links (was at links.twibright.com) or the like, but a way to post from the command line.
interface to posting on this blog. No, I do not mean using
[links](http://links.twibright.com) or the like, but a way to post from
the command line.
So, this post is being typed up in [vim](http://www.vim.org) on my So, this post is being typed up in [vim](https://www.vim.org) on my [Fedora 8](https://www.fedoraproject.org) laptop. I will use this great little tool I found called *wppost* to post. *wwpost* is part of the [perl](https://www.perl.org) module [WordPress::Post](https://search.cpan.org/~leocharre/WordPress-Post-1.04).
[Fedora 8](http://www.fedoraproject.org) laptop. I will use this great
little tool I found called *wppost* to post. *wwpost* is part of the
[perl](http://www.perl.org) module
[WordPress::Post](http://search.cpan.org/~leocharre/WordPress-Post-1.04).
A brief summary of its commands are bellow: A brief summary of its commands are bellow:

View file

@ -8,10 +8,6 @@ tags = ["cli","lifeimitatingmovies"]
Pizza Party - Command Line Pizza ordering program Pizza Party - Command Line Pizza ordering program
================================================= =================================================
Want a pizza, and do not want to fire up that pesky GUI?  We have the Want a pizza, and do not want to fire up that pesky GUI?  We have the solution for you: Pizza Party - Command Line Pizza ordering program (was at beigerecords.com/cory/pizza_party/)
solution for you: [Pizza Party - Command Line Pizza ordering
program](http://www.beigerecords.com/cory/pizza_party/)
Currently, only from Dominos, so if you do not have one near you who Currently, only from Dominos, so if you do not have one near you who accepts on-line orders (*sigh*, mine does not), then you are out of luck.
accepts on-line orders (*sigh*, mine does not), then you are out of
luck.

View file

@ -10,9 +10,9 @@ So you need a calendar?
So, one of the things we have been using computers for is to keep track of our lives.  And this means a scheduling or calendaring tool.  Some tools out there do this fine, and some do it very well. So, one of the things we have been using computers for is to keep track of our lives.  And this means a scheduling or calendaring tool.  Some tools out there do this fine, and some do it very well.
I have to keep track of a lot of appointments. From conference calls for work, to each member of the family's schedules, to random, but highly important reminders.  Most calendaring programs out there will let you set up a reoccurring event by day of the month, or the date.  But, what if you need to do something two days before the end of the month, every month?  Or, you need to do something every full moon, but not on [the blue moon](http://en.wikipedia.org/wiki/Blue_moon)?  Or, you have a standing meeting with your boss every other Monday morning, execpt when Monday is a holiday, then the meeting shifts to Tuesday?  Oh, and you want something that you can run over an ssh session, while on your smart phone, or you friend's smart phone? I have to keep track of a lot of appointments. From conference calls for work, to each member of the family's schedules, to random, but highly important reminders.  Most calendaring programs out there will let you set up a reoccurring event by day of the month, or the date.  But, what if you need to do something two days before the end of the month, every month?  Or, you need to do something every full moon, but not on [the blue moon](https://en.wikipedia.org/wiki/Blue_moon)?  Or, you have a standing meeting with your boss every other Monday morning, execpt when Monday is a holiday, then the meeting shifts to Tuesday?  Oh, and you want something that you can run over an ssh session, while on your smart phone, or you friend's smart phone?
The answer is simple: [remind](http://www.roaringpenguin.com/products/remind/).  remind can do this, and more.  Need to set something up by the Hebrew Calendar?  Check.  Want your calendar to run a shell command for you on a holiday, specific day of the month, or phase of the moon? Check. Most modern Linux distrobutions include remind nowdays, as it is so darn usefull.  In addition, it runs just fine under Solaris, and the BSDs, including MacOS X.  If fact, over at [43Folders](http://www.43Folders.com), they had a whole section their wiki for remind.  The wiki has many tips and tricks on how to use remind to its fullest. The answer is simple: [remind](https://www.roaringpenguin.com/products/remind/).  remind can do this, and more.  Need to set something up by the Hebrew Calendar?  Check.  Want your calendar to run a shell command for you on a holiday, specific day of the month, or phase of the moon? Check. Most modern Linux distrobutions include remind nowdays, as it is so darn usefull.  In addition, it runs just fine under Solaris, and the BSDs, including MacOS X.  If fact, over at [43Folders](https://www.43Folders.com), they had a whole section their wiki for remind.  The wiki has many tips and tricks on how to use remind to its fullest.
In my next post, I will share some tips on how I get remind to remind me of events. In my next post, I will share some tips on how I get remind to remind me of events.

View file

@ -13,7 +13,7 @@ playing in the Web 2.0 web space, and you want to stay true to your
roots?  Want a Web 2.0 calendar, but still love (or need) command line roots?  Want a Web 2.0 calendar, but still love (or need) command line
access? access?
I just found the answer: [gcalcli](http://code.google.com/p/gcalcli/). I just found the answer: [gcalcli](https://code.google.com/p/gcalcli/).
This little tool will let you list your appointments, get an list your This little tool will let you list your appointments, get an list your
events, get an agenda, print ascii rendering of your calendar for the events, get an agenda, print ascii rendering of your calendar for the
week or month.  You can even add events to the calendar. week or month.  You can even add events to the calendar.

View file

@ -8,50 +8,22 @@ tags = ["cli","music"]
C\*MUS - A music manager for the terminal C\*MUS - A music manager for the terminal
========================================= =========================================
[C\*mus](http://cmus.sf.net/) is an advanced music juke-box for \*inx [C\*mus](https://cmus.github.io/) is an advanced music juke-box for \*inx and Window operating systems. It can handle the modern audio file formats: FLAC, Ogg/Vorbis, MP3 , Wav, AAC , MP4, .mod, .s3m, .mpc, mpp, .mp+, .wma, and .wv . It also can deal with many different types of audio output systems: ALSA, libao, ARTS, OSS, Sun, and WaveOut on Windows. The typical features of an electronic juke-box are supported like play lists and random/shuffle play, in addition to easily switching between playing from the library, an artist, or a single album with a simple keystroke.
and Window operating systems. It can handle the modern audio file
formats: FLAC, Ogg/Vorbis, MP3 , Wav, AAC , MP4, .mod, .s3m, .mpc, mpp,
.mp+, .wma, and .wv . It also can deal with many different types of
audio output systems: ALSA, libao, ARTS, OSS, Sun, and WaveOut on
Windows. The typical features of an electronic juke-box are supported
like play lists and random/shuffle play, in addition to easily switching
between playing from the library, an artist, or a single album with a
simple keystroke.
C\*Mus is pretty painless to install from source. The website lists the C\*Mus is pretty painless to install from source. The website lists the build dependencies with links.
build dependencies with links.
En-queuing En-queuing
---------- ----------
One of the features I really enjoy and use is the en-queue function. I One of the features I really enjoy and use is the en-queue function. I tend to use this two ways. The first is when I am listening to a song, and want to listen to similar songs, I go find them in my library, and I queue them up with a simple keystroke. A dynamic play-list, if you will. Then, I can simply create a more permanent playlist from this temporary list.
tend to use this two ways. The first is when I am listening to a song,
and want to listen to similar songs, I go find them in my library, and I
queue them up with a simple keystroke. A dynamic play-list, if you will.
Then, I can simply create a more permanent playlist from this temporary
list.
The second way is using the helper program cmus-remote to be able to
queue up tracks from a different terminal, or from a script. My
podcatcher program (bashpodder) will queue up the podcasts it just
downloaded for me, so I can listen to them first thing in the morning.
The second way is using the helper program cmus-remote to be able to queue up tracks from a different terminal, or from a script. My podcatcher program (bashpodder) will queue up the podcasts it just downloaded for me, so I can listen to them first thing in the morning.
Keystroke and CLI Keystroke and CLI
----------------- -----------------
C*Mus is developed to be driven via keystrokes. The default mapping is C*Mus is developed to be driven via keystrokes. The default mapping is set up to be comfortable for those use are familiar with VI but, it is very easy to remap the keys to make it more comfortable. C*Mus will automatically save the current settings on a clean exit. The default mappings for selecting and updating views, moving through songs forward and backwards in small and large increments, adding to play list and queue lists.
set up to be comfortable for those use are familiar with VI but, it is
very easy to remap the keys to make it more comfortable. C*Mus will
automatically save the current settings on a clean exit. The default
mappings for selecting and updating views, moving through songs forward
and backwards in small and large increments, adding to play list and
queue lists.
Filters Filters
------- -------
One of the very powerful features is simple filters. You can set a One of the very powerful features is simple filters. You can set a filter for your 80's Metal Bands or your Classical music. Many of the common tags can be used for filter on. Things like filename, artist, album, title, genre, discnumber, tracknumber, date (year), duration (seconds), and tag.
filter for your 80's Metal Bands or your Classical music. Many of the
common tags can be used for filter on. Things like filename, artist,
album, title, genre, discnumber, tracknumber, date (year), duration
(seconds), and tag.

View file

@ -8,60 +8,16 @@ tags = ["cli","network","wireless"]
wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora
================================================= =================================================
One of the things that has annoyed me about Fedora has been the decision One of the things that has annoyed me about Fedora has been the decision to switch over to using [NetworkManager](https://www.gnome.org/projects/NetworkManager/) to manage all network connections.
to switch over to using
[NetworkManager](http://www.gnome.org/projects/NetworkManager/) to
manage all network connections.
Now, on the service this has a lot of advantages. A lot of work has gone Now, on the service this has a lot of advantages. A lot of work has gone into it, and it just works for a vast majority of the installations out there. They have made it so the move from wired to wireless and back can be done without the user doing anything. They have also seamlessly tied in Dial-Up Networking if you still need a modem or use a wireless modem. They even have two-click access to your VPN which is pretty cool.
into it, and it just works for a vast majority of the installations out
there. They have made it so the move from wired to wireless and back can
be done without the user doing anything. They have also seamlessly tied
in Dial-Up Networking if you still need a modem or use a wireless modem.
They even have two-click access to your VPN which is pretty cool.
All these are things which are very good for Linux users. The biggest All these are things which are very good for Linux users. The biggest drawback to all this? The need for a user-space program to manage the non-hardwired connections. Which means that in order to be able to have any network running besides the good old twisted-pair copper, you have to have a little applet running as you, and it has to have a systray somewhere to display. Which means you have to be a) logged into the system and b) you have to be running a window manager which supports having a system tray. Now, Fedora gives you lots of choices for the second part now days. You have [Gnome](https://www.gnome.org), [KDE](https://www.kde.org), [XFCE](https://www.xfce.org), and LXDE (was at lxde.sf.net). All are perfectly usable window managers. But, they still require you to be logged in to X. And, [I do not use any of them](links://slug/window-managers/).
drawback to all this? The need for a user-space program to manage the
non-hardwired connections. Which means that in order to be able to have
any network running besides the good old twisted-pair copper, you have
to have a little applet running as you, and it has to have a systray
somewhere to display. Which means you have to be a) logged into the
system and b) you have to be running a window manager which supports
having a system tray. Now, Fedora gives you lots of choices for the
second part now days. You have [Gnome](http://www.gnome.org),
[KDE](http://www.kde.org), [XFCE](http://www.xfce.org), and
[LXDE](http://lxde.sf.net). All are perfectly usable window managers.
But, they still require you to be logged in to X. And, [I do not use any
of them](links://slug/window-managers/).
So, what is a cli-loving Fedora user to do? Well, there is this great So, what is a cli-loving Fedora user to do? Well, there is this great program called [wifiroamd](https://www.tummy.com/Community/software/wifiroamd/). It will handle the same basic tasks that NetworkManager handles. It will automatically configure your wifi interface and connect to the wifi networks or the locate hardwired NIC if it cannot. You can configure it to run scripts per connection, so for example, you can change your firewall rules for different networks (shields down at home or the office, but up full at the coffee house), or you could bring up your VPN connection when you start using a given wireless network. One tip I picked up from the author was that if you have multiple AP's in range, an you want to select once AP over the other, is under the */etc/wifiroamd/connections* directory, simply link the AP info you do not want to the one you want:
program called
[wifiroamd](http://www.tummy.com/Community/software/wifiroamd/). It will
handle the same basic tasks that NetworkManager handles. It will
automatically configure your wifi interface and connect to the wifi
networks or the locate hardwired NIC if it cannot. You can configure it
to run scripts per connection, so for example, you can change your
firewall rules for different networks (shields down at home or the
office, but up full at the coffee house), or you could bring up your VPN
connection when you start using a given wireless network.
One tip I picked up from the author was that if you have multiple AP's
in range, an you want to select once AP over the other, is under the
*/etc/wifiroamd/connections* directory, simply link the AP info you do
not want to the one you want:
ln essid:my_home_ap essid:bad_ap ln essid:my_home_ap essid:bad_ap
where **essid:my\_home\_ap** is your AP with the keys and other where **essid:my\_home\_ap** is your AP with the keys and other information you want, and **essid:bad\_ap** is the one you do not want to connect to. My neighbors have some very powerful AP's which have a habit of showing up high than mine, but I have no problem with them now.
information you want, and **essid:bad\_ap** is the one you do not want
to connect to. My neighbors have some very powerful AP's which have a
habit of showing up high than mine, but I have no problem with them now.
I have been using this set up under Fedora since FC6 days, but when I I have been using this set up under Fedora since FC6 days, but when I upgraded to F10, this stopped working. wifiroamd would try to scan for an AP, and not find anything. The change, it turns out, is that when I switched from using the iw3945 driver to the native iwl3945, wifiroamd could no longer see the wireless NIC due to the wpa\_supplicant process, but NetworkManager could. Simply stopping and disabling wp\_supplicant and NetworkManager, and wifiroamd started working again! I am a happy camper again.
upgraded to F10, this stopped working. wifiroamd would try to scan for
an AP, and not find anything. The change, it turns out, is that when I
switched from using the iw3945 driver to the native iwl3945, wifiroamd
could no longer see the wireless NIC due to the wpa\_supplicant process,
but NetworkManager could. Simply stopping and disabling wp\_supplicant
and NetworkManager, and wifiroamd started working again! I am a happy
camper again.

View file

@ -8,25 +8,11 @@ tags = ["cli","email","search"]
Search your email! Search your email!
================== ==================
One of the features that most of the pretty GUI mailers offer you is the One of the features that most of the pretty GUI mailers offer you is the ability to search your email. While this is not a feature I use regularly, it is one which when you need it, you really need it. I have used grepmail (was at grepmail.sf.net) in the past, but it slow for me (it scans the mail files every time) and the big thing for me is that is only supports [mbox](https://en.wikipedia.org/wiki/Mbox) files, and I use [maildir](https://en.wikipedia.org/wiki/Maildir) since I use [offlineimap](https://software.complete.org/software/projects/show/offlineimap).
ability to search your email. While this is not a feature I use
regularly, it is one which when you need it, you really need it. I have
used [grepmail](http://grepmail.sf.net) in the past, but it slow for me
(it scans the mail files every time) and the big thing for me is that is
only supports [mbox](http://en.wikipedia.org/wiki/Mbox) files, and I use
[maildir](http://en.wikipedia.org/wiki/Maildir) since I use
[offlineimap](http://software.complete.org/software/projects/show/offlineimap).
I recently found [mairix](http://www.rpcurnow.force9.co.uk/mairix/). I recently found [mairix](https://www.rpcurnow.force9.co.uk/mairix/). While I have not been using it long, so far I am very impressed with it. It uses an index to speed up the search process, and it smartly adds only new or changed files to the index. The first indexing run was only a few seconds on my archive of almost 15,000 mail messages. I have it scheduled to update the index every 15 minutes, and I never notice the load this will put on the system.
While I have not been using it long, so far I am very impressed with it.
It uses an index to speed up the search process, and it smartly adds
only new or changed files to the index. The first indexing run was only
a few seconds on my archive of almost 15,000 mail messages. I have it
scheduled to update the index every 15 minutes, and I never notice the
load this will put on the system.
To integrated mairix with mutt, I wrote a quick little script to search To integrated mairix with mutt, I wrote a quick little script to search from within (or without) mutt:
from within (or without) mutt:
#!/bin/bash #!/bin/bash
#=============================================================================== #===============================================================================
@ -111,5 +97,4 @@ Then, I bound this to "S\'' from within mutt:
macro index,pager S "!mailsearch\n" macro index,pager S "!mailsearch\n"
This will give me a reminder of the search command, run the search, and This will give me a reminder of the search command, run the search, and then give me the search results in a new mutt session.
then give me the search results in a new mutt session.

View file

@ -21,11 +21,11 @@ then ssh into the hosts I need to work on, and fire up screen on those
hosts. hosts.
Now, this is nice, but it can get a bit tiring to do it all over again. Now, this is nice, but it can get a bit tiring to do it all over again.
So, I found a tool called [autossh](http://www.harding.motd.ca/autossh/) So, I found a tool called [autossh](https://www.harding.motd.ca/autossh/)
which will automatically restart your ssh session if it drops for any which will automatically restart your ssh session if it drops for any
reason but a graceful disconnect. (Well, there are others, but this is reason but a graceful disconnect. (Well, there are others, but this is
basically it). Combine this with your ssh-agent, and you can re-attach basically it). Combine this with your ssh-agent, and you can re-attach
with easy. I also use [keychain](http://www.funtoo.org/Keychain) to help with easy. I also use [keychain](https://www.funtoo.org/Keychain) to help
manage my ssh-agent when I log in. manage my ssh-agent when I log in.
Now that the connection will come back, I need a way to re-attach to my Now that the connection will come back, I need a way to re-attach to my

View file

@ -14,4 +14,4 @@ integration with things like PulseAudio.
Good news! Good news!
Go check out <http://cmus.sourceforge.net/> for more details. Go check out <https://cmus.github.io/> for more details.

View file

@ -8,7 +8,7 @@ tags = ["cli","windowmanager"]
Way back, I wrote a quick blurb on [Window Managers](links://slug/window-managers) for running under X. Way back, I wrote a quick blurb on [Window Managers](links://slug/window-managers) for running under X.
Well, a while back I switched to [Ubuntu](http://www.ubuntu.com) for my OS of choice. As you may know, the fine folks at Ubuntu switched to default window manager to something called **Unity**, which caused a stir. I tried it for a while, but decided that it was too heavy, and too mouse-centric. Well, a while back I switched to [Ubuntu](https://www.ubuntu.com) for my OS of choice. As you may know, the fine folks at Ubuntu switched to default window manager to something called **Unity**, which caused a stir. I tried it for a while, but decided that it was too heavy, and too mouse-centric.
So, what to do? Well, I went back to my old standby **wmfs**, Window Manager From Scratch. This is a modern WM with systray support, full Ximirama and Xrandr support, tiles, and is mainly driven from the keyboard. Life is good. So, what to do? Well, I went back to my old standby **wmfs**, Window Manager From Scratch. This is a modern WM with systray support, full Ximirama and Xrandr support, tiles, and is mainly driven from the keyboard. Life is good.

View file

@ -5,7 +5,7 @@ slug = "201311rebooting-ducklandorg"
+++ +++
Today is [All Saints Today is [All Saints
Day](http://en.wikipedia.org/wiki/All_Saints%27_Day), so it seems Day](https://en.wikipedia.org/wiki/All_Saints%27_Day), so it seems
natural to let duckland.org start new again. natural to let duckland.org start new again.
As is popular in Hollywood, I have decided to reboot this web site after As is popular in Hollywood, I have decided to reboot this web site after

View file

@ -1,23 +1,15 @@
+++ +++
date = "2013-11-03T17:11:00-07:00" date = "2013-11-03T17:11:00-07:00"
title = "Clickable URL links in rxvt" title = "Clickable URL links in rxvt"
slug = "201311clickable-urls-links-in-rxvt" slug = "clickable-urls-links-in-rxvt"
+++ +++
So, I use [rxvt](http://rxvt.sf.net) as my daily interface to my So, I use rxvt as my daily interface to my computers. I also use [mutt](https://www.mutt.org) for my email reading pleasure. Sometimes, I get URLs in email and I want to read them in a browser. If I was using a GUI based mail reader, I would just click the URL to open it. Well, there is an easy way to set up rxvt to do that!
computers. I also use [mutt](http://www.mutt.org) for my email reading
pleasure. Sometimes, I get URLs in email and I want to read them in a
browser. If I was using a GUI based mail reader, I would just click the
URL to open it. Well, there is an easy way to set up rxvt to do that!
Using the fine [Arch Linux wiki](http://wiki.archlinux.org) entry for Using the fine [Arch Linux wiki](https://wiki.archlinux.org) entry for [rxvt unicode](https://wiki.archlinux.org/index.php/rxvt-unicode#Clickable_URLs), the solution is quite easy. In the file **\~/.Xdefaults**, add:
[rxvt
unicode](https://wiki.archlinux.org/index.php/rxvt-unicode#Clickable_URLs),
the solution is quite easy. In the file **\~/.Xdefaults**, add:
URxvt.perl-ext-common: default,matcher URxvt.perl-ext-common: default,matcher
URxvt.url-launcher: /usr/bin/firefox URxvt.url-launcher: /usr/bin/firefox
URxvt.matcher.button: 1 URxvt.matcher.button: 1
And either do a **xrdb \--merge \~/.Xdefaults** or log out/log in. And And either do a **xrdb \--merge \~/.Xdefaults** or log out/log in. And start a new rxvt, and you are good to go.
start a new rxvt, and you are good to go.

View file

@ -6,16 +6,16 @@ tags = ["OpenBSD","FreeBSD"]
+++ +++
So, I am starting a new personal project at the house, and I need a new So, I am starting a new personal project at the house, and I need a new
server. As I was wanting to learn more about the **BSD**, I started server. As I was wanting to learn more about the **BSD**, I started
looking around at things like [FreeBSD](http://www.freebsd.org), looking around at things like [FreeBSD](https://www.freebsd.org),
[NetBSD](http://www.netBSD.org), or [OpenBSD](http://www.openbsd.org). [NetBSD](https://www.netBSD.org), or [OpenBSD](https://www.openbsd.org).
Since there was a security part, I started with **OpenBSD**. One of the Since there was a security part, I started with **OpenBSD**. One of the
things I noticed quickly while doing my research is that while there is things I noticed quickly while doing my research is that while there is
a lot of documentation, they do not really seem to care about making it a lot of documentation, they do not really seem to care about making it
easy for new folks to join the project, nor are the trying to support easy for new folks to join the project, nor are the trying to support
new-fangled hardware, like [bootable USB new-fangled hardware, like [bootable USB
drives](http://openbsd.7691.n7.nabble.com/bootable-OpenBSD-USB-stick-from-windows-td223393.html). drives](https://openbsd.7691.n7.nabble.com/bootable-OpenBSD-USB-stick-from-windows-td223393.html).
This strikes me odd, as FreeBSD has [instructions (see This strikes me odd, as FreeBSD has [instructions (see
2.3.5)](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/bsdinstall-pre.html). 2.3.5)](https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/bsdinstall-pre.html).
Since I want to use pf, I am going to stay with OpenBSD for now. Since I want to use pf, I am going to stay with OpenBSD for now.

View file

@ -3,10 +3,8 @@ date = "2014-01-25T17:01:00-07:00"
title = "cli add" title = "cli add"
categories = ["sitenews"] categories = ["sitenews"]
+++ +++
I have not updated [cli.donharper.org - forget the I have not updated [cli.donharper.org - forget the GUI](https://www.duckland.org/) in a very long time, and I did have some nice tricks and tips there, so I decided to bring it over here.
GUI](http://www.duckland.org) in a very long time, and I did have some
nice tricks and tips there, so I decided to bring it over here.
***Edit 2020-04-07**: I merged the content of cli.donharper.org into www.duckland.org a long time ago.* ***Edit 2020-04-07**: I merged the content of cli.donharper.org into my main site a long time ago.*
Enjoy. Enjoy.

View file

@ -7,7 +7,7 @@ tags = ["OpenBSD","FreeBSD"]
Well, as I [mentioned before \<tale-of-install\>]{role="doc"}, I was Well, as I [mentioned before \<tale-of-install\>]{role="doc"}, I was
trying to install OpenBSD. Well, my main workstation died, so I have to trying to install OpenBSD. Well, my main workstation died, so I have to
re-purposed the OpenBSD box as my workstation running re-purposed the OpenBSD box as my workstation running
[ArchLinux](http://www.archlinux.org). I am hunting for a suitable [ArchLinux](https://www.archlinux.org). I am hunting for a suitable
replacement. replacement.
Oh, and Happy New Year! Oh, and Happy New Year!

View file

@ -8,7 +8,7 @@ So, a long time ago, I had a box which was running FreeBSD 4, running on a Penti
14 years later, I have decided to get back into FreeBSD, now at FreeBSD 10. I have it running headless on two boxes, and I have decided to take the '30 Day Challenge'. You know, all the bloggers tell you to try something for 30 days before you give up on it. 14 years later, I have decided to get back into FreeBSD, now at FreeBSD 10. I have it running headless on two boxes, and I have decided to take the '30 Day Challenge'. You know, all the bloggers tell you to try something for 30 days before you give up on it.
I am going to try to give FreeBSD a go as my daily driver for 30 (or so) days. I cannot do this full time, as I so Linux support in my day job, so I cannot change over the work laptop (yet). I have installed [PCBSD-10](http://www.pcbsd.org) on one of my spare laptops. Why PCBSD and not pure FreeBSD? Well, I do not know enough yet to get past UEFI boot and the NVidia/Intel dual graphics, so I cheated. I imagine that I before the end, I will either reload this laptop or start from scratch on my current daily personal driver. I am going to try to give FreeBSD a go as my daily driver for 30 (or so) days. I cannot do this full time, as I so Linux support in my day job, so I cannot change over the work laptop (yet). I have installed [PCBSD-10](https://www.pcbsd.org) on one of my spare laptops. Why PCBSD and not pure FreeBSD? Well, I do not know enough yet to get past UEFI boot and the NVidia/Intel dual graphics, so I cheated. I imagine that I before the end, I will either reload this laptop or start from scratch on my current daily personal driver.
So, most of my cli tools came over very cleanly, with the exception of abook. On Linux, I track the git repo, and the version in the ports tree is a bit older, so I will need to either compile it from git, or change my config to use the older version. But the rest, mutt, tmux, newsbeauter, irssi, and such, all work out of the box. So, most of my cli tools came over very cleanly, with the exception of abook. On Linux, I track the git repo, and the version in the ports tree is a bit older, so I will need to either compile it from git, or change my config to use the older version. But the rest, mutt, tmux, newsbeauter, irssi, and such, all work out of the box.

View file

@ -4,8 +4,8 @@ title = "FreeBSD Challenge, Day 16"
categories = ["unix","sa"] categories = ["unix","sa"]
tags = ["FreeBSD"] tags = ["FreeBSD"]
+++ +++
Busy day with other things than play computers, but I found a little time. I have FreeBSD 10-STABLE loaded with the custom WiFi hack on my [Elitebook Revolve 810](http://notebookplanet.blogspot.com/2013/04/hp-elitebook-revolve-810-g1-tablet.html) . I would have to let it try to boot off the USB stick. After multiple tries, it would finally run the installer. I tried ZFS a few times, but if I did not select MBR format for the partition table, then it would not boot (no OS error). With MBR and ZFS, it would fail to mount the ZFS filesystem with \<strong\>error 2\</strong\>. After trying the various fixes listed on-line, I gave up and went with MBR and UFS. Busy day with other things than play computers, but I found a little time. I have FreeBSD 10-STABLE loaded with the custom WiFi hack on my [Elitebook Revolve 810](https://notebookplanet.blogspot.com/2013/04/hp-elitebook-revolve-810-g1-tablet.html) . I would have to let it try to boot off the USB stick. After multiple tries, it would finally run the installer. I tried ZFS a few times, but if I did not select MBR format for the partition table, then it would not boot (no OS error). With MBR and ZFS, it would fail to mount the ZFS filesystem with \<strong\>error 2\</strong\>. After trying the various fixes listed on-line, I gave up and went with MBR and UFS.
Once installed, it was fairly easy to get going. I have not configured it to take on the role of daily driver yet. If I have time tomorrow, then I will do it then, otherwise, it will have to wait a bit as I am getting on a plane this weekend, and I will not have room for the second computer. I will try to get it as far as I can with ssh. Once installed, it was fairly easy to get going. I have not configured it to take on the role of daily driver yet. If I have time tomorrow, then I will do it then, otherwise, it will have to wait a bit as I am getting on a plane this weekend, and I will not have room for the second computer. I will try to get it as far as I can with ssh.
The neat thing I found based on [this email post from 2005](http://lists.freebsd.org/pipermail/freebsd-questions/2005-April/083317.html) and [this blog post](http://www.freebsdonline.com/content/view/829/524/) is that I can have a fancy screensaver at the console! Pretty rad. :) Next steps will be improving the screen resolution in text-mode.\</body\>\</html\> The neat thing I found based on [this email post from 2005](https://lists.freebsd.org/pipermail/freebsd-questions/2005-April/083317.html) and this blog post (was at freebsdonline.com/content/view/829/524/) is that I can have a fancy screensaver at the console! Pretty rad. :) Next steps will be improving the screen resolution in text-mode.\</body\>\</html\>

View file

@ -6,7 +6,7 @@ tags = ["FreeBSD"]
+++ +++
Just a quick update. Yesterday, I got abook working. Kind of a hack, though. I used gcc to compile it, vs. clang. I will have to revisit this and offer up some patches to the abook project. Just a quick update. Yesterday, I got abook working. Kind of a hack, though. I used gcc to compile it, vs. clang. I will have to revisit this and offer up some patches to the abook project.
I have also been playing with **x11/xpra** which bills itself as \'screen for X11\'. That, combined with [sshuttle](https://github.com/apenwarr/sshuttle) , lets me get in from work and do some work during lunch. It may also give me a tempory way to use [AfterShotPro](http://www.corel.com/corel/product/index.jsp?pid=prod4670071&amp;cid=catalog20038&amp;segid=6000006) until I get the whole Linux compatability layer thing figured out. I have also been playing with **x11/xpra** which bills itself as \'screen for X11\'. That, combined with [sshuttle](https://github.com/apenwarr/sshuttle) , lets me get in from work and do some work during lunch. It may also give me a tempory way to use [AfterShotPro](https://www.corel.com/corel/product/index.jsp?pid=prod4670071&amp;cid=catalog20038&amp;segid=6000006) until I get the whole Linux compatability layer thing figured out.
Next up is learing how to use *ports(7)* working to be able to install **10-STABLE** while the host is **10-RELEASE**. Next up is learing how to use *ports(7)* working to be able to install **10-STABLE** while the host is **10-RELEASE**.

View file

@ -8,6 +8,6 @@ Sorry...busy time at work and with the family.
Small updates: I have the external VGA dongle working. No config needed, just plug it in and it works. I really need to fix the WiFi so I can stop using the USB dongle on it. Also, I have updated mutt to 1.5.23, and that upgrade went smoothly. Since I am not using the default build, it was a matter of *portsnap fetch && portsnap update && cd /usr/ports/mail/mutt && pkg remove mutt && make install clean* and all is good! Small updates: I have the external VGA dongle working. No config needed, just plug it in and it works. I really need to fix the WiFi so I can stop using the USB dongle on it. Also, I have updated mutt to 1.5.23, and that upgrade went smoothly. Since I am not using the default build, it was a matter of *portsnap fetch && portsnap update && cd /usr/ports/mail/mutt && pkg remove mutt && make install clean* and all is good!
My biggest update is that I got AfterShotPro working! It as a simple as reading the pages in the [manual](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html), and changing the path to bash in the launcher script, and all is good! I should really look into what it takes to make a port so when I set up the next few computers, I will not have to do this by hand again. My biggest update is that I got AfterShotPro working! It as a simple as reading the pages in the [manual](https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html), and changing the path to bash in the launcher script, and all is good! I should really look into what it takes to make a port so when I set up the next few computers, I will not have to do this by hand again.
Next thing to figure out is how to get the sound to come out of my headphones instead of the speakers. Since I did not have to do anything to get sound, I figure this is just a bit of RTFM\'ing on my part. Next thing to figure out is how to get the sound to come out of my headphones instead of the speakers. Since I did not have to do anything to get sound, I figure this is just a bit of RTFM\'ing on my part.

View file

@ -12,4 +12,4 @@ Next up: system debugging. The system will slow down at random points, so I need
The other is the custom boot stick I made does not work. The initial loader will start, but then it stops. So, I need to find the docs on the boot process there. The other is the custom boot stick I made does not work. The initial loader will start, but then it stops. So, I need to find the docs on the boot process there.
Oh, and welcome to all the folks from [BSDNow](http://bsdnow.tv), which is an awesome video/audio podcast on all things BSD. Oh, and welcome to all the folks from [BSDNow](https://bsdnow.tv), which is an awesome video/audio podcast on all things BSD.

View file

@ -6,5 +6,5 @@ categories = ["sitenews"]
Still not going with a database on the back-end, but this one has a cool Still not going with a database on the back-end, but this one has a cool
real-time visualization editor. real-time visualization editor.
It is called [HTMLy](http://www.htmly.com/). This should let me update It is called [HTMLy](https://www.htmly.com/). This should let me update
this a bit more. But, I have said that before. this a bit more. But, I have said that before.

View file

@ -6,7 +6,7 @@ tags = ["FreeBSD"]
+++ +++
Today, I got my new laptop **dragon** up on wireless with a little Today, I got my new laptop **dragon** up on wireless with a little
[Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB [Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB
Adapter](http://www.amazon.com/gp/product/B003MTTJOY/ref=ox_sc_act_title_1?ie=UTF8&amp;psc=1&amp;smid=A2N1S6D8VVCNZ3). Adapter](https://www.amazon.com/gp/product/B003MTTJOY/ref=ox_sc_act_title_1?ie=UTF8&amp;psc=1&amp;smid=A2N1S6D8VVCNZ3).
Now, setup begins in ernest. I have disabled the on-board wireless NIC Now, setup begins in ernest. I have disabled the on-board wireless NIC
in the BIOS, and started to set up shop on it. in the BIOS, and started to set up shop on it.

View file

@ -9,7 +9,7 @@ tags = ["FreeBSD","R810"]
So, I had a bit of time over the weekend, and spent it doing a bit of hacking around. So, I had a bit of time over the weekend, and spent it doing a bit of hacking around.
I had re-installed [PC-BSD](http://www.pcbsd.org) on my HP EliteBook R810. I used 10.0.2, and everything but the wireless looked good. I decided to try to get the wireless working with the internal WNIC. [Previously](link://slug/freebsd-challenge-day-17), I used an external dongle to get WiFi working, but it was a pain to remember to pull it out, so I decided to try again. I had re-installed [PC-BSD](https://www.pcbsd.org) on my HP EliteBook R810. I used 10.0.2, and everything but the wireless looked good. I decided to try to get the wireless working with the internal WNIC. [Previously](link://slug/freebsd-challenge-day-17), I used an external dongle to get WiFi working, but it was a pain to remember to pull it out, so I decided to try again.
I updated the base OS to 10-CURRENT, and then 'patched' the source tree using the info I found [in this forum post](https://forums.freebsd.org/viewtopic.php?t=35467). Once I rebooted, and used the PC-BSD tools to enable the device, things worked! Since this was only last night, I need to test it a bit to make sure it stands up to load. I updated the base OS to 10-CURRENT, and then 'patched' the source tree using the info I found [in this forum post](https://forums.freebsd.org/viewtopic.php?t=35467). Once I rebooted, and used the PC-BSD tools to enable the device, things worked! Since this was only last night, I need to test it a bit to make sure it stands up to load.

View file

@ -4,11 +4,11 @@ title = "Perl, Modules, and Package Management"
categories = ["sa","unix"] categories = ["sa","unix"]
tags = ["linux"] tags = ["linux"]
+++ +++
So, even though I have been starting to [work with \<back2freebsd-maybe\>]{role="doc"} [FreeBSD \<freebsd-switch\>]{role="doc"} [again \<one-step-closer\>]{role="doc"} , I am still running [ArchLinux](http://www.archlinux.org/) on my workstation. So, even though I have been starting to [work with \<back2freebsd-maybe\>]{role="doc"} [FreeBSD \<freebsd-switch\>]{role="doc"} [again \<one-step-closer\>]{role="doc"} , I am still running [ArchLinux](https://www.archlinux.org/) on my workstation.
And I wanted to run a script I wrote a long time ago to support a [website](http://www.donaldharper.com/) of mine, which I have not updated in a while. The way I would update the site is by doing some batch editing of photos, park them in a directory, and then run my script which pushes the photos to the web server, and then interfaces with the CMS software to schedule the posts and all is good. And I wanted to run a script I wrote a long time ago to support a [website](https://www.donaldharper.com/) of mine, which I have not updated in a while. The way I would update the site is by doing some batch editing of photos, park them in a directory, and then run my script which pushes the photos to the web server, and then interfaces with the CMS software to schedule the posts and all is good.
Except the script is in perl, and it uses some modules which are not main-stream. While perl has the awesome **cpan(1perl)** command to fetch and install perl modules, I wanted it to be tied into **pacman(8)** . A quick trip to the [AUR](http://aur.archlinux.org/) turned up the tools cpan2aur and [mkaurball](https://aur.archlinux.org/packages/pkgbuild-introspection-git/) which made it pretty easy to package up and post the the AUR the 9 perl modules I needed to get my script going and keep track of things with pacman. Except the script is in perl, and it uses some modules which are not main-stream. While perl has the awesome **cpan(1perl)** command to fetch and install perl modules, I wanted it to be tied into **pacman(8)** . A quick trip to the [AUR](https://aur.archlinux.org/) turned up the tools cpan2aur and [mkaurball](https://aur.archlinux.org/packages/pkgbuild-introspection-git/) which made it pretty easy to package up and post the the AUR the 9 perl modules I needed to get my script going and keep track of things with pacman.
***EDIT 2020-04-07**: cpan2aur url not working.* ***EDIT 2020-04-07**: cpan2aur url not working.*

View file

@ -21,7 +21,7 @@ the quality back up to art level over the snapshots and historical
documentation that I have been doing. documentation that I have been doing.
Also, I want to revisit the 30 Day FreeBSD challenge again in January. I Also, I want to revisit the 30 Day FreeBSD challenge again in January. I
have the old HP R810 running [PCBSD 10.1](http://www.pcbsd.org) already have the old HP R810 running [PCBSD 10.1](https://www.pcbsd.org) already
set up that I have been using for a couple of days working the kinks out set up that I have been using for a couple of days working the kinks out
of it, so I think I can do it this time. Normal caveat applies\...I have of it, so I think I can do it this time. Normal caveat applies\...I have
a work laptop which dual boots Windows 8.1 and Fedora 21 for my work a work laptop which dual boots Windows 8.1 and Fedora 21 for my work

View file

@ -8,4 +8,4 @@ the start of the holidays and all.
A bit of work in the background on some projects, but nothing to show A bit of work in the background on some projects, but nothing to show
for it. Still a new picture daily over at my [photo for it. Still a new picture daily over at my [photo
blog](http://www.donaldharper.com/), so go check it out. blog](https://www.donaldharper.com/), so go check it out.

View file

@ -6,7 +6,7 @@ tags = ["FreeBSD"]
+++ +++
Today is day 14 (pushing day 15 at this hour), and things are looking very good. Today, I got word from the [PCBSD Project](http://www.pcbsd.org) that a patch which I submitted to fix the [issue with the WiFi NIC](link://slug/freebsd-switch). Well, I got notice today that PCBSD Bug #7330 has been resolved, and I tested on the R810. It works! Today is day 14 (pushing day 15 at this hour), and things are looking very good. Today, I got word from the [PCBSD Project](https://www.pcbsd.org) that a patch which I submitted to fix the [issue with the WiFi NIC](link://slug/freebsd-switch). Well, I got notice today that PCBSD Bug #7330 has been resolved, and I tested on the R810. It works!
Now, I just need to get a few things configured here first, like snapshots, backups, and porting my SDCARD reading scripts over to FreeBSD, and I should be good. Now, I just need to get a few things configured here first, like snapshots, backups, and porting my SDCARD reading scripts over to FreeBSD, and I should be good.

View file

@ -5,7 +5,7 @@ categories = ["unix","sa"]
tags = ["FreeBSD"] tags = ["FreeBSD"]
+++ +++
As the month draws to a close, I am further into the switch. I have As the month draws to a close, I am further into the switch. I have
rebuilt my main laptop to [PCBSD](http://www.pcbsd.org). I am still rebuilt my main laptop to [PCBSD](https://www.pcbsd.org). I am still
setting a few things up, but it seems to be going well. setting a few things up, but it seems to be going well.
Two things I need to fix: Two things I need to fix:

View file

@ -9,14 +9,14 @@ FreeBSD as my daily non-work driver. How is it going?
Well, for the most part, well. I can spend most of my personal work-flow Well, for the most part, well. I can spend most of my personal work-flow
on the FreeBSD laptop with no issues. There are a couple of things I on the FreeBSD laptop with no issues. There are a couple of things I
have not moved over yet, and those relate to my photo work-flow. The have not moved over yet, and those relate to my photo work-flow. The
main application, [AfterShotPro](http://aftershotpro.com) is installed main application, [AfterShotPro](https://aftershotpro.com) is installed
and working (see and working (see
[my previous desciption \<freebsd-challenge-day-4-6\>]{role="doc"} of [my previous desciption \<freebsd-challenge-day-4-6\>]{role="doc"} of
installing in), however, I have not moved over the scripts I use in the installing in), however, I have not moved over the scripts I use in the
flow. I believe they will just come over, but I have not had a chance to flow. I believe they will just come over, but I have not had a chance to
test them. test them.
I was using [Chromium](http://chromium.org), but any Flash site did not I was using [Chromium](https://chromium.org), but any Flash site did not
work. I need to revisit this at some point, but for now I went back to work. I need to revisit this at some point, but for now I went back to
Firefox, and it is working create. Firefox, and it is working create.

View file

@ -12,7 +12,7 @@ of tools, and I will not have time for a while. Next week, I am in week
long meetings which will run late every day, and then I have to finish long meetings which will run late every day, and then I have to finish
writing and present a training class the last week of the month. The writing and present a training class the last week of the month. The
hour or two I can spare will be far better spent for me by backup, hour or two I can spare will be far better spent for me by backup,
re-installing [ArchLinux](http://www.archlinux.org) than by starting to re-installing [ArchLinux](https://www.archlinux.org) than by starting to
learn the tools. Yes, a bit of a cop-out, but I need the machines to do learn the tools. Yes, a bit of a cop-out, but I need the machines to do
what I need to do. I will keep the servers FreeBSD, however, as it works what I need to do. I will keep the servers FreeBSD, however, as it works
great there. great there.

View file

@ -9,7 +9,7 @@ to post anything.
I spent most of the month at work getting ready to and then delivering I spent most of the month at work getting ready to and then delivering
some training remotely in Nashville, TN, US. Now, I can say that I have some training remotely in Nashville, TN, US. Now, I can say that I have
stayed at the largest non-casino hotel in the world, [The Gaylord stayed at the largest non-casino hotel in the world, [The Gaylord
Opryland](http://www.marriott.com/hotels/travel/bnago-gaylord-opryland-resort-and-convention-center/). Opryland](https://www.marriott.com/hotels/travel/bnago-gaylord-opryland-resort-and-convention-center/).
Now that that is over, I get to gear up to design a new training plan Now that that is over, I get to gear up to design a new training plan
for internal product training. Such is the life of a Linux guy stuck for internal product training. Such is the life of a Linux guy stuck
working for a marketing group. working for a marketing group.

View file

@ -4,7 +4,7 @@ title = "Quick Ansible Tip"
categories = ["sa"] categories = ["sa"]
+++ +++
This is a quick post to capture something seen. This is a quick post to capture something seen.
[Ansibel](http://www.ansible.com) is a configuration management tool [Ansibel](https://www.ansible.com) is a configuration management tool
that I have been learning recently. More details in a future post. This that I have been learning recently. More details in a future post. This
is just to capture this idea: is just to capture this idea:

View file

@ -10,7 +10,7 @@ Growing up in Houston, I have followed our space program off and on. I
am also a big reader of Sci-Fi. So, when I heard about the [Solar Sail am also a big reader of Sci-Fi. So, when I heard about the [Solar Sail
Kickstarter Kickstarter
Project](https://www.kickstarter.com/projects/theplanetarysociety/lightsail-a-revolutionary-solar-sailing-spacecraft/description) Project](https://www.kickstarter.com/projects/theplanetarysociety/lightsail-a-revolutionary-solar-sailing-spacecraft/description)
from [The Planetary Society](http://www.planetary.org/), I jumped on from [The Planetary Society](https://www.planetary.org/), I jumped on
board. And, while they have raised almost 4 times their goal, I think board. And, while they have raised almost 4 times their goal, I think
that this is a project which will have more of an impact on humanity that this is a project which will have more of an impact on humanity
than some of the other projects. than some of the other projects.

View file

@ -8,18 +8,18 @@ So, with the [migration of the AUR to version 4](https://wiki.archlinux.org/inde
The list started out with: The list started out with:
- [chronicle](http://aur.archlinux.org/packages/chronicle/) - A simple blog compiler written in Perl - [chronicle](https://aur.archlinux.org/packages/chronicle/) - A simple blog compiler written in Perl
- [perl-leocharre-basename](http://aur.archlinux.org/packages/perl-leocharre-basename/) - Very basic filename string and path operations such as ext and paths - [perl-leocharre-basename](https://aur.archlinux.org/packages/perl-leocharre-basename/) - Very basic filename string and path operations such as ext and paths
- [perl-leocharre-cli2](http://aur.archlinux.org/packages/perl-leocharre-cli2/) - Some quick help for writing cli scripts - [perl-leocharre-cli2](https://aur.archlinux.org/packages/perl-leocharre-cli2/) - Some quick help for writing cli scripts
- [perl-leocharre-debug](http://aur.archlinux.org/packages/perl-leocharre-debug/) - Debug subroutines - [perl-leocharre-debug](https://aur.archlinux.org/packages/perl-leocharre-debug/) - Debug subroutines
- [perl-leocharre-dir](http://aur.archlinux.org/packages/perl-leocharre-dir/) - Subroutines for general directory needs - [perl-leocharre-dir](https://aur.archlinux.org/packages/perl-leocharre-dir/) - Subroutines for general directory needs
- [perl-leocharre-strings](http://aur.archlinux.org/packages/perl-leocharre-strings/) - Combines string procedures I frequently use - [perl-leocharre-strings](https://aur.archlinux.org/packages/perl-leocharre-strings/) - Combines string procedures I frequently use
- [perl-string-prettify](http://aur.archlinux.org/packages/perl-string-prettify/) - Subroutines to cleanup a filename and or garble for human eyes - [perl-string-prettify](https://aur.archlinux.org/packages/perl-string-prettify/) - Subroutines to cleanup a filename and or garble for human eyes
- perl-wordpress-api - Management of Wordpress API objects. Inherits WordPress::XMLRPC and all its methods - perl-wordpress-api - Management of Wordpress API objects. Inherits WordPress::XMLRPC and all its methods
- [perl-wordpress-cli](http://aur.archlinux.org/packages/perl-wordpress-cli/) - Command line access to Wordpress - [perl-wordpress-cli](https://aur.archlinux.org/packages/perl-wordpress-cli/) - Command line access to Wordpress
- [perl-wordpress-xmlrpc](http://aur.archlinux.org/packages/perl-wordpress-xmlrpc/) - API to Wordpress XML RPC calls - [perl-wordpress-xmlrpc](https://aur.archlinux.org/packages/perl-wordpress-xmlrpc/) - API to Wordpress XML RPC calls
- [usbmount](http://aur.archlinux.org/packages/usbmount/) - Automatically mount and unmount USB mass storage devices - [usbmount](https://aur.archlinux.org/packages/usbmount/) - Automatically mount and unmount USB mass storage devices
- [xlhttp](http://aur.archlinux.org/packages/xlhtml/) - An Excel spreadsheet (.xls) and PowerPoint (.ppt) to HTML converter - [xlhttp](https://aur.archlinux.org/packages/xlhtml/) - An Excel spreadsheet (.xls) and PowerPoint (.ppt) to HTML converter
In the end, I only kept *xlhttp* as I do not use the others anymore. Surprisingly enough, only one of the packages (*chronicle*) was out of date. I disowned all the others, so if you want, you can pick them up. In the end, I only kept *xlhttp* as I do not use the others anymore. Surprisingly enough, only one of the packages (*chronicle*) was out of date. I disowned all the others, so if you want, you can pick them up.

View file

@ -4,7 +4,7 @@ title = "Speed goes to 11 (113, that is)"
slug = "speed-goes-to-11-111-that-is" slug = "speed-goes-to-11-111-that-is"
+++ +++
[![](http://www.speedtest.net/result/4586738731.png)](http://www.speedtest.net/my-result/4586738731)\ [![speed-test](https://www.speedtest.net/result/4586738731.png)](https://www.speedtest.net/my-result/4586738731)\
\ \
So, that is what I can get at the house\...nothing major\...just showing So, that is what I can get at the house\...nothing major\...just showing
off. ;)\ off. ;)\

View file

@ -7,7 +7,7 @@ categories = ["sitenews"]
Wow...September already? Where does the time go? Wow...September already? Where does the time go?
With the time given to the commute and the lack of access at the office (since I do work for a firm which does have pretty tight internet access policies), I have decided that I cannot do the photo-a-day thing, so I am not going to be updating my [photo website](http://www.donaldharper.com) on a regular basis. Sorry about that, but then since I started back this summer, the traffic was not there. With the time given to the commute and the lack of access at the office (since I do work for a firm which does have pretty tight internet access policies), I have decided that I cannot do the photo-a-day thing, so I am not going to be updating my [photo website](https://www.donaldharper.com) on a regular basis. Sorry about that, but then since I started back this summer, the traffic was not there.
On the topic of my [last post](/post/2015/08/do-i-stay-or-do-i-go/), I have decided to keep most things in house for now. Calendaring is the biggest issue to crack. On the topic of my [last post](/post/2015/08/do-i-stay-or-do-i-go/), I have decided to keep most things in house for now. Calendaring is the biggest issue to crack.

View file

@ -10,7 +10,7 @@ team is doing great. Going into last Friday\'s game, we are undefeated,
and in second place out of 7 teams. and in second place out of 7 teams.
This weekend, the boy and I did the sleep-aboard program on [The USS This weekend, the boy and I did the sleep-aboard program on [The USS
Lexinton](http://www.usslexington.com), and he had a blast. I did not Lexinton](https://www.usslexington.com), and he had a blast. I did not
get a chance to take too many photos, but I will see if I can get some get a chance to take too many photos, but I will see if I can get some
up. up.

View file

@ -8,4 +8,4 @@ Happy Leap Day!
Another month has gone by, and things have been busy. In addition to all the normal crazy that is life with kids, I have been elected to the kids pre-school board of directors. Now, the oldest two no longer go there, but the youngest will be there another year, and my term is three years, so there will be a bit of time when I will not have a kid there. They did ask me before, but that was years ago, and I was not in a position to be able to do that back then. Another month has gone by, and things have been busy. In addition to all the normal crazy that is life with kids, I have been elected to the kids pre-school board of directors. Now, the oldest two no longer go there, but the youngest will be there another year, and my term is three years, so there will be a bit of time when I will not have a kid there. They did ask me before, but that was years ago, and I was not in a position to be able to do that back then.
In other, but more geeky, news, February saw me running [FreeBSD](http://www.freebsd.org) as my OS for the month. There was only one thing in which I needed Linux for, and it was [something I know I could do under FreeBSD](/post/2014/03/freebsd-challenge-day-4-6/), but I had not set up my machine to run that program yet. Will I keep it up? Probably, although the lack of supported sleep on the current laptop, an Acer C720 Chromebook, is a major downer. I may need to see if I can do something about it, as it appears to work fine under Linux. In other, but more geeky, news, February saw me running [FreeBSD](https://www.freebsd.org) as my OS for the month. There was only one thing in which I needed Linux for, and it was [something I know I could do under FreeBSD](/post/2014/03/freebsd-challenge-day-4-6/), but I had not set up my machine to run that program yet. Will I keep it up? Probably, although the lack of supported sleep on the current laptop, an Acer C720 Chromebook, is a major downer. I may need to see if I can do something about it, as it appears to work fine under Linux.

View file

@ -7,12 +7,12 @@ categories = ["travel","personal"]
The month is almost over, and again, this site is quite. Sorry about that. The month is almost over, and again, this site is quite. Sorry about that.
Last week, I was in Austin, TX for [OSCON 2016](http://www.oscon.com). The show was fun, and it was the first time in over 5 years that I was just an attendee instead of a presenter or booth worker. While OSCON seems to be targeted more for developers and the DevOps scene, there were a few things I could use in my current Ops role. Last week, I was in Austin, TX for [OSCON 2016](https://www.oscon.com). The show was fun, and it was the first time in over 5 years that I was just an attendee instead of a presenter or booth worker. While OSCON seems to be targeted more for developers and the DevOps scene, there were a few things I could use in my current Ops role.
Speaking of current Ops Role, I have transitioned to a new group at $EMPLOYER. I am now in the HPC (High Performance Computing) group, still as a Senior Linux Administrator. While most of the job is the same, the HPC group uses a global file system, and I have never played with one of those, it is learning time for me! The group has had some transitions in the last 12 months, so there is a lot of digging in to find out what is where, what is working, and what is not. The users are doing good work with the systems, so it is more of how can we manage the system better and faster, and react to changes better/faster. Speaking of current Ops Role, I have transitioned to a new group at $EMPLOYER. I am now in the HPC (High Performance Computing) group, still as a Senior Linux Administrator. While most of the job is the same, the HPC group uses a global file system, and I have never played with one of those, it is learning time for me! The group has had some transitions in the last 12 months, so there is a lot of digging in to find out what is where, what is working, and what is not. The users are doing good work with the systems, so it is more of how can we manage the system better and faster, and react to changes better/faster.
On the photos side, I have not gotten back into the swing of things, and I need to set a goal, and go for it...and stop making excuses. :) On the photos side, I have not gotten back into the swing of things, and I need to set a goal, and go for it...and stop making excuses. :)
The motorcycle is down, and I guess I have not found the time to work on it. I think I know the issue, and it requires a little work. With [Ride To Work Day](http://www.ridetowork.org/) in less than a month, I should get busy and get the bike back up and working. The motorcycle is down, and I guess I have not found the time to work on it. I think I know the issue, and it requires a little work. With [Ride To Work Day](https://www.ridetowork.org/) in less than a month, I should get busy and get the bike back up and working.
And in the geeky side, I think I am going to switch over to using MarkDown like all the cool kids, as it does seem easier to use than RST... And in the geeky side, I think I am going to switch over to using MarkDown like all the cool kids, as it does seem easier to use than RST...

View file

@ -8,12 +8,12 @@ tags = ["linux","FreeBSD","R810"]
So, in the last couple of weeks, I have had the following issues: So, in the last couple of weeks, I have had the following issues:
* The CMOS battery dies on my file-server (a [FreeNAS](http://freenas.org) box), taking it, and the zpools down with it. I fought over a long weekend to recover the data, and in the end, got it mounted read-only, and copied it off. New hardware, and new zpools, and we seem to be going again. Recovering services is taking a bit of time. * The CMOS battery dies on my file-server (a [FreeNAS](https://freenas.org) box), taking it, and the zpools down with it. I fought over a long weekend to recover the data, and in the end, got it mounted read-only, and copied it off. New hardware, and new zpools, and we seem to be going again. Recovering services is taking a bit of time.
* There is a bug with the ZFS on Root for [Antergos Linux](https://en.wikipedia.org/wiki/Antergos). Seems that it does not put all the kernel drivers in the init image when you upgrade. Last time, I booted off the instal media to fix it. I lost that USB stick, so I downloaded a new one. Guess what? They have turned that feature off ZFS, so there is no way to recover. Since [FreeBSD](http://www.freebsd.org) still does not support suspend/resume on the Acer C720 that is my small travel laptop, I have to reinstall Antergos and reload my data. Which I had to do because * There is a bug with the ZFS on Root for [Antergos Linux](https://en.wikipedia.org/wiki/Antergos). Seems that it does not put all the kernel drivers in the init image when you upgrade. Last time, I booted off the instal media to fix it. I lost that USB stick, so I downloaded a new one. Guess what? They have turned that feature off ZFS, so there is no way to recover. Since [FreeBSD](https://www.freebsd.org) still does not support suspend/resume on the Acer C720 that is my small travel laptop, I have to reinstall Antergos and reload my data. Which I had to do because
* My main laptop, the HP R810G1 seems to be having major battery issues. I bought a new battery in Novembers, and it died. I bought a new one a couple of weeks ago, and it at first did not seem to be holding a charge. Now, the OS does not see the battery. I think I might need a 'new' laptop. * My main laptop, the HP R810G1 seems to be having major battery issues. I bought a new battery in Novembers, and it died. I bought a new one a couple of weeks ago, and it at first did not seem to be holding a charge. Now, the OS does not see the battery. I think I might need a 'new' laptop.
I am torn between getting something one or two reves old with a solid record in the size I want (sub 13", under 1" thin, and good 6+ hours of battery) or the [latest shiny](http://store.hp.com/us/en/ContentView?storeId=10151&catalogId=10051&langId=-1&eSpotName=hpspectre&jumpid=cp_r163_us/en/pc_cons/nextgen/premiumlaptops/shopspectrelaptop). I am torn between getting something one or two reves old with a solid record in the size I want (sub 13", under 1" thin, and good 6+ hours of battery) or the [latest shiny](https://store.hp.com/us/en/ContentView?storeId=10151&catalogId=10051&langId=-1&eSpotName=hpspectre&jumpid=cp_r163_us/en/pc_cons/nextgen/premiumlaptops/shopspectrelaptop).
Other news, I have the ownCloud server upgraded to [nesxtcloud](http://nextcloud.com), and everything I have tried works out of the box, which is a lot more than I can say for ownCloud. Last major thing I need to recover it the [Plex Server](http://plex.tv)! Other news, I have the ownCloud server upgraded to [nesxtcloud](https://nextcloud.com), and everything I have tried works out of the box, which is a lot more than I can say for ownCloud. Last major thing I need to recover it the [Plex Server](https://plex.tv)!

View file

@ -12,7 +12,7 @@ Need to spend more time putting pictures up from some of the trips we have done.
One of the projects I have been working on is taking over web hosting for an organization I volunteer with. The old hosting was with a former member at his hosting company, but he is retiring as of the end of July, so I stepped up to host it. Some of the code used has not been updated in a while, and one of my first projects on it will be to wrap it into a more modern frame-work so other people can help maintain the site. One of the projects I have been working on is taking over web hosting for an organization I volunteer with. The old hosting was with a former member at his hosting company, but he is retiring as of the end of July, so I stepped up to host it. Some of the code used has not been updated in a while, and one of my first projects on it will be to wrap it into a more modern frame-work so other people can help maintain the site.
In other random news (hence the title), [FreeBSD](http://www.freebsd.org) has released on schedule **FreeBSD 11.0B3**. I heard in passing on [BSDNow](http://www.bsdnow.tv) that this release might work on the Thinkpad x260. If you remember from [my last post](link://slug/home_network_updates), that I was in the market for a repalcement machine. Well, I found a really good deal on an new-in-the-box x260, and picked it up for around 1/4 the retail. The only thing it is currently missing is a back-light on the keyboard, but I am okay with it for now. Battery life under Linux has been awesome without any tuning. I can easly get 10+ hours in my testing, and I have not run the batteries dead yet. The only two issues with FreeBSD on the x260 that I know about is the lack of suspend/resume (general issue with Skylake), and the fact the Intel 8260 wireless card is not yet supported, but it seems like someone is working on that! In other random news (hence the title), [FreeBSD](https://www.freebsd.org) has released on schedule **FreeBSD 11.0B3**. I heard in passing on [BSDNow](https://www.bsdnow.tv) that this release might work on the Thinkpad x260. If you remember from [my last post](link://slug/home_network_updates), that I was in the market for a repalcement machine. Well, I found a really good deal on an new-in-the-box x260, and picked it up for around 1/4 the retail. The only thing it is currently missing is a back-light on the keyboard, but I am okay with it for now. Battery life under Linux has been awesome without any tuning. I can easly get 10+ hours in my testing, and I have not run the batteries dead yet. The only two issues with FreeBSD on the x260 that I know about is the lack of suspend/resume (general issue with Skylake), and the fact the Intel 8260 wireless card is not yet supported, but it seems like someone is working on that!
At some point in the near future, I will have to rethink the mail situation. Do I really need to roll my own, or can I use a third party? At some point in the near future, I will have to rethink the mail situation. Do I really need to roll my own, or can I use a third party?

View file

@ -7,7 +7,7 @@ image = "/photos/Comic-Cons/Houston-Amazing-Comic-Con-2016/20160911125515.jpg"
+++ +++
This weekend, we went to the [Houson's Amazing Comic Con](http://www.amazinghoustoncomiccon.com/). As normal, we had fun, and as normal, I brought a camera. This one was not the big rig, but a small, older point-n-shoot type, so I am not totally happy with all the pics, but I did get some [some good ones](/photos/Comic-Cons/Houston-Amazing-Comic-Con-2016/) This weekend, we went to the [Houson's Amazing Comic Con](https://www.amazinghoustoncomiccon.com/). As normal, we had fun, and as normal, I brought a camera. This one was not the big rig, but a small, older point-n-shoot type, so I am not totally happy with all the pics, but I did get some [some good ones](/photos/Comic-Cons/Houston-Amazing-Comic-Con-2016/)
I still have some other pictures to process and post, so there will be more coming.... I still have some other pictures to process and post, so there will be more coming....

View file

@ -6,8 +6,8 @@ image = "/photos/TRF/2016/20161126112933.jpg"
+++ +++
This last weekend was the last weekend for the [2016 Texas Renaissance Festival](https://www.texrenfest.com/). Since the fall has been a bit crazy with sports and the new [job](/post/2016/10/exit-stage-left) that we only got to go one time this year. This last weekend was the last weekend for the [2016 Texas Renaissance Festival](https://www.texrenfest.com/). Since the fall has been a bit crazy with sports and the new [job](/post/2016/10/exit-stage-left/) that we only got to go one time this year.
Naturally, I took my camera, but as luck would have it, the battery which said it was full before I left was actually flat, and died on me. I ended up using my phone (Nexus 5x), which turned out took decent pictures within limits. Action shots were out. However, I did manage to get a [a few I liked](/photos/TRF/2016), so on the photographic front, it was not a total loss. Naturally, I took my camera, but as luck would have it, the battery which said it was full before I left was actually flat, and died on me. I ended up using my phone (Nexus 5x), which turned out took decent pictures within limits. Action shots were out. However, I did manage to get a [a few I liked](/photos/TRF/2016/), so on the photographic front, it was not a total loss.
On the family and fun side, we all had a blast, as the weather was near perfect. We still did not manage to leave at the right time, and it did take us almost 45 minutes to leave the parking lot. Oh, well. On the family and fun side, we all had a blast, as the weather was near perfect. We still did not manage to leave at the right time, and it did take us almost 45 minutes to leave the parking lot. Oh, well.

View file

@ -6,7 +6,7 @@ image = "/photos/Flowers/20170120174705.jpg"
+++ +++
As you may [remember](/post/2017/01/happy-new-year), I have been working on my Project 365 (take and post a picture for 365 days). Well, so far, I am 20 for 20! As you may [remember](/post/2017/01/happy-new-year/), I have been working on my Project 365 (take and post a picture for 365 days). Well, so far, I am 20 for 20!
But, in getting one for [yesterday](https://p365.donaldharper.com/posts/020-blue-flower-macro/), I ended up taking a bunch of pictures. I decide to share the best, and you can find them [here](/photos/Flowers/). Enjoy. But, in getting one for [yesterday](https://p365.donaldharper.com/posts/020-blue-flower-macro/), I ended up taking a bunch of pictures. I decide to share the best, and you can find them [here](/photos/Flowers/). Enjoy.

View file

@ -9,7 +9,7 @@ Hello, and welcome to the new year! If you are reading this, then you are one o
Since this is a new year, I have decided that I should try those silly resolution things again. My two big ones I am willing to go public with are to get into better shape and the other is to complete another Project 365. So far, I am 100% on the second goal! Since this is a new year, I have decided that I should try those silly resolution things again. My two big ones I am willing to go public with are to get into better shape and the other is to complete another Project 365. So far, I am 100% on the second goal!
You should go look at[p365.donaldharper.com](http://p365.donaldharper.com) and keep me honest. You should go look at[p365.donaldharper.com](https://p365.donaldharper.com) and keep me honest.
As for the getting fit thing, I cheated, and started a couple of weeks ago. My two short term goals are to get to the point where I can do 100 push-ups daily (I am already up to 55 from starting at 10), and to be up and moving for at least 60 minutes daily. I have been tracking the movement for a while, and I am hit an miss. It is always harder over the holidays, but I think I can easily get that one going well. As for the getting fit thing, I cheated, and started a couple of weeks ago. My two short term goals are to get to the point where I can do 100 push-ups daily (I am already up to 55 from starting at 10), and to be up and moving for at least 60 minutes daily. I have been tracking the movement for a while, and I am hit an miss. It is always harder over the holidays, but I think I can easily get that one going well.

View file

@ -6,6 +6,6 @@ image = "/photos/Random/side-by-side.jpg"
+++ +++
So, with my little [project](http://p365.donaldharper.com), I have been playing around with some new techniques in my photo work-flow. This is an example of a before and after image on one of the new things I am playing with: So, with my little [project](https://p365.donaldharper.com), I have been playing around with some new techniques in my photo work-flow. This is an example of a before and after image on one of the new things I am playing with:
![Side By Side](/photos/Random/side-by-side.jpg) ![Side By Side](/photos/Random/side-by-side.jpg)

View file

@ -8,4 +8,4 @@ image = "https://p365.donaldharper.com/p365/20170109161453.jpg"
First week of the new year is behind us, and how are things looking? Well, aside from the cold over the weekend, I think things are going okay. First week of the new year is behind us, and how are things looking? Well, aside from the cold over the weekend, I think things are going okay.
I have not done formal resolutions for a while, but I have tried to improve myself, and sometimes a new effort matches up with the calendar. Aside from my [New Year's Day Post](/post/2017/01/happy-new-year) I have not done formal resolutions for a while, but I have tried to improve myself, and sometimes a new effort matches up with the calendar. Aside from my [New Year's Day Post](/post/2017/01/happy-new-year/)

View file

@ -6,9 +6,9 @@ image = "/photos/Random/201702.jpg"
+++ +++
Another quick update on how I am doing with my [Project 365](https://p365.donaldharper.com). Another quick update on how I am doing with my [Project 365](https://p365.donaldharper.com/).
See my [previous update](/post/2017/01/p365-monthly-checkin-01) for how I did last month. See my [previous update](/post/2017/01/p365-monthly-checkin-01/) for how I did last month.
This month, while I posted a pic every day, aside from some of the Lego macro shots, I am not as happy with the subject matter. I need to work on that. This month, while I posted a pic every day, aside from some of the Lego macro shots, I am not as happy with the subject matter. I need to work on that.

View file

@ -8,7 +8,7 @@ tags = ["linux","R810"]
This is a quick post so I can remember these details. This is a quick post so I can remember these details.
So, on the [R810](/tags/r810), I am currently running [ArchLinux](http://archlinux.org), which uses by default [NetworkManager](https://wiki.archlinux.org/index.php/NetworkManager), which I have a love/hate relationship with. At my last job, I recommended removing it from our servers, as under [RHEL6](http://www.redhat.com), it does very odd things to the network and is hard to manage. I have heard that it is better under RHEL7. But, it does let you do some really cool things. On the R810, there is a cellular modem, and on previous installes, I have had it configured and scripted using **nmcli** to easily bring up and down the cellular connections. So, on the [R810](/tags/r810/), I am currently running [ArchLinux](https://archlinux.org), which uses by default [NetworkManager](https://wiki.archlinux.org/index.php/NetworkManager), which I have a love/hate relationship with. At my last job, I recommended removing it from our servers, as under [RHEL6](https://www.redhat.com), it does very odd things to the network and is hard to manage. I have heard that it is better under RHEL7. But, it does let you do some really cool things. On the R810, there is a cellular modem, and on previous installes, I have had it configured and scripted using **nmcli** to easily bring up and down the cellular connections.
The problem I am facing now is that my current DHCP server for the house does not let me provide two MAC Address for a single IP, so when I dock the R810, it gets a different IP address than when it is on WiFi. Very annoying. Also, for some reason, it would prefer to use WiFi when the ethernet connection was present, thus giving me a slower connection. The problem I am facing now is that my current DHCP server for the house does not let me provide two MAC Address for a single IP, so when I dock the R810, it gets a different IP address than when it is on WiFi. Very annoying. Also, for some reason, it would prefer to use WiFi when the ethernet connection was present, thus giving me a slower connection.

View file

@ -6,10 +6,10 @@ image = "/photos/Travel/US/NYC-2017-06/IMG_20170611_125221.jpg"
+++ +++
Well, I had to [open my mouth](/post/2017/06/trip-to-bournemouth-uk) and say that I thought things were going to slow down. About that... Well, I had to [open my mouth](/post/2017/06/trip-to-bournemouth-uk/) and say that I thought things were going to slow down. About that...
So, I get word late on a Friday I needed to get to New York for a meeting with a vendor. A frantic hour or so later, and I have things booked, and that Sunday, I have this view: So, I get word late on a Friday I needed to get to New York for a meeting with a vendor. A frantic hour or so later, and I have things booked, and that Sunday, I have this view:
![view-from-the-seat](/photos/Travel/US/NYC-2017-06/IMG_20170611_125221.jpg) ![view-from-the-seat](/photos/Travel/US/NYC-2017-06/IMG_20170611_125221.jpg)
In my rush to pack (I had lots of little things to get done before climbing on the plane, including a quick round of D&D with the kids: !["Dice!"](/photos/Random/dice.jpg)), I totally forgot my camera. So, I spent some time playing phone-photographer. The [results are here](/photos/Travel/US/NYC-2017-06). In my rush to pack (I had lots of little things to get done before climbing on the plane, including a quick round of D&D with the kids: !["Dice!"](/photos/Random/dice.jpg)), I totally forgot my camera. So, I spent some time playing phone-photographer. The [results are here](/photos/Travel/US/NYC-2017-06/).

View file

@ -6,7 +6,7 @@ slug = "night-mode-for-chromeos"
So, what is night-mode?  It is a mode for changing the color temperature of computer screens to be &#8216;warmer&#8217; (more red-tones, less blue tones).  Why?  The strong blue tones (and whites) from most computer screens help trick your mind into thinking it is still day, and therefor you need to be awake. So, what is night-mode?  It is a mode for changing the color temperature of computer screens to be &#8216;warmer&#8217; (more red-tones, less blue tones).  Why?  The strong blue tones (and whites) from most computer screens help trick your mind into thinking it is still day, and therefor you need to be awake.
I have been trying to enable night mode on all the things for a while now.  For my android phone, I use <a href="https://play.google.com/store/apps/details?id=com.urbandroid.lux" target="_blank" rel="noopener">twilight for Android</a> (IOS has something built in now), <a href="https://getsol.us/home/" target="_blank" rel="noopener">Solus Linux</a> added it in the most recent release, <a href="https://www.gnome.org" target="_blank" rel="noopener">Gnome</a> has it in the later releases, and under <a href="http://i3wm.org" target="_blank" rel="noopener">i3</a>, I use <a href="https://justgetflux.com/" target="_blank" rel="noopener">xflux</a>. I have been trying to enable night mode on all the things for a while now.  For my android phone, I use <a href="https://play.google.com/store/apps/details?id=com.urbandroid.lux" target="_blank" rel="noopener">twilight for Android</a> (IOS has something built in now), <a href="https://getsol.us/home/" target="_blank" rel="noopener">Solus Linux</a> added it in the most recent release, <a href="https://www.gnome.org" target="_blank" rel="noopener">Gnome</a> has it in the later releases, and under <a href="https://i3wm.org" target="_blank" rel="noopener">i3</a>, I use <a href="https://justgetflux.com/" target="_blank" rel="noopener">xflux</a>.
However, I could not find anything for the Chromebooks&#8230;.until now! 9to5Google.com has <a href="https://9to5google.com/2017/05/15/chrome-os-built-in-night-mode/" target="_blank" rel="noopener">a story about the feature coming soon</a> to ChromeOS, but they claim that you need to be on the very latest development branch called &#8216;Canary&#8217;.  I tend to run on the Developers branch, and did not want to switch.  I did a bit of digging, and found <a href="https://www.reddit.com/r/chromeos/comments/6asjrc/builtin_night_mode_for_chrome_os_in_latest_canary/" target="_blank" rel="noopener">this reddit thread</a> which has the feature flag to set: However, I could not find anything for the Chromebooks&#8230;.until now! 9to5Google.com has <a href="https://9to5google.com/2017/05/15/chrome-os-built-in-night-mode/" target="_blank" rel="noopener">a story about the feature coming soon</a> to ChromeOS, but they claim that you need to be on the very latest development branch called &#8216;Canary&#8217;.  I tend to run on the Developers branch, and did not want to switch.  I did a bit of digging, and found <a href="https://www.reddit.com/r/chromeos/comments/6asjrc/builtin_night_mode_for_chrome_os_in_latest_canary/" target="_blank" rel="noopener">this reddit thread</a> which has the feature flag to set:

View file

@ -6,4 +6,4 @@ slug = "site-links-updated"
I had some time over the weekend, so I went through and cleaned up the links from the older posts as <a href="https://www.duckland.org/2017/08/welcome-to-the-new-look/" target="_blank" rel="noopener">promised a while back</a>.  Amazingly, only <a href="https://www.duckland.org/2008/08/pizza-party-command-line-pizza-ordering-program/" target="_blank" rel="noopener">one</a> of the links is gone without a replacement. I had some time over the weekend, so I went through and cleaned up the links from the older posts as <a href="https://www.duckland.org/2017/08/welcome-to-the-new-look/" target="_blank" rel="noopener">promised a while back</a>.  Amazingly, only <a href="https://www.duckland.org/2008/08/pizza-party-command-line-pizza-ordering-program/" target="_blank" rel="noopener">one</a> of the links is gone without a replacement.
The good thing was most of the updates where to change the URL from http:// to https://, which I think is a good thing. The good thing was most of the updates where to change the URL from https:// to https://, which I think is a good thing.

View file

@ -9,7 +9,7 @@ image = "/uploads/2018/03/P1010118.jpg"
&nbsp; &nbsp;
The numbers are unbelievable.  As I write this, we are 12 weeks into 2018, and <a href="https://www.cnn.com/2018/03/02/us/school-shootings-2018-list-trnd/index.html" target="_blank" rel="noopener">there have been 17 school shootings in the US where someone was injured or killed</a>.  1.4 per week.  And, if you look outside of schools, there have been to date <a href="http://www.gunviolencearchive.org/mass-shooting" target="_blank" rel="noopener">50 mass shootings</a> where 4 or more people were injured or killed, not counting the shooter.  50 since January 1, 2018. The numbers are unbelievable.  As I write this, we are 12 weeks into 2018, and <a href="https://www.cnn.com/2018/03/02/us/school-shootings-2018-list-trnd/index.html" target="_blank" rel="noopener">there have been 17 school shootings in the US where someone was injured or killed</a>.  1.4 per week.  And, if you look outside of schools, there have been to date <a href="https://www.gunviolencearchive.org/mass-shooting" target="_blank" rel="noopener">50 mass shootings</a> where 4 or more people were injured or killed, not counting the shooter.  50 since January 1, 2018.
Never Again. Never Again.

View file

@ -25,7 +25,7 @@ Oddly enough, I am still using a lot of the same or very similar stuff:
|Past|Preset|Comments| |Past|Preset|Comments|
|:---|:-----|:-------| |:---|:-----|:-------|
|[bash](https://www.gnu.org/software/bash/) - my shell of choice|Still Bash|Why change something that works| |[bash](https://www.gnu.org/software/bash/) - my shell of choice|Still Bash|Why change something that works|
|[screen](http://www.gnu.org/software/screen) - a shell multiplexer and more|[tmux](https://github.com/tmux/tmux/wiki)|So much better| |[screen](https://www.gnu.org/software/screen) - a shell multiplexer and more|[tmux](https://github.com/tmux/tmux/wiki)|So much better|
|mutt-ng - a mua on steroids|[mutt](https://mutt.org)|Mainstream finally caught up| |mutt-ng - a mua on steroids|[mutt](https://mutt.org)|Mainstream finally caught up|
|centericq - IM. How do you stay in touch?|nothing|CLI chat is mainly dead, sadly| |centericq - IM. How do you stay in touch?|nothing|CLI chat is mainly dead, sadly|
|snownews - an RSS feed reader|[newsboat](https://www.newsboat.org)|Feed readers are still a thing| |snownews - an RSS feed reader|[newsboat](https://www.newsboat.org)|Feed readers are still a thing|

View file

@ -34,7 +34,7 @@ My [NextCloud](https://www.nextcloud.com) server has been given a bit of attenti
Next steps here are to upgrade to NextCloud Hub 18, which is the latest release, and to get everybody else in the house storing their files on the NextCloud sever. Next steps here are to upgrade to NextCloud Hub 18, which is the latest release, and to get everybody else in the house storing their files on the NextCloud sever.
## Media (Music and Videos) ## Media (Music and Videos)
Back before there was stable and wide-spread music streaming services, I had managed to amass a large-ish music collection which I used various local clients to play. Once I decided to ditch Google Play Music, I needed a way to get play my music where ever. Enter [Airsonic](https://airsonic.github.io/), a music streaming server I can run under docker here at the house. For my phone, I am using an application called Dsub ([F-Droid](https://f-droid.org/en/packages/github.daneren2005.dsub/), [Play Store](https://play.google.com/store/apps/details?id=github.daneren2005.dsub)) which lets me cache the music on my phone so I can play it without using the phone's data connection. Back before there was stable and wide-spread music streaming services, I had managed to amass a large-ish music collection which I used various local clients to play. Once I decided to ditch Google Play Music, I needed a way to get play my music where ever. Enter [Airsonic](https://airsonic.github.io/), a music streaming server I can run under docker here at the house. For my phone, I am using an application called Dsub ([F-Droid](https://f-droid.org/en/packages/github.daneren2005.dsub/)) which lets me cache the music on my phone so I can play it without using the phone's data connection.
My next step here is to take the playlists I made in Play Music and port them over to AirSonic. I will also need to purchase some of the songs I am missing. My next step here is to take the playlists I made in Play Music and port them over to AirSonic. I will also need to purchase some of the songs I am missing.

View file

@ -9,7 +9,7 @@ summary = "How are you coping?"
As we wander into another week of restrictions, I am taking a quick look at what I have been doing with my time not spent commuting to the office, and having to stay up late with the kids whilst they do their homework. As we wander into another week of restrictions, I am taking a quick look at what I have been doing with my time not spent commuting to the office, and having to stay up late with the kids whilst they do their homework.
So, I have gotten my home hosting sorted and tied up. I now have two systems up running [docker](https://www.docker.org). The first is running the services I would want on the outside. Things like my calendar, music, files, photos, and movies. The other is running internal monitoring services. So, I have gotten my home hosting sorted and tied up. I now have two systems up running [docker](https://www.docker.com). The first is running the services I would want on the outside. Things like my calendar, music, files, photos, and movies. The other is running internal monitoring services.
My next project is to finish setting up a decent VPN solution (probably wireguard) and drop the external access. Since I am not going anywhere currently, I have already dropped inbound connections to the house. This web site is not served from the house. My next project is to finish setting up a decent VPN solution (probably wireguard) and drop the external access. Since I am not going anywhere currently, I have already dropped inbound connections to the house. This web site is not served from the house.

View file

@ -1,21 +1,375 @@
MIT License Copyright (C) 2018-2019 Appernetic
Copyright (c) 2018 Appernetic hugo-nederburg-theme is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Permission is hereby granted, free of charge, to any person obtaining a copy hugo-nederburg-theme is distributed in the hope that it will be useful,
of this software and associated documentation files (the "Software"), to deal but WITHOUT ANY WARRANTY; without even the implied warranty of
in the Software without restriction, including without limitation the rights MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell GNU General Public License for more details.
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all You should have received a copy of the GNU General Public License
copies or substantial portions of the Software. along with hugo-nederburg-theme. If not, see <https://www.gnu.org/licenses/>.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --------------------------------------------------------------------------------
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE hugo-nederburg-theme is a port of the "Tracks" theme by Compete Themes:
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, Tracks WordPress Theme, Copyright 2019 Compete Themes
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE Tracks is distributed under the terms of the GNU GPL
SOFTWARE.
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tracks also uses:
* Fitvids, https://github.com/davatron5000/FitVids.js/, Copyright 2011, Chris Coyier & Dave Rupert, WTFPL license, http://www.wtfpl.net/.
* Google Fonts, http://google.com/fonts, Copyright 2010, Google, open source licenses, see: https://developers.google.com/fonts/faq#Any_Page_OK.
* Font Awesome, http://fontawesome.io/, Copyright 2011, Dave Gandy, MIT license, https://opensource.org/licenses/mit-license.html
* Placeholders.js, http://jamesallardice.github.io/Placeholders.js/, Copyright 2012, James Allardice, MIT license, https://opensource.org/licenses/mit-license.html
* Multiple Select, http://wenzhixin.net.cn/p/multiple-select/, Copyright 2013, Zhixin Wen, MIT license, https://opensource.org/licenses/mit-license.html
* Bike image in screenshot.png : CC0 by Sylwia Bartyzel, https://unsplash.com/photos/eDDQRAYKo7k
--------------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View file

@ -32,6 +32,8 @@ To have an image in your author bio shown after posts, go to [Gravatar](https://
email = "your@gravatar.email" email = "your@gravatar.email"
``` ```
If you are using the **Multiple Writers Features** the Gravitar email address will be taken from the `writers."Writer Name".email` parameter. If you are not using the Multiple Writers Feature and you set the front matter `writer` property to any value (including blank) the `.Site.Params.social.email` configuration will be used if it is set other wise the `.Site.email` property will be used.
### Style ### Style
Nederburg uses the minified production version of the style sheet from the wordpress version. Nederburg uses the minified production version of the style sheet from the wordpress version.
@ -60,7 +62,7 @@ googleAnalytics = "UA-XXXXX-X"
Leave the `googleAnalytics` key empty to disable it. Leave the `googleAnalytics` key empty to disable it.
### Make the contact form working ### Make the contact form work
Since this page will be static, you can use [formspree.io](//formspree.io/) as proxy to send the actual email. Each month, visitors can send you up to one thousand emails without incurring extra charges. Begin the setup by following the steps below: Since this page will be static, you can use [formspree.io](//formspree.io/) as proxy to send the actual email. Each month, visitors can send you up to one thousand emails without incurring extra charges. Begin the setup by following the steps below:
@ -71,6 +73,7 @@ Since this page will be static, you can use [formspree.io](//formspree.io/) as p
5. You're done. Happy mailing! 5. You're done. Happy mailing!
## Multiple Writers Features ## Multiple Writers Features
Thanks to Lukas Herman's PR there is now a multiple writers feature. In order to support multiple writers, an extra key, "writers" is added, in config.toml. The format looks like the following: Thanks to Lukas Herman's PR there is now a multiple writers feature. In order to support multiple writers, an extra key, "writers" is added, in config.toml. The format looks like the following:
```toml ```toml
@ -90,12 +93,17 @@ Thanks to Lukas Herman's PR there is now a multiple writers feature. In order to
pinterest = "full profile url in pinterest" pinterest = "full profile url in pinterest"
``` ```
Now you must have an author in the config for the author bio section to be visible. If you have a writer and set it in the markdown file it will override the author in the config. See the exampleSite folder for a working solution. If you have a writer and set it in the front matter of the post markdown file it will override the author in the config. See the exampleSite folder for a working solution. Here is an example of a front matter entry for the writer defined above.
```toml
writer = "Göran Svensson"
```
If you do not define a writer in the front matter the post will default to the `.Site.Author` and use the `.Site.Params.social` configuration entries for the Author links.
## Images ## Images
Default is to use the static folder for images. If you want to have images in the post folder you unmark the seetings in the config file. Default is to use the static folder for images. If you want to have images in the post folder you unmark the seetings in the config file.
```toml ```toml
#UsePostImgFolder = true #UsePostImgFolder = true
@ -108,7 +116,7 @@ Thanks to [mstroh76](https://github.com/mstroh76) we now have privacy settings f
[privacy] [privacy]
# Google Analytics privacy settings - https://gohugo.io/about/hugo-and-gdpr/index.html#googleanalytics # Google Analytics privacy settings - https://gohugo.io/about/hugo-and-gdpr/index.html#googleanalytics
[privacy.googleAnalytics] [privacy.googleAnalytics]
# set to true to disable service # set to true to disable service
disable = false disable = false
# set to true to meet General Data Protection Regulation (GDPR) # set to true to meet General Data Protection Regulation (GDPR)
anonymizeIP = false anonymizeIP = false
@ -145,8 +153,7 @@ Have you found a bug or got an idea for a new feature? Feel free to use the [iss
## License ## License
This port is released under the MIT License. This port is released under the [GPL License, either version 2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt), or (at your option) any later version. See the LICENSE file for details.
## Thanks ## Thanks
@ -158,4 +165,4 @@ List of all the great people and organisations that help us fund this open sourc
If you want to help support check out my Patreon @ https://www.patreon.com/appernetic If you want to help support check out my Patreon @ https://www.patreon.com/appernetic
[Timothy D. Swieter](https://github.com/Swieter) [Timothy D. Swieter](https://github.com/Swieter)

View file

@ -9,7 +9,7 @@
{{ if .Site.Params.writers }} {{ if .Site.Params.writers }}
{{ $scratch.Set "writer" (index .Site.Params.writers (lower .Params.writer) | default dict) }} {{ $scratch.Set "writer" (index .Site.Params.writers (lower .Params.writer) | default dict) }}
{{ else }} {{ else }}
{{ $scratch.Set "writer" .Site.Params.social | default dict }} {{ $scratch.Set "writer" (.Site.Params.social | default dict) }}
{{ end }} {{ end }}
{{ $writer := $scratch.Get "writer" }} {{ $writer := $scratch.Get "writer" }}
<div id="loop-container" class="loop-container"> <div id="loop-container" class="loop-container">
@ -27,7 +27,7 @@
<span class="date">{{ .Date.Format "02 January" }}</span> <span> / </span> <span class="date">{{ .Date.Format "02 January" }}</span> <span> / </span>
<span class="author"> <span class="author">
<a href="{{ $writer.link | default "" | absURL}}" title="Posts by {{ .Params.writer | default "" }}" rel="author">{{ .Params.writer | default ""}}</a> <a href="{{ $writer.link | default .Site.Params.authorlink | absURL }}" title="Posts by {{ .Params.writer | default .Site.Params.author }}" rel="author">{{ .Params.writer | default .Site.Params.author }}</a>
</span> </span>
@ -35,7 +35,7 @@
<span class="category"> <span class="category">
<span> / </span> <span> / </span>
<a href="/categories/{{ . | urlize }}">{{ . }}</a> <a href="/categories/{{ . | urlize }}/">{{ . }}</a>
</span> </span>
{{ end }} {{ end }}
@ -68,7 +68,7 @@
<div class="entry-categories"><p><span>Categories</span> <div class="entry-categories"><p><span>Categories</span>
{{ range $index, $name := .Params.categories }} {{ range $index, $name := .Params.categories }}
<a href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}" title="View all posts in {{ $name }}">{{ $name }}</a>{{ end }} <a href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}/" title="View all posts in {{ $name }}">{{ $name }}</a>{{ end }}
</p> </p>
</div> </div>
@ -76,30 +76,11 @@
<div class="entry-tags"><p><span>Tags</span> <div class="entry-tags"><p><span>Tags</span>
{{ range $index, $name := .Params.tags }} {{ range $index, $name := .Params.tags }}
<a href="{{ "/tags/" | relLangURL }}{{ $name | urlize }}" title="View all posts tagged {{ $name }}">{{ $name }}</a> <a href="{{ "/tags/" | relLangURL }}{{ $name | urlize }}/" title="View all posts tagged {{ $name }}">{{ $name }}</a>
{{ end }} {{ end }}
</p></div> </p></div> </div>
</div>
{{ if .Params.series }}
{{ $name := index .Params.series 0 }}
<hr/>
<p><a href="" id="series"></a>This is a post in the
<b>{{$name}}</b> series.<br/>
Other posts in this series:</p>
{{ $name := $name | urlize }}
{{ $series := index .Site.Taxonomies.series $name }}
<ul class="series">
{{ range $series.Pages }}
<li>{{.Date.Format "Jan 02, 2006"}} -
<a href="{{.Permalink}}">{{.LinkTitle}}</a></li>
{{end}}
</ul>
{{end}}
{{if .NextInSection}}<p>Next: <a href="{{.NextInSection.Permalink}}">{{.NextInSection.Title}}</a></p>{{end}}
{{if .PrevInSection}}<p>Previous: <a href="{{.PrevInSection.Permalink}}">{{.PrevInSection.Title}}</a></p>{{end}}
{{ if and (isset .Site.Params "author") .Site.Params.author }} {{ if and (isset .Site.Params "author") .Site.Params.author }}
<div class="author-meta"> <div class="author-meta">

View file

@ -0,0 +1,3 @@
{{ define "body" }}
Not today, bye!
{{ end }}

View file

@ -3,8 +3,6 @@
<body class="page-template-default page ct-body singular singular-page not-front standard"> <body class="page-template-default page ct-body singular singular-page not-front standard">
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<div id="main" class="main" role="main">
<div id="loop-container" class="loop-container"> <div id="loop-container" class="loop-container">
<div class="entry"> <div class="entry">
@ -49,6 +47,5 @@
</div> </div>
</div> </div>
</div> </div> </div> </div>
</div>
{{ end }} {{ end }}

View file

@ -59,7 +59,7 @@
{{ range .Params.categories }} {{ range .Params.categories }}
<span> / </span> <span> / </span>
<span class="category"> <span class="category">
<a href="/categories/{{ . | urlize }}">{{ . }}</a> <a href="/categories/{{ . | urlize }}/">{{ . }}</a>
</span> </span>
{{ end }} {{ end }}
</div> </div>

View file

@ -13,7 +13,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="all,follow"> <meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive"> <meta name="googlebot" content="index,follow,snippet,archive">
<link rel="stylesheet" id="ct-tracks-google-fonts-css" href="//fonts.googleapis.com/css?family=Raleway%3A400%2C700&amp;subset=latin%2Clatin-ext&amp;ver=4.7.2" type="text/css" media="all"> <!-- die, google fonts, die
<link rel="stylesheet" id="ct-tracks-google-fonts-css" href="https://fonts.googleapis.com/css?family=Raleway%3A400%2C700&amp;subset=latin%2Clatin-ext&amp;ver=4.7.2" type="text/css" media="all">
-->
<!-- Upgraded to Font Awesome 5.3 no need for local files using all.css so all icons are available --> <!-- Upgraded to Font Awesome 5.3 no need for local files using all.css so all icons are available -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<!-- Theme stylesheet, if possible do not edit this stylesheet --> <!-- Theme stylesheet, if possible do not edit this stylesheet -->

View file

@ -18,12 +18,12 @@
<ul id="menu-primary-items" class="menu-primary-items"> <ul id="menu-primary-items" class="menu-primary-items">
{{ $page := . }} {{ $page := . }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
<li id="menu-item" class='menu-item {{ if eq ("/") (.URL) }}menu-item-type-custom menu-item-object-custom{{ else }}menu-item-type-post_type menu-item-object-page{{ end }} {{ if $page.IsMenuCurrent "main" . }}current-menu-item current_page_item{{ end }}'> <li class='menu-item {{ if eq ("/") (.URL) }}menu-item-type-custom menu-item-object-custom{{ else }}menu-item-type-post_type menu-item-object-page{{ end }} {{ if $page.IsMenuCurrent "main" . }}current-menu-item current_page_item{{ end }}'>
<a href="{{ .URL | absURL }}">{{ .Name }}</a> <a href="{{ .URL | absURL }}">{{ .Name }}</a>
{{ if .HasChildren }} {{ if .HasChildren }}
<ul class="sub-menu"> <ul class="sub-menu">
{{ range .Children }} {{ range .Children }}
<li id="menu-item" class='menu-item {{ if eq ("/") (.URL) }}menu-item-type-custom menu-item-object-custom{{ else }}menu-item-type-post_type menu-item-object-page{{ end }} {{ if $page.IsMenuCurrent "main" . }}current-menu-item current_page_item{{ end }}'> <li class='menu-item {{ if eq ("/") (.URL) }}menu-item-type-custom menu-item-object-custom{{ else }}menu-item-type-post_type menu-item-object-page{{ end }} {{ if $page.IsMenuCurrent "main" . }}current-menu-item current_page_item{{ end }}'>
<a href="{{ .URL | absURL }}">{{ .Name }}</a> <a href="{{ .URL | absURL }}">{{ .Name }}</a>
</li> </li>
{{ end }} {{ end }}

View file

@ -7,7 +7,7 @@
{{ if .Site.Params.writers }} {{ if .Site.Params.writers }}
{{ $scratch.Set "writer" (index .Site.Params.writers (lower .Params.writer) | default dict) }} {{ $scratch.Set "writer" (index .Site.Params.writers (lower .Params.writer) | default dict) }}
{{ else }} {{ else }}
{{ $scratch.Set "writer" .Site.Params.social | default dict }} {{ $scratch.Set "writer" (.Site.Params.social | default dict) }}
{{ end }} {{ end }}
{{ $writer := $scratch.Get "writer" }} {{ $writer := $scratch.Get "writer" }}
{{ if and (isset .Params "image") .Params.image }} {{ if and (isset .Params "image") .Params.image }}
@ -28,7 +28,7 @@
{{ end }} {{ end }}
<div class="excerpt-container"> <div class="excerpt-container">
<div class="excerpt-meta"> <div class="excerpt-meta">
<span class="date">{{ .Date.Format "02 January" }}</span> <span class="date">{{ .Date.Format "02 January" }}</span>
{{ if and (isset .Site.Params "authorlink") .Site.Params.authorLink }} {{ if and (isset .Site.Params "authorlink") .Site.Params.authorLink }}
{{ if and (isset .Site.Params "author") .Site.Params.author }} {{ if and (isset .Site.Params "author") .Site.Params.author }}
@ -48,7 +48,7 @@
{{ range .Params.categories }} {{ range .Params.categories }}
<span> / </span> <span> / </span>
<span class="category"> <span class="category">
<a href="/categories/{{ . | urlize }}">{{ . }}</a> <a href="/categories/{{ . | urlize }}/">{{ . }}</a>
</span> </span>
{{ end }} {{ end }}
</div> </div>

View file

@ -1,70 +0,0 @@
<div class="archive-header">
<h1>
Series: {{ .Title }}
{{ if .Site.Params.social.rss }}
<a href="{{ .RSSLink }}" data-animate-hover="pulse" class="in-page-rss" target="_blank">
<i class="fas fa-rss" title="rss"></i>
<span class="screen-reader-text">rss</span>
</a>
{{ end }}
</h1>
</div>
<h1 class="screen-reader-text">Posts</h1>
<div id="loop-container" class="loop-container">
{{ range $index, $element := (where .Data.Pages "Section" "post").ByDate.Reverse }}
{{ if and (isset .Params "image") .Params.image }}
{{ if eq (mod $index 2) 0 }}
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured odd excerpt">
{{ else }}
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-memories tag-normal-post tag-standard-2 excerpt zoom full-without-featured even excerpt">
{{ end }}
{{ else }}
<div class="post type-post status-publish format-standard hentry category-standard category-travel excerpt zoom full-without-featured odd excerpt">
{{ end }}
{{ if and (isset .Params "image") .Params.image }}
<a class="featured-image-link" href="{{ .Permalink }}"><div class='featured-image lazy lazy-bg-image' data-background="{{ .Params.image | absURL }}"></div></a>
{{ end }}
<div class="excerpt-container">
<div class="excerpt-meta">
<span class="date">{{ .Date.Format "02 January 2006" }}</span> <span> / </span>
{{ if and (isset .Site.Params "author") .Site.Params.author }}
<span class="author">
{{ if and (isset .Site.Params "authorlink") .Site.Params.authorLink }}
<a href="{{ .Site.Params.authorLink | default "" | absURL }}" title="Posts by {{ .Site.Params.author | default "" }}" rel="author">{{ .Site.Params.author | default "" }}</a>
{{ else }}
{{ .Site.Params.author | default "" }}
{{ end }}
</span>
{{ end }}
{{ range .Params.categories }}
<span> / </span>
<span class="category">
<a href="/categories/{{ . | urlize }}">{{ . }}</a>
</span>
{{ end }}
</div>
<div class='excerpt-header'>
<h2 class='excerpt-title'>
<a href="{{ .Permalink }} "> {{ .Title }} </a>
</h2>
</div>
<div class='excerpt-content'>
<article>
{{ .Summary }}
<div class="more-link-wrapper"><a class="more-link" href="{{ .Permalink }}">Read the post<span class="screen-reader-text">This is a Standard Post</span></a></div>
</article>
</div>
</div>
</div>
{{ end }}
</div>

View file

@ -48,7 +48,7 @@
{{ range .Params.categories }} {{ range .Params.categories }}
<span> / </span> <span> / </span>
<span class="category"> <span class="category">
<a href="/categories/{{ . | urlize }}">{{ . }}</a> <a href="/categories/{{ . | urlize }}/">{{ . }}</a>
</span> </span>
{{ end }} {{ end }}
</div> </div>

View file

@ -7,8 +7,8 @@
<ul id="menu-secondary-items" class="menu-secondary-items"> <ul id="menu-secondary-items" class="menu-secondary-items">
{{ range $name, $taxonomy := .Site.Taxonomies.categories }} {{ range $name, $taxonomy := .Site.Taxonomies.categories }}
<li id="menu-item" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}">{{ $name }}</a> <a href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}/">{{ $name }}</a>
</li> </li>
{{ end }} {{ end }}

View file

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}">
<head>{{ partial "head.html" . }}</head>
<body class="home blog ct-body standard">
<div id="overflow-container" class="overflow-container">
<a class="skip-content" href="#main">Skip to content</a>
<header id="site-header" class="site-header" role="banner">
<div class='top-navigation'>
{{ partial "topnavigation.html" . }}
</div>
<div class="container">
{{ partial "header.html" . }}
</div>
</header>
<div id="main" class="main" role="main">
<main id="site-main">
{{ if .Site.Params.categoriesByCount }}
{{ $.Scratch.Set "categories" .Data.Terms.ByCount }}
{{ else }}
{{ $.Scratch.Set "categories" .Data.Terms.Alphabetical }}
{{ end }}
<ul class="posts">
<header>
<h1>{{ i18n .Data.Plural }}</h1>
</header>
{{ $data := .Data }}
{{ range $key, $value := $.Scratch.Get "categories" }}
<li>
<article>
<header>
{{ if ne $value.Name "" }}
<a href="{{ printf "/%s/%s" $data.Plural $value.Name | urlize | relLangURL }}">{{ $value.Name }}<span style="float:right;">{{ $value.Count }}</span></a>
{{ else }}
{{ i18n "uncategorized" }}<span style="float:right;">{{ $value.Count }}</span>
{{ end }}
</header>
</article>
</li>
{{ end }}
</ul>
</main>
{{ $.Scratch.Set "showCategories" false }}
</div>
{{ partial "scripts" . }}
</body>
</html>

View file

@ -1,26 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<head>{{ partial "head.html" . }}</head>
<body class="home blog ct-body standard">
<div id="overflow-container" class="overflow-container">
<a class="skip-content" href="#main">Skip to content</a>
<header id="site-header" class="site-header" role="banner">
<div class='top-navigation'>
{{ partial "topnavigation.html" . }}
</div>
<div class="container">
{{ partial "header.html" . }}
</div>
</header>
<div id="main" class="main" role="main">
{{ partial "series.html" . }}
</div>
{{ partial "footer.html" . }}
</div>
{{ partial "scripts.html" . }}
</body>

View file

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}">
<head>{{ partial "head.html" . }}</head>
<body class="home blog ct-body standard">
<div id="overflow-container" class="overflow-container">
<a class="skip-content" href="#main">Skip to content</a>
<header id="site-header" class="site-header" role="banner">
<div class='top-navigation'>
{{ partial "topnavigation.html" . }}
</div>
<div class="container">
{{ partial "header.html" . }}
</div>
</header>
<div id="main" class="main" role="main">
<main id="site-main">
{{ if .Site.Params.seriesByCount }}
{{ $.Scratch.Set "series" .Data.Terms.ByCount }}
{{ else }}
{{ $.Scratch.Set "series" .Data.Terms.Alphabetical }}
{{ end }}
<ul class="posts">
<header>
<h1>{{ i18n .Data.Plural }}</h1>
</header>
{{ $data := .Data }}
{{ range $key, $value := $.Scratch.Get "series" }}
<li>
<article>
<header>
{{ if ne $value.Name "" }}
<a href="{{ printf "/%s/%s" $data.Plural $value.Name | urlize | relLangURL }}">{{ $value.Name }}<span style="float:right;">{{ $value.Count }}</span></a>
{{ else }}
{{ i18n "uncategorized" }}<span style="float:right;">{{ $value.Count }}</span>
{{ end }}
</header>
</article>
</li>
{{ end }}
</ul>
</main>
{{ $.Scratch.Set "showCategories" false }}
</div>
{{ partial "scripts" . }}
</body>
</html>

View file

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Page.Language | default "en" }}">
<head>{{ partial "head.html" . }}</head>
<body class="home blog ct-body standard">
<div id="overflow-container" class="overflow-container">
<a class="skip-content" href="#main">Skip to content</a>
<header id="site-header" class="site-header" role="banner">
<div class='top-navigation'>
{{ partial "topnavigation.html" . }}
</div>
<div class="container">
{{ partial "header.html" . }}
</div>
</header>
<div id="main" class="main" role="main">
<main id="site-main">
{{ if .Site.Params.tagsByCount }}
{{ $.Scratch.Set "tags" .Data.Terms.ByCount }}
{{ else }}
{{ $.Scratch.Set "tags" .Data.Terms.Alphabetical }}
{{ end }}
<ul class="posts">
<header>
<h1>{{ i18n .Data.Plural }}</h1>
</header>
{{ $data := .Data }}
{{ range $key, $value := $.Scratch.Get "tags" }}
<li>
<article>
<header>
{{ if ne $value.Name "" }}
<a href="{{ printf "/%s/%s" $data.Plural $value.Name | urlize | relLangURL }}">{{ $value.Name }}<span style="float:right;">{{ $value.Count }}</span></a>
{{ else }}
{{ i18n "uncategorized" }}<span style="float:right;">{{ $value.Count }}</span>
{{ end }}
</header>
</article>
</li>
{{ end }}
</ul>
</main>
{{ $.Scratch.Set "showCategories" false }}
</div>
{{ partial "scripts" . }}
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,7 +2,7 @@
# See https://github.com/spf13/hugoThemes#themetoml for an example # See https://github.com/spf13/hugoThemes#themetoml for an example
name = "NEDERBURG" name = "NEDERBURG"
license = "MIT" license = "GPL-2"
licenselink = "https://github.com/appernetic/hugo-nederburg-theme/blob/master/LICENSE" licenselink = "https://github.com/appernetic/hugo-nederburg-theme/blob/master/LICENSE"
description = "Port of Tracks Theme https://www.competethemes.com/tracks/" description = "Port of Tracks Theme https://www.competethemes.com/tracks/"
homepage = "https://github.com/appernetic/hugo-nederburg-theme" homepage = "https://github.com/appernetic/hugo-nederburg-theme"