You are here

lufthans's blog

PLUG is 1/3 of SCaLE 17x LibreGraphics track

This year PLUG members are providing 1/3 of the talks for the SCaLE 17x LibreGraphics track!

The LibreGraphics track runs all day Friday the 8th of March.

Brian’s An introduction to the Hugin Panorama Stitcher talk will be at 13:00 in Ballroom C.

Ups and Downs

I started a new PLUME blog. Unfortunately, fediverse.blog hasn’t been allowing new posts for over a week. It’s the holidays, so I wasn’t expecting a quick response on a volunteer service.

Cooperative Competition, a Free Software Advantage

Free Software flourishes via cooperative competition. Cooperative competition is an enterprise environment where projects compete with each other while simultaneously benefiting from cooperation.

Free Software projects compete for resources in a truly Free Enterprise market. Licensing and the openess of projects allows them to also cooperate and benefit from each other. The cooperative competition brings advantage for those using the software.

Competition provides incentive for the Free Software ecosystem in many ways.

Comparing Strings in the Shell: Pattern Substitution Operator

One problem with using the truncate operator for string matching is case matching.

In the truncate operator example, ${foo%%*ATE} matches SENATE.


DALEK$ foo=SENATE
DALEK$ if [ '' = "${foo%%*ATE}" ] ; then echo "$foo! $foo!"; fi
SENATE! SENATE!
DALEK$

It will not match Senate because ate and ATE are different cases.


DALEK$ foo=Senate
DALEK$ if [ '' = "${foo%%*ATE}" ] ; then echo "$foo! $foo!"; fi
DALEK$

Comparing Strings in the Shell: Truncate Operator

While creating materials for my bash class I needed to create some globbing exercises for my students.

It occurred to me that a string operator and a comparison to the null string can be used to check if something is a substring of another value.

Sure, you can use Substring Expansion to see if the substring is at a known location such as "Does the value of $foo start with 'bar'?", but length and location are often unknown.


$ foo=barfood
$ if [ 'bar' = "${foo:0:3}" ]; then echo $foo; fi
barfood
$

LibrePlanet 2018 Experience

LibrePlanet, the Free Software Foundation's annual technology conference, was a great experience in March.

The conference started with a fantastic keynote from Deb Nicholson, "Free software forever."

PLUG end of year party recap

PLUG's end of year party was last night. We had a good turnout. Congratulations to our new parents who weren't in attendance. Take care of the family, we'll be here :).

We had some good food as well. That included another delicious reminder that Spanish tortilla is different than Mexican tortilla. We also had a great orange cake. Baked good go over well for some reason. Other items included: ham ( very moist out of a crockpot ), chicken, casserole, cucumber salad, chips and salsa ( we are in Phoenix ), hummus, cupcakes, cookies and donuts.

The PLUG end of year schedule set

Stammtisch will meet as normal in November ( on the 20th ) and December ( on the 18th ) at Boulders on Southern, 1010 W Southern Ave, Mesa.

In December the PLUG east side meeting is a pot luck party.

There will be no security meeting in December. Security meetings will start again in January.

For the end of year pot luck, bring some friends and family.

PLUG October security class

Topics: Firejail, AppArmor and SELinux

In October Aaron will be teaching us about locking down processes via three diff
erent mechanisms.

  • Firejail: sandbox to restrict the application environment
  • AppArmor: a Mandatory Access Control system, common for debian based distros
  • SELinux: a Mandatory Access Control system, common for Red Hat based distros

The PLUG security meeting is a monthly open entry security class ( 3rd Thursday ).

Pages

Subscribe to RSS - lufthans's blog